diff --git a/src/backend/parser/gram.c b/src/backend/parser/gram.c deleted file mode 100644 index 92f031c..0000000 --- a/src/backend/parser/gram.c +++ /dev/null @@ -1,12088 +0,0 @@ - -/* A Bison parser, made from gram.y - by GNU Bison version 1.25 - */ - -#define YYBISON 1 /* Identify Bison output. */ - -#define ABSOLUTE 258 -#define ACTION 259 -#define ADD 260 -#define ALL 261 -#define ALTER 262 -#define AND 263 -#define ANY 264 -#define AS 265 -#define ASC 266 -#define BEGIN_TRANS 267 -#define BETWEEN 268 -#define BOTH 269 -#define BY 270 -#define CASCADE 271 -#define CASE 272 -#define CAST 273 -#define CHAR 274 -#define CHARACTER 275 -#define CHECK 276 -#define CLOSE 277 -#define COALESCE 278 -#define COLLATE 279 -#define COLUMN 280 -#define COMMIT 281 -#define CONSTRAINT 282 -#define CREATE 283 -#define CROSS 284 -#define CURRENT 285 -#define CURRENT_DATE 286 -#define CURRENT_TIME 287 -#define CURRENT_TIMESTAMP 288 -#define CURRENT_USER 289 -#define CURSOR 290 -#define DAY_P 291 -#define DECIMAL 292 -#define DECLARE 293 -#define DEFAULT 294 -#define DELETE 295 -#define DESC 296 -#define DISTINCT 297 -#define DOUBLE 298 -#define DROP 299 -#define ELSE 300 -#define END_TRANS 301 -#define EXCEPT 302 -#define EXECUTE 303 -#define EXISTS 304 -#define EXTRACT 305 -#define FALSE_P 306 -#define FETCH 307 -#define FLOAT 308 -#define FOR 309 -#define FOREIGN 310 -#define FROM 311 -#define FULL 312 -#define GRANT 313 -#define GROUP 314 -#define HAVING 315 -#define HOUR_P 316 -#define IN 317 -#define INNER_P 318 -#define INSENSITIVE 319 -#define INSERT 320 -#define INTERSECT 321 -#define INTERVAL 322 -#define INTO 323 -#define IS 324 -#define ISOLATION 325 -#define JOIN 326 -#define KEY 327 -#define LANGUAGE 328 -#define LEADING 329 -#define LEFT 330 -#define LEVEL 331 -#define LIKE 332 -#define LOCAL 333 -#define MATCH 334 -#define MINUTE_P 335 -#define MONTH_P 336 -#define NAMES 337 -#define NATIONAL 338 -#define NATURAL 339 -#define NCHAR 340 -#define NEXT 341 -#define NO 342 -#define NOT 343 -#define NULLIF 344 -#define NULL_P 345 -#define NUMERIC 346 -#define OF 347 -#define ON 348 -#define ONLY 349 -#define OPTION 350 -#define OR 351 -#define ORDER 352 -#define OUTER_P 353 -#define PARTIAL 354 -#define POSITION 355 -#define PRECISION 356 -#define PRIMARY 357 -#define PRIOR 358 -#define PRIVILEGES 359 -#define PROCEDURE 360 -#define PUBLIC 361 -#define READ 362 -#define REFERENCES 363 -#define RELATIVE 364 -#define REVOKE 365 -#define RIGHT 366 -#define ROLLBACK 367 -#define SCROLL 368 -#define SECOND_P 369 -#define SELECT 370 -#define SET 371 -#define SUBSTRING 372 -#define TABLE 373 -#define TEMP 374 -#define TEMPORARY 375 -#define THEN 376 -#define TIME 377 -#define TIMESTAMP 378 -#define TIMEZONE_HOUR 379 -#define TIMEZONE_MINUTE 380 -#define TO 381 -#define TRAILING 382 -#define TRANSACTION 383 -#define TRIM 384 -#define TRUE_P 385 -#define UNION 386 -#define UNIQUE 387 -#define UPDATE 388 -#define USER 389 -#define USING 390 -#define VALUES 391 -#define VARCHAR 392 -#define VARYING 393 -#define VIEW 394 -#define WHEN 395 -#define WHERE 396 -#define WITH 397 -#define WORK 398 -#define YEAR_P 399 -#define ZONE 400 -#define TRIGGER 401 -#define TYPE_P 402 -#define ABORT_TRANS 403 -#define AFTER 404 -#define AGGREGATE 405 -#define ANALYZE 406 -#define BACKWARD 407 -#define BEFORE 408 -#define BINARY 409 -#define CACHE 410 -#define CLUSTER 411 -#define COPY 412 -#define CREATEDB 413 -#define CREATEUSER 414 -#define CYCLE 415 -#define DATABASE 416 -#define DELIMITERS 417 -#define DO 418 -#define EACH 419 -#define ENCODING 420 -#define EXPLAIN 421 -#define EXTEND 422 -#define FORWARD 423 -#define FUNCTION 424 -#define HANDLER 425 -#define INCREMENT 426 -#define INDEX 427 -#define INHERITS 428 -#define INSTEAD 429 -#define ISNULL 430 -#define LANCOMPILER 431 -#define LIMIT 432 -#define LISTEN 433 -#define LOAD 434 -#define LOCATION 435 -#define LOCK_P 436 -#define MAXVALUE 437 -#define MINVALUE 438 -#define MOVE 439 -#define NEW 440 -#define NOCREATEDB 441 -#define NOCREATEUSER 442 -#define NONE 443 -#define NOTHING 444 -#define NOTIFY 445 -#define NOTNULL 446 -#define OFFSET 447 -#define OIDS 448 -#define OPERATOR 449 -#define PASSWORD 450 -#define PROCEDURAL 451 -#define RENAME 452 -#define RESET 453 -#define RETURNS 454 -#define ROW 455 -#define RULE 456 -#define SEQUENCE 457 -#define SERIAL 458 -#define SETOF 459 -#define SHOW 460 -#define START 461 -#define STATEMENT 462 -#define STDIN 463 -#define STDOUT 464 -#define TRUSTED 465 -#define UNLISTEN 466 -#define UNTIL 467 -#define VACUUM 468 -#define VALID 469 -#define VERBOSE 470 -#define VERSION 471 -#define IDENT 472 -#define SCONST 473 -#define Op 474 -#define ICONST 475 -#define PARAM 476 -#define FCONST 477 -#define OP 478 -#define UMINUS 479 -#define TYPECAST 480 - -#line 1 "gram.y" - /* -*-text-*- */ - -/*#define YYDEBUG 1*/ -/*------------------------------------------------------------------------- - * - * gram.y - * POSTGRES SQL YACC rules/actions - * - * Copyright (c) 1994, Regents of the University of California - * - * - * IDENTIFICATION - * $Header$ - * - * HISTORY - * AUTHOR DATE MAJOR EVENT - * Andrew Yu Sept, 1994 POSTQUEL to SQL conversion - * Andrew Yu Oct, 1994 lispy code conversion - * - * NOTES - * CAPITALS are used to represent terminal symbols. - * non-capitals are used to represent non-terminals. - * SQL92-specific syntax is separated from plain SQL/Postgres syntax - * to help isolate the non-extensible portions of the parser. - * - * if you use list, make sure the datum is a node so that the printing - * routines work - * - * WARNING - * sometimes we assign constants to makeStrings. Make sure we don't free - * those. - * - *------------------------------------------------------------------------- - */ -#include -#include - -#include "postgres.h" -#include "nodes/parsenodes.h" -#include "nodes/print.h" -#include "parser/gramparse.h" -#include "parser/parse_type.h" -#include "utils/acl.h" -#include "utils/palloc.h" -#include "catalog/catname.h" -#include "utils/elog.h" -#include "access/xact.h" -#include "storage/lmgr.h" -#include "utils/numeric.h" -#include "parser/analyze.h" -#include "catalog/pg_type.h" - -#ifdef MULTIBYTE -#include "mb/pg_wchar.h" -#endif - -static char saved_relname[NAMEDATALEN]; /* need this for complex attributes */ -static bool QueryIsRule = FALSE; -static List *saved_In_Expr = NIL; -static Oid *param_type_info; -static int pfunc_num_args; -extern List *parsetree; - - -/* - * If you need access to certain yacc-generated variables and find that - * they're static by default, uncomment the next line. (this is not a - * problem, yet.) - */ -/*#define __YYSCLASS*/ - -static char *xlateSqlFunc(char *); -static char *xlateSqlType(char *); -static Node *makeA_Expr(int oper, char *opname, Node *lexpr, Node *rexpr); -static Node *makeRowExpr(char *opr, List *largs, List *rargs); -static void mapTargetColumns(List *source, List *target); -static List *makeConstantList( A_Const *node); -static char *FlattenStringList(List *list); -static char *fmtId(char *rawid); -static Node *makeIndexable(char *opname, Node *lexpr, Node *rexpr); -static void param_type_init(Oid *typev, int nargs); -static Node *doNegate(Node *n); - -Oid param_type(int t); /* used in parse_expr.c */ - -/* old versions of flex define this as a macro */ -#if defined(yywrap) -#undef yywrap -#endif /* yywrap */ - -#line 93 "gram.y" -typedef union -{ - double dval; - int ival; - char chr; - char *str; - bool boolean; - bool* pboolean; /* for pg_shadow privileges */ - List *list; - Node *node; - Value *value; - - Attr *attr; - - TypeName *typnam; - DefElem *defelt; - ParamString *param; - SortGroupBy *sortgroupby; - JoinExpr *joinexpr; - IndexElem *ielem; - RangeVar *range; - RelExpr *relexp; - A_Indices *aind; - ResTarget *target; - ParamNo *paramno; - - VersionStmt *vstmt; - DefineStmt *dstmt; - RuleStmt *rstmt; - InsertStmt *astmt; -} YYSTYPE; -#include - -#ifndef __cplusplus -#ifndef __STDC__ -#define const -#endif -#endif - - - -#define YYFINAL 1749 -#define YYFLAG -32768 -#define YYNTBASE 243 - -#define YYTRANSLATE(x) ((unsigned)(x) <= 480 ? yytranslate[x] : 517) - -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, 2, 2, 2, 2, 231, 2, 2, 241, - 242, 229, 227, 240, 228, 236, 230, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 233, 234, 225, - 224, 226, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 237, 2, 238, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 232, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 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, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 235, 239 -}; - -#if YYDEBUG != 0 -static const short yyprhs[] = { 0, - 0, 2, 4, 8, 11, 13, 15, 17, 19, 21, - 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, - 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, - 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, - 83, 85, 87, 89, 91, 93, 95, 104, 113, 117, - 121, 122, 124, 126, 127, 129, 131, 132, 136, 138, - 142, 143, 147, 148, 153, 158, 163, 170, 176, 180, - 182, 184, 186, 188, 190, 193, 197, 202, 205, 209, - 214, 220, 224, 229, 233, 240, 246, 249, 252, 260, - 262, 264, 266, 268, 270, 272, 273, 276, 277, 281, - 282, 291, 293, 295, 296, 300, 302, 303, 305, 307, - 311, 315, 317, 318, 321, 323, 326, 327, 331, 333, - 338, 341, 344, 347, 349, 352, 358, 362, 364, 366, - 369, 373, 377, 381, 385, 389, 393, 397, 401, 404, - 407, 410, 414, 421, 425, 429, 434, 438, 441, 444, - 446, 448, 453, 455, 460, 462, 464, 468, 470, 475, - 480, 486, 497, 501, 503, 505, 507, 509, 512, 516, - 520, 524, 528, 532, 536, 540, 544, 547, 550, 553, - 557, 564, 568, 572, 577, 581, 585, 590, 594, 598, - 601, 604, 607, 610, 614, 617, 622, 626, 630, 635, - 640, 646, 653, 659, 666, 670, 672, 674, 677, 680, - 681, 684, 686, 687, 691, 695, 698, 700, 703, 706, - 711, 712, 720, 724, 725, 729, 731, 733, 738, 741, - 742, 745, 747, 750, 753, 756, 759, 761, 763, 765, - 768, 770, 773, 783, 785, 786, 791, 806, 808, 810, - 812, 816, 822, 824, 826, 828, 832, 834, 835, 837, - 839, 841, 845, 846, 848, 850, 852, 854, 860, 864, - 867, 869, 871, 873, 875, 877, 879, 881, 883, 887, - 889, 893, 897, 899, 903, 905, 907, 909, 911, 914, - 918, 922, 927, 932, 934, 936, 938, 940, 941, 943, - 946, 948, 950, 952, 953, 956, 959, 960, 968, 971, - 973, 975, 977, 981, 983, 985, 987, 989, 991, 993, - 996, 998, 1002, 1003, 1010, 1022, 1024, 1025, 1028, 1029, - 1031, 1033, 1037, 1039, 1046, 1050, 1053, 1056, 1057, 1059, - 1062, 1063, 1068, 1080, 1083, 1084, 1088, 1091, 1093, 1097, - 1100, 1102, 1103, 1107, 1109, 1111, 1113, 1115, 1120, 1122, - 1124, 1129, 1136, 1138, 1140, 1142, 1144, 1146, 1148, 1150, - 1152, 1154, 1156, 1158, 1162, 1166, 1170, 1180, 1182, 1183, - 1185, 1186, 1187, 1201, 1203, 1205, 1207, 1211, 1215, 1217, - 1219, 1222, 1226, 1229, 1231, 1233, 1235, 1237, 1241, 1243, - 1245, 1247, 1249, 1251, 1253, 1254, 1257, 1260, 1263, 1266, - 1269, 1272, 1275, 1278, 1281, 1283, 1285, 1286, 1292, 1295, - 1302, 1306, 1310, 1311, 1315, 1316, 1318, 1320, 1321, 1323, - 1325, 1326, 1330, 1335, 1339, 1345, 1347, 1348, 1350, 1351, - 1355, 1356, 1358, 1362, 1366, 1368, 1370, 1372, 1374, 1376, - 1378, 1383, 1388, 1391, 1393, 1401, 1406, 1410, 1411, 1415, - 1417, 1420, 1425, 1429, 1438, 1446, 1453, 1455, 1456, 1463, - 1471, 1473, 1475, 1477, 1480, 1481, 1484, 1485, 1488, 1491, - 1494, 1499, 1503, 1505, 1509, 1514, 1518, 1527, 1532, 1533, - 1535, 1536, 1538, 1539, 1541, 1545, 1547, 1548, 1552, 1553, - 1555, 1559, 1562, 1565, 1568, 1571, 1573, 1575, 1576, 1581, - 1586, 1589, 1594, 1597, 1598, 1600, 1602, 1604, 1606, 1608, - 1610, 1611, 1613, 1615, 1619, 1623, 1624, 1627, 1628, 1632, - 1633, 1636, 1637, 1640, 1641, 1645, 1647, 1649, 1653, 1655, - 1659, 1662, 1664, 1666, 1671, 1674, 1677, 1679, 1684, 1689, - 1693, 1696, 1699, 1702, 1704, 1706, 1707, 1709, 1710, 1715, - 1718, 1722, 1724, 1726, 1729, 1730, 1732, 1735, 1739, 1744, - 1745, 1749, 1754, 1755, 1758, 1761, 1763, 1765, 1767, 1769, - 1771, 1773, 1775, 1778, 1781, 1784, 1787, 1789, 1792, 1794, - 1796, 1800, 1801, 1807, 1811, 1812, 1818, 1822, 1823, 1828, - 1830, 1835, 1838, 1840, 1844, 1847, 1849, 1850, 1854, 1855, - 1858, 1859, 1861, 1864, 1866, 1869, 1871, 1873, 1875, 1877, - 1879, 1881, 1885, 1886, 1888, 1892, 1896, 1900, 1904, 1908, - 1912, 1916, 1917, 1919, 1921, 1929, 1938, 1947, 1955, 1963, - 1967, 1971, 1973, 1975, 1977, 1979, 1981, 1983, 1985, 1987, - 1989, 1991, 1993, 1995, 1998, 2000, 2002, 2004, 2007, 2010, - 2013, 2017, 2021, 2025, 2029, 2033, 2037, 2041, 2045, 2049, - 2053, 2056, 2059, 2062, 2066, 2073, 2077, 2081, 2085, 2090, - 2093, 2096, 2101, 2105, 2110, 2112, 2114, 2119, 2121, 2126, - 2128, 2130, 2135, 2140, 2145, 2150, 2156, 2162, 2168, 2173, - 2176, 2180, 2183, 2188, 2192, 2197, 2201, 2206, 2212, 2219, - 2220, 2227, 2228, 2236, 2242, 2248, 2254, 2260, 2266, 2272, - 2278, 2284, 2290, 2297, 2304, 2311, 2318, 2325, 2332, 2339, - 2346, 2353, 2360, 2367, 2374, 2381, 2388, 2395, 2402, 2409, - 2416, 2420, 2424, 2427, 2429, 2432, 2434, 2436, 2439, 2442, - 2445, 2449, 2453, 2457, 2461, 2465, 2468, 2471, 2474, 2478, - 2485, 2489, 2493, 2496, 2499, 2503, 2508, 2510, 2512, 2517, - 2519, 2524, 2526, 2528, 2533, 2538, 2544, 2550, 2556, 2561, - 2566, 2573, 2574, 2576, 2580, 2584, 2588, 2589, 2591, 2593, - 2595, 2599, 2600, 2603, 2605, 2608, 2612, 2616, 2620, 2624, - 2628, 2631, 2635, 2642, 2646, 2650, 2653, 2656, 2658, 2662, - 2667, 2672, 2677, 2683, 2689, 2695, 2700, 2704, 2705, 2708, - 2709, 2712, 2713, 2717, 2720, 2722, 2724, 2726, 2728, 2732, - 2734, 2736, 2738, 2742, 2748, 2755, 2760, 2763, 2765, 2770, - 2773, 2774, 2777, 2779, 2780, 2784, 2788, 2790, 2794, 2798, - 2802, 2804, 2806, 2811, 2814, 2818, 2822, 2824, 2828, 2830, - 2834, 2836, 2838, 2839, 2841, 2843, 2845, 2847, 2849, 2851, - 2853, 2855, 2857, 2859, 2861, 2863, 2865, 2868, 2870, 2872, - 2874, 2877, 2879, 2881, 2883, 2885, 2887, 2889, 2891, 2893, - 2895, 2897, 2899, 2901, 2903, 2905, 2907, 2909, 2911, 2913, - 2915, 2917, 2919, 2921, 2923, 2925, 2927, 2929, 2931, 2933, - 2935, 2937, 2939, 2941, 2943, 2945, 2947, 2949, 2951, 2953, - 2955, 2957, 2959, 2961, 2963, 2965, 2967, 2969, 2971, 2973, - 2975, 2977, 2979, 2981, 2983, 2985, 2987, 2989, 2991, 2993, - 2995, 2997, 2999, 3001, 3003, 3005, 3007, 3009, 3011, 3013, - 3015, 3017, 3019, 3021, 3023, 3025, 3027, 3029, 3031, 3033, - 3035, 3037, 3039, 3041, 3043, 3045, 3047, 3049, 3051, 3053, - 3055, 3057, 3059, 3061, 3063, 3065, 3067, 3069, 3071, 3073, - 3075, 3077, 3079, 3081, 3083, 3085, 3087, 3089, 3091, 3093, - 3095, 3097, 3099, 3101, 3103, 3105, 3107 -}; - -static const short yyrhs[] = { 244, - 0, 245, 0, 244, 245, 234, 0, 245, 234, 0, - 260, 0, 247, 0, 262, 0, 263, 0, 269, 0, - 292, 0, 296, 0, 302, 0, 305, 0, 246, 0, - 385, 0, 315, 0, 323, 0, 304, 0, 314, 0, - 248, 0, 344, 0, 391, 0, 324, 0, 328, 0, - 335, 0, 373, 0, 374, 0, 399, 0, 345, 0, - 353, 0, 356, 0, 355, 0, 351, 0, 360, 0, - 334, 0, 392, 0, 363, 0, 375, 0, 377, 0, - 378, 0, 379, 0, 384, 0, 386, 0, 255, 0, - 258, 0, 259, 0, 28, 134, 512, 249, 250, 251, - 253, 254, 0, 7, 134, 512, 249, 250, 251, 253, - 254, 0, 44, 134, 512, 0, 142, 195, 512, 0, - 0, 158, 0, 186, 0, 0, 159, 0, 187, 0, - 0, 252, 240, 512, 0, 512, 0, 62, 59, 252, - 0, 0, 214, 212, 218, 0, 0, 116, 514, 126, - 256, 0, 116, 514, 224, 256, 0, 116, 122, 145, - 257, 0, 116, 128, 70, 76, 107, 514, 0, 116, - 128, 70, 76, 514, 0, 116, 82, 383, 0, 511, - 0, 39, 0, 511, 0, 39, 0, 78, 0, 205, - 514, 0, 205, 122, 145, 0, 205, 128, 70, 76, - 0, 198, 514, 0, 198, 122, 145, 0, 198, 128, - 70, 76, 0, 7, 118, 499, 421, 261, 0, 5, - 362, 273, 0, 5, 241, 271, 242, 0, 44, 362, - 514, 0, 7, 362, 514, 116, 39, 280, 0, 7, - 362, 514, 44, 39, 0, 5, 282, 0, 22, 498, - 0, 157, 266, 499, 267, 264, 265, 268, 0, 126, - 0, 56, 0, 511, 0, 208, 0, 209, 0, 154, - 0, 0, 142, 193, 0, 0, 135, 162, 511, 0, - 0, 28, 270, 118, 499, 241, 271, 242, 291, 0, - 119, 0, 120, 0, 0, 271, 240, 272, 0, 272, - 0, 0, 273, 0, 281, 0, 514, 445, 274, 0, - 514, 203, 276, 0, 275, 0, 0, 275, 277, 0, - 277, 0, 102, 72, 0, 0, 27, 505, 278, 0, - 278, 0, 21, 241, 284, 242, 0, 39, 90, 0, - 39, 280, 0, 88, 90, 0, 132, 0, 102, 72, - 0, 108, 514, 395, 287, 288, 0, 279, 240, 280, - 0, 280, 0, 508, 0, 228, 280, 0, 280, 227, - 280, 0, 280, 228, 280, 0, 280, 230, 280, 0, - 280, 231, 280, 0, 280, 229, 280, 0, 280, 224, - 280, 0, 280, 225, 280, 0, 280, 226, 280, 0, - 233, 280, 0, 234, 280, 0, 232, 280, 0, 280, - 239, 445, 0, 18, 241, 280, 10, 445, 242, 0, - 241, 280, 242, 0, 506, 241, 242, 0, 506, 241, - 279, 242, 0, 280, 219, 280, 0, 219, 280, 0, - 280, 219, 0, 31, 0, 32, 0, 32, 241, 510, - 242, 0, 33, 0, 33, 241, 510, 242, 0, 34, - 0, 134, 0, 27, 505, 282, 0, 282, 0, 21, - 241, 284, 242, 0, 132, 241, 396, 242, 0, 102, - 72, 241, 396, 242, 0, 55, 72, 241, 396, 242, - 108, 514, 395, 287, 288, 0, 283, 240, 284, 0, - 284, 0, 508, 0, 90, 0, 514, 0, 228, 284, - 0, 284, 227, 284, 0, 284, 228, 284, 0, 284, - 230, 284, 0, 284, 231, 284, 0, 284, 229, 284, - 0, 284, 224, 284, 0, 284, 225, 284, 0, 284, - 226, 284, 0, 233, 284, 0, 234, 284, 0, 232, - 284, 0, 284, 239, 445, 0, 18, 241, 284, 10, - 445, 242, 0, 241, 284, 242, 0, 506, 241, 242, - 0, 506, 241, 283, 242, 0, 284, 219, 284, 0, - 284, 77, 284, 0, 284, 88, 77, 284, 0, 284, - 8, 284, 0, 284, 96, 284, 0, 88, 284, 0, - 219, 284, 0, 284, 219, 0, 284, 175, 0, 284, - 69, 90, 0, 284, 191, 0, 284, 69, 88, 90, - 0, 284, 69, 130, 0, 284, 69, 51, 0, 284, - 69, 88, 130, 0, 284, 69, 88, 51, 0, 284, - 62, 241, 285, 242, 0, 284, 88, 62, 241, 285, - 242, 0, 284, 13, 286, 8, 286, 0, 284, 88, - 13, 286, 8, 286, 0, 285, 240, 286, 0, 286, - 0, 508, 0, 79, 57, 0, 79, 99, 0, 0, - 289, 289, 0, 289, 0, 0, 93, 40, 290, 0, - 93, 133, 290, 0, 87, 4, 0, 16, 0, 116, - 39, 0, 116, 90, 0, 173, 241, 422, 242, 0, - 0, 28, 270, 118, 499, 293, 10, 409, 0, 241, - 294, 242, 0, 0, 294, 240, 295, 0, 295, 0, - 514, 0, 28, 202, 499, 297, 0, 297, 298, 0, - 0, 155, 301, 0, 160, 0, 171, 301, 0, 182, - 301, 0, 183, 301, 0, 206, 301, 0, 300, 0, - 301, 0, 222, 0, 228, 222, 0, 510, 0, 228, - 510, 0, 28, 303, 196, 73, 511, 170, 318, 176, - 511, 0, 210, 0, 0, 44, 196, 73, 511, 0, - 28, 146, 505, 306, 307, 93, 499, 309, 48, 105, - 505, 241, 312, 242, 0, 153, 0, 149, 0, 308, - 0, 308, 96, 308, 0, 308, 96, 308, 96, 308, - 0, 65, 0, 40, 0, 133, 0, 54, 310, 311, - 0, 164, 0, 0, 200, 0, 207, 0, 313, 0, - 312, 240, 313, 0, 0, 220, 0, 222, 0, 511, - 0, 217, 0, 44, 146, 505, 93, 499, 0, 28, - 317, 316, 0, 318, 319, 0, 194, 0, 147, 0, - 150, 0, 105, 0, 71, 0, 514, 0, 358, 0, - 219, 0, 241, 320, 242, 0, 321, 0, 320, 240, - 321, 0, 318, 224, 322, 0, 318, 0, 39, 224, - 322, 0, 514, 0, 357, 0, 299, 0, 511, 0, - 204, 514, 0, 44, 118, 422, 0, 44, 202, 422, - 0, 52, 325, 326, 327, 0, 184, 325, 326, 327, - 0, 168, 0, 152, 0, 109, 0, 3, 0, 0, - 510, 0, 228, 510, 0, 6, 0, 86, 0, 103, - 0, 0, 62, 505, 0, 56, 505, 0, 0, 58, - 329, 93, 422, 126, 332, 333, 0, 6, 104, 0, - 6, 0, 330, 0, 331, 0, 330, 240, 331, 0, - 115, 0, 65, 0, 133, 0, 40, 0, 201, 0, - 106, 0, 59, 514, 0, 514, 0, 142, 58, 95, - 0, 0, 110, 329, 93, 422, 56, 332, 0, 28, - 336, 172, 504, 93, 499, 337, 241, 338, 242, 346, - 0, 132, 0, 0, 135, 501, 0, 0, 339, 0, - 340, 0, 339, 240, 341, 0, 341, 0, 506, 241, - 423, 242, 342, 343, 0, 502, 342, 343, 0, 233, - 445, 0, 54, 445, 0, 0, 503, 0, 135, 503, - 0, 0, 167, 172, 504, 441, 0, 28, 169, 506, - 347, 199, 349, 346, 10, 511, 73, 511, 0, 142, - 319, 0, 0, 241, 348, 242, 0, 241, 242, 0, - 513, 0, 348, 240, 513, 0, 350, 513, 0, 204, - 0, 0, 44, 352, 505, 0, 147, 0, 172, 0, - 201, 0, 139, 0, 44, 150, 505, 354, 0, 505, - 0, 229, 0, 44, 169, 506, 347, 0, 44, 194, - 357, 241, 359, 242, 0, 219, 0, 358, 0, 227, - 0, 228, 0, 229, 0, 230, 0, 231, 0, 225, - 0, 226, 0, 224, 0, 505, 0, 505, 240, 505, - 0, 188, 240, 505, 0, 505, 240, 188, 0, 7, - 118, 499, 421, 197, 362, 361, 126, 505, 0, 505, - 0, 0, 25, 0, 0, 0, 28, 201, 505, 10, - 364, 93, 370, 126, 369, 441, 163, 371, 365, 0, - 189, 0, 407, 0, 368, 0, 237, 366, 238, 0, - 241, 366, 242, 0, 367, 0, 368, 0, 367, 368, - 0, 367, 368, 234, 0, 368, 234, 0, 393, 0, - 401, 0, 398, 0, 372, 0, 499, 236, 502, 0, - 499, 0, 115, 0, 133, 0, 40, 0, 65, 0, - 174, 0, 0, 190, 499, 0, 178, 499, 0, 211, - 499, 0, 211, 229, 0, 148, 376, 0, 12, 376, - 0, 26, 376, 0, 46, 376, 0, 112, 376, 0, - 143, 0, 128, 0, 0, 28, 139, 505, 10, 407, - 0, 179, 507, 0, 28, 161, 500, 142, 380, 381, - 0, 28, 161, 500, 0, 180, 224, 382, 0, 0, - 165, 224, 383, 0, 0, 511, 0, 39, 0, 0, - 511, 0, 39, 0, 0, 44, 161, 500, 0, 156, - 504, 93, 499, 0, 213, 387, 388, 0, 213, 387, - 388, 499, 389, 0, 215, 0, 0, 151, 0, 0, - 241, 390, 242, 0, 0, 505, 0, 390, 240, 505, - 0, 166, 387, 392, 0, 407, 0, 402, 0, 401, - 0, 393, 0, 372, 0, 398, 0, 65, 68, 499, - 394, 0, 136, 241, 496, 242, 0, 39, 136, 0, - 407, 0, 241, 396, 242, 136, 241, 496, 242, 0, - 241, 396, 242, 407, 0, 241, 396, 242, 0, 0, - 396, 240, 397, 0, 397, 0, 514, 473, 0, 40, - 56, 499, 441, 0, 181, 411, 499, 0, 181, 411, - 499, 62, 400, 200, 217, 217, 0, 181, 411, 499, - 62, 217, 217, 217, 0, 181, 411, 499, 62, 217, - 217, 0, 217, 0, 0, 133, 499, 116, 494, 428, - 441, 0, 38, 505, 403, 35, 54, 407, 404, 0, - 154, 0, 64, 0, 113, 0, 64, 113, 0, 0, - 54, 405, 0, 0, 107, 94, 0, 133, 406, 0, - 92, 396, 0, 408, 414, 426, 418, 0, 241, 408, - 242, 0, 409, 0, 408, 47, 408, 0, 408, 131, - 412, 408, 0, 408, 66, 408, 0, 115, 413, 496, - 410, 428, 441, 424, 425, 0, 68, 270, 411, 499, - 0, 0, 118, 0, 0, 6, 0, 0, 42, 0, - 42, 93, 514, 0, 6, 0, 0, 97, 15, 415, - 0, 0, 416, 0, 415, 240, 416, 0, 469, 417, - 0, 135, 219, 0, 135, 225, 0, 135, 226, 0, - 11, 0, 41, 0, 0, 177, 419, 240, 420, 0, - 177, 419, 192, 420, 0, 177, 419, 0, 192, 420, - 177, 419, 0, 192, 420, 0, 0, 510, 0, 6, - 0, 221, 0, 510, 0, 221, 0, 229, 0, 0, - 423, 0, 505, 0, 423, 240, 505, 0, 59, 15, - 474, 0, 0, 60, 469, 0, 0, 54, 133, 427, - 0, 0, 92, 390, 0, 0, 56, 429, 0, 0, - 241, 432, 242, 0, 433, 0, 430, 0, 430, 240, - 431, 0, 431, 0, 442, 10, 515, 0, 442, 514, - 0, 442, 0, 433, 0, 431, 131, 71, 431, 0, - 431, 434, 0, 434, 435, 0, 435, 0, 436, 71, - 431, 438, 0, 84, 436, 71, 431, 0, 29, 71, - 431, 0, 57, 437, 0, 75, 437, 0, 111, 437, - 0, 98, 0, 63, 0, 0, 98, 0, 0, 135, - 241, 439, 242, 0, 93, 469, 0, 439, 240, 440, - 0, 440, 0, 514, 0, 141, 469, 0, 0, 499, - 0, 499, 229, 0, 237, 238, 444, 0, 237, 510, - 238, 444, 0, 0, 237, 238, 444, 0, 237, 510, - 238, 444, 0, 0, 446, 443, 0, 204, 446, 0, - 447, 0, 459, 0, 449, 0, 454, 0, 448, 0, - 217, 0, 147, 0, 53, 451, 0, 43, 101, 0, - 37, 453, 0, 91, 452, 0, 53, 0, 43, 101, - 0, 37, 0, 91, 0, 241, 510, 242, 0, 0, - 241, 510, 240, 510, 242, 0, 241, 510, 242, 0, - 0, 241, 510, 240, 510, 242, 0, 241, 510, 242, - 0, 0, 455, 241, 510, 242, 0, 455, 0, 20, - 456, 457, 458, 0, 19, 456, 0, 137, 0, 83, - 20, 456, 0, 85, 456, 0, 138, 0, 0, 20, - 116, 514, 0, 0, 24, 514, 0, 0, 460, 0, - 123, 461, 0, 122, 0, 67, 462, 0, 144, 0, - 81, 0, 36, 0, 61, 0, 80, 0, 114, 0, - 142, 122, 145, 0, 0, 460, 0, 144, 126, 81, - 0, 36, 126, 61, 0, 36, 126, 80, 0, 36, - 126, 114, 0, 61, 126, 80, 0, 61, 126, 114, - 0, 80, 126, 114, 0, 0, 469, 0, 90, 0, - 241, 465, 242, 62, 241, 409, 242, 0, 241, 465, - 242, 88, 62, 241, 409, 242, 0, 241, 465, 242, - 467, 468, 241, 409, 242, 0, 241, 465, 242, 467, - 241, 409, 242, 0, 241, 465, 242, 467, 241, 465, - 242, 0, 466, 240, 469, 0, 466, 240, 469, 0, - 469, 0, 219, 0, 225, 0, 224, 0, 226, 0, - 227, 0, 228, 0, 229, 0, 230, 0, 231, 0, - 9, 0, 6, 0, 492, 473, 0, 464, 0, 508, - 0, 514, 0, 228, 469, 0, 231, 469, 0, 469, - 231, 0, 469, 227, 469, 0, 469, 228, 469, 0, - 469, 230, 469, 0, 469, 231, 469, 0, 469, 229, - 469, 0, 469, 225, 469, 0, 469, 226, 469, 0, - 469, 224, 90, 0, 90, 224, 469, 0, 469, 224, - 469, 0, 233, 469, 0, 234, 469, 0, 232, 469, - 0, 469, 239, 445, 0, 18, 241, 469, 10, 445, - 242, 0, 241, 463, 242, 0, 469, 219, 469, 0, - 469, 77, 469, 0, 469, 88, 77, 469, 0, 219, - 469, 0, 469, 219, 0, 506, 241, 229, 242, 0, - 506, 241, 242, 0, 506, 241, 474, 242, 0, 31, - 0, 32, 0, 32, 241, 510, 242, 0, 33, 0, - 33, 241, 510, 242, 0, 34, 0, 134, 0, 49, - 241, 409, 242, 0, 50, 241, 475, 242, 0, 100, - 241, 477, 242, 0, 117, 241, 479, 242, 0, 129, - 241, 14, 482, 242, 0, 129, 241, 74, 482, 242, - 0, 129, 241, 127, 482, 242, 0, 129, 241, 482, - 242, 0, 469, 175, 0, 469, 69, 90, 0, 469, - 191, 0, 469, 69, 88, 90, 0, 469, 69, 130, - 0, 469, 69, 88, 51, 0, 469, 69, 51, 0, - 469, 69, 88, 130, 0, 469, 13, 472, 8, 472, - 0, 469, 88, 13, 472, 8, 472, 0, 0, 469, - 62, 470, 241, 483, 242, 0, 0, 469, 88, 62, - 471, 241, 485, 242, 0, 469, 219, 241, 409, 242, - 0, 469, 227, 241, 409, 242, 0, 469, 228, 241, - 409, 242, 0, 469, 230, 241, 409, 242, 0, 469, - 231, 241, 409, 242, 0, 469, 229, 241, 409, 242, - 0, 469, 225, 241, 409, 242, 0, 469, 226, 241, - 409, 242, 0, 469, 224, 241, 409, 242, 0, 469, - 219, 9, 241, 409, 242, 0, 469, 227, 9, 241, - 409, 242, 0, 469, 228, 9, 241, 409, 242, 0, - 469, 230, 9, 241, 409, 242, 0, 469, 231, 9, - 241, 409, 242, 0, 469, 229, 9, 241, 409, 242, - 0, 469, 225, 9, 241, 409, 242, 0, 469, 226, - 9, 241, 409, 242, 0, 469, 224, 9, 241, 409, - 242, 0, 469, 219, 6, 241, 409, 242, 0, 469, - 227, 6, 241, 409, 242, 0, 469, 228, 6, 241, - 409, 242, 0, 469, 230, 6, 241, 409, 242, 0, - 469, 231, 6, 241, 409, 242, 0, 469, 229, 6, - 241, 409, 242, 0, 469, 225, 6, 241, 409, 242, - 0, 469, 226, 6, 241, 409, 242, 0, 469, 224, - 6, 241, 409, 242, 0, 469, 8, 469, 0, 469, - 96, 469, 0, 88, 469, 0, 487, 0, 492, 473, - 0, 508, 0, 514, 0, 228, 472, 0, 231, 472, - 0, 472, 231, 0, 472, 227, 472, 0, 472, 228, - 472, 0, 472, 230, 472, 0, 472, 231, 472, 0, - 472, 229, 472, 0, 233, 472, 0, 234, 472, 0, - 232, 472, 0, 472, 239, 445, 0, 18, 241, 472, - 10, 445, 242, 0, 241, 469, 242, 0, 472, 219, - 472, 0, 219, 472, 0, 472, 219, 0, 506, 241, - 242, 0, 506, 241, 474, 242, 0, 31, 0, 32, - 0, 32, 241, 510, 242, 0, 33, 0, 33, 241, - 510, 242, 0, 34, 0, 134, 0, 100, 241, 477, - 242, 0, 117, 241, 479, 242, 0, 129, 241, 14, - 482, 242, 0, 129, 241, 74, 482, 242, 0, 129, - 241, 127, 482, 242, 0, 129, 241, 482, 242, 0, - 237, 469, 238, 473, 0, 237, 469, 233, 469, 238, - 473, 0, 0, 463, 0, 474, 240, 463, 0, 474, - 135, 469, 0, 476, 56, 469, 0, 0, 460, 0, - 124, 0, 125, 0, 478, 62, 478, 0, 0, 492, - 473, 0, 508, 0, 228, 478, 0, 478, 227, 478, - 0, 478, 228, 478, 0, 478, 230, 478, 0, 478, - 231, 478, 0, 478, 229, 478, 0, 232, 478, 0, - 478, 239, 445, 0, 18, 241, 478, 10, 445, 242, - 0, 241, 478, 242, 0, 478, 219, 478, 0, 219, - 478, 0, 478, 219, 0, 514, 0, 506, 241, 242, - 0, 506, 241, 474, 242, 0, 100, 241, 477, 242, - 0, 117, 241, 479, 242, 0, 129, 241, 14, 482, - 242, 0, 129, 241, 74, 482, 242, 0, 129, 241, - 127, 482, 242, 0, 129, 241, 482, 242, 0, 474, - 480, 481, 0, 0, 56, 474, 0, 0, 54, 474, - 0, 0, 469, 56, 474, 0, 56, 474, 0, 474, - 0, 409, 0, 484, 0, 508, 0, 484, 240, 508, - 0, 409, 0, 486, 0, 508, 0, 486, 240, 508, - 0, 17, 491, 488, 490, 46, 0, 89, 241, 469, - 240, 469, 242, 0, 23, 241, 474, 242, 0, 488, - 489, 0, 489, 0, 140, 469, 121, 463, 0, 45, - 463, 0, 0, 492, 473, 0, 514, 0, 0, 499, - 236, 493, 0, 509, 236, 493, 0, 502, 0, 493, - 236, 502, 0, 493, 236, 229, 0, 494, 240, 495, - 0, 495, 0, 229, 0, 514, 473, 224, 463, 0, - 492, 473, 0, 499, 236, 229, 0, 496, 240, 497, - 0, 497, 0, 463, 10, 515, 0, 463, 0, 499, - 236, 229, 0, 229, 0, 514, 0, 0, 516, 0, - 514, 0, 514, 0, 217, 0, 514, 0, 217, 0, - 514, 0, 514, 0, 514, 0, 511, 0, 510, 0, - 222, 0, 511, 0, 445, 511, 0, 509, 0, 130, - 0, 51, 0, 221, 473, 0, 220, 0, 218, 0, - 217, 0, 514, 0, 450, 0, 455, 0, 217, 0, - 460, 0, 3, 0, 4, 0, 149, 0, 150, 0, - 152, 0, 153, 0, 155, 0, 158, 0, 159, 0, - 160, 0, 161, 0, 162, 0, 43, 0, 164, 0, - 165, 0, 168, 0, 169, 0, 170, 0, 171, 0, - 172, 0, 173, 0, 64, 0, 174, 0, 175, 0, - 72, 0, 73, 0, 176, 0, 180, 0, 79, 0, - 182, 0, 183, 0, 86, 0, 186, 0, 187, 0, - 189, 0, 191, 0, 92, 0, 193, 0, 94, 0, - 194, 0, 95, 0, 195, 0, 103, 0, 104, 0, - 196, 0, 107, 0, 109, 0, 197, 0, 199, 0, - 200, 0, 201, 0, 113, 0, 202, 0, 203, 0, - 206, 0, 207, 0, 208, 0, 209, 0, 122, 0, - 123, 0, 124, 0, 125, 0, 146, 0, 210, 0, - 147, 0, 214, 0, 216, 0, 145, 0, 514, 0, - 148, 0, 151, 0, 154, 0, 17, 0, 156, 0, - 23, 0, 27, 0, 157, 0, 30, 0, 163, 0, - 45, 0, 46, 0, 166, 0, 167, 0, 51, 0, - 55, 0, 59, 0, 178, 0, 179, 0, 181, 0, - 184, 0, 185, 0, 188, 0, 89, 0, 97, 0, - 100, 0, 101, 0, 198, 0, 204, 0, 205, 0, - 118, 0, 121, 0, 128, 0, 130, 0, 213, 0, - 215, 0, 140, 0, 30, 0, 185, 0 -}; - -#endif - -#if YYDEBUG != 0 -static const short yyrline[] = { 0, - 358, 360, 364, 373, 377, 378, 379, 380, 381, 382, - 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, - 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, - 413, 414, 415, 416, 417, 418, 428, 449, 470, 478, - 479, 482, 488, 494, 497, 503, 509, 512, 516, 522, - 523, 526, 527, 539, 546, 553, 560, 569, 578, 591, - 592, 595, 596, 597, 600, 606, 612, 620, 626, 632, - 648, 658, 662, 670, 672, 674, 676, 688, 705, 718, - 720, 729, 730, 731, 734, 735, 738, 739, 745, 746, - 757, 770, 772, 773, 776, 783, 790, 793, 794, 797, - 807, 822, 823, 826, 833, 842, 851, 854, 861, 875, - 884, 893, 902, 911, 920, 929, 936, 941, 954, 956, - 958, 960, 962, 964, 966, 968, 970, 972, 974, 976, - 978, 980, 985, 990, 992, 997, 1003, 1009, 1011, 1014, - 1016, 1018, 1024, 1026, 1032, 1034, 1042, 1048, 1052, 1060, - 1069, 1078, 1085, 1090, 1096, 1098, 1100, 1104, 1106, 1108, - 1110, 1112, 1114, 1116, 1118, 1120, 1122, 1124, 1126, 1128, - 1133, 1138, 1140, 1145, 1151, 1153, 1155, 1157, 1159, 1161, - 1163, 1165, 1167, 1169, 1171, 1173, 1175, 1177, 1179, 1181, - 1183, 1190, 1197, 1204, 1213, 1218, 1224, 1228, 1229, 1230, - 1233, 1234, 1235, 1238, 1239, 1242, 1243, 1244, 1245, 1248, - 1249, 1252, 1263, 1264, 1267, 1268, 1271, 1291, 1300, 1302, - 1305, 1311, 1317, 1323, 1329, 1335, 1343, 1344, 1346, 1350, - 1357, 1361, 1376, 1388, 1389, 1391, 1407, 1423, 1424, 1427, - 1432, 1437, 1445, 1446, 1447, 1450, 1456, 1457, 1460, 1461, - 1464, 1466, 1468, 1472, 1478, 1484, 1485, 1488, 1505, 1512, - 1520, 1521, 1522, 1525, 1526, 1527, 1528, 1529, 1532, 1535, - 1536, 1539, 1545, 1551, 1559, 1560, 1561, 1562, 1563, 1582, - 1589, 1608, 1628, 1644, 1645, 1646, 1647, 1652, 1655, 1656, - 1657, 1658, 1659, 1660, 1663, 1664, 1665, 1676, 1682, 1686, - 1690, 1696, 1700, 1706, 1710, 1714, 1718, 1722, 1728, 1732, - 1736, 1742, 1746, 1757, 1774, 1791, 1792, 1795, 1796, 1799, - 1800, 1803, 1804, 1807, 1817, 1827, 1828, 1829, 1838, 1839, - 1840, 1851, 1897, 1910, 1911, 1914, 1915, 1918, 1920, 1924, - 1934, 1935, 1955, 1964, 1965, 1966, 1967, 1971, 1980, 1981, - 1985, 1995, 2004, 2004, 2006, 2007, 2008, 2009, 2010, 2011, - 2012, 2013, 2016, 2020, 2022, 2024, 2037, 2049, 2050, 2053, - 2054, 2067, 2069, 2083, 2084, 2085, 2086, 2087, 2090, 2091, - 2094, 2096, 2098, 2102, 2103, 2104, 2105, 2108, 2116, 2127, - 2128, 2129, 2130, 2133, 2134, 2146, 2154, 2162, 2168, 2190, - 2196, 2202, 2208, 2214, 2222, 2223, 2224, 2235, 2258, 2274, - 2298, 2312, 2313, 2316, 2317, 2320, 2321, 2322, 2325, 2326, - 2327, 2337, 2353, 2370, 2379, 2392, 2393, 2396, 2397, 2400, - 2401, 2404, 2406, 2418, 2439, 2440, 2441, 2442, 2443, 2444, - 2461, 2468, 2480, 2496, 2513, 2527, 2545, 2546, 2549, 2552, - 2556, 2573, 2583, 2591, 2617, 2634, 2651, 2652, 2662, 2684, - 2706, 2707, 2708, 2709, 2710, 2713, 2714, 2717, 2718, 2726, - 2745, 2836, 2840, 2844, 2849, 2858, 2865, 2894, 2895, 2898, - 2899, 2902, 2903, 2906, 2907, 2908, 2909, 2912, 2913, 2916, - 2917, 2920, 2928, 2929, 2930, 2931, 2932, 2933, 2937, 2939, - 2941, 2943, 2945, 2947, 2951, 2967, 2980, 2991, 3004, 3021, - 3022, 3025, 3027, 3029, 3033, 3034, 3037, 3041, 3044, 3045, - 3048, 3049, 3060, 3061, 3064, 3066, 3068, 3072, 3074, 3078, - 3084, 3090, 3102, 3104, 3108, 3128, 3132, 3144, 3152, 3160, - 3165, 3170, 3175, 3180, 3185, 3189, 3195, 3196, 3207, 3208, - 3211, 3212, 3215, 3225, 3226, 3229, 3236, 3244, 3246, 3248, - 3252, 3254, 3256, 3271, 3293, 3300, 3301, 3302, 3303, 3306, - 3314, 3315, 3323, 3329, 3334, 3340, 3348, 3350, 3352, 3354, - 3358, 3369, 3375, 3386, 3394, 3400, 3411, 3419, 3429, 3456, - 3475, 3495, 3496, 3497, 3498, 3501, 3502, 3505, 3506, 3509, - 3510, 3513, 3519, 3526, 3532, 3540, 3541, 3542, 3543, 3544, - 3545, 3548, 3549, 3552, 3553, 3554, 3555, 3556, 3557, 3558, - 3559, 3560, 3570, 3572, 3589, 3599, 3609, 3622, 3635, 3641, - 3647, 3651, 3657, 3658, 3659, 3660, 3661, 3662, 3663, 3664, - 3665, 3668, 3669, 3680, 3685, 3687, 3689, 3697, 3699, 3701, - 3703, 3705, 3707, 3709, 3711, 3713, 3715, 3719, 3721, 3724, - 3726, 3728, 3730, 3732, 3748, 3764, 3766, 3768, 3770, 3772, - 3774, 3776, 3788, 3795, 3802, 3817, 3832, 3854, 3869, 3891, - 3898, 3905, 3915, 3922, 3929, 3937, 3944, 3951, 3958, 3965, - 3967, 3969, 3971, 3978, 3988, 3998, 4008, 4018, 4024, 4030, - 4030, 4044, 4044, 4058, 4068, 4078, 4088, 4098, 4108, 4118, - 4128, 4138, 4148, 4158, 4168, 4178, 4188, 4198, 4208, 4218, - 4228, 4238, 4248, 4258, 4268, 4278, 4288, 4298, 4308, 4318, - 4328, 4330, 4332, 4334, 4343, 4348, 4350, 4358, 4360, 4362, - 4364, 4366, 4368, 4370, 4372, 4374, 4376, 4378, 4380, 4396, - 4412, 4414, 4416, 4418, 4420, 4427, 4434, 4449, 4464, 4486, - 4501, 4523, 4530, 4537, 4544, 4552, 4559, 4566, 4573, 4582, - 4589, 4596, 4600, 4602, 4604, 4608, 4615, 4619, 4620, 4621, - 4624, 4626, 4630, 4635, 4637, 4639, 4641, 4643, 4645, 4647, - 4649, 4651, 4667, 4683, 4685, 4687, 4689, 4691, 4699, 4706, - 4713, 4720, 4728, 4735, 4742, 4749, 4758, 4762, 4766, 4768, - 4777, 4779, 4783, 4785, 4787, 4791, 4797, 4801, 4803, 4809, - 4815, 4819, 4821, 4842, 4850, 4864, 4880, 4882, 4886, 4895, - 4896, 4899, 4904, 4912, 4916, 4924, 4934, 4936, 4938, 4949, - 4951, 4953, 4968, 4975, 4982, 5001, 5003, 5008, 5015, 5022, - 5034, 5048, 5049, 5052, 5057, 5069, 5070, 5071, 5072, 5073, - 5079, 5080, 5082, 5088, 5095, 5102, 5109, 5117, 5119, 5129, - 5141, 5149, 5150, 5151, 5158, 5160, 5162, 5173, 5174, 5175, - 5176, 5177, 5178, 5179, 5180, 5181, 5182, 5183, 5184, 5185, - 5186, 5187, 5188, 5189, 5190, 5191, 5192, 5193, 5194, 5195, - 5196, 5197, 5198, 5199, 5200, 5201, 5202, 5203, 5204, 5205, - 5206, 5207, 5208, 5209, 5210, 5211, 5212, 5213, 5214, 5215, - 5216, 5217, 5218, 5219, 5220, 5221, 5222, 5223, 5224, 5225, - 5226, 5227, 5228, 5229, 5230, 5231, 5232, 5233, 5234, 5235, - 5236, 5237, 5238, 5239, 5240, 5241, 5242, 5255, 5256, 5257, - 5258, 5259, 5260, 5261, 5262, 5263, 5264, 5265, 5266, 5267, - 5268, 5269, 5270, 5271, 5272, 5273, 5274, 5275, 5276, 5277, - 5278, 5279, 5280, 5281, 5282, 5283, 5284, 5285, 5286, 5287, - 5288, 5289, 5290, 5291, 5292, 5295, 5302 -}; -#endif - - -#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) - -static const char * const yytname[] = { "$","error","$undefined.","ABSOLUTE", -"ACTION","ADD","ALL","ALTER","AND","ANY","AS","ASC","BEGIN_TRANS","BETWEEN", -"BOTH","BY","CASCADE","CASE","CAST","CHAR","CHARACTER","CHECK","CLOSE","COALESCE", -"COLLATE","COLUMN","COMMIT","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE", -"CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DAY_P","DECIMAL", -"DECLARE","DEFAULT","DELETE","DESC","DISTINCT","DOUBLE","DROP","ELSE","END_TRANS", -"EXCEPT","EXECUTE","EXISTS","EXTRACT","FALSE_P","FETCH","FLOAT","FOR","FOREIGN", -"FROM","FULL","GRANT","GROUP","HAVING","HOUR_P","IN","INNER_P","INSENSITIVE", -"INSERT","INTERSECT","INTERVAL","INTO","IS","ISOLATION","JOIN","KEY","LANGUAGE", -"LEADING","LEFT","LEVEL","LIKE","LOCAL","MATCH","MINUTE_P","MONTH_P","NAMES", -"NATIONAL","NATURAL","NCHAR","NEXT","NO","NOT","NULLIF","NULL_P","NUMERIC","OF", -"ON","ONLY","OPTION","OR","ORDER","OUTER_P","PARTIAL","POSITION","PRECISION", -"PRIMARY","PRIOR","PRIVILEGES","PROCEDURE","PUBLIC","READ","REFERENCES","RELATIVE", -"REVOKE","RIGHT","ROLLBACK","SCROLL","SECOND_P","SELECT","SET","SUBSTRING","TABLE", -"TEMP","TEMPORARY","THEN","TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE", -"TO","TRAILING","TRANSACTION","TRIM","TRUE_P","UNION","UNIQUE","UPDATE","USER", -"USING","VALUES","VARCHAR","VARYING","VIEW","WHEN","WHERE","WITH","WORK","YEAR_P", -"ZONE","TRIGGER","TYPE_P","ABORT_TRANS","AFTER","AGGREGATE","ANALYZE","BACKWARD", -"BEFORE","BINARY","CACHE","CLUSTER","COPY","CREATEDB","CREATEUSER","CYCLE","DATABASE", -"DELIMITERS","DO","EACH","ENCODING","EXPLAIN","EXTEND","FORWARD","FUNCTION", -"HANDLER","INCREMENT","INDEX","INHERITS","INSTEAD","ISNULL","LANCOMPILER","LIMIT", -"LISTEN","LOAD","LOCATION","LOCK_P","MAXVALUE","MINVALUE","MOVE","NEW","NOCREATEDB", -"NOCREATEUSER","NONE","NOTHING","NOTIFY","NOTNULL","OFFSET","OIDS","OPERATOR", -"PASSWORD","PROCEDURAL","RENAME","RESET","RETURNS","ROW","RULE","SEQUENCE","SERIAL", -"SETOF","SHOW","START","STATEMENT","STDIN","STDOUT","TRUSTED","UNLISTEN","UNTIL", -"VACUUM","VALID","VERBOSE","VERSION","IDENT","SCONST","Op","ICONST","PARAM", -"FCONST","OP","'='","'<'","'>'","'+'","'-'","'*'","'/'","'%'","'|'","':'","';'", -"UMINUS","'.'","'['","']'","TYPECAST","','","'('","')'","stmtblock","stmtmulti", -"stmt","CreateUserStmt","AlterUserStmt","DropUserStmt","user_passwd_clause", -"user_createdb_clause","user_createuser_clause","user_group_list","user_group_clause", -"user_valid_clause","VariableSetStmt","var_value","zone_value","VariableShowStmt", -"VariableResetStmt","AddAttrStmt","alter_clause","ClosePortalStmt","CopyStmt", -"copy_dirn","copy_file_name","opt_binary","opt_with_copy","copy_delimiter","CreateStmt", -"OptTemp","OptTableElementList","OptTableElement","columnDef","ColQualifier", -"ColQualList","ColPrimaryKey","ColConstraint","ColConstraintElem","default_list", -"default_expr","TableConstraint","ConstraintElem","constraint_list","constraint_expr", -"c_list","c_expr","key_match","key_actions","key_action","key_reference","OptInherit", -"CreateAsStmt","OptCreateAs","CreateAsList","CreateAsElement","CreateSeqStmt", -"OptSeqList","OptSeqElem","NumericOnly","FloatOnly","IntegerOnly","CreatePLangStmt", -"PLangTrusted","DropPLangStmt","CreateTrigStmt","TriggerActionTime","TriggerEvents", -"TriggerOneEvent","TriggerForSpec","TriggerForOpt","TriggerForType","TriggerFuncArgs", -"TriggerFuncArg","DropTrigStmt","DefineStmt","def_rest","def_type","def_name", -"definition","def_list","def_elem","def_arg","DestroyStmt","FetchStmt","opt_direction", -"fetch_how_many","opt_portal_name","GrantStmt","privileges","operation_commalist", -"operation","grantee","opt_with_grant","RevokeStmt","IndexStmt","index_opt_unique", -"access_method_clause","index_params","index_list","func_index","index_elem", -"opt_type","opt_class","ExtendStmt","ProcedureStmt","opt_with","func_args","func_args_list", -"func_return","set_opt","RemoveStmt","remove_type","RemoveAggrStmt","aggr_argtype", -"RemoveFuncStmt","RemoveOperStmt","all_Op","MathOp","oper_argtypes","RenameStmt", -"opt_name","opt_column","RuleStmt","@1","RuleActionList","RuleActionBlock","RuleActionMulti", -"RuleActionStmt","event_object","event","opt_instead","NotifyStmt","ListenStmt", -"UnlistenStmt","TransactionStmt","opt_trans","ViewStmt","LoadStmt","CreatedbStmt", -"opt_database1","opt_database2","location","encoding","DestroydbStmt","ClusterStmt", -"VacuumStmt","opt_verbose","opt_analyze","opt_va_list","va_list","ExplainStmt", -"OptimizableStmt","InsertStmt","insert_rest","opt_column_list","columnList", -"columnElem","DeleteStmt","LockStmt","opt_lmode","UpdateStmt","CursorStmt","opt_cursor", -"cursor_clause","opt_readonly","opt_of","SelectStmt","select_clause","SubSelect", -"result","opt_table","opt_union","opt_unique","sort_clause","sortby_list","sortby", -"OptUseOp","opt_select_limit","select_limit_value","select_offset_value","opt_inh_star", -"relation_name_list","name_list","group_clause","having_clause","for_update_clause", -"update_list","from_clause","from_expr","table_list","table_expr","join_clause_with_union", -"join_clause","join_list","join_expr","join_type","join_outer","join_qual","using_list", -"using_expr","where_clause","relation_expr","opt_array_bounds","nest_array_bounds", -"Typename","Array","Generic","generic","Numeric","numeric","opt_float","opt_numeric", -"opt_decimal","Character","character","opt_varying","opt_charset","opt_collate", -"Datetime","datetime","opt_timezone","opt_interval","a_expr_or_null","row_expr", -"row_descriptor","row_list","row_op","sub_type","a_expr","@2","@3","b_expr", -"opt_indirection","expr_list","extract_list","extract_arg","position_list","position_expr", -"substr_list","substr_from","substr_for","trim_list","in_expr","in_expr_nodes", -"not_in_expr","not_in_expr_nodes","case_expr","when_clause_list","when_clause", -"case_default","case_arg","attr","attrs","res_target_list","res_target_el","res_target_list2", -"res_target_el2","opt_id","relation_name","database_name","access_method","attr_name", -"class","index_name","name","func_name","file_name","AexprConst","ParamNo","Iconst", -"Sconst","UserId","TypeId","ColId","ColLabel","SpecialRuleRelation", NULL -}; -#endif - -static const short yyr1[] = { 0, - 243, 243, 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, 245, 246, 247, 248, 249, - 249, 250, 250, 250, 251, 251, 251, 252, 252, 253, - 253, 254, 254, 255, 255, 255, 255, 255, 255, 256, - 256, 257, 257, 257, 258, 258, 258, 259, 259, 259, - 260, 261, 261, 261, 261, 261, 261, 262, 263, 264, - 264, 265, 265, 265, 266, 266, 267, 267, 268, 268, - 269, 270, 270, 270, 271, 271, 271, 272, 272, 273, - 273, 274, 274, 275, 275, 276, 276, 277, 277, 278, - 278, 278, 278, 278, 278, 278, 279, 279, 280, 280, - 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 280, 280, 280, 281, 281, 282, 282, - 282, 282, 283, 283, 284, 284, 284, 284, 284, 284, - 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - 284, 284, 284, 284, 284, 284, 284, 284, 284, 284, - 284, 284, 284, 284, 285, 285, 286, 287, 287, 287, - 288, 288, 288, 289, 289, 290, 290, 290, 290, 291, - 291, 292, 293, 293, 294, 294, 295, 296, 297, 297, - 298, 298, 298, 298, 298, 298, 299, 299, 300, 300, - 301, 301, 302, 303, 303, 304, 305, 306, 306, 307, - 307, 307, 308, 308, 308, 309, 310, 310, 311, 311, - 312, 312, 312, 313, 313, 313, 313, 314, 315, 316, - 317, 317, 317, 318, 318, 318, 318, 318, 319, 320, - 320, 321, 321, 321, 322, 322, 322, 322, 322, 323, - 323, 324, 324, 325, 325, 325, 325, 325, 326, 326, - 326, 326, 326, 326, 327, 327, 327, 328, 329, 329, - 329, 330, 330, 331, 331, 331, 331, 331, 332, 332, - 332, 333, 333, 334, 335, 336, 336, 337, 337, 338, - 338, 339, 339, 340, 341, 342, 342, 342, 343, 343, - 343, 344, 345, 346, 346, 347, 347, 348, 348, 349, - 350, 350, 351, 352, 352, 352, 352, 353, 354, 354, - 355, 356, 357, 357, 358, 358, 358, 358, 358, 358, - 358, 358, 359, 359, 359, 359, 360, 361, 361, 362, - 362, 364, 363, 365, 365, 365, 365, 365, 366, 366, - 367, 367, 367, 368, 368, 368, 368, 369, 369, 370, - 370, 370, 370, 371, 371, 372, 373, 374, 374, 375, - 375, 375, 375, 375, 376, 376, 376, 377, 378, 379, - 379, 380, 380, 381, 381, 382, 382, 382, 383, 383, - 383, 384, 385, 386, 386, 387, 387, 388, 388, 389, - 389, 390, 390, 391, 392, 392, 392, 392, 392, 392, - 393, 394, 394, 394, 394, 394, 395, 395, 396, 396, - 397, 398, 399, 399, 399, 399, 400, 400, 401, 402, - 403, 403, 403, 403, 403, 404, 404, 405, 405, 406, - 407, 408, 408, 408, 408, 408, 409, 410, 410, 411, - 411, 412, 412, 413, 413, 413, 413, 414, 414, 415, - 415, 416, 417, 417, 417, 417, 417, 417, 418, 418, - 418, 418, 418, 418, 419, 419, 419, 420, 420, 421, - 421, 422, 423, 423, 424, 424, 425, 425, 426, 426, - 427, 427, 428, 428, 429, 429, 429, 430, 430, 431, - 431, 431, 432, 432, 433, 434, 434, 435, 435, 435, - 436, 436, 436, 436, 436, 436, 437, 437, 438, 438, - 439, 439, 440, 441, 441, 442, 442, 443, 443, 443, - 444, 444, 444, 445, 445, 446, 446, 446, 446, 447, - 448, 448, 449, 449, 449, 449, 450, 450, 450, 450, - 451, 451, 452, 452, 452, 453, 453, 453, 454, 454, - 455, 455, 455, 455, 455, 456, 456, 457, 457, 458, - 458, 459, 459, 459, 459, 460, 460, 460, 460, 460, - 460, 461, 461, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 463, 463, 464, 464, 464, 464, 464, 465, - 466, 466, 467, 467, 467, 467, 467, 467, 467, 467, - 467, 468, 468, 469, 469, 469, 469, 469, 469, 469, - 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, - 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, - 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, - 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, - 469, 469, 469, 469, 469, 469, 469, 469, 469, 470, - 469, 471, 469, 469, 469, 469, 469, 469, 469, 469, - 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, - 469, 469, 469, 469, 469, 469, 469, 469, 469, 469, - 469, 469, 469, 469, 472, 472, 472, 472, 472, 472, - 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, - 472, 472, 472, 472, 472, 472, 472, 472, 472, 472, - 472, 472, 472, 472, 472, 472, 472, 472, 472, 473, - 473, 473, 474, 474, 474, 475, 475, 476, 476, 476, - 477, 477, 478, 478, 478, 478, 478, 478, 478, 478, - 478, 478, 478, 478, 478, 478, 478, 478, 478, 478, - 478, 478, 478, 478, 478, 478, 479, 479, 480, 480, - 481, 481, 482, 482, 482, 483, 483, 484, 484, 485, - 485, 486, 486, 487, 487, 487, 488, 488, 489, 490, - 490, 491, 491, 491, 492, 492, 493, 493, 493, 494, - 494, 494, 495, 495, 495, 496, 496, 497, 497, 497, - 497, 498, 498, 499, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 508, 508, 508, 508, 508, 508, - 509, 510, 511, 512, 513, 513, 513, 514, 514, 514, - 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, - 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, - 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, - 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, - 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, - 514, 514, 514, 514, 514, 514, 514, 514, 514, 514, - 514, 514, 514, 514, 514, 514, 514, 515, 515, 515, - 515, 515, 515, 515, 515, 515, 515, 515, 515, 515, - 515, 515, 515, 515, 515, 515, 515, 515, 515, 515, - 515, 515, 515, 515, 515, 515, 515, 515, 515, 515, - 515, 515, 515, 515, 515, 516, 516 -}; - -static const short yyr2[] = { 0, - 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 8, 8, 3, 3, - 0, 1, 1, 0, 1, 1, 0, 3, 1, 3, - 0, 3, 0, 4, 4, 4, 6, 5, 3, 1, - 1, 1, 1, 1, 2, 3, 4, 2, 3, 4, - 5, 3, 4, 3, 6, 5, 2, 2, 7, 1, - 1, 1, 1, 1, 1, 0, 2, 0, 3, 0, - 8, 1, 1, 0, 3, 1, 0, 1, 1, 3, - 3, 1, 0, 2, 1, 2, 0, 3, 1, 4, - 2, 2, 2, 1, 2, 5, 3, 1, 1, 2, - 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, - 2, 3, 6, 3, 3, 4, 3, 2, 2, 1, - 1, 4, 1, 4, 1, 1, 3, 1, 4, 4, - 5, 10, 3, 1, 1, 1, 1, 2, 3, 3, - 3, 3, 3, 3, 3, 3, 2, 2, 2, 3, - 6, 3, 3, 4, 3, 3, 4, 3, 3, 2, - 2, 2, 2, 3, 2, 4, 3, 3, 4, 4, - 5, 6, 5, 6, 3, 1, 1, 2, 2, 0, - 2, 1, 0, 3, 3, 2, 1, 2, 2, 4, - 0, 7, 3, 0, 3, 1, 1, 4, 2, 0, - 2, 1, 2, 2, 2, 2, 1, 1, 1, 2, - 1, 2, 9, 1, 0, 4, 14, 1, 1, 1, - 3, 5, 1, 1, 1, 3, 1, 0, 1, 1, - 1, 3, 0, 1, 1, 1, 1, 5, 3, 2, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, - 3, 3, 1, 3, 1, 1, 1, 1, 2, 3, - 3, 4, 4, 1, 1, 1, 1, 0, 1, 2, - 1, 1, 1, 0, 2, 2, 0, 7, 2, 1, - 1, 1, 3, 1, 1, 1, 1, 1, 1, 2, - 1, 3, 0, 6, 11, 1, 0, 2, 0, 1, - 1, 3, 1, 6, 3, 2, 2, 0, 1, 2, - 0, 4, 11, 2, 0, 3, 2, 1, 3, 2, - 1, 0, 3, 1, 1, 1, 1, 4, 1, 1, - 4, 6, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 3, 3, 9, 1, 0, 1, - 0, 0, 13, 1, 1, 1, 3, 3, 1, 1, - 2, 3, 2, 1, 1, 1, 1, 3, 1, 1, - 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 1, 1, 0, 5, 2, 6, - 3, 3, 0, 3, 0, 1, 1, 0, 1, 1, - 0, 3, 4, 3, 5, 1, 0, 1, 0, 3, - 0, 1, 3, 3, 1, 1, 1, 1, 1, 1, - 4, 4, 2, 1, 7, 4, 3, 0, 3, 1, - 2, 4, 3, 8, 7, 6, 1, 0, 6, 7, - 1, 1, 1, 2, 0, 2, 0, 2, 2, 2, - 4, 3, 1, 3, 4, 3, 8, 4, 0, 1, - 0, 1, 0, 1, 3, 1, 0, 3, 0, 1, - 3, 2, 2, 2, 2, 1, 1, 0, 4, 4, - 2, 4, 2, 0, 1, 1, 1, 1, 1, 1, - 0, 1, 1, 3, 3, 0, 2, 0, 3, 0, - 2, 0, 2, 0, 3, 1, 1, 3, 1, 3, - 2, 1, 1, 4, 2, 2, 1, 4, 4, 3, - 2, 2, 2, 1, 1, 0, 1, 0, 4, 2, - 3, 1, 1, 2, 0, 1, 2, 3, 4, 0, - 3, 4, 0, 2, 2, 1, 1, 1, 1, 1, - 1, 1, 2, 2, 2, 2, 1, 2, 1, 1, - 3, 0, 5, 3, 0, 5, 3, 0, 4, 1, - 4, 2, 1, 3, 2, 1, 0, 3, 0, 2, - 0, 1, 2, 1, 2, 1, 1, 1, 1, 1, - 1, 3, 0, 1, 3, 3, 3, 3, 3, 3, - 3, 0, 1, 1, 7, 8, 8, 7, 7, 3, - 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 1, 1, 1, 2, 2, 2, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 2, 2, 2, 3, 6, 3, 3, 3, 4, 2, - 2, 4, 3, 4, 1, 1, 4, 1, 4, 1, - 1, 4, 4, 4, 4, 5, 5, 5, 4, 2, - 3, 2, 4, 3, 4, 3, 4, 5, 6, 0, - 6, 0, 7, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 3, 3, 2, 1, 2, 1, 1, 2, 2, 2, - 3, 3, 3, 3, 3, 2, 2, 2, 3, 6, - 3, 3, 2, 2, 3, 4, 1, 1, 4, 1, - 4, 1, 1, 4, 4, 5, 5, 5, 4, 4, - 6, 0, 1, 3, 3, 3, 0, 1, 1, 1, - 3, 0, 2, 1, 2, 3, 3, 3, 3, 3, - 2, 3, 6, 3, 3, 2, 2, 1, 3, 4, - 4, 4, 5, 5, 5, 4, 3, 0, 2, 0, - 2, 0, 3, 2, 1, 1, 1, 1, 3, 1, - 1, 1, 3, 5, 6, 4, 2, 1, 4, 2, - 0, 2, 1, 0, 3, 3, 1, 3, 3, 3, - 1, 1, 4, 2, 3, 3, 1, 3, 1, 3, - 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1 -}; - -static const short yydefact[] = { 0, - 0, 417, 863, 417, 104, 0, 0, 0, 417, 298, - 0, 0, 0, 417, 497, 0, 0, 417, 0, 96, - 437, 0, 0, 0, 491, 298, 0, 0, 0, 0, - 437, 0, 1, 2, 14, 6, 20, 44, 45, 46, - 5, 7, 8, 9, 10, 11, 12, 18, 13, 19, - 16, 17, 23, 24, 35, 25, 21, 29, 33, 30, - 32, 31, 34, 37, 449, 26, 27, 38, 39, 40, - 41, 42, 15, 43, 22, 36, 448, 450, 28, 447, - 446, 445, 499, 483, 0, 0, 416, 415, 411, 890, - 891, 618, 902, 619, 911, 914, 915, 918, 620, 617, - 921, 926, 928, 930, 932, 933, 935, 936, 941, 621, - 948, 949, 950, 951, 616, 957, 952, 954, 892, 893, - 894, 895, 896, 897, 898, 899, 900, 901, 903, 904, - 905, 906, 907, 908, 909, 910, 912, 913, 916, 917, - 919, 920, 922, 923, 924, 925, 927, 929, 931, 934, - 937, 938, 939, 940, 942, 943, 944, 945, 946, 947, - 953, 955, 956, 888, 889, 88, 862, 412, 102, 103, - 326, 0, 0, 0, 272, 273, 0, 0, 271, 0, - 0, 244, 0, 0, 0, 0, 475, 871, 0, 0, - 0, 357, 0, 354, 0, 0, 0, 355, 0, 0, - 356, 0, 0, 413, 297, 296, 295, 294, 304, 310, - 317, 315, 314, 316, 318, 0, 311, 312, 0, 0, - 414, 496, 494, 0, 431, 948, 0, 0, 996, 997, - 0, 865, 864, 410, 0, 870, 95, 0, 436, 0, - 0, 407, 883, 419, 873, 490, 0, 304, 406, 948, - 0, 78, 948, 0, 75, 409, 408, 439, 0, 0, - 4, 0, 0, 0, 493, 530, 521, 884, 51, 51, - 0, 0, 421, 866, 0, 872, 0, 230, 0, 0, - 275, 274, 278, 372, 370, 371, 365, 366, 367, 368, - 369, 269, 0, 277, 276, 0, 472, 473, 471, 0, - 565, 290, 522, 523, 49, 0, 0, 432, 0, 363, - 0, 364, 0, 291, 353, 301, 302, 303, 882, 0, - 307, 299, 309, 0, 0, 0, 0, 0, 844, 0, - 607, 607, 0, 685, 686, 688, 690, 598, 902, 0, - 0, 880, 592, 632, 0, 607, 0, 0, 634, 595, - 0, 0, 948, 949, 0, 879, 691, 603, 954, 0, - 888, 0, 782, 875, 0, 861, 0, 0, 0, 0, - 0, 0, 570, 576, 580, 578, 579, 600, 577, 889, - 859, 655, 633, 744, 782, 489, 857, 0, 0, 656, - 878, 874, 876, 657, 430, 69, 429, 0, 0, 0, - 0, 0, 0, 98, 444, 565, 463, 307, 79, 0, - 76, 0, 438, 434, 482, 3, 484, 486, 0, 492, - 0, 0, 514, 520, 0, 0, 54, 54, 0, 249, - 248, 0, 423, 0, 0, 382, 228, 224, 0, 0, - 270, 0, 474, 0, 0, 462, 0, 0, 360, 358, - 359, 361, 0, 246, 300, 0, 0, 292, 0, 313, - 0, 0, 0, 451, 454, 0, 495, 0, 782, 0, - 0, 843, 0, 606, 602, 609, 0, 0, 0, 0, - 585, 584, 0, 787, 0, 583, 618, 619, 620, 616, - 624, 615, 607, 605, 0, 743, 0, 0, 0, 586, - 792, 818, 0, 613, 0, 0, 614, 623, 582, 581, - 575, 612, 680, 0, 881, 658, 659, 673, 671, 672, - 0, 0, 0, 633, 877, 0, 574, 0, 0, 0, - 0, 710, 0, 0, 0, 0, 700, 702, 681, 0, - 0, 0, 0, 0, 0, 0, 660, 0, 654, 104, - 0, 534, 0, 0, 0, 73, 74, 66, 72, 0, - 71, 64, 70, 65, 852, 782, 534, 851, 0, 782, - 433, 0, 0, 342, 468, 293, 80, 77, 441, 498, - 500, 508, 485, 532, 0, 0, 481, 381, 381, 381, - 381, 81, 0, 52, 53, 57, 57, 418, 254, 253, - 255, 0, 250, 0, 425, 589, 902, 587, 590, 347, - 0, 886, 887, 348, 885, 352, 0, 0, 232, 0, - 0, 0, 0, 229, 107, 0, 0, 0, 283, 0, - 280, 0, 0, 564, 524, 268, 0, 0, 373, 306, - 305, 0, 453, 0, 0, 460, 782, 0, 0, 841, - 838, 842, 0, 0, 0, 611, 783, 0, 0, 0, - 0, 0, 789, 790, 788, 0, 0, 0, 0, 0, - 0, 0, 604, 0, 669, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 782, 0, 794, 808, - 820, 0, 0, 0, 0, 0, 0, 633, 825, 0, - 0, 676, 0, 0, 573, 0, 0, 962, 964, 965, - 967, 969, 970, 973, 974, 975, 982, 983, 984, 985, - 989, 990, 991, 992, 995, 959, 960, 961, 963, 966, - 968, 971, 972, 976, 977, 978, 979, 980, 981, 986, - 987, 988, 993, 994, 958, 858, 741, 0, 767, 768, - 770, 772, 0, 0, 0, 773, 0, 0, 0, 0, - 0, 0, 0, 0, 782, 0, 746, 747, 0, 706, - 0, 701, 704, 678, 0, 712, 0, 742, 0, 0, - 0, 677, 0, 0, 668, 0, 670, 0, 0, 0, - 666, 0, 0, 0, 667, 0, 0, 0, 661, 0, - 0, 0, 662, 0, 0, 0, 665, 0, 0, 0, - 663, 0, 0, 0, 664, 674, 491, 856, 0, 565, - 860, 845, 847, 868, 0, 683, 0, 846, 935, 68, - 854, 0, 565, 0, 0, 97, 91, 90, 0, 467, - 0, 0, 435, 0, 506, 507, 0, 502, 0, 529, - 516, 517, 511, 515, 519, 513, 518, 0, 380, 0, - 0, 0, 107, 87, 0, 0, 0, 379, 50, 55, - 56, 61, 61, 0, 0, 428, 0, 420, 588, 0, - 346, 351, 345, 0, 0, 0, 231, 241, 233, 234, - 235, 236, 0, 0, 106, 108, 109, 158, 0, 226, - 227, 0, 0, 0, 0, 0, 279, 329, 477, 0, - 362, 0, 0, 319, 323, 321, 0, 0, 0, 461, - 324, 0, 0, 837, 0, 0, 0, 0, 601, 0, - 0, 836, 687, 689, 0, 597, 692, 693, 0, 591, - 626, 627, 628, 629, 630, 631, 625, 0, 0, 594, - 0, 792, 818, 0, 806, 795, 801, 0, 694, 0, - 807, 0, 0, 0, 0, 0, 0, 793, 0, 0, - 822, 695, 622, 0, 824, 0, 0, 0, 699, 0, - 782, 0, 0, 643, 645, 644, 646, 647, 648, 649, - 650, 651, 0, 640, 0, 568, 573, 599, 0, 0, - 0, 792, 818, 0, 763, 748, 749, 758, 756, 757, - 0, 0, 764, 0, 0, 0, 0, 750, 0, 745, - 0, 0, 705, 703, 707, 0, 0, 679, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 533, 537, 539, - 536, 542, 566, 526, 0, 682, 684, 67, 850, 469, - 855, 0, 93, 94, 100, 92, 466, 0, 0, 442, - 501, 503, 504, 505, 531, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 82, 0, 84, 0, 378, 0, - 63, 63, 0, 251, 427, 422, 426, 431, 349, 0, - 0, 350, 402, 403, 400, 401, 0, 242, 0, 0, - 221, 0, 223, 117, 113, 222, 0, 0, 239, 366, - 287, 237, 238, 284, 286, 288, 285, 282, 281, 0, - 0, 0, 470, 375, 376, 374, 320, 0, 308, 452, - 459, 0, 456, 0, 840, 834, 0, 608, 610, 785, - 784, 0, 786, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 804, 791, 805, 796, 797, 800, 798, 799, - 802, 809, 0, 819, 0, 817, 696, 697, 698, 823, - 0, 780, 0, 0, 653, 652, 0, 0, 573, 0, - 569, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 761, 708, 762, 751, 752, 755, 753, 754, 759, 765, - 0, 826, 0, 827, 828, 878, 0, 0, 0, 0, - 714, 0, 0, 722, 0, 0, 720, 0, 0, 721, - 0, 0, 715, 0, 0, 716, 0, 0, 719, 0, - 0, 717, 0, 0, 718, 488, 556, 0, 543, 0, - 0, 558, 555, 558, 556, 554, 558, 545, 547, 0, - 0, 541, 567, 0, 528, 849, 848, 853, 0, 89, - 465, 0, 0, 440, 510, 509, 512, 0, 0, 166, - 0, 0, 0, 0, 0, 0, 0, 0, 165, 167, - 0, 0, 0, 83, 0, 0, 0, 0, 0, 48, - 47, 258, 0, 0, 424, 344, 0, 0, 157, 105, - 0, 101, 225, 227, 0, 111, 0, 0, 0, 0, - 0, 0, 124, 110, 112, 115, 119, 0, 289, 240, - 867, 328, 0, 0, 0, 476, 0, 0, 839, 675, - 596, 835, 593, 0, 811, 812, 0, 0, 0, 816, - 810, 821, 782, 0, 0, 0, 0, 642, 0, 571, - 573, 0, 769, 771, 774, 775, 0, 0, 0, 779, - 766, 711, 0, 709, 830, 0, 831, 832, 732, 723, - 740, 731, 738, 729, 739, 730, 733, 724, 734, 725, - 737, 728, 735, 726, 736, 727, 0, 535, 538, 0, - 557, 551, 552, 0, 553, 546, 0, 540, 0, 0, - 487, 0, 464, 443, 0, 190, 191, 168, 179, 177, - 178, 0, 0, 0, 0, 0, 0, 0, 0, 193, - 195, 192, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 159, 0, 0, 0, 160, 86, 0, 377, 60, - 59, 0, 257, 0, 0, 252, 0, 565, 399, 0, - 116, 0, 0, 0, 150, 151, 153, 155, 121, 156, - 0, 0, 0, 0, 0, 0, 122, 0, 129, 123, - 125, 458, 114, 243, 0, 330, 331, 333, 338, 0, - 868, 478, 0, 479, 322, 0, 0, 813, 814, 815, - 781, 635, 0, 638, 639, 0, 572, 0, 776, 777, - 778, 829, 713, 0, 0, 550, 0, 0, 525, 527, - 99, 0, 182, 188, 0, 207, 0, 198, 0, 194, - 197, 186, 0, 0, 0, 189, 185, 174, 175, 176, - 169, 170, 173, 171, 172, 180, 183, 0, 164, 0, - 161, 85, 0, 62, 259, 260, 256, 0, 0, 0, - 0, 0, 0, 118, 0, 0, 0, 148, 130, 141, - 139, 140, 0, 149, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 210, 345, 0, 0, 0, - 341, 0, 480, 455, 803, 636, 637, 760, 833, 544, - 549, 0, 0, 548, 0, 0, 0, 206, 200, 196, - 199, 0, 0, 187, 0, 184, 0, 58, 0, 343, - 405, 398, 220, 120, 0, 0, 0, 144, 147, 136, - 137, 138, 131, 132, 135, 133, 134, 142, 145, 0, - 128, 0, 0, 213, 325, 332, 337, 336, 0, 869, - 335, 339, 0, 560, 0, 0, 203, 0, 201, 0, - 0, 163, 458, 263, 404, 0, 0, 152, 154, 0, - 146, 457, 208, 209, 0, 126, 212, 340, 338, 0, - 562, 563, 181, 205, 204, 202, 210, 267, 264, 265, - 0, 261, 266, 384, 0, 0, 383, 386, 397, 394, - 396, 395, 385, 0, 127, 0, 0, 211, 341, 0, - 559, 213, 0, 247, 0, 389, 390, 0, 143, 217, - 0, 0, 214, 215, 334, 561, 162, 262, 387, 391, - 393, 388, 216, 218, 219, 392, 0, 0, 0 -}; - -static const short yydefgoto[] = { 1747, - 33, 34, 35, 36, 37, 427, 596, 872, 1460, 1101, - 1310, 38, 562, 558, 39, 40, 41, 592, 42, 43, - 839, 1075, 238, 573, 1280, 44, 183, 894, 895, 896, - 1334, 1335, 1326, 1336, 1337, 1650, 1487, 897, 898, 1558, - 1297, 1617, 1618, 1654, 1686, 1687, 1733, 1322, 45, 626, - 899, 900, 46, 437, 624, 1131, 1132, 1133, 47, 184, - 48, 49, 432, 602, 603, 1313, 1464, 1567, 1701, 1702, - 50, 51, 292, 185, 629, 441, 630, 631, 1134, 52, - 53, 209, 321, 458, 54, 216, 217, 218, 915, 1149, - 55, 56, 186, 1141, 1495, 1496, 1497, 1498, 1601, 1661, - 57, 58, 1111, 435, 611, 883, 884, 59, 203, 60, - 450, 61, 62, 1135, 294, 638, 63, 1098, 865, 64, - 617, 1707, 1725, 1726, 1727, 1468, 1117, 1676, 1709, 66, - 67, 68, 89, 69, 70, 71, 605, 878, 1106, 396, - 72, 73, 74, 240, 414, 843, 1079, 75, 76, 1710, - 464, 1596, 645, 646, 1711, 79, 841, 1712, 81, 300, - 1143, 1346, 1504, 82, 83, 84, 552, 247, 421, 224, - 266, 580, 581, 848, 587, 853, 856, 425, 302, 303, - 1275, 1421, 423, 850, 820, 1058, 1059, 1060, 1258, 1061, - 1268, 1269, 1270, 1412, 1614, 1690, 1691, 446, 1062, 527, - 996, 372, 373, 374, 375, 376, 612, 486, 500, 481, - 377, 378, 475, 656, 929, 379, 380, 504, 492, 657, - 382, 522, 523, 993, 1198, 383, 769, 1027, 764, 515, - 699, 666, 667, 685, 686, 692, 971, 1186, 700, 1223, - 1224, 1386, 1387, 384, 650, 651, 925, 468, 385, 822, - 567, 568, 386, 387, 166, 470, 273, 1342, 823, 1662, - 235, 304, 389, 244, 390, 391, 392, 393, 269, 614, - 394, 746, 233 -}; - -static const short yypact[] = { 2142, - 100, 261, 15632, 261, 2466, 15632, 44, 1338, 261, 214, - 86, 138, 86, 261, 255, 14232, 14407, 261, 15632, 102, - 79, 135, 14407, 109, 231, 214, 14407, 14757, 14932, 12531, - 79, -45, 2142, 176,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 440,-32768, 14407, 184,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 184, 15632, 15632,-32768,-32768, 15632, 15632,-32768, 15632, - 14407,-32768, 295, 247, 12181, 260, 5,-32768, 14407, 15632, - 184,-32768, 15632,-32768, 15632, 15632, 15632,-32768, 1108, 379, --32768, 15632, 15632,-32768,-32768,-32768,-32768,-32768, 39, 367, --32768,-32768,-32768,-32768,-32768, 375, 268,-32768, 14407, 402, --32768,-32768, 408, 7288, 4, 371, 421, -62,-32768,-32768, - 405,-32768,-32768,-32768, 436,-32768,-32768, 14407,-32768, 51, - 15632,-32768,-32768,-32768,-32768,-32768, 14407, 39,-32768, 403, - 507,-32768, 410, 516,-32768,-32768,-32768, 411, -28, 359, --32768, -45, -45, 585, 595, 555, 381,-32768, 477, 477, - 627, 275, 499,-32768, 401,-32768, 638,-32768, 14407, 591, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 441,-32768,-32768, 15632, 564,-32768,-32768, 633, - 546,-32768, 443,-32768,-32768, 605, 12706,-32768, 401,-32768, - 465,-32768, 109,-32768,-32768,-32768,-32768,-32768,-32768, 496, - 365,-32768,-32768, 15632, 145, -2, 15632, 15632, 13447, 471, - 548, 548, 476,-32768, 488, 489,-32768, 494, 648, 511, - 519,-32768, 579, 259, 730, 548, 8168, 584, 544, 587, - 597, 603, -85, -61, 606,-32768,-32768,-32768, 110, 16222, - 127, 8168, 551,-32768, 8168,-32768, 8168, 8168, 8168, 8168, - 8388, 109, 565,-32768,-32768,-32768,-32768, 608,-32768, 149, - 826,-32768, 11554,-32768, 551, -19,-32768, 617, 613,-32768, - 619,-32768,-32768, 161,-32768,-32768,-32768, 37, 781, 7, - 7, 12356, 14407, 719,-32768, 546, 810, 365,-32768, 798, --32768, 799,-32768, 14407,-32768,-32768,-32768,-32768, 8168,-32768, - -45, 740, 242,-32768, 52, 681, 171, 171, -45,-32768, --32768, 133, 702, 4875, 684,-32768, 685, 644, 109, 12006, --32768, 793,-32768, 835, 8168,-32768, 15632, 14407,-32768,-32768, --32768,-32768, 15107,-32768,-32768, 15632, 15632,-32768, 768,-32768, - 759, 656, 11411,-32768,-32768, 848,-32768, 771, 551, 672, - 619, 676, 8168,-32768,-32768, 893, 8388, 496, 496, 496, --32768,-32768, 801, 690, 496,-32768, 788, 791, 796, 802, --32768,-32768, 548,-32768, 544, 1439, 8168, 8168, 496,-32768, - 10368, 8388, 822,-32768, 5076, 648,-32768, 779,-32768,-32768, --32768,-32768, 71, 8168,-32768, 708, 708, 708, 708, 708, - 712, 713, 683, 2353,-32768, -130,-32768, 496, 13648, 8168, - 9048,-32768, 319, 8168, 66, 8168,-32768,-32768, 8608, 5748, - 5968, 6188, 6408, 6628, 6848, 7068, 8828, 16164,-32768, 166, - 7288, 897, 12881, 3775, 15632,-32768,-32768,-32768,-32768, 15807, --32768,-32768,-32768,-32768,-32768, 551, -16,-32768, 733, 211, --32768, 777, 15,-32768, 755,-32768,-32768,-32768, 732, 734, --32768, 3097,-32768, 883, 16, 264,-32768, 47, 952, 952, - 952,-32768, 184,-32768,-32768, 182, 182,-32768,-32768,-32768, --32768, 886, 891, 767, 827,-32768, 896,-32768,-32768,-32768, - 217,-32768,-32768,-32768,-32768, 794, 907, -127,-32768, -127, - -127, -127, -127,-32768, 14057, 992, 833, 780, 783, 257, --32768, 14407, -45, 11554,-32768,-32768, 765, 775, 778,-32768, --32768, 14582,-32768, 7288, 290,-32768, 551, 14582, 8168, 6, --32768,-32768, 15632, 3243, 903, 996,-32768, -77, 787, 789, - 311, 790,-32768,-32768,-32768, 806, 974, 808, 170, -7, - 919, 956,-32768, 2859, 924, 334, 811, 815, 819, 820, - 10368, 10368, 10368, 10368, 809, 404, 551, 838,-32768, 161, - 0, 842, 912, 7508, 8388, 7508, 7508, 3288, -87, 843, - 3178,-32768, 582, 8168, 851, 800, 850,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 1439, 854,-32768, 855, - 856,-32768, 859, 860, 861,-32768, 9048, 9048, 9048, 9048, - 9048, 9048, 8168, 123, 551, 862,-32768, 161, 865,-32768, - 228,-32768,-32768, 1021, 9048,-32768, 8168, 1628, 866, 867, - 7728, 71, 869, 870,-32768, 7728, 924, 871, 872, 7728, - 1860, 875, 879, 7728, 1860, 880, 888, 7728, 288, 889, - 900, 7728, 288, 905, 906, 7728, 708, 915, 916, 7728, - 708, 917, 918, 7728, 708,-32768, 231,-32768, 11236, 546, --32768, 908,-32768,-32768, 885,-32768, 3, 908, 15632,-32768, --32768, 13447, 546, 13056, 938,-32768,-32768,-32768, 221, 846, - 964, 15632,-32768, 8168,-32768,-32768, -14,-32768, 15632,-32768, --32768,-32768, -95,-32768,-32768, 988,-32768, 927,-32768, 1095, - 1097, 929, 14057,-32768, 15632, 15632, 15632, 15632,-32768,-32768, --32768, 1110, 1110, 14407, 133, 8, 949,-32768,-32768, 13856, --32768,-32768, 1032, 13856, 132, 496,-32768,-32768,-32768,-32768, --32768,-32768, 15632, 342,-32768,-32768,-32768,-32768, 350,-32768, - 16106, 801, 12181, 11798, 11798, 12006,-32768, 1049, 1132, 15632, --32768, 15282, 15632,-32768, 1045,-32768, 364, 15632, -37,-32768, --32768, 3414, 8388,-32768, 1142, 16164, 15632, 15632,-32768, 8168, - 8388,-32768,-32768,-32768, 496,-32768,-32768,-32768, 8168,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 8168, 496,-32768, - 10368, 10368, 8388, 5302, 432, 950, 950, 547,-32768, 10368, - 10588, 10368, 10368, 10368, 10368, 10368, 16164,-32768, 3995, 8388, - 1136,-32768,-32768, 951, -87, 953, 962, 8388,-32768, 8168, - 551, 957, 1130,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 27, 2977, 167,-32768, 851,-32768, 9048, 496, - 496, 10368, 8388, 5528, 509, 966, 966, 966, 966, 966, - 427, 9048, 9268, 9048, 9048, 9048, 9048, 9488, 16164,-32768, - 4215, 15992,-32768,-32768,-32768, 187, 965, 1021, 801, 801, - 967, 801, 801, 971, 801, 801, 973, 801, 801, 975, - 801, 801, 980, 801, 801, 981, 801, 801, 983, 801, - 801, 984, 801, 801, 985, 14407, 14407,-32768, 976, 821, --32768, 15457, 999, 1170, 13231,-32768,-32768,-32768,-32768,-32768, --32768, 8388,-32768,-32768, 1096,-32768, 1013, 1015, 388,-32768, --32768,-32768,-32768,-32768, 993, 264, 264, 16, 10808, 994, - 995, 15632, 398, 16106,-32768, 31,-32768, 1111,-32768, 1179, - 1025, 1025, 1187, 1147,-32768,-32768,-32768, 4,-32768, 441, - 1235,-32768,-32768,-32768,-32768,-32768, 1118,-32768, 236, 14057, - 1073, 15632,-32768, 1151, 473,-32768, 1078, 15632,-32768, 481, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1038, - 1017, 173,-32768,-32768,-32768,-32768,-32768, 1198,-32768,-32768, --32768, 1018,-32768, 8388,-32768,-32768, 1019,-32768,-32768, 11554, --32768, 1020, 11554, 1234, 1022, 480, 1023, 1024, 7508, 7508, - 7508, 1027,-32768, 737, 432, 492, 492, 950, 950, 950, --32768,-32768, 148, -87, 8388,-32768,-32768,-32768,-32768, -87, - 3488,-32768, 801, 1026,-32768,-32768, 7948, 1029, 851, 1034, --32768, 534, 1033, 1035, 1036, 1037, 7508, 7508, 7508, 1039, --32768, 972, 509, 561, 561, 966, 966, 966,-32768,-32768, - 154,-32768, 1040, 1043,-32768,-32768, 9048, 15992, 1042, 1052, --32768, 1053, 1055,-32768, 1059, 1060,-32768, 1063, 1064,-32768, - 1065, 1066,-32768, 1067, 1068,-32768, 1070, 1071,-32768, 1074, - 1075,-32768, 1076, 1077,-32768,-32768, 795, 1081,-32768, 14407, - 1192, 1176,-32768, 1176, 510,-32768, 1176, 821,-32768, 1214, - 13648,-32768,-32768, 1272, 1260,-32768,-32768,-32768, 1162,-32768, --32768, 1114, 15632,-32768,-32768,-32768,-32768, 1087, 10808,-32768, - 10808, 10808, 10808, 10808, 10808, 10808, 1549, 1100,-32768, 1103, - 15632, 15632, 407,-32768, 1306, 1307, 15632, 184, 1135,-32768, --32768, 1184, 1301, 133,-32768,-32768, 109, 14407,-32768,-32768, - 1109,-32768,-32768,-32768, 1280,-32768, 1112, 15632, 9708, 1264, - 1283, 15632,-32768,-32768, 473,-32768,-32768, 109,-32768,-32768, --32768,-32768, 15632, 1262, 1265,-32768, 1263, 7288,-32768,-32768, --32768,-32768,-32768, 16164,-32768,-32768, 1117, 1120, 1121,-32768, --32768, -87, 551, 1124, 801, 1125, 1128, 11554, 801,-32768, - 851, 16164,-32768,-32768,-32768,-32768, 1131, 1133, 1137,-32768, --32768,-32768, 16018, 972,-32768, 1140, 1134,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 1289,-32768,-32768, 14407, --32768,-32768,-32768, 1312,-32768,-32768, 14407,-32768, 8388, 8168, --32768, 109,-32768,-32768, 10808, 11579, 445, 1138, 1138, 1138, - 1138, 1774, 10808, 16018, 1148, 419, 10808, 92, 10808,-32768, --32768, 11028, 10808, 10808, 10808, 10808, 10808, 10808, 10808, 10808, - 16164,-32768, 4655, 425, 462,-32768,-32768, 9928,-32768, 1150, --32768, 1160,-32768, 251, 1286,-32768, 1319, 546, 1161, 15632, --32768, 10808, 56, 1155,-32768, 1157, 1158,-32768,-32768,-32768, - 9928, 9928, 9928, 9928, 9928, 9928, 816, 1159,-32768,-32768, --32768, 1163,-32768,-32768, 1166, 1172,-32768,-32768, -4, 1174, - 1103,-32768, 15632,-32768,-32768, 485, 1171,-32768,-32768,-32768, --32768,-32768, 1175,-32768,-32768, 1177,-32768, 1178,-32768,-32768, --32768,-32768,-32768, 16018, 14407,-32768, 14407, 1, -87, 11554, --32768, 11454,-32768, 11579, 1393,-32768, 16018,-32768, 308,-32768, --32768, 2225, 16018, 1180, 10808, 2420, 445, 1685, 13274, 13274, - 588, 588, 1138, 1138, 1138,-32768,-32768, 527, 11625, 1294, --32768, 816, 184,-32768,-32768,-32768,-32768, 15632, 109, 1240, - 15632, 1181, 2163,-32768, 9928, 496, 496, 711, 1185, 1185, - 1185, 1185, 797, 10148, 9928, 9928, 9928, 9928, 9928, 9928, - 9928, 9928, 16164, 4435, 15632, 1337, 1032, 15632, 16164, 16164, - -26, 15632, 1186,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 8168, 1190,-32768, 16164, 16018, 539,-32768,-32768,-32768, --32768, 1410, 16018, 2225, 10808,-32768, 15632,-32768, 1194,-32768, - 1254,-32768,-32768,-32768, 466, 1195, 1206,-32768, 711, 816, - 839, 839, 612, 612, 1185, 1185, 1185,-32768,-32768, 542, - 816, 545, 103, 1340,-32768,-32768,-32768,-32768, 1232,-32768, --32768,-32768, 563, 11554, 15632, 1209,-32768, 16018,-32768, 16018, - 581, 11625, 1163, 346,-32768, 74, 16164,-32768,-32768, 9928, --32768,-32768,-32768,-32768, 48,-32768, 1340,-32768, -4, 590, --32768,-32768,-32768,-32768,-32768,-32768, 1337,-32768,-32768,-32768, - 593,-32768,-32768,-32768, 279, 115,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 1212, 816, 45, 45,-32768, -26, 15632, --32768, 1340, 346,-32768, 1228, 279, 1237, 1226,-32768,-32768, - 1470, 21,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1241, --32768,-32768,-32768,-32768,-32768,-32768, 1486, 1489,-32768 -}; - -static const short yypgoto[] = {-32768, --32768, 1457,-32768,-32768,-32768, 1221, 1069, 895,-32768, 620, - 392,-32768, 1094,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 946, 639, 383, 640, --32768,-32768,-32768, 169, 33,-32768, -409,-32768, -573,-32768, - -311, -114, -1393, -186, -210, -174, -200,-32768,-32768,-32768, --32768, 399,-32768,-32768,-32768,-32768,-32768, 313,-32768,-32768, --32768,-32768,-32768,-32768, -858,-32768,-32768,-32768,-32768, -209, --32768,-32768,-32768,-32768, -179, 413,-32768, 622, 621,-32768, --32768, 1499, 1281, 1122,-32768, 1518,-32768, 1208, 890,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, -57, -153, -182, --32768,-32768, -54, 1236,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 1345, -191,-32768,-32768,-32768, 36,-32768, --32768,-32768, -159,-32768, -1578,-32768,-32768,-32768, 29,-32768, --32768,-32768, 474,-32768,-32768,-32768,-32768,-32768,-32768, 442, --32768,-32768,-32768, 1517,-32768,-32768, 700,-32768, 1313, 30, --32768, -119, -1048, 637, 32,-32768,-32768, 34,-32768,-32768, --32768,-32768,-32768, -325, -30, 928,-32768, 739,-32768,-32768, --32768,-32768, 714,-32768,-32768, 472, -517,-32768, -197, -43, --32768,-32768,-32768,-32768, 997,-32768,-32768, -1045,-32768, 504, --32768, 298, 302, -904,-32768,-32768, -157, -397,-32768,-32768, - -979, -506, 1213,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, -403, -266,-32768,-32768,-32768, 1191,-32768,-32768, -203, --32768, 372,-32768,-32768,-32768, 2355,-32768,-32768, -638, -357, - -467,-32768,-32768, -846, -629, -836,-32768,-32768, -611,-32768, --32768,-32768,-32768,-32768,-32768, 925,-32768,-32768, -219, 1041, --32768, 742, -633, 1028,-32768, 286, 1380,-32768, -1026, -82, - -167, 78, 926,-32768, 2165, 1392, -6, -17, -168, -438, - -3, 307,-32768 -}; - - -#define YYLAST 16439 - - -static const short yytable[] = { 167, - 465, 259, 188, 270, 314, 293, 245, 312, 574, 658, - 917, 1257, 228, 232, 864, 236, 1104, 1201, 262, 232, - 381, 851, 305, 232, 252, 255, 232, 549, 65, 77, - 613, 78, 1195, 80, 691, 1196, 461, 263, 1277, 819, - 1535, 816, 395, 1303, 316, 561, 1105, 930, 550, 1599, - 923, 955, 956, 957, 958, 970, 588, 930, 589, 1744, - 1730, 65, 77, 400, 78, 476, 80, 858, 297, 15, - 837, 859, 944, 406, 1305, 556, 1327, 15, 775, 494, - 503, 232, 974, 187, 976, 977, 827, 1716, 6, 319, - 7, 210, 319, 1612, 1329, 590, 1086, 1708, 1152, 189, - 886, 860, 265, 598, 1543, 1167, 945, 705, 1659, 469, - 1745, 652, 15, 7, 557, 12, 1168, 298, 1005, 1006, - 1007, 1008, 1009, 1010, 317, 211, 459, 776, 442, 466, - 1012, 1731, -614, 462, 930, 1613, 1026, 930, 12, 533, - 838, 318, 777, 1330, 1087, 649, 1306, 1740, 861, 1622, - 212, -614, 931, 1544, 7, 1205, -623, 1331, 299, 1683, - 1732, 401, 931, 1332, 932, 15, 1206, 521, 1545, 188, - 188, 1113, 599, 274, 276, -623, 188, 232, 862, 12, - 1717, 295, 566, 17, 211, 232, 188, 1333, 15, 188, - 1660, 188, 274, 276, 1227, 32, 1114, 600, 188, 188, - 213, 1684, 322, 32, 1082, 219, 17, 397, 831, 212, - 1083, 1084, 835, 415, 1409, 232, 205, 85, 214, 1370, - 551, 243, 1667, 832, 243, 243, 673, 975, 1600, 15, - 941, 417, 418, 86, 232, 319, 852, 236, 463, 931, - 27, 322, 931, 232, 1067, 537, 1115, 17, 591, 942, - 271, 272, 1454, 1455, 243, 237, 858, 277, 319, 213, - 222, 538, 1704, 27, 1116, 601, 320, 1197, 65, 77, - 306, 78, 307, 80, 1694, 232, 1695, 214, 1023, 1344, - 315, 687, 930, 943, 169, 170, 215, 863, 930, 920, - 860, 32, 236, 239, 487, 454, 223, 543, 544, 545, - 546, 547, 231, 188, 27, 1345, 241, 909, 242, 548, - 1705, 765, 249, 455, 1706, 257, 1499, 1024, 7, 488, - 188, 1166, 206, 188, 467, 472, 243, -582, 594, 968, - 1174, 1175, 1176, 1177, 1178, 1179, 1180, 861, 489, 100, - 870, 1013, 1172, 12, -581, 215, -582, 381, 246, 1014, - 1015, 1016, 1017, 1018, 525, 32, 595, 1025, 1619, 1413, - 1202, 1019, 1415, -581, 1526, 207, -612, 862, 871, 770, - 267, 1528, 110, 1212, 1213, 1214, 1215, 1216, 1217, 1218, - 559, 208, 563, 563, 451, -612, 319, 931, 87, 1361, - 583, 1517, 1210, 931, 1125, 1381, -865, 1620, 570, 232, - 268, -872, 490, 88, 1199, 1013, 771, 1020, 772, 261, - 232, 17, 279, 1014, 1015, 1016, 1017, 1018, 585, 1157, - 456, 627, 1064, 430, 869, 1019, 457, 431, 1073, 1074, - 615, 296, 259, 586, 530, 1070, 295, 1621, 243, 531, - 381, 1109, 280, 188, 232, 1112, -865, 514, 773, 188, - 1565, 313, 188, 188, 1603, 1466, 880, 1566, 881, 647, - 1181, 687, 687, 687, 687, 960, 278, 324, 27, 1538, - 323, 659, 660, 661, 301, 1677, 613, 168, 668, 1610, - 613, 1611, 204, 319, 855, 691, 262, 221, 532, 1354, - 399, 234, 676, 1327, 327, 533, 906, 690, 907, 1328, - 328, 1183, 1184, 534, 326, 263, 1539, 325, 1540, 388, - 1190, 1329, 1219, 1436, 535, 398, 545, 546, 547, 706, - 402, 707, 536, 404, 635, 745, 548, 768, 403, 918, - 639, 919, 407, 640, 641, 691, 264, 765, 765, 765, - 765, 765, 765, 1372, 1632, 1319, 1652, 409, 1541, 824, - 935, 824, 936, 1221, 411, 765, 830, 1357, 1358, 1359, - 1330, 413, 1698, 243, 438, 1699, 1262, 1700, 1285, 1286, - 265, 1499, 1263, 949, 1331, 950, 410, 521, 854, 857, - 1332, 1120, 521, 1121, 1264, 412, 521, 1125, 1384, 1122, - 521, 1123, 416, 1153, 521, 1377, 1378, 1379, 521, 419, - 420, 537, 521, 551, 1333, 1150, 521, 1266, 422, 424, - 521, 888, 566, 888, 888, 888, 888, 538, 426, 1440, - 1267, 901, 961, 1192, 866, 867, 868, 1283, 232, 1284, - 962, 963, 964, 965, 966, 1441, 429, 1120, 916, 1304, - 433, 434, 967, 982, 916, 539, 918, 436, 1456, 824, - 540, 541, 542, 543, 544, 545, 546, 547, 962, 963, - 964, 965, 966, 439, 918, 548, 1560, 444, 1211, 983, - 967, 1446, 1447, 1448, 1449, 1450, 443, 690, 690, 690, - 690, 440, 447, 1451, 1584, 474, 445, 569, 571, 1585, - 1586, 1587, 1588, 1589, 1590, 1591, 1592, 448, 961, 579, - 319, 918, 1340, 1561, 1593, 453, 962, 963, 964, 965, - 966, 473, 312, 312, 1506, 319, 477, 1362, 967, 1155, - 964, 965, 966, 1127, 551, 92, 1604, 1161, 478, 479, - 967, 687, 687, 636, 480, 1014, 1015, 1016, 1017, 1018, - 687, 687, 687, 687, 687, 687, 687, 1019, 482, 493, - 94, 483, 1013, 768, 768, 768, 768, 768, 768, 484, - 1014, 1015, 1016, 1017, 1018, 961, 1625, 498, 1626, 99, - 100, 768, 1019, 962, 963, 964, 965, 966, 1668, 765, - 1669, 1680, 687, 1681, 918, 967, 1682, 514, 1173, 1016, - 1017, 1018, 765, 765, 765, 765, 765, 765, 765, 1019, - 984, 526, 447, 110, 1689, 985, 986, 987, 988, 989, - 990, 991, 992, 663, 664, 232, 1448, 1449, 1450, 485, - 1668, 1076, 1696, 1261, 497, 1068, 1451, 499, 570, 1720, - 824, 1721, 1723, 115, 1724, 529, 388, 501, 188, 618, - 1590, 1591, 1592, 502, 619, 188, 505, 1507, 528, 1261, - 1593, 1262, 553, 554, 555, 620, 560, 1263, 1107, 1094, - 572, 1094, 1096, 1097, 188, 1518, 621, 622, 1278, 1264, - 232, 575, 584, 577, 578, 593, 615, 1262, 1265, 1118, - 615, 604, 616, 1263, 625, 632, 1136, 1136, 633, 188, - 623, -556, 1266, 642, 643, 1264, 644, 888, 888, 295, - 1137, 1137, 295, 648, 1265, 1267, 188, 653, 188, 1147, - 649, -865, 655, 669, 647, 15, 670, 908, 1266, 1080, - 503, 671, 704, 1158, 1159, 1407, 1080, 672, 1162, 388, - 887, 1267, 889, 890, 891, 892, 531, 1588, 1589, 1590, - 1591, 1592, 1165, 693, 1556, 1099, 548, 690, 690, 1593, - 1349, 1529, 819, 702, 703, 961, 690, 690, 690, 690, - 690, 690, 690, 962, 963, 964, 965, 966, 834, 836, - 1119, 840, 842, 844, 849, 967, 859, 1426, 874, 1427, - 1428, 1429, 1430, 1431, 1432, 532, 875, 1144, 1200, 1146, - 876, 877, 533, 1203, 1204, 768, 879, 882, 690, 885, - 534, 902, 903, 904, 910, 1511, 905, 765, 768, 768, - 768, 768, 768, 768, 768, 1584, 911, 912, 927, 928, - 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 933, 939, - 934, 937, 946, 531, 1584, 1593, 947, 997, 1638, 1585, - 1586, 1587, 1588, 1589, 1590, 1591, 1592, 938, 1562, 940, - 959, 951, 232, 232, 1593, 952, 973, 1584, 1272, 953, - 954, 824, 1077,-32768,-32768, 1588, 1589, 1590, 1591, 1592, - 1570, 1578, 1579, 1580, 1581, 1582, 1583, 1593, 969, 857, - 857, 854, 532, 972, 979, 1300, 1648, 995, 647, 533, - 397, 998, 1657, 1658, 999, 1000, 1001,-32768, 537, 1002, - 1003, 1004, 1021, 275, 1063, 1022, 1029, 1030, 1666, 1032, - 1033, 1035, 1036, 1532, 538, 1038, 1094, 569, 1324, 1039, - 1041, 1534, 309, 1118, 1339, 1542, 1066, 1546, 1042, 1044, - 1547, 1548, 1549, 1550, 1551, 1552, 1553, 1554, 1555, 1461, - 1045, 1559, 539, 1065, 381, 1047, 1048, 540, 541, 542, - 543, 544, 545, 546, 547, 1050, 1051, 1053, 1054, 1103, - 1573, 1072, 548, 1078, 1088, 1635, 1090, 1089, 1091, 1092, - 1714, 1100, 1108, 1110, 1639, 1640, 1641, 1642, 1643, 1644, - 1645, 1646, 1647, 1140, 1651, 1142, 1148, 1156, 967, 1185, - 1013, 1194, 1187, 165, 1188, 537, 165, 1193, 1014, 1015, - 1016, 1017, 1018, 1189, 1019, 1228, 165, 165, 1231, 165, - 1019, 538, 1234, 165, 1237, 1260, 1240, 165, 165, 165, - 165, 1243, 1246, 768, 1249, 1252, 1255, 1273, 1274, 1281, - 1279, 1282, 1283, 1624, 1301, 1302, 1307, 1308, 1309, 539, - 1312, 530, 1314, 1318, 1317, 1321, 531, 543, 544, 545, - 546, 547, 1325, 1338, 1341, 1347, 232, 1343, 1348, 548, - 1350, 1351, 1410, 1353, 1355, 1356, 1365, 745, 1360, 1369, - 1715, 1371, 1572, 1411, 1373, 165, 1374, 1375, 1376, 188, - 1380, 1382, 1383, 1389, 1417, 1300, 1419, 1300, 1300, 1300, - 1300, 1300, 1300, 1390, 1391, 532, 1392, 647, 647, 1467, - 1393, 1394, 533, 188, 1395, 1396, 1397, 1398, 1399, 1400, - 534, 1401, 1402, 1672, 232, 1403, 1404, 1405, 1406, 1420, - 1494, 535, 1408, 1422, 188, 276, 310, 1425, 1492, 536, - 1423, 284, 285, 286, 287, 288, 289, 290, 291, 1501, - 1453, 1256, 1063, -872, 1457, 1458, 1462, 1463, 1465, 1470, - 1713, 1471, 1472, 1490, 1491, 1502, 1503, 1505, 1508, 1525, - 1424, 1509, 1510, 165, 165, 1512, 1514, 165, 165, 1515, - 165, 165, 1519, 1524, 1520, 165, 1451, 1564, 1521, 165, - 165, 1523, 1527, 165, 1459, 165, 165, 165, 1537, 1563, - 1568, 1569, 165, 165, 1628, 1575, 1571, 1576, 1577, 1594, - 1616, 1627, 1631, 1595, 1531, 1473, 232, 1597, 537, 165, - 662, 1598, 1605, 232, 1602, 1653, 1606, 1670, 1607, 1608, - 1623, 1300, 1633, 1593, 538, 918, 688, 1675, 165, 1300, - 1665, 165, 1685, 1300, 1674, 1300, 1678, 165, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1679, 1660, 1300, - 1693, 531, 539, 1729, 276, 190, 766, 540, 541, 542, - 543, 544, 545, 546, 547, 1739, 188, 1742, 1300, 165, - 1741, 191, 548, 1743, 1746, 1352, 192, 276, 276, 276, - 276, 276, 276, 193, 194, 1748, 165, 195, 1749, 260, - 428, 873, 1102, 1311, 564, 817, 597, 165, 196, 647, - 532, 1093, 1320, 1493, 1095, 1574, 197, 533, 1671, 198, - 1722, 1737, 1718, 1738, 165, 534, 1734, 165, 165, 165, - 1323, 232, 1316, 232, 248, 1138, 535, 1139, 408, 576, - 220, 199, 460, 200, 491, 1719, 1735, 921, 201, 202, - 1656, 1300, 1655, 311, 452, 1063, 1728, 258, 1085, 1315, - 512, 1630, 405, 1697, 1151, 1056, 1433, 1081, 1663, 1287, - 1259, 1434, 1736, 833, 188, 1416, 1414, 824, 1367, 1636, - 1637, 276, 511, 1069, 924, 308, 1688, 1418, 818, 0, - 276, 276, 276, 276, 276, 276, 276, 276, 276, 0, - 276, 647, 165, 165, 824, 828, 0, 0, 188, 0, - 0, 0, 0, 1469, 165, 0, 688, 688, 688, 688, - 1435, 0, 0, 537, 0, 0, 0, 1436, 0, 0, - 0, 1300, 0, 1673, 165, 1437, 0, 0, 0, 538, - 165, 0, 0, 388, 0, 530, 1438, 165, 165, 0, - 531, 0, 0, 165, 1439, 1629, 165, 165, 0, 0, - 0, 0, 0, 165, 0, 0, 1703, 539, 0, 0, - 0, 1692, 540, 541, 542, 543, 544, 545, 546, 547, - 0, 0, 0, 0, 665, 259, 276, 548, 0, 0, - 0, 0, 766, 766, 766, 766, 766, 766, 0, 532, - 0, 0, 0, 0, 0, 1063, 533, 1434, 0, 0, - 766, 0, 1063, 0, 534, 1703, 0, 0, 1031, 0, - 0, 0, 0, 1034, 0, 535, 1692, 1037, 0, 165, - 471, 1040, 0, 1440, 0, 1043, 0, 0, 0, 1046, - 0, 0, 0, 1049, 0, 0, 0, 1052, 512, 1441, - 0, 1055, 0, 165, 0, 165, 1435, 0, 0, 0, - 165, 0, 0, 1436, 0, 0, 0, 0, 0, 0, - 0, 1437, 0, 0, 0, 0, 0, 1442, 0, 0, - 0, 0, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, - 0, 1433, 0, 0, 0, 0, 1434, 1451, 0, 0, - 1452, 0, 0, 471, 0, 0, 0, 0, 0, 0, - 0, 0, 537, 0, 0, 0, 0, 0, 0, 0, - 1063, 0, 1063, 0, 0, 165, 0, 0, 538, 0, - 0, 0, 165, 0, 0, 0, 0, 0, 0, 1126, - 0, 0, 165, 0, 0, 1435, 0, 0, 165, 0, - 0, 0, 1436, 165, 0, 0, 539, 0, 0, 0, - 1437, 540, 541, 542, 543, 544, 545, 546, 547, 1440, - 0, 1438, 0, 0, 0, 0, 548, 0, 0, 1439, - 0, 0, 531, 0, 0, 1441, 688, 688, 0, 0, - 0, 0, 0, 0, 0, 688, 688, 688, 688, 688, - 688, 688, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1442, 0, 0, 0, 0, 1443, 1444, - 1445, 1446, 1447, 1448, 1449, 1450, 0, 0, 0, 0, - 0, 532, 0, 1451, 766, 0, 0, 688, 533, 0, - 0, 0, 0, 0, 0, 0, 534, 766, 766, 766, - 766, 766, 766, 766, 0, 0, 0, 0, 1440, 1222, - 0, 0, 0, 0, 0, 0, 1229, 1230, 0, 1232, - 1233, 0, 1235, 1236, 1441, 1238, 1239, 0, 1241, 1242, - 0, 1244, 1245, 0, 1247, 1248, 0, 1250, 1251, 0, - 1253, 1254, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1442, 0, 0, 0, 0, 1443, 1444, 1445, - 1446, 1447, 1448, 1449, 1450, 0, 0, 0, 0, 165, - 0, 0, 1451, 0, 1298, 1533, 0, 0, 0, 165, - 0, 0, 165, 0, 165, 0, 0, 0, 0, 0, - 0, 0, 165, 0, 537, 0, 0, 0, 0, 165, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 538, 0, 0, 165, 0, 165, 165, 165, 165, 0, - 0, 0, 0, 0, 165, 0, 0, 0, 0, 0, - 165, 0, 0, 0, 165, 0, 0, 0, 539, 0, - 0, 0, 0, 165,-32768,-32768, 543, 544, 545, 546, - 547, 512, 0, 165, 165, 165, 165, 0, 548, 0, - 165, 0, 165, 165, 0, 0, 0, 0, 165, 0, - 0, 0, 0, 0, 0, 0, 512, 165, 165, 0, - 1364, 0, 0, 0, 1366, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 766, 2, 0, 1385, 0, 512, 0, 0, - 0, 0, 0, 3, 0, 0, 0, 4, 0, 5, - 1433, 0, 0, 0, 0, 1434, 0, 0, 0, 6, - 0, 7, 0, 0, 0, 8, 0, 9, 0, 0, - 0, 0, 0, 10, 0, 0, 0, 0, 0, 11, - 0, 0, 0, 0, 0, 0, 12, 0, 0, 512, - 0, 0, 512, 0, 1298, 0, 1298, 1298, 1298, 1298, - 1298, 1298, 0, 471, 1435, 0, 0, 0, 0, 0, - 0, 1436, 0, 0, 0, 0, 0, 1434, 0, 1437, - 0, 0, 0, 0, 0, 0, 165, 165, 0, 0, - 1438, 13, 165, 14, 1488, 165, 15, 16, 1439, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1500, 0, - 0, 0, 0, 0, 17, 0, 0, 0, 0, 0, - 0, 0, 165, 0, 512, 0, 1435, 0, 0, 18, - 0, 0, 1513, 1436, 0, 0, 1516, 19, 20, 0, - 0,-32768, 0, 0, 0, 0, 0, 21, 22, 0, - 165, 0, 165, 0, 0, 0, 0, 0, 165, 23, - 24, 0, 25, 0, 0, 26, 0, 0, 0, 0, - 0, 27, 0, 0, 0, 0, 0, 1440, 0, 28, - 0, 0, 0, 0, 0, 0, 29, 0, 0, 0, - 1298, 0, 30, 1441, 31, 0, 0, 0, 1298, 0, - 530, 0, 1298, 0, 1298, 531, 0, 1298, 1298, 1298, - 1298, 1298, 1298, 1298, 1298, 1298, 0, 0, 1298, 0, - 0, 1442, 32, 1488, 0, 0, 1443, 1444, 1445, 1446, - 1447, 1448, 1449, 1450, 0, 0, 0, 1298, 0, 1440, - 0, 1451, 0, 0, 1634, 0, 1488, 1488, 1488, 1488, - 1488, 1488, 0, 1226, 532, 1441, 0, 0, 512, 0, - 0, 533, 0, 0, 0, 0, 0, 1433, 0, 534, - 0, 0, 1434, 0, 0, 0, 0, 0, 0, 0, - 535, 0, 0, 1442, 0, 0, 0, 0, 536, 0, - 165, 1446, 1447, 1448, 1449, 1450, 0, 0, 0, 0, - 0, 165, 0, 1451, 0, 0, 0, 0, 0, 0, - 1298, 0, 0, 165, 0, 0, 0, 0, 0, 0, - 1226, 1435, 0, 0, 0, 0, 0, 0, 1436, 0, - 0, 165, 165, 0, 0, 0, 1437, 165, 0, 0, - 1488, 0, 0, 0, 0, 0, 0, 1438, 165, 1488, - 1488, 1488, 1488, 1488, 1488, 1488, 1488, 1488, 165, 1488, - 0, 0, 165, 0, 0, 0, 0, 537, 0, 0, - 0, 0, 0, 165, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 538, 512, 0, 0, 0, 0, 0, - 1298, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 512, 0, 0, 0, 0, 0, 0, 0, - 0, 539, 0, 512, 0, 0, 540, 541, 542, 543, - 544, 545, 546, 547, 169, 170, 0, 0, 0, 0, - 0, 548, -642, 0, 1440, 0, 0, 171, 0, 172, - 165, 0, 0, 0, 173, 1488, 0, 165, 0, 0, - 1441, 174, 175, 0, 0, 176, 0, 0, 0, 1226, - 0, 0, 0, 0, 512, 0, 177, 0, 0, 0, - 0, 0, 0, 0, 178, 0, 0, -327, 1442, 0, - 0, 512, 0, 1443, 1444, 1445, 1446, 1447, 1448, 1449, - 1450, 0, 0, 0, 0, 0, 0, 0, 1451, 179, - 165, -245, 0, 0, 0, 689, 180, 181, 0, 0, - 0, 0, 0, 0, 0, 182, 0, 0, 0, 0, - 1226, 0, 1226, 1226, 1226, 1226, 1226, 1226, 0, 0, - 0, 0, 0, 165, 0, 767, 0, 0, 0, 0, - 0, 496, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 512, 165, 513, 165, 0, 516, - 1226, 517, 518, 519, 520, 524, 0, 512, 0, 0, - 0, 0, 0, 512, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 165, 0, - 0, 165, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 582, 1226, 0, 0, 0, 0, 0, - 0, 0, 0, 512, 0, 165, 0, 0, 165, 512, - 512, 0, 165, 0, 0, 0, 0, 0, 0, 634, - 0, 0, 0, 0, 0, 512, 512, 0, 0, 0, - 0, 0, 0, 512, 0, 0, 1226, 165, 0, 0, - 0, 0, 0, 0, 1226, 1226, 0, 654, 1226, 0, - 1226, 0, 0, 1226, 1226, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 0, 0, 1226, 689, 689, 689, 689, 1226, - 0, 674, 675, 0, 0, 165, 0, 0, 512, 698, - 512, 0, 0, 1226, 0, 0, 530, 512, 701, 0, - 0, 531, 1226, 1226, 1226, 1226, 1226, 1226, 0, 0, - 0, 0, 0, 0, 747, 0, 0, 0, 774, 0, - 778, 0, 0, 782, 787, 791, 795, 799, 803, 807, - 811, 815, 0, 0, 0, 0, 0, 0, 0, 0, - 165, 0, 0, 0, 0, 1226, 0, 0, 0, 0, - 532, 767, 767, 767, 767, 767, 767, 533, 1226, 0, - 0, 0, 0, 0, 1226, 534, 1226, 0, 0, 767, - 0, 0, 0, 0, 0, 0, 535, 0, 0, 0, - 0, 0, 0, 0, 536, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1226, 0, 0, 0, - 0, 0, 0, 0, 0, 1226, 1226, 1226, 1226, 1226, - 1226, 1226, 1226, 1226, 530, 1226, 0, 0, 0, 531, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 922, 0, 0, 0, 1226, 0, 0, - 0, 0, 0, 0, 1226, 0, 1226, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 537, 0, 0, 0, 0, 532, 0, - 0, 0, 0, 0, 0, 533, 0, 0, 698, 538, - 698, 698, 0, 534, 0, 0, 0, 0, 994, 1226, - 0, 1226, 0, 0, 535, 0, 0, 0, 0, 0, - 0, 1226, 536, 0, 0, 0, 0, 539, 0, 0, - 0, 0, 540, 541, 542, 543, 544, 545, 546, 547, - 0, 0, 0, 0, 0, 0, 0, 548, 948, 0, - 0, 0, 0, 0, 530, 0, 0, 845, 0, 531, - 0, 0, 0, 0, 0, 689, 689, 1011, 0, 0, - 0, 0, 0, 0, 689, 689, 689, 689, 689, 689, - 689, 1028, 0, 0, 0, 524, 0, 846, 0, 0, - 524, 0, 0, 0, 524, 0, 0, 0, 524, 0, - 0, 537, 524, 0, 0, 0, 524, 0, 532, 0, - 524, 0, 0, 767, 524, 533, 689, 538, 524, 0, - 0, 0, 0, 534, 0, 0, 767, 767, 767, 767, - 767, 767, 767, 0, 535, 530, 1225, 0, 0, 0, - 531, 0, 536, 0, 0, 539, 0, 0, 582, 0, - 540, 541, 542, 543, 544, 545, 546, 547, 0, 0, - 0, 0, 0, 0, 0, 548, -641, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 847, 0, 0, 0, 0, 0, 0, 0, 532, - 0, 0, 0, 0, 0, 0, 533, 0, 0, 0, - 530, 0, 926, 1299, 534, 531, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 535, 0, 0, 0, 0, - 0, 537, 0, 536, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1160, 0, 0, 538, 0, 0, - 0, 0, 0, 1163, 0, 530, 0, 0, 0, 0, - 531, 0, 1164, 0, 532, 0, 0, 0, 698, 0, - 0, 533, 0, 0, 0, 539, 0, 0, 0, 534, - 540, 541, 542, 543, 544, 545, 546, 547, 0, 0, - 535, 0, 0, 0, 1191, 548, 0, 0, 536, 0, - 0, 0, 0, 978, 0, 0, 0, 0, 0, 532, - 0, 0, 537, 0, 0, 0, 533, 0, 698, 0, - 0, 0, 0, 0, 534, 0, 0, 0, 538, 0, - 0, 0, 0, 0, 0, 535, 0, 0, 0, 0, - 0, 0, 0, 536, 0, 0, 0, 0, 0, 0, - 0, 767, 1388, 0, 0, 0, 539, 0, 0, 0, - 0, 540, 541, 542, 543, 544, 545, 546, 547, 0, - 980, 0, 0, 0, 0, 981, 548, 537, 0, 0, - 0, 530, 0, 0, 0, 0, 531, 0, 0, 0, - 0, 0, 0, 538, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1299, 0, 1299, 1299, 1299, 1299, 1299, - 1299, 539, 537, 0, 0, 0, 540, 541, 542, 543, - 544, 545, 546, 547, 0, 532, 0, 0, 538, 0, - 0, 548, 533, 0, 0, 0, 0, 0, 0, 0, - 534, 0, 0, 1489, 0, 530, 0, 0, 0, 0, - 531, 535, 0, 0, 0, 0, 539, 0, 0, 536, - 0, 540, 541, 542, 543, 544, 545, 546, 547, 0, - 0, 0, 0, 698, 698, 698, 548, 0, 0, 0, - 0, 0, 0, 0, 1154, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1522, 0, 532, - 0, 1368, 0, 0, 0, 0, 533, 0, 0, 0, - 0, 698, 698, 698, 534, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 535, 0, 0, 0, 0, - 0, 0, 0, 536, 0, 0, 0, 0, 537, 1299, - 0, 0, 0, 0, 0, 0, 0, 1299, 1536, 0, - 0, 1299, 0, 1299, 538, 0, 1299, 1299, 1299, 1299, - 1299, 1299, 1299, 1299, 1299, 0, 0, 1299, 0, 0, - 0, 0, 1489, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 539, 0, 0, 0, 1299, 540, 541, 542, - 543, 544, 545, 546, 547, 1489, 1489, 1489, 1489, 1489, - 1489, 0, 548, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 537, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 538, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1609, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1536, 0, 0, 0, 0, 539, 1536, 0, 1299, - 0, 540, 541, 542, 543, 544, 545, 546, 547, 0, - 0, 0, 0, 0, 0, 1363, 548, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1489, - 0, 0, 0, 0, 0, 0, 0, 0, 1489, 1489, - 1489, 1489, 1489, 1489, 1489, 1489, 1489, 0, 1489, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1530, 0, 0, 90, 91, 0, - 1536, 0, 0, 0, 0, 0, 0, 1536, 0, 1299, - 0, 329, 330, 331, 332, 0, 0, 333, 0, 0, - 0, 0, 0, 0, 229, 334, 335, 336, 337, 0, - 92, 338, 0, 0, 0, 0, 0, 339, 0, 0, - 0, 0, 0, 340, 341, 342, 0, 343, 0, 0, - 0, 0, 1536, 0, 1536, 94, 0, 0, 95, 0, - 0, 344, 0, 0, 1489, 0, 96, 97, 0, 0, - 0, 0, 0, 98, 99, 100, 0, 345, 0, 346, - 101, 0, 347, 348, 349, 350, 102, 0, 103, 104, - 0, 0, 0, 0, 351, 0, 0, 105, 106, 0, - 0, 107, 0, 108, 0, 0, 0, 109, 110, 0, - 0, 352, 0, 0, 0, 0, 353, 354, 113, 114, - 0, 0, 0, 355, 356, 0, 0, 0, 357, 0, - 0, 358, 0, 0, 0, 0, 0, 0, 115, 116, - 117, 359, 0, 119, 120, 0, 121, 122, 0, 123, - 0, 0, 124, 125, 126, 127, 128, 0, 129, 130, - 0, 0, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 0, 0, 0, 140, 0, 141, 142, 0, 230, - 143, 144, 0, 145, 0, 146, 1664, 147, 148, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 360, 0, - 157, 158, 159, 160, 161, 0, 0, 0, 162, 0, - 163, 361, 243, 362, 319, 363, 364, 90, 91, 0, - 0, 0, 365, 825, 0, 367, 368, 369, 370, 0, - 0, 329, 330, 331, 332, 371, 826, 333, 0, 0, - 0, 0, 0, 0, 229, 334, 335, 336, 337, 0, - 92, 338, 0, 0, 0, 0, 0, 339, 0, 0, - 0, 0, 0, 340, 341, 342, 0, 343, 0, 0, - 0, 0, 0, 0, 0, 94, 0, 0, 95, 0, - 0, 344, 0, 0, 0, 0, 96, 97, 0, 0, - 0, 0, 0, 98, 99, 100, 0, 345, 0, 346, - 101, 0, 347, 348, 349, 350, 102, 0, 103, 104, - 0, 0, 0, 0, 351, 0, 0, 105, 106, 0, - 0, 107, 0, 108, 0, 0, 0, 109, 110, 0, - 0, 352, 0, 0, 0, 0, 353, 354, 113, 114, - 0, 0, 0, 355, 356, 0, 0, 0, 357, 0, - 0, 358, 0, 0, 0, 0, 0, 0, 115, 116, - 117, 359, 0, 119, 120, 0, 121, 122, 0, 123, - 0, 0, 124, 125, 126, 127, 128, 0, 129, 130, - 0, 0, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 0, 0, 0, 140, 0, 141, 142, 0, 230, - 143, 144, 0, 145, 0, 146, 0, 147, 148, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 360, 0, - 157, 158, 159, 160, 161, 0, 0, 0, 162, 0, - 163, 361, 243, 362, 319, 363, 364, 90, 91, 0, - 0, 0, 365, 0, 0, 367, 368, 369, 370, 0, - 0, 329, 330, 331, 332, 371, 1182, 333, 0, 0, - 0, 0, 0, 0, 229, 334, 335, 336, 337, 0, - 92, 338, 0, 0, 0, 0, 0, 339, 0, 0, - 0, 0, 0, 340, 341, 342, 0, 343, 0, 0, - 0, 0, 0, 0, 0, 94, 0, 0, 95, 0, - 0, 344, 0, 0, 0, 0, 96, 97, 0, 0, - 0, 0, 0, 98, 99, 100, 0, 345, 0, 346, - 101, 0, 347, 348, 349, 350, 102, 0, 103, 104, - 0, 0, 0, 0, 351, 0, 0, 105, 106, 0, - 0, 107, 0, 108, 0, 0, 0, 109, 110, 0, - 0, 352, 0, 0, 0, 0, 353, 354, 113, 114, - 0, 0, 0, 355, 356, 0, 0, 0, 357, 0, - 0, 358, 0, 0, 0, 0, 0, 0, 115, 116, - 117, 359, 0, 119, 120, 0, 121, 122, 0, 123, - 0, 0, 124, 125, 126, 127, 128, 0, 129, 130, - 0, 0, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 0, 0, 0, 140, 0, 141, 142, 0, 230, - 143, 144, 0, 145, 0, 146, 0, 147, 148, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 360, 0, - 157, 158, 159, 160, 161, 0, 0, 0, 162, 0, - 163, 361, 243, 362, 319, 363, 364, 90, 91, 0, - 0, 0, 365, 0, 0, 367, 368, 369, 370, 0, - 0, 0, 1474, 331, 332, 371, 1220, 0, 0, 0, - 0, 0, 0, 0, 0, 1475, 1476, 1477, 1478, 0, - 92, 338, 0, 0, 0, 0, 0, 339, 0, 0, - 0, 0, 0, 0, 0, 342, 0, 343, 0, 0, - 0, 0, 0, 0, 0, 94, 0, 0, 95, 0, - 0, 344, 0, 0, 0, 0, 96, 97, 0, 0, - 0, 0, 0, 98, 99, 100, 0, 345, 0, 346, - 101, 0, 0, 0, 0, 350, 102, 0, 103, 104, - 0, 0, 0, 0, 0, 0, 0, 105, 106, 0, - 0, 107, 0, 108, 0, 0, 0, 109, 110, 0, - 0, 0, 0, 0, 0, 0, 353, 354, 113, 114, - 0, 0, 0, 0, 356, 0, 0, 0, 1480, 0, - 0, 358, 0, 0, 0, 0, 0, 0, 115, 116, - 117, 359, 0, 119, 120, 0, 121, 122, 0, 123, - 0, 0, 124, 125, 126, 127, 128, 0, 129, 130, - 0, 0, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 0, 0, 0, 140, 0, 141, 142, 0, 0, - 143, 144, 0, 145, 0, 146, 0, 147, 148, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 360, 0, - 157, 158, 159, 160, 161, 0, 0, 0, 162, 0, - 163, 361, 243, 1481, 319, 363, 364, 90, 91, 0, - 0, 0, 1482, 0, 0, 0, 1483, 1484, 1485, 0, - 0, 0, 1288, 331, 332, 1486, 1649, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 92, 338, 0, 0, 0, 0, 0, 339, 0, 0, - 0, 0, 0, 0, 0, 342, 0, 343, 0, 0, - 0, 0, 0, 0, 0, 94, 0, 0, 95, 0, - 0, 344, 0, 0, 0, 0, 96, 97, 0, 0, - 0, 0, 0, 98, 99, 100, 0, 345, 0, 346, - 101, 0, 1289, 0, 1290, 350, 102, 0, 103, 104, - 0, 0, 0, 0, 0, 0, 0, 105, 106, 0, - 0, 107, 0, 108, 0, 0, 0, 109, 110, 0, - 0, 0, 0, 0, 0, 0, 353, 354, 113, 114, - 0, 0, 0, 0, 356, 0, 0, 0, 0, 0, - 0, 358, 0, 0, 0, 0, 0, 0, 115, 116, - 117, 359, 0, 119, 120, 0, 121, 122, 0, 123, - 0, 0, 124, 125, 126, 127, 128, 0, 129, 130, - 0, 0, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 0, 0, 0, 140, 0, 141, 142, 0, 0, - 143, 144, 0, 145, 0, 146, 0, 147, 148, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 360, 0, - 157, 158, 159, 160, 161, 0, 0, 0, 162, 0, - 163, 361, 243, 1291, 319, 363, 364, 90, 91, 0, - 0, 0, 1292, 0, 0, 0, 1293, 1294, 1295, 0, - 0, 0, 0, 331, 332, 1296, 1557, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 92, 606, 0, 0, 0, 0, 0, 607, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 608, 0, 0, - 0, 0, 0, 0, 0, 94, 0, 0, 95, 0, - 0, 0, 0, 0, 0, 0, 96, 97, 0, 0, - 0, 0, 0, 98, 99, 100, 0, 345, 0, 346, - 101, 0, 0, 0, 0, 609, 102, 0, 103, 104, - 0, 0, 0, 0, 0, 0, 0, 105, 106, 0, - 0, 107, 0, 108, 0, 0, 0, 109, 110, 0, - 0, 0, 0, 0, 0, 0, 111, 112, 113, 114, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 358, 0, 0, 0, 0, 0, 0, 115, 116, - 117, 118, 0, 119, 120, 0, 121, 122, 0, 123, - 0, 0, 124, 125, 126, 127, 128, 0, 129, 130, - 0, 0, 131, 132, 133, 134, 135, 136, 137, 138, - 139, 0, 0, 0, 140, 0, 141, 142, 0, 0, - 143, 144, 0, 145, 0, 146, 0, 147, 148, 149, - 150, 151, 0, 152, 153, 154, 155, 156, 90, 91, - 157, 158, 159, 160, 161, 0, 0, 0, 162, 694, - 163, 164, 329, 330, 331, 332, 0, 0, 333, 0, - 0, 0, 0, 0, 0, 229, 334, 335, 336, 337, - 0, 92, 338, 0, 0, 0, 610, 0, 339, 0, - 0, 0, 0, 0, 340, 341, 342, 0, 343, 0, - 0, 695, 0, 0, 0, 0, 94, 0, 0, 95, - 0, 0, 344, 0, 0, 0, 0, 96, 97, 696, - 0, 0, 0, 0, 98, 99, 100, 0, 345, 0, - 346, 101, 0, 347, 348, 349, 350, 102, 0, 103, - 104, 0, 0, 0, 0, 351, 0, 0, 105, 106, - 0, 0, 107, 0, 108, 0, 0, 0, 109, 110, - 0, 0, 352, 0, 0, 0, 0, 353, 354, 113, - 114, 0, 697, 0, 355, 356, 0, 0, 0, 357, - 0, 0, 358, 0, 0, 0, 0, 0, 0, 115, - 116, 117, 359, 0, 119, 120, 0, 121, 122, 0, - 123, 0, 0, 124, 125, 126, 127, 128, 0, 129, - 130, 0, 0, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 0, 0, 0, 140, 0, 141, 142, 0, - 230, 143, 144, 0, 145, 0, 146, 0, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 360, - 0, 157, 158, 159, 160, 161, 0, 0, 0, 162, - 0, 163, 361, 243, 362, 319, 363, 364, 0, 0, - 0, 0, 0, 365, 90, 91, 367, 368, 369, 370, - 0, 0, 0, 0, 0, 1169, 371, 0, 329, 330, - 331, 332, 0, 0, 333, 0, 0, 0, 0, 0, - 0, 229, 334, 335, 336, 337, 0, 92, 338, 0, - 0, 0, 0, 0, 339, 0, 0, 0, 0, 0, - 340, 341, 342, 0, 343, 0, 0, 695, 0, 0, - 0, 0, 94, 0, 0, 95, 0, 0, 344, 0, - 0, 0, 0, 96, 97, 1170, 0, 0, 0, 0, - 98, 99, 100, 0, 345, 0, 346, 101, 0, 347, - 348, 349, 350, 102, 0, 103, 104, 0, 0, 0, - 0, 351, 0, 0, 105, 106, 0, 0, 107, 0, - 108, 0, 0, 0, 109, 110, 0, 0, 352, 0, - 0, 0, 0, 353, 354, 113, 114, 0, 1171, 0, - 355, 356, 0, 0, 0, 357, 0, 0, 358, 0, - 0, 0, 0, 0, 0, 115, 116, 117, 359, 0, - 119, 120, 0, 121, 122, 0, 123, 0, 0, 124, - 125, 126, 127, 128, 0, 129, 130, 0, 0, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 0, 0, - 0, 140, 0, 141, 142, 0, 230, 143, 144, 0, - 145, 0, 146, 0, 147, 148, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 360, 0, 157, 158, 159, - 160, 161, 0, 0, 0, 162, 0, 163, 361, 243, - 362, 319, 363, 364, 0, 0, 0, 0, 0, 365, - 90, 91, 367, 368, 369, 370, 0, 0, 0, 0, - 0, 1207, 371, 0, 329, 330, 331, 332, 0, 0, - 333, 0, 0, 0, 0, 0, 0, 229, 334, 335, - 336, 337, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, - 343, 0, 0, 695, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 1208, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 347, 348, 349, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 351, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 352, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 1209, 0, 355, 356, 0, 0, - 0, 357, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 362, 319, 363, 364, - 90, 91, 0, 783, 0, 365, 784, 0, 367, 368, - 369, 370, 0, 0, 329, 330, 331, 332, 371, 0, - 333, 0, 0, 0, 0, 0, 0, 229, 334, 335, - 336, 337, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 347, 348, 785, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 351, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 352, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 355, 356, 0, 0, - 0, 357, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 362, 319, 363, 364, - 90, 91, 0, 788, 0, 365, 789, 0, 367, 368, - 369, 370, 0, 0, 329, 330, 331, 332, 786, 0, - 333, 0, 0, 0, 0, 0, 0, 229, 334, 335, - 336, 337, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 347, 348, 495, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 351, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 352, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 355, 356, 0, 0, - 0, 357, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 362, 319, 363, 364, - 90, 91, 0, 792, 0, 365, 793, 0, 367, 368, - 369, 370, 0, 0, 329, 330, 331, 332, 790, 0, - 333, 0, 0, 0, 0, 0, 0, 229, 334, 335, - 336, 337, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 347, 348, 495, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 351, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 352, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 355, 356, 0, 0, - 0, 357, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 362, 319, 363, 364, - 90, 91, 0, 796, 0, 365, 797, 0, 367, 368, - 369, 370, 0, 0, 329, 330, 331, 332, 794, 0, - 333, 0, 0, 0, 0, 0, 0, 229, 334, 335, - 336, 337, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 347, 348, 495, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 351, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 352, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 355, 356, 0, 0, - 0, 357, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 362, 319, 363, 364, - 90, 91, 0, 800, 0, 365, 801, 0, 367, 368, - 369, 370, 0, 0, 329, 330, 331, 332, 798, 0, - 333, 0, 0, 0, 0, 0, 0, 229, 334, 335, - 336, 337, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 347, 348, 495, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 351, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 352, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 355, 356, 0, 0, - 0, 357, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 362, 319, 363, 364, - 90, 91, 0, 804, 0, 365, 805, 0, 367, 368, - 369, 370, 0, 0, 329, 330, 331, 332, 802, 0, - 333, 0, 0, 0, 0, 0, 0, 229, 334, 335, - 336, 337, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 347, 348, 495, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 351, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 352, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 355, 356, 0, 0, - 0, 357, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 362, 319, 363, 364, - 90, 91, 0, 808, 0, 365, 809, 0, 367, 368, - 369, 370, 0, 0, 329, 330, 331, 332, 806, 0, - 333, 0, 0, 0, 0, 0, 0, 229, 334, 335, - 336, 337, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 347, 348, 495, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 351, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 352, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 355, 356, 0, 0, - 0, 357, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 362, 319, 363, 364, - 90, 91, 0, 0, 0, 365, 0, 0, 367, 368, - 369, 370, 0, 0, 329, 330, 331, 332, 810, 0, - 333, 0, 0, 0, 0, 0, 0, 229, 334, 335, - 336, 337, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 347, 348, 349, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 351, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 352, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 355, 356, 0, 0, - 0, 357, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 362, 319, 363, 364, - 90, 91, 0, 0, 0, 365, 366, 0, 367, 368, - 369, 370, 0, 0, 329, 330, 331, 332, 371, 0, - 333, 0, 0, 0, 0, 0, 0, 229, 334, 335, - 336, 337, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, - 343, 0, 0, 695, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 347, 348, 349, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 351, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 352, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 355, 356, 0, 0, - 0, 357, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 362, 319, 363, 364, - 90, 91, 0, 0, 0, 365, 0, 0, 367, 368, - 369, 370, 0, 0, 329, 330, 331, 332, 371, 0, - 333, 0, 0, 0, 0, 0, 0, 229, 334, 335, - 336, 337, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 347, 348, 349, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 351, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 15, 0, 352, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 355, 356, 0, 0, - 0, 357, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 362, 319, 363, 364, - 90, 91, 0, 0, 0, 365, 0, 0, 367, 368, - 369, 370, 0, 0, 329, 330, 331, 332, 371, 0, - 333, 0, 0, 0, 0, 0, 0, 229, 334, 335, - 336, 337, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 347, 348, 495, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 351, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 15, 0, 352, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 355, 356, 0, 0, - 0, 357, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 362, 319, 363, 364, - 90, 91, 0, 0, 0, 365, 0, 0, 367, 368, - 369, 370, 0, 0, 329, 330, 331, 332, 371, 0, - 333, 0, 0, 0, 0, 0, 0, 229, 334, 335, - 336, 337, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 347, 348, 495, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 351, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 352, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 355, 356, 0, 0, - 0, 357, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 362, 319, 363, 364, - 90, 91, 0, 0, 0, 365, 0, 0, 367, 368, - 369, 370, 0, 0, 329, 330, 331, 332, 371, 0, - 333, 0, 0, 0, 0, 0, 0, 229, 334, 335, - 336, 337, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 347, 348, 349, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 351, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 352, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 355, 356, 0, 0, - 0, 357, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 362, 319, 363, 364, - 90, 91, 0, 779, 0, 365, 780, 0, 367, 368, - 369, 370, 0, 0, 329, 330, 331, 332, 371, 0, - 333, 0, 0, 0, 0, 0, 0, 229, 334, 335, - 336, 337, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 0, 348, 495, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 351, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 352, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 355, 356, 0, 0, - 0, 357, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 0, 319, 363, 364, - 90, 91, 0, 812, 0, 365, 813, 0, 367, 368, - 369, 370, 0, 0, 329, 330, 331, 332, 781, 0, - 333, 0, 0, 0, 0, 0, 0, 229, 334, 335, - 336, 337, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 340, 341, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 0, 348, 495, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 351, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 352, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 355, 356, 0, 0, - 0, 357, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 0, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 0, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 0, 319, 363, 364, - 90, 91, 0, 0, 0, 0, 0, 0, 0, 368, - 369, 370, 0, 0, 0, 748, 331, 332, 814, 0, - 0, 0, 0, 0, 0, 0, 0, 229, 749, 750, - 751, 752, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 0, 0, 0, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 753, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 754, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 755, 356, 0, 0, - 0, 756, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 757, 319, 363, 364, - 90, 91, 0, 0, 0, 758, 0, 0, 759, 760, - 761, 762, 0, 0, 0, 748, 331, 332, 763, 0, - 0, 0, 0, 0, 0, 0, 0, 229, 749, 750, - 751, 752, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 0, 0, 0, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 753, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 754, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 755, 356, 0, 0, - 0, 756, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 0, 319, 363, 364, - 90, 91, 0, 0, 0, 758, 0, 0, 759, 760, - 761, 762, 0, 0, 0, 748, 331, 332, 763, 0, - 0, 0, 0, 0, 0, 0, 0, 229, 749, 750, - 751, 752, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 0, 0, 0, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 753, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 754, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 755, 356, 0, 0, - 0, 756, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 0, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 0, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 0, 319, 363, 364, - 90, 91, 0, 0, 0, 0, 0, 0, 0, 760, - 761, 762, 0, 0, 0, 1474, 331, 332, 763, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1475, 1476, - 1477, 1478, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 0, 0, 1479, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 0, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 0, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 0, 356, 0, 0, - 0, 1480, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 0, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 1481, 319, 363, 364, - 90, 91, 0, 0, 0, 1482, 0, 0, 0, 1483, - 1484, 1485, 0, 0, 0, 1474, 331, 332, 1486, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1475, 1476, - 1477, 1478, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 0, 0, 0, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 0, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 0, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 0, 356, 0, 0, - 0, 1480, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 0, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 1481, 319, 363, 364, - 90, 91, 0, 0, 0, 1482, 0, 0, 0, 1483, - 1484, 1485, 0, 0, 0, 1474, 331, 332, 1486, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1475, 1476, - 1477, 1478, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 0, 0, 0, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 0, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 0, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 0, 356, 0, 0, - 0, 1480, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 0, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 0, 319, 363, 364, - 90, 91, 0, 0, 0, 1482, 0, 0, 0, 1483, - 1484, 1485, 0, 0, 0, 677, 331, 332, 1486, 0, - 0, 0, 0, 0, 0, 0, 0, 229, 0, 0, - 0, 0, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 0, 0, 0, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 678, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 679, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 680, 356, 0, 0, - 0, 0, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 681, 319, 363, 364, - 90, 91, 0, 0, 0, 682, 0, 0, 0, 683, - 0, 0, 0, 0, 0, 677, 331, 332, 684, 0, - 0, 0, 0, 0, 0, 0, 0, 229, 0, 0, - 0, 0, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 0, 0, 0, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 678, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 679, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 680, 356, 0, 0, - 0, 0, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 230, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 0, 319, 363, 364, - 90, 91, 0, 0, 0, 682, 0, 0, 0, 683, - 0, 0, 0, 0, 0, 1288, 331, 332, 684, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 1289, 0, 1290, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 0, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 0, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 0, 356, 0, 0, - 0, 0, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 0, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 0, 0, - 0, 162, 0, 163, 361, 243, 1291, 319, 363, 364, - 90, 91, 0, 0, 0, 1292, 0, 0, 0, 1293, - 1294, 1295, 0, 0, 0, 1288, 331, 332, 1296, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 92, 338, 0, 0, 0, 0, 0, - 339, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 343, 0, 0, 0, 0, 0, 0, 0, 94, 0, - 0, 95, 0, 0, 344, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 345, 0, 346, 101, 0, 0, 0, 1290, 350, 102, - 0, 103, 104, 0, 0, 0, 0, 0, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 0, 0, 0, 0, 0, 353, - 354, 113, 114, 0, 0, 0, 0, 356, 0, 0, - 0, 0, 0, 0, 358, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 359, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 0, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 360, 0, 157, 158, 159, 160, 161, 90, 91, - 0, 162, 0, 163, 361, 243, 0, 319, 363, 364, - 0, 0, 0, 0, 0, 1292, 0, 0, 0, 1293, - 1294, 1295, 0, 0, 0, 229, 0, 0, 1296, 0, - 0, 92, 0, 0, 0, 0, 0, 0, 93, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 94, 0, 0, 95, - 0, 0, 0, 0, 0, 0, 0, 96, 97, 0, - 0, 0, 0, 0, 98, 99, 100, 0, 0, 0, - 0, 101, 0, 0, 0, 0, 0, 102, 0, 103, - 104, 0, 0, 0, 0, 0, 0, 0, 105, 106, - 0, 0, 107, 0, 108, 0, 0, 0, 109, 110, - 0, 0, 0, 0, 0, 0, 0, 111, 112, 113, - 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, - 116, 117, 118, 0, 119, 120, 0, 121, 122, 0, - 123, 0, 0, 124, 125, 126, 127, 128, 0, 129, - 130, 0, 0, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 0, 90, 91, 140, 0, 141, 142, 0, - 230, 143, 144, 0, 145, 0, 146, 0, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, - 0, 157, 158, 159, 160, 161, 92, 0, 0, 162, - 0, 163, 164, 93, 0, 0, 0, 0, 0, 0, - 0, 1433, 0, 1615, 0, 0, 1434, 0, 0, 0, - 0, 94, 0, 0, 95, 0, 1057, 0, 0, 0, - 0, 0, 96, 97, 0, 0, 0, 0, 0, 98, - 99, 100, 0, 0, 0, 0, 101, 0, 0, 0, - 0, 0, 102, 0, 103, 104, 0, 0, 0, 0, - 0, 0, 0, 105, 106, 1435, 0, 107, 0, 108, - 0, 0, 1436, 109, 110, 15, 0, 0, 0, 0, - 1437, 0, 111, 112, 113, 114, 0, 0, 0, 0, - 0, 1438, 0, 0, 0, 0, 0, 0, 0, 1439, - 0, 0, 0, 0, 115, 116, 117, 118, 0, 119, - 120, 530, 121, 122, 0, 123, 531, 0, 124, 125, - 126, 127, 128, 0, 129, 130, 0, 0, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 0, 0, 0, - 140, 1434, 141, 142, 0, 0, 143, 144, 0, 145, - 0, 146, 0, 147, 148, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 0, 532, 157, 158, 159, 160, - 161, 0, 533, 0, 162, 0, 163, 164, 1440, 0, - 534, 0, 1433, 0, 0, 0, 0, 1434, 0, 0, - 1435, 535, 0, 0, 1441, 0, 0, 1436, 0, 536, - 0, 32, 0, 0, 0, 1437, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1438, 0, 0, 0, - 0, 0, 1442, 0, 0, 0, 0, 1443, 1444, 1445, - 1446, 1447, 1448, 1449, 1450, 0, 1435, 0, 0, 0, - 0, 0, 1451, 1436, 0, 0, 0, 0, 0, 0, - 0, 1437, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1438, 0, 0, 0, 0, 0, 0, 0, - 1439, 0, 0, 0, 0, 0, 0, 0, 537, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 538, 0, 0, 0, 0, 0, - 0, 0, 0, 1440, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1441, - 0, 0, 539, 0, 0, 0, 0, 540, 541, 542, - 543, 544, 545, 546, 547, 0, 0, 0, 0, 0, - 0, 0, 548, 0, 0, 0, 0, 1442, 0, 1440, - 90, 91, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, - 0, 0, 0, 0, 0, 1441, 0, 1451, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, - 93, 0, 0, 1442, 0, 0, 0, 0, 1443, 1444, - 1445, 1446, 1447, 1448, 1449, 1450, 0, 0, 94, 0, - 0, 95, 0, 1451, 0, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 0, 0, 0, 101, 0, 0, 0, 0, 0, 102, - 0, 103, 104, 0, 0, 0, 0, 0, 0, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 0, 0, 0, 0, 0, 111, - 112, 113, 114, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 115, 116, 117, 118, 0, 119, 120, 0, 121, - 122, 0, 123, 0, 0, 124, 125, 126, 127, 128, - 0, 129, 130, 0, 0, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 0, 0, 140, 0, 141, - 142, 0, 0, 143, 144, 0, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 0, 152, 153, 154, 155, - 156, 1128, 0, 157, 158, 159, 160, 161, 90, 91, - 0, 162, 0, 163, 164, 243, 310, 319, 0, 1129, - 0, 284, 285, 286, 287, 1130, 289, 290, 291, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 92, 0, 0, 628, 0, 0, 0, 93, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 94, 0, 0, 95, - 0, 0, 0, 0, 0, 0, 281, 96, 97, 0, - 0, 0, 0, 0, 98, 99, 100, 0, 0, 0, - 0, 101, 0, 0, 0, 0, 0, 102, 0, 103, - 104, 0, 0, 0, 0, 0, 0, 0, 105, 106, - 282, 0, 107, 0, 108, 0, 0, 0, 109, 110, - 0, 0, 0, 0, 0, 0, 0, 111, 112, 113, - 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, - 116, 117, 118, 0, 119, 120, 0, 121, 122, 0, - 123, 0, 0, 124, 125, 126, 127, 128, 0, 129, - 130, 0, 0, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 0, 90, 91, 140, 0, 141, 142, 0, - 0, 143, 144, 0, 145, 0, 146, 0, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, - 0, 157, 158, 159, 160, 161, 92, 0, 0, 162, - 0, 163, 164, 93, 283, 0, 0, 0, 0, 284, - 285, 286, 287, 288, 289, 290, 291, 0, 0, 0, - 0, 94, 0, 0, 95, 0, 0, 0, 0, 0, - 0, 281, 96, 97, 0, 0, 0, 0, 0, 98, - 99, 100, 0, 0, 0, 0, 101, 0, 0, 0, - 0, 0, 102, 0, 103, 104, 0, 0, 0, 0, - 0, 0, 0, 105, 106, 282, 0, 107, 0, 108, - 0, 0, 0, 109, 110, 0, 0, 0, 0, 0, - 0, 0, 111, 112, 113, 114, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 115, 116, 117, 118, 0, 119, - 120, 0, 121, 122, 0, 123, 0, 0, 124, 125, - 126, 127, 128, 0, 129, 130, 0, 0, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 0, 90, 91, - 140, 0, 141, 142, 0, 0, 143, 144, 0, 145, - 0, 146, 0, 147, 148, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 0, 229, 157, 158, 159, 160, - 161, 92, 0, 0, 162, 0, 163, 164, 93, 283, - 0, 0, 0, 0, 284, 285, 286, 287, 288, 289, - 290, 291, 0, 0, 0, 0, 94, 0, 0, 95, - 0, 0, 0, 0, 0, 0, 0, 96, 97, 0, - 0, 0, 0, 0, 98, 99, 100, 0, 0, 0, - 0, 101, 0, 0, 0, 0, 0, 102, 0, 103, - 104, 0, 0, 0, 0, 0, 0, 0, 105, 106, - 0, 0, 107, 0, 108, 0, 0, 0, 109, 110, - 0, 0, 0, 0, 0, 0, 0, 111, 112, 113, - 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, - 116, 117, 118, 0, 119, 120, 0, 121, 122, 0, - 123, 0, 0, 124, 125, 126, 127, 128, 0, 129, - 130, 0, 0, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 0, 90, 91, 140, 0, 141, 142, 0, - 230, 143, 144, 0, 145, 0, 146, 0, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, - 229, 157, 158, 159, 160, 161, 92, 0, 0, 162, - 0, 163, 164, 93, 0, 0, 363, 0, 0, 0, - 0, 0, 0, 0, 565, 0, 0, 0, 0, 0, - 0, 94, 0, 0, 95, 0, 0, 0, 0, 0, - 0, 0, 96, 97, 0, 0, 0, 0, 0, 98, - 99, 100, 0, 0, 0, 0, 101, 0, 0, 0, - 0, 0, 102, 0, 103, 104, 0, 0, 0, 0, - 0, 0, 0, 105, 106, 0, 0, 107, 0, 108, - 0, 0, 0, 109, 110, 0, 0, 0, 0, 0, - 0, 0, 111, 112, 113, 114, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 115, 116, 117, 118, 0, 119, - 120, 0, 121, 122, 0, 123, 0, 0, 124, 125, - 126, 127, 128, 0, 129, 130, 0, 0, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 0, 90, 91, - 140, 0, 141, 142, 0, 230, 143, 144, 0, 145, - 0, 146, 0, 147, 148, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 0, 0, 157, 158, 159, 160, - 161, 92, 0, 0, 162, 0, 163, 164, 93, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 256, - 0, 0, 0, 0, 0, 0, 94, 0, 0, 95, - 0, 0, 0, 0, 0, 0, 0, 96, 97, 0, - 0, 0, 0, 0, 98, 99, 100, 0, 0, 0, - 0, 101, 0, 0, 0, 0, 0, 102, 0, 103, - 104, 0, 0, 0, 0, 0, 0, 0, 105, 106, - 0, 0, 107, 0, 108, 0, 0, 0, 109, 110, - 0, 0, 0, 0, 0, 0, 0, 111, 112, 113, - 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, - 116, 117, 118, 0, 119, 120, 0, 121, 122, 0, - 123, 0, 0, 124, 125, 126, 127, 128, 0, 129, - 130, 0, 0, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 0, 90, 91, 140, 0, 141, 142, 0, - 0, 143, 144, 0, 145, 0, 146, 0, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, - 0, 157, 158, 159, 160, 161, 92, 0, 0, 162, - 0, 163, 164, 93, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 449, 0, 0, 0, 0, 0, - 0, 94, 0, 0, 95, 0, 0, 0, 0, 0, - 0, 0, 96, 97, 0, 0, 0, 0, 0, 98, - 99, 100, 0, 0, 0, 0, 101, 0, 0, 0, - 0, 0, 102, 0, 103, 104, 0, 0, 0, 0, - 0, 0, 0, 105, 106, 0, 0, 107, 0, 108, - 0, 0, 0, 109, 110, 0, 0, 0, 0, 0, - 0, 0, 111, 112, 113, 114, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 115, 116, 117, 118, 0, 119, - 120, 0, 121, 122, 0, 123, 0, 0, 124, 125, - 126, 127, 128, 0, 129, 130, 0, 0, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 0, 90, 91, - 140, 0, 141, 142, 0, 0, 143, 144, 0, 145, - 0, 146, 0, 147, 148, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 0, 0, 157, 158, 159, 160, - 161, 92, 0, 0, 162, 0, 163, 164, 93, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 821, - 0, 0, 0, 0, 0, 0, 94, 0, 0, 95, - 0, 0, 0, 0, 0, 0, 0, 96, 97, 0, - 0, 0, 0, 0, 98, 99, 100, 0, 0, 0, - 0, 101, 0, 0, 0, 0, 0, 102, 0, 103, - 104, 0, 0, 0, 0, 0, 0, 0, 105, 106, - 0, 0, 107, 0, 108, 0, 0, 0, 109, 110, - 0, 0, 0, 0, 0, 0, 0, 111, 112, 113, - 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 115, - 116, 117, 118, 0, 119, 120, 0, 121, 122, 0, - 123, 0, 0, 124, 125, 126, 127, 128, 0, 129, - 130, 0, 0, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 0, 90, 91, 140, 0, 141, 142, 0, - 0, 143, 144, 0, 145, 0, 146, 0, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 0, - 0, 157, 158, 159, 160, 161, 92, 0, 0, 162, - 0, 163, 164, 93, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1071, 0, 1434, 0, 0, 0, - 0, 94, 0, 0, 95, 0, 0, 0, 0, 0, - 0, 0, 96, 97, 0, 0, 0, 0, 0, 98, - 99, 100, 0, 0, 0, 0, 101, 0, 0, 0, - 0, 0, 102, 0, 103, 104, 0, 0, 0, 0, - 0, 0, 0, 105, 106, 1435, 0, 107, 0, 108, - 0, 0, 1436, 109, 110, 0, 0, 0, 0, 0, - 1437, 0, 111, 112, 113, 114, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 115, 116, 117, 118, 0, 119, - 120, 0, 121, 122, 0, 123, 0, 0, 124, 125, - 126, 127, 128, 0, 129, 130, 0, 0, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 0, 0, 0, - 140, 0, 141, 142, 0, 0, 143, 144, 0, 145, - 0, 146, 0, 147, 148, 149, 150, 151, 0, 152, - 153, 154, 155, 156, 0, 0, 157, 158, 159, 160, - 161, 0, 0, 0, 162, 0, 163, 164, 1440, 90, - 91, 0, 0, 0, 0, 0, 0, 0, 0, 1276, - 0, 0, 0, 0, 1441, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 229, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 0, 0, 93, - 0, 0, 1442, 0, 0, 0, 0, 0,-32768,-32768, - 1446, 1447, 1448, 1449, 1450, 0, 0, 94, 0, 0, - 95, 0, 1451, 0, 0, 0, 0, 0, 96, 97, - 0, 0, 0, 0, 0, 98, 99, 100, 0, 0, - 0, 0, 101, 0, 0, 0, 0, 0, 102, 0, - 103, 104, 0, 0, 0, 0, 0, 0, 0, 105, - 106, 0, 0, 107, 0, 108, 0, 0, 0, 109, - 110, 0, 0, 0, 0, 0, 0, 0, 111, 112, - 113, 114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 115, 116, 117, 118, 0, 119, 120, 0, 121, 122, - 0, 123, 0, 0, 124, 125, 126, 127, 128, 0, - 129, 130, 0, 0, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 0, 0, 0, 140, 0, 141, 142, - 0, 230, 143, 144, 0, 145, 0, 146, 0, 147, - 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 90, 91, 157, 158, 159, 160, 161, 0, 0, 0, - 162, 0, 163, 164, 708, 0, 0, 363, 0, 0, - 709, 0, 0, 0, 710, 0, 0, 711, 0, 0, - 0, 0, 0, 92, 0, 0, 0, 0, 0, 0, - 93, 0, 712, 713, 0, 0, 0, 0, 714, 0, - 0, 0, 715, 0, 0, 0, 716, 0, 94, 0, - 0, 95, 0, 0, 0, 0, 0, 0, 0, 96, - 97, 0, 0, 0, 0, 0, 98, 99, 100, 0, - 0, 0, 0, 101, 0, 0, 717, 0, 0, 102, - 0, 103, 104, 0, 718, 0, 0, 719, 720, 0, - 105, 106, 0, 0, 107, 0, 108, 0, 0, 0, - 109, 110, 0, 0, 0, 721, 0, 0, 722, 111, - 112, 113, 114, 0, 0, 723, 0, 724, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 725, 0, 0, - 0, 115, 116, 117, 118, 726, 119, 120, 727, 121, - 122, 728, 123, 729, 730, 124, 125, 126, 127, 128, - 731, 129, 130, 732, 733, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 0, 734, 735, 140, 736, 141, - 142, 737, 738, 143, 144, 739, 145, 0, 146, 0, - 147, 148, 149, 150, 151, 740, 152, 153, 154, 155, - 156, 741, 742, 157, 158, 159, 160, 161, 90, 91, - 743, 162, 744, 163, 164, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 331, 332, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 92, 606, 0, 0, 0, 0, 0, 607, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 608, 0, - 0, 0, 0, 0, 0, 0, 94, 0, 0, 95, - 0, 0, 0, 0, 0, 0, 0, 96, 97, 0, - 0, 0, 0, 0, 98, 99, 100, 0, 345, 0, - 346, 101, 0, 0, 0, 0, 609, 102, 0, 103, - 104, 0, 0, 0, 0, 0, 0, 0, 105, 106, - 0, 0, 107, 0, 108, 0, 0, 0, 109, 110, - 0, 0, 0, 0, 0, 0, 0, 111, 112, 113, - 114, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 358, 0, 0, 0, 0, 0, 0, 115, - 116, 117, 118, 0, 119, 120, 0, 121, 122, 0, - 123, 0, 0, 124, 125, 126, 127, 128, 0, 129, - 130, 0, 0, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 0, 0, 0, 140, 0, 141, 142, 0, - 0, 143, 144, 0, 145, 0, 146, 0, 147, 148, - 149, 150, 151, 0, 152, 153, 154, 155, 156, 90, - 91, 157, 158, 159, 160, 161, 0, 0, 0, 162, - 0, 163, 164, 0, 0, 0, 0, 858, 0, 0, - 0, 0, 0, 893, 0, 0, 0, 0, 0, 0, - 0, 0, 92, 0, 0, 0, 0, 0, 0, 93, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 860, 0, 0, 0, 0, 0, 94, 0, 0, - 95, 0, 0, 0, 0, 0, 0, 0, 96, 97, - 0, 0, 0, 0, 0, 98, 99, 100, 0, 0, - 0, 0, 101, 0, 0, 0, 0, 0, 102, 0, - 103, 104, 0, 0, 0, 0, 0, 0, 861, 105, - 106, 0, 0, 107, 0, 108, 0, 0, 0, 109, - 110, 0, 0, 0, 0, 0, 0, 0, 111, 112, - 113, 114, 0, 0, 0, 0, 0, 0, 862, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 115, 116, 117, 118, 0, 119, 120, 0, 121, 122, - 0, 123, 0, 0, 124, 125, 126, 127, 128, 0, - 129, 130, 0, 0, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 0, 90, 91, 140, 0, 141, 142, - 0, 0, 143, 144, 0, 145, 0, 146, 0, 147, - 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 0, 0, 157, 158, 159, 160, 161, 92, 0, 0, - 162, 0, 163, 164, 93, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 94, 0, 0, 95, 0, 0, 0, 0, - 0, 0, 0, 96, 97, 0, 0, 0, 0, 0, - 98, 99, 100, 225, 0, 0, 0, 101, 0, 0, - 0, 0, 0, 102, 0, 103, 104, 0, 0, 0, - 0, 0, 0, 0, 105, 106, 0, 0, 107, 0, - 108, 0, 0, 0, 109, 110, 0, 0, 0, 0, - 0, 0, 0, 226, 112, 113, 114, 0, 0, 227, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 115, 116, 117, 118, 0, - 119, 120, 0, 121, 122, 0, 123, 0, 0, 124, - 125, 126, 127, 128, 0, 129, 130, 0, 0, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 0, 90, - 91, 140, 0, 141, 142, 0, 0, 143, 144, 0, - 145, 0, 146, 0, 147, 148, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 0, 229, 157, 158, 159, - 160, 161, 92, 0, 0, 162, 0, 163, 164, 93, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, - 95, 0, 0, 0, 0, 0, 0, 0, 96, 97, - 0, 0, 0, 0, 0, 98, 99, 100, 0, 0, - 0, 0, 101, 0, 0, 0, 0, 0, 102, 0, - 103, 104, 0, 0, 0, 0, 0, 0, 0, 105, - 106, 0, 0, 107, 0, 108, 0, 0, 0, 109, - 110, 0, 0, 0, 0, 0, 0, 0, 111, 112, - 113, 114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 115, 116, 117, 118, 0, 119, 120, 0, 121, 122, - 0, 123, 0, 0, 124, 125, 126, 127, 128, 0, - 129, 130, 0, 0, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 0, 90, 91, 140, 0, 141, 142, - 0, 230, 143, 144, 0, 145, 0, 146, 0, 147, - 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 0, 0, 157, 158, 159, 160, 161, 92, 0, 0, - 162, 0, 163, 164, 93, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 913, 0, 94, 0, 0, 95, 0, 0, 0, 0, - 0, 0, 0, 96, 97, 0, 0, 0, 0, 0, - 98, 99, 100, 0, 0, 0, 0, 101, 0, 0, - 0, 0, 0, 102, 0, 103, 104, 0, 0, 0, - 0, 0, 0, 0, 105, 106, 0, 914, 107, 0, - 108, 0, 0, 0, 109, 110, 0, 0, 0, 0, - 0, 0, 0, 111, 112, 113, 114, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 115, 116, 117, 118, 0, - 119, 120, 0, 121, 122, 0, 123, 0, 0, 124, - 125, 126, 127, 128, 0, 129, 130, 0, 0, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 0, 90, - 91, 140, 0, 141, 142, 0, 0, 143, 144, 0, - 145, 0, 146, 0, 147, 148, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 0, 0, 157, 158, 159, - 160, 161, 92, 0, 0, 162, 0, 163, 164, 93, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, - 95, 0, 0, 0, 0, 0, 0, 0, 96, 97, - 0, 0, 0, 0, 0, 98, 99, 100, 0, 0, - 0, 0, 101, 0, 0, 0, 0, 0, 102, 0, - 103, 104, 0, 0, 0, 0, 0, 0, 0, 105, - 106, 0, 0, 107, 0, 108, 0, 0, 0, 109, - 110, 0, 0, 0, 0, 0, 0, 0, 250, 112, - 113, 114, 0, 0, 251, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 115, 116, 117, 118, 0, 119, 120, 0, 121, 122, - 0, 123, 0, 0, 124, 125, 126, 127, 128, 0, - 129, 130, 0, 0, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 0, 90, 91, 140, 0, 141, 142, - 0, 0, 143, 144, 0, 145, 0, 146, 0, 147, - 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 0, 0, 157, 158, 159, 160, 161, 92, 0, 0, - 162, 0, 163, 164, 93, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 94, 0, 0, 95, 0, 0, 0, 0, - 0, 0, 0, 96, 97, 0, 0, 0, 0, 0, - 98, 99, 100, 0, 0, 0, 0, 101, 0, 0, - 0, 0, 0, 102, 0, 103, 104, 0, 0, 0, - 0, 0, 0, 0, 105, 106, 0, 0, 107, 0, - 108, 0, 0, 0, 109, 110, 0, 0, 0, 0, - 0, 0, 0, 253, 112, 113, 114, 0, 0, 254, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 115, 116, 117, 118, 0, - 119, 120, 0, 121, 122, 0, 123, 0, 0, 124, - 125, 126, 127, 128, 0, 129, 130, 0, 0, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 0, 90, - 91, 140, 0, 141, 142, 0, 0, 143, 144, 0, - 145, 0, 146, 0, 147, 148, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 0, 0, 157, 158, 159, - 160, 161, 92, 0, 0, 162, 0, 163, 164, 93, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, - 95, 0, 0, 0, 0, 0, 0, 0, 96, 97, - 0, 0, 0, 0, 0, 98, 99, 100, 0, 0, - 0, 0, 101, 0, 0, 0, 0, 0, 102, 0, - 103, 104, 0, 0, 0, 0, 0, 0, 0, 105, - 106, 0, 0, 107, 0, 108, 0, 0, 0, 109, - 110, 0, 0, 0, 0, 0, 0, 0, 111, 112, - 113, 114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 115, 116, 117, 118, 0, 119, 120, 0, 121, 122, - 0, 123, 0, 0, 124, 125, 126, 127, 128, 0, - 129, 130, 0, 0, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 0, 90, 91, 140, 0, 141, 142, - 0, 0, 143, 144, 637, 145, 0, 146, 0, 147, - 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 0, 0, 157, 158, 159, 160, 161, 92, 0, 0, - 162, 0, 163, 164, 93, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 94, 0, 0, 95, 0, 0, 0, 0, - 0, 0, 0, 96, 97, 0, 0, 0, 0, 0, - 98, 99, 100, 0, 0, 0, 0, 101, 0, 0, - 0, 0, 0, 102, 0, 103, 104, 0, 0, 0, - 0, 0, 0, 0, 105, 106, 0, 0, 107, 0, - 108, 0, 0, 0, 109, 110, 0, 0, 0, 0, - 0, 0, 0, 111, 112, 113, 114, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 115, 116, 117, 118, 0, - 119, 120, 0, 121, 122, 0, 123, 0, 0, 124, - 125, 126, 127, 128, 0, 129, 130, 0, 0, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 0, 90, - 91, 140, 0, 141, 142, 0, 1271, 143, 144, 1145, - 145, 0, 146, 0, 147, 148, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 0, 0, 157, 158, 159, - 160, 161, 92, 0, 0, 162, 0, 163, 164, 93, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, - 95, 0, 0, 0, 0, 0, 0, 0, 96, 97, - 0, 0, 0, 0, 0, 98, 99, 100, 0, 0, - 0, 0, 101, 0, 0, 0, 0, 0, 102, 0, - 103, 104, 0, 0, 0, 0, 0, 0, 0, 105, - 106, 0, 0, 107, 0, 108, 0, 0, 0, 109, - 110, 0, 0, 0, 0, 0, 0, 0, 111, 112, - 113, 114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 115, 116, 117, 118, 0, 119, 120, 0, 121, 122, - 0, 123, 0, 0, 124, 125, 126, 127, 128, 0, - 129, 130, 0, 0, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 0, 90, 91, 140, 0, 141, 142, - 0, 0, 143, 144, 0, 145, 0, 146, 0, 147, - 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 0, 0, 157, 158, 159, 160, 161, 92, 0, 0, - 162, 0, 163, 164, 93, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 94, 0, 0, 95, 0, 0, 0, 0, - 0, 0, 0, 96, 97, 0, 0, 0, 0, 0, - 98, 99, 100, 0, 0, 0, 0, 101, 0, 0, - 0, 0, 0, 102, 0, 103, 104, 0, 0, 0, - 0, 0, 0, 0, 105, 106, 0, 0, 107, 0, - 108, 0, 0, 0, 109, 110, 0, 0, 0, 0, - 0, 0, 0, 111, 112, 113, 114, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 115, 116, 117, 118, 0, - 119, 120, 0, 121, 122, 0, 123, 0, 0, 124, - 125, 126, 127, 128, 0, 129, 130, 0, 0, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 0, 90, - 91, 140, 0, 141, 142, 0, 0, 143, 144, 0, - 145, 0, 146, 0, 147, 148, 149, 150, 151, 0, - 152, 153, 154, 155, 156, 0, 0, 157, 158, 159, - 160, 161, 92, 0, 0, 162, 0, 163, 164, 93, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 94, 0, 0, - 95, 0, 0, 0, 0, 0, 0, 0, 96, 97, - 0, 0, 0, 0, 0, 98, 99, 100, 0, 0, - 0, 0, 101, 0, 0, 0, 0, 0, 102, 0, - 103, 104, 0, 0, 0, 0, 0, 0, 0, 105, - 106, 0, 0, 829, 0, 108, 0, 0, 0, 109, - 110, 0, 0, 0, 0, 0, 0, 0, 111, 112, - 113, 114, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 115, 116, 117, 118, 0, 119, 120, 0, 121, 122, - 0, 123, 0, 0, 124, 125, 126, 127, 128, 0, - 129, 130, 0, 0, 131, 132, 133, 134, 135, 136, - 137, 138, 139, 0, 0, 0, 140, 0, 141, 142, - 0, 0, 143, 144, 0, 145, 0, 146, 0, 147, - 148, 149, 150, 151, 0, 152, 153, 154, 155, 156, - 331, 332, 157, 158, 159, 160, 161, 0, 0, 0, - 162, 0, 163, 164, 0, 0, 0, 92, 338, 0, - 0, 0, 0, 0, 506, 0, 331, 332, 0, 0, - 0, 0, 342, 0, 343, 0, 0, 0, 0, 0, - 0, 0, 94, 92, 338, 0, 0, 0, 344, 0, - 506, 0, 0, 0, 0, 0, 0, 0, 342, 0, - 343, 99, 100, 0, 345, 0, 346, 0, 94, 0, - 0, 0, 350, 0, 344, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 99, 100, 0, - 345, 0, 346, 0, 0, 110, 15, 0, 350, 0, - 0, 0, 0, 507, 508, 0, 0, 0, 0, 0, - 0, 356, 0, 0, 331, 332, 0, 0, 358, 0, - 0, 110, 0, 0, 0, 115, 0, 0, 509, 507, - 508, 92, 338, 0, 0, 0, 0, 356, 506, 0, - 0, 0, 0, 0, 358, 0, 0, 0, 343, 0, - 0, 115, 0, 0, 509, 0, 94, 0, 0, 0, - 0, 0, 344, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 331, 332, 0, 99, 100, 0, 345, 0, - 346, 0, 0, 0, 0, 360, 350, 0, 0, 92, - 338, 0, 0, 0, 0, 0, 506, 0, 510, 243, - 0, 319, 363, 364, 0, 0, 343, 0, 0, 110, - 0, 360, 0, 0, 94, 0, 0, 507, 508, 0, - 344, 0, 0, 0, 510, 243, 0, 319, 363, 364, - 331, 332, 358, 99, 100, 0, 345, 0, 346, 115, - 0, 0, 509, 0, 350, 0, 0, 92, 338, 0, - 0, 0, 0, 0, 506, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 343, 0, 0, 110, 0, 0, - 0, 0, 94, 0, 0, 507, 508, 0, 344, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 358, 99, 100, 0, 345, 0, 346, 115, 1124, 360, - 509, 0, 350, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 510, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 110, 0, 0, 0, 0, - 0, 0, 0, 507, 508, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 358, 0, - 0, 0, 0, 0, 0, 115, 0, 360, 509, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 510, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 510 -}; - -static const short yycheck[] = { 3, - 326, 32, 6, 172, 202, 185, 24, 199, 406, 477, - 644, 1057, 16, 17, 588, 19, 875, 997, 47, 23, - 224, 6, 191, 27, 28, 29, 30, 385, 0, 0, - 434, 0, 6, 0, 502, 9, 39, 66, 1065, 56, - 1434, 548, 39, 1092, 6, 39, 39, 135, 68, 54, - 45, 681, 682, 683, 684, 56, 5, 135, 7, 39, - 16, 33, 33, 126, 33, 332, 33, 21, 64, 115, - 56, 25, 80, 241, 44, 39, 21, 115, 13, 346, - 142, 85, 694, 6, 696, 697, 554, 40, 38, 220, - 40, 6, 220, 93, 39, 44, 192, 1676, 136, 56, - 228, 55, 131, 429, 13, 952, 114, 238, 135, 329, - 90, 469, 115, 40, 78, 65, 953, 113, 757, 758, - 759, 760, 761, 762, 86, 40, 324, 62, 296, 327, - 8, 87, 218, 136, 135, 135, 775, 135, 65, 69, - 126, 103, 77, 88, 240, 140, 116, 1726, 102, 1543, - 65, 237, 240, 62, 40, 1002, 218, 102, 154, 57, - 116, 224, 240, 108, 242, 115, 1003, 371, 77, 173, - 174, 40, 40, 177, 178, 237, 180, 181, 132, 65, - 133, 185, 402, 133, 40, 189, 190, 132, 115, 193, - 217, 195, 196, 197, 8, 241, 65, 65, 202, 203, - 115, 99, 209, 241, 219, 68, 133, 225, 566, 65, - 225, 226, 570, 242, 1260, 219, 3, 118, 133, 1199, - 240, 218, 1616, 240, 218, 218, 493, 695, 233, 115, - 61, 262, 263, 134, 238, 220, 221, 241, 241, 240, - 190, 248, 240, 247, 242, 175, 115, 133, 197, 80, - 173, 174, 1301, 1302, 218, 154, 21, 180, 220, 115, - 6, 191, 189, 190, 133, 133, 228, 241, 240, 240, - 193, 240, 195, 240, 1668, 279, 1670, 133, 51, 107, - 203, 501, 135, 114, 119, 120, 201, 241, 135, 647, - 55, 241, 296, 215, 36, 313, 42, 227, 228, 229, - 230, 231, 17, 307, 190, 133, 172, 633, 23, 239, - 237, 531, 27, 320, 241, 30, 1343, 90, 40, 61, - 324, 951, 109, 327, 328, 329, 218, 218, 158, 687, - 960, 961, 962, 963, 964, 965, 966, 102, 80, 81, - 159, 219, 954, 65, 218, 201, 237, 551, 118, 227, - 228, 229, 230, 231, 372, 241, 186, 130, 51, 1264, - 999, 239, 1267, 237, 1410, 152, 218, 132, 187, 51, - 85, 1417, 114, 1012, 1013, 1014, 1015, 1016, 1017, 1018, - 398, 168, 400, 401, 307, 237, 220, 240, 128, 242, - 421, 1371, 1004, 240, 901, 242, 236, 90, 402, 403, - 217, 241, 144, 143, 238, 219, 88, 765, 90, 234, - 414, 133, 118, 227, 228, 229, 230, 231, 177, 926, - 56, 439, 820, 149, 593, 239, 62, 153, 208, 209, - 434, 172, 463, 192, 8, 833, 440, 130, 218, 13, - 644, 880, 196, 447, 448, 884, 236, 237, 130, 453, - 200, 73, 456, 457, 1503, 1314, 240, 207, 242, 463, - 967, 681, 682, 683, 684, 62, 181, 93, 190, 51, - 104, 478, 479, 480, 189, 10, 880, 4, 485, 1525, - 884, 1527, 9, 220, 221, 953, 47, 14, 62, 10, - 70, 18, 499, 21, 93, 69, 240, 501, 242, 27, - 93, 969, 970, 77, 219, 66, 88, 240, 90, 224, - 978, 39, 1019, 69, 88, 145, 229, 230, 231, 526, - 116, 528, 96, 238, 447, 529, 239, 531, 93, 240, - 453, 242, 247, 456, 457, 1003, 97, 757, 758, 759, - 760, 761, 762, 10, 1571, 1119, 1595, 145, 130, 553, - 240, 555, 242, 1021, 145, 775, 560, 1169, 1170, 1171, - 88, 151, 217, 218, 279, 220, 57, 222, 1086, 1087, - 131, 1598, 63, 240, 102, 242, 70, 781, 585, 586, - 108, 240, 786, 242, 75, 70, 790, 1094, 1227, 240, - 794, 242, 234, 919, 798, 1207, 1208, 1209, 802, 15, - 6, 175, 806, 240, 132, 242, 810, 98, 54, 229, - 814, 618, 832, 620, 621, 622, 623, 191, 142, 175, - 111, 625, 219, 981, 589, 590, 591, 240, 632, 242, - 227, 228, 229, 230, 231, 191, 10, 240, 642, 242, - 142, 241, 239, 62, 648, 219, 240, 10, 242, 653, - 224, 225, 226, 227, 228, 229, 230, 231, 227, 228, - 229, 230, 231, 73, 240, 239, 242, 35, 242, 88, - 239, 227, 228, 229, 230, 231, 113, 681, 682, 683, - 684, 241, 240, 239, 219, 138, 141, 402, 403, 224, - 225, 226, 227, 228, 229, 230, 231, 93, 219, 414, - 220, 240, 222, 242, 239, 241, 227, 228, 229, 230, - 231, 241, 904, 905, 1348, 220, 241, 1185, 239, 923, - 229, 230, 231, 903, 240, 36, 242, 931, 241, 241, - 239, 951, 952, 448, 241, 227, 228, 229, 230, 231, - 960, 961, 962, 963, 964, 965, 966, 239, 101, 20, - 61, 241, 219, 757, 758, 759, 760, 761, 762, 241, - 227, 228, 229, 230, 231, 219, 240, 224, 242, 80, - 81, 775, 239, 227, 228, 229, 230, 231, 240, 999, - 242, 240, 1002, 242, 240, 239, 242, 237, 242, 229, - 230, 231, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 239, - 219, 237, 240, 114, 242, 224, 225, 226, 227, 228, - 229, 230, 231, 124, 125, 819, 229, 230, 231, 241, - 240, 839, 242, 29, 241, 829, 239, 241, 832, 240, - 834, 242, 240, 144, 242, 10, 551, 241, 842, 155, - 229, 230, 231, 241, 160, 849, 241, 1354, 241, 29, - 239, 57, 236, 241, 236, 171, 76, 63, 876, 863, - 142, 865, 866, 867, 868, 1372, 182, 183, 1072, 75, - 874, 62, 133, 76, 76, 195, 880, 57, 84, 886, - 884, 180, 199, 63, 241, 93, 904, 905, 54, 893, - 206, 71, 98, 126, 136, 75, 241, 904, 905, 903, - 904, 905, 906, 56, 84, 111, 910, 236, 912, 913, - 140, 236, 20, 126, 918, 115, 126, 632, 98, 842, - 142, 126, 240, 927, 928, 131, 849, 126, 935, 644, - 618, 111, 620, 621, 622, 623, 13, 227, 228, 229, - 230, 231, 949, 122, 1451, 868, 239, 951, 952, 239, - 1154, 1419, 56, 242, 242, 219, 960, 961, 962, 963, - 964, 965, 966, 227, 228, 229, 230, 231, 236, 193, - 893, 217, 241, 240, 92, 239, 25, 1289, 93, 1291, - 1292, 1293, 1294, 1295, 1296, 62, 96, 910, 995, 912, - 224, 165, 69, 1000, 1001, 999, 101, 204, 1002, 93, - 77, 10, 170, 224, 240, 1363, 224, 1227, 1012, 1013, - 1014, 1015, 1016, 1017, 1018, 219, 242, 240, 116, 24, - 224, 225, 226, 227, 228, 229, 230, 231, 242, 56, - 242, 242, 114, 13, 219, 239, 81, 238, 242, 224, - 225, 226, 227, 228, 229, 230, 231, 242, 1458, 242, - 242, 241, 1056, 1057, 239, 241, 145, 219, 1062, 241, - 241, 1065, 217, 225, 226, 227, 228, 229, 230, 231, - 1468, 1481, 1482, 1483, 1484, 1485, 1486, 239, 241, 1086, - 1087, 1088, 62, 242, 242, 1089, 1593, 237, 1092, 69, - 1108, 242, 1599, 1600, 241, 241, 241, 77, 175, 241, - 241, 241, 241, 178, 819, 241, 241, 241, 1615, 241, - 241, 241, 241, 1425, 191, 241, 1120, 832, 1122, 241, - 241, 1433, 197, 1130, 1128, 1437, 242, 1439, 241, 241, - 1442, 1443, 1444, 1445, 1446, 1447, 1448, 1449, 1450, 1308, - 241, 1453, 219, 236, 1348, 241, 241, 224, 225, 226, - 227, 228, 229, 230, 231, 241, 241, 241, 241, 874, - 1472, 224, 239, 200, 177, 1575, 72, 241, 72, 241, - 1677, 62, 224, 142, 1584, 1585, 1586, 1587, 1588, 1589, - 1590, 1591, 1592, 135, 1594, 54, 142, 46, 239, 54, - 219, 62, 242, 3, 242, 175, 6, 241, 227, 228, - 229, 230, 231, 242, 239, 241, 16, 17, 242, 19, - 239, 191, 242, 23, 242, 240, 242, 27, 28, 29, - 30, 242, 242, 1227, 242, 242, 242, 229, 59, 217, - 135, 217, 240, 1545, 241, 241, 126, 59, 214, 219, - 54, 8, 96, 126, 10, 173, 13, 227, 228, 229, - 230, 231, 102, 176, 217, 58, 1260, 241, 241, 239, - 242, 242, 71, 242, 242, 242, 241, 1271, 242, 241, - 1680, 238, 1470, 98, 242, 85, 242, 242, 242, 1283, - 242, 242, 240, 242, 71, 1289, 15, 1291, 1292, 1293, - 1294, 1295, 1296, 242, 242, 62, 242, 1301, 1302, 1317, - 242, 242, 69, 1307, 242, 242, 242, 242, 242, 242, - 77, 242, 242, 1625, 1318, 242, 242, 242, 242, 60, - 1338, 88, 242, 162, 1328, 1329, 219, 241, 1332, 96, - 217, 224, 225, 226, 227, 228, 229, 230, 231, 1343, - 241, 1056, 1057, 241, 39, 39, 212, 164, 48, 241, - 1676, 72, 241, 90, 72, 94, 92, 95, 242, 71, - 1283, 242, 242, 173, 174, 242, 242, 177, 178, 242, - 180, 181, 242, 240, 242, 185, 239, 218, 242, 189, - 190, 242, 71, 193, 1307, 195, 196, 197, 241, 240, - 105, 73, 202, 203, 1563, 241, 236, 241, 241, 241, - 8, 108, 163, 241, 1422, 1328, 1410, 242, 175, 219, - 483, 240, 242, 1417, 241, 79, 242, 8, 242, 242, - 241, 1425, 242, 239, 191, 240, 501, 174, 238, 1433, - 241, 241, 93, 1437, 241, 1439, 242, 247, 1442, 1443, - 1444, 1445, 1446, 1447, 1448, 1449, 1450, 242, 217, 1453, - 242, 13, 219, 242, 1458, 118, 531, 224, 225, 226, - 227, 228, 229, 230, 231, 238, 1470, 242, 1472, 279, - 234, 134, 239, 4, 234, 242, 139, 1481, 1482, 1483, - 1484, 1485, 1486, 146, 147, 0, 296, 150, 0, 33, - 270, 597, 873, 1102, 401, 550, 428, 307, 161, 1503, - 62, 863, 1120, 1335, 865, 1473, 169, 69, 1623, 172, - 1697, 1722, 1687, 1723, 324, 77, 1717, 327, 328, 329, - 1122, 1525, 1110, 1527, 26, 905, 88, 906, 248, 408, - 13, 194, 325, 196, 344, 1689, 1719, 648, 201, 202, - 1598, 1545, 1597, 199, 309, 1260, 1706, 31, 849, 1108, - 360, 1569, 240, 1673, 918, 817, 8, 844, 1602, 1088, - 1057, 13, 1720, 567, 1568, 1268, 1265, 1571, 1197, 1576, - 1577, 1575, 360, 832, 650, 196, 1659, 1271, 551, -1, - 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, -1, - 1594, 1595, 402, 403, 1598, 555, -1, -1, 1602, -1, - -1, -1, -1, 1318, 414, -1, 681, 682, 683, 684, - 62, -1, -1, 175, -1, -1, -1, 69, -1, -1, - -1, 1625, -1, 1627, 434, 77, -1, -1, -1, 191, - 440, -1, -1, 1348, -1, 8, 88, 447, 448, -1, - 13, -1, -1, 453, 96, 1568, 456, 457, -1, -1, - -1, -1, -1, 463, -1, -1, 1674, 219, -1, -1, - -1, 1665, 224, 225, 226, 227, 228, 229, 230, 231, - -1, -1, -1, -1, 484, 1706, 1680, 239, -1, -1, - -1, -1, 757, 758, 759, 760, 761, 762, -1, 62, - -1, -1, -1, -1, -1, 1410, 69, 13, -1, -1, - 775, -1, 1417, -1, 77, 1723, -1, -1, 781, -1, - -1, -1, -1, 786, -1, 88, 1720, 790, -1, 529, - 329, 794, -1, 175, -1, 798, -1, -1, -1, 802, - -1, -1, -1, 806, -1, -1, -1, 810, 548, 191, - -1, 814, -1, 553, -1, 555, 62, -1, -1, -1, - 560, -1, -1, 69, -1, -1, -1, -1, -1, -1, - -1, 77, -1, -1, -1, -1, -1, 219, -1, -1, - -1, -1, 224, 225, 226, 227, 228, 229, 230, 231, - -1, 8, -1, -1, -1, -1, 13, 239, -1, -1, - 242, -1, -1, 402, -1, -1, -1, -1, -1, -1, - -1, -1, 175, -1, -1, -1, -1, -1, -1, -1, - 1525, -1, 1527, -1, -1, 625, -1, -1, 191, -1, - -1, -1, 632, -1, -1, -1, -1, -1, -1, 902, - -1, -1, 642, -1, -1, 62, -1, -1, 648, -1, - -1, -1, 69, 653, -1, -1, 219, -1, -1, -1, - 77, 224, 225, 226, 227, 228, 229, 230, 231, 175, - -1, 88, -1, -1, -1, -1, 239, -1, -1, 96, - -1, -1, 13, -1, -1, 191, 951, 952, -1, -1, - -1, -1, -1, -1, -1, 960, 961, 962, 963, 964, - 965, 966, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 219, -1, -1, -1, -1, 224, 225, - 226, 227, 228, 229, 230, 231, -1, -1, -1, -1, - -1, 62, -1, 239, 999, -1, -1, 1002, 69, -1, - -1, -1, -1, -1, -1, -1, 77, 1012, 1013, 1014, - 1015, 1016, 1017, 1018, -1, -1, -1, -1, 175, 1022, - -1, -1, -1, -1, -1, -1, 1029, 1030, -1, 1032, - 1033, -1, 1035, 1036, 191, 1038, 1039, -1, 1041, 1042, - -1, 1044, 1045, -1, 1047, 1048, -1, 1050, 1051, -1, - 1053, 1054, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 219, -1, -1, -1, -1, 224, 225, 226, - 227, 228, 229, 230, 231, -1, -1, -1, -1, 819, - -1, -1, 239, -1, 1089, 242, -1, -1, -1, 829, - -1, -1, 832, -1, 834, -1, -1, -1, -1, -1, - -1, -1, 842, -1, 175, -1, -1, -1, -1, 849, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 191, -1, -1, 863, -1, 865, 866, 867, 868, -1, - -1, -1, -1, -1, 874, -1, -1, -1, -1, -1, - 880, -1, -1, -1, 884, -1, -1, -1, 219, -1, - -1, -1, -1, 893, 225, 226, 227, 228, 229, 230, - 231, 901, -1, 903, 904, 905, 906, -1, 239, -1, - 910, -1, 912, 913, -1, -1, -1, -1, 918, -1, - -1, -1, -1, -1, -1, -1, 926, 927, 928, -1, - 1193, -1, -1, -1, 1197, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 7, -1, - -1, -1, 1227, 12, -1, 1228, -1, 967, -1, -1, - -1, -1, -1, 22, -1, -1, -1, 26, -1, 28, - 8, -1, -1, -1, -1, 13, -1, -1, -1, 38, - -1, 40, -1, -1, -1, 44, -1, 46, -1, -1, - -1, -1, -1, 52, -1, -1, -1, -1, -1, 58, - -1, -1, -1, -1, -1, -1, 65, -1, -1, 1019, - -1, -1, 1022, -1, 1289, -1, 1291, 1292, 1293, 1294, - 1295, 1296, -1, 832, 62, -1, -1, -1, -1, -1, - -1, 69, -1, -1, -1, -1, -1, 13, -1, 77, - -1, -1, -1, -1, -1, -1, 1056, 1057, -1, -1, - 88, 110, 1062, 112, 1329, 1065, 115, 116, 96, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1343, -1, - -1, -1, -1, -1, 133, -1, -1, -1, -1, -1, - -1, -1, 1092, -1, 1094, -1, 62, -1, -1, 148, - -1, -1, 1365, 69, -1, -1, 1369, 156, 157, -1, - -1, 77, -1, -1, -1, -1, -1, 166, 167, -1, - 1120, -1, 1122, -1, -1, -1, -1, -1, 1128, 178, - 179, -1, 181, -1, -1, 184, -1, -1, -1, -1, - -1, 190, -1, -1, -1, -1, -1, 175, -1, 198, - -1, -1, -1, -1, -1, -1, 205, -1, -1, -1, - 1425, -1, 211, 191, 213, -1, -1, -1, 1433, -1, - 8, -1, 1437, -1, 1439, 13, -1, 1442, 1443, 1444, - 1445, 1446, 1447, 1448, 1449, 1450, -1, -1, 1453, -1, - -1, 219, 241, 1458, -1, -1, 224, 225, 226, 227, - 228, 229, 230, 231, -1, -1, -1, 1472, -1, 175, - -1, 239, -1, -1, 242, -1, 1481, 1482, 1483, 1484, - 1485, 1486, -1, 1022, 62, 191, -1, -1, 1228, -1, - -1, 69, -1, -1, -1, -1, -1, 8, -1, 77, - -1, -1, 13, -1, -1, -1, -1, -1, -1, -1, - 88, -1, -1, 219, -1, -1, -1, -1, 96, -1, - 1260, 227, 228, 229, 230, 231, -1, -1, -1, -1, - -1, 1271, -1, 239, -1, -1, -1, -1, -1, -1, - 1545, -1, -1, 1283, -1, -1, -1, -1, -1, -1, - 1089, 62, -1, -1, -1, -1, -1, -1, 69, -1, - -1, 1301, 1302, -1, -1, -1, 77, 1307, -1, -1, - 1575, -1, -1, -1, -1, -1, -1, 88, 1318, 1584, - 1585, 1586, 1587, 1588, 1589, 1590, 1591, 1592, 1328, 1594, - -1, -1, 1332, -1, -1, -1, -1, 175, -1, -1, - -1, -1, -1, 1343, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 191, 1354, -1, -1, -1, -1, -1, - 1625, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1372, -1, -1, -1, -1, -1, -1, -1, - -1, 219, -1, 1383, -1, -1, 224, 225, 226, 227, - 228, 229, 230, 231, 119, 120, -1, -1, -1, -1, - -1, 239, 240, -1, 175, -1, -1, 132, -1, 134, - 1410, -1, -1, -1, 139, 1680, -1, 1417, -1, -1, - 191, 146, 147, -1, -1, 150, -1, -1, -1, 1228, - -1, -1, -1, -1, 1434, -1, 161, -1, -1, -1, - -1, -1, -1, -1, 169, -1, -1, 172, 219, -1, - -1, 1451, -1, 224, 225, 226, 227, 228, 229, 230, - 231, -1, -1, -1, -1, -1, -1, -1, 239, 194, - 1470, 196, -1, -1, -1, 501, 201, 202, -1, -1, - -1, -1, -1, -1, -1, 210, -1, -1, -1, -1, - 1289, -1, 1291, 1292, 1293, 1294, 1295, 1296, -1, -1, - -1, -1, -1, 1503, -1, 531, -1, -1, -1, -1, - -1, 347, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1524, 1525, 362, 1527, -1, 365, - 1329, 367, 368, 369, 370, 371, -1, 1537, -1, -1, - -1, -1, -1, 1543, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1568, -1, - -1, 1571, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 419, 1383, -1, -1, -1, -1, -1, - -1, -1, -1, 1593, -1, 1595, -1, -1, 1598, 1599, - 1600, -1, 1602, -1, -1, -1, -1, -1, -1, 445, - -1, -1, -1, -1, -1, 1615, 1616, -1, -1, -1, - -1, -1, -1, 1623, -1, -1, 1425, 1627, -1, -1, - -1, -1, -1, -1, 1433, 1434, -1, 473, 1437, -1, - 1439, -1, -1, 1442, 1443, 1444, 1445, 1446, 1447, 1448, - 1449, 1450, -1, -1, 1453, 681, 682, 683, 684, 1458, - -1, 497, 498, -1, -1, 1665, -1, -1, 1668, 505, - 1670, -1, -1, 1472, -1, -1, 8, 1677, 514, -1, - -1, 13, 1481, 1482, 1483, 1484, 1485, 1486, -1, -1, - -1, -1, -1, -1, 530, -1, -1, -1, 534, -1, - 536, -1, -1, 539, 540, 541, 542, 543, 544, 545, - 546, 547, -1, -1, -1, -1, -1, -1, -1, -1, - 1720, -1, -1, -1, -1, 1524, -1, -1, -1, -1, - 62, 757, 758, 759, 760, 761, 762, 69, 1537, -1, - -1, -1, -1, -1, 1543, 77, 1545, -1, -1, 775, - -1, -1, -1, -1, -1, -1, 88, -1, -1, -1, - -1, -1, -1, -1, 96, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1575, -1, -1, -1, - -1, -1, -1, -1, -1, 1584, 1585, 1586, 1587, 1588, - 1589, 1590, 1591, 1592, 8, 1594, -1, -1, -1, 13, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 649, -1, -1, -1, 1616, -1, -1, - -1, -1, -1, -1, 1623, -1, 1625, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 175, -1, -1, -1, -1, 62, -1, - -1, -1, -1, -1, -1, 69, -1, -1, 694, 191, - 696, 697, -1, 77, -1, -1, -1, -1, 704, 1668, - -1, 1670, -1, -1, 88, -1, -1, -1, -1, -1, - -1, 1680, 96, -1, -1, -1, -1, 219, -1, -1, - -1, -1, 224, 225, 226, 227, 228, 229, 230, 231, - -1, -1, -1, -1, -1, -1, -1, 239, 240, -1, - -1, -1, -1, -1, 8, -1, -1, 11, -1, 13, - -1, -1, -1, -1, -1, 951, 952, 763, -1, -1, - -1, -1, -1, -1, 960, 961, 962, 963, 964, 965, - 966, 777, -1, -1, -1, 781, -1, 41, -1, -1, - 786, -1, -1, -1, 790, -1, -1, -1, 794, -1, - -1, 175, 798, -1, -1, -1, 802, -1, 62, -1, - 806, -1, -1, 999, 810, 69, 1002, 191, 814, -1, - -1, -1, -1, 77, -1, -1, 1012, 1013, 1014, 1015, - 1016, 1017, 1018, -1, 88, 8, 1022, -1, -1, -1, - 13, -1, 96, -1, -1, 219, -1, -1, 844, -1, - 224, 225, 226, 227, 228, 229, 230, 231, -1, -1, - -1, -1, -1, -1, -1, 239, 240, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 135, -1, -1, -1, -1, -1, -1, -1, 62, - -1, -1, -1, -1, -1, -1, 69, -1, -1, -1, - 8, -1, 10, 1089, 77, 13, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 88, -1, -1, -1, -1, - -1, 175, -1, 96, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 930, -1, -1, 191, -1, -1, - -1, -1, -1, 939, -1, 8, -1, -1, -1, -1, - 13, -1, 948, -1, 62, -1, -1, -1, 954, -1, - -1, 69, -1, -1, -1, 219, -1, -1, -1, 77, - 224, 225, 226, 227, 228, 229, 230, 231, -1, -1, - 88, -1, -1, -1, 980, 239, -1, -1, 96, -1, - -1, -1, -1, 56, -1, -1, -1, -1, -1, 62, - -1, -1, 175, -1, -1, -1, 69, -1, 1004, -1, - -1, -1, -1, -1, 77, -1, -1, -1, 191, -1, - -1, -1, -1, -1, -1, 88, -1, -1, -1, -1, - -1, -1, -1, 96, -1, -1, -1, -1, -1, -1, - -1, 1227, 1228, -1, -1, -1, 219, -1, -1, -1, - -1, 224, 225, 226, 227, 228, 229, 230, 231, -1, - 233, -1, -1, -1, -1, 238, 239, 175, -1, -1, - -1, 8, -1, -1, -1, -1, 13, -1, -1, -1, - -1, -1, -1, 191, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1289, -1, 1291, 1292, 1293, 1294, 1295, - 1296, 219, 175, -1, -1, -1, 224, 225, 226, 227, - 228, 229, 230, 231, -1, 62, -1, -1, 191, -1, - -1, 239, 69, -1, -1, -1, -1, -1, -1, -1, - 77, -1, -1, 1329, -1, 8, -1, -1, -1, -1, - 13, 88, -1, -1, -1, -1, 219, -1, -1, 96, - -1, 224, 225, 226, 227, 228, 229, 230, 231, -1, - -1, -1, -1, 1169, 1170, 1171, 239, -1, -1, -1, - -1, -1, -1, -1, 121, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1383, -1, 62, - -1, 1197, -1, -1, -1, -1, 69, -1, -1, -1, - -1, 1207, 1208, 1209, 77, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 88, -1, -1, -1, -1, - -1, -1, -1, 96, -1, -1, -1, -1, 175, 1425, - -1, -1, -1, -1, -1, -1, -1, 1433, 1434, -1, - -1, 1437, -1, 1439, 191, -1, 1442, 1443, 1444, 1445, - 1446, 1447, 1448, 1449, 1450, -1, -1, 1453, -1, -1, - -1, -1, 1458, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 219, -1, -1, -1, 1472, 224, 225, 226, - 227, 228, 229, 230, 231, 1481, 1482, 1483, 1484, 1485, - 1486, -1, 239, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 175, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 191, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1524, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1537, -1, -1, -1, -1, 219, 1543, -1, 1545, - -1, 224, 225, 226, 227, 228, 229, 230, 231, -1, - -1, -1, -1, -1, -1, 238, 239, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1575, - -1, -1, -1, -1, -1, -1, -1, -1, 1584, 1585, - 1586, 1587, 1588, 1589, 1590, 1591, 1592, -1, 1594, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1420, -1, -1, 3, 4, -1, - 1616, -1, -1, -1, -1, -1, -1, 1623, -1, 1625, - -1, 17, 18, 19, 20, -1, -1, 23, -1, -1, - -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, - 36, 37, -1, -1, -1, -1, -1, 43, -1, -1, - -1, -1, -1, 49, 50, 51, -1, 53, -1, -1, - -1, -1, 1668, -1, 1670, 61, -1, -1, 64, -1, - -1, 67, -1, -1, 1680, -1, 72, 73, -1, -1, - -1, -1, -1, 79, 80, 81, -1, 83, -1, 85, - 86, -1, 88, 89, 90, 91, 92, -1, 94, 95, - -1, -1, -1, -1, 100, -1, -1, 103, 104, -1, - -1, 107, -1, 109, -1, -1, -1, 113, 114, -1, - -1, 117, -1, -1, -1, -1, 122, 123, 124, 125, - -1, -1, -1, 129, 130, -1, -1, -1, 134, -1, - -1, 137, -1, -1, -1, -1, -1, -1, 144, 145, - 146, 147, -1, 149, 150, -1, 152, 153, -1, 155, - -1, -1, 158, 159, 160, 161, 162, -1, 164, 165, - -1, -1, 168, 169, 170, 171, 172, 173, 174, 175, - 176, -1, -1, -1, 180, -1, 182, 183, -1, 185, - 186, 187, -1, 189, -1, 191, 1612, 193, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, -1, - 206, 207, 208, 209, 210, -1, -1, -1, 214, -1, - 216, 217, 218, 219, 220, 221, 222, 3, 4, -1, - -1, -1, 228, 229, -1, 231, 232, 233, 234, -1, - -1, 17, 18, 19, 20, 241, 242, 23, -1, -1, - -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, - 36, 37, -1, -1, -1, -1, -1, 43, -1, -1, - -1, -1, -1, 49, 50, 51, -1, 53, -1, -1, - -1, -1, -1, -1, -1, 61, -1, -1, 64, -1, - -1, 67, -1, -1, -1, -1, 72, 73, -1, -1, - -1, -1, -1, 79, 80, 81, -1, 83, -1, 85, - 86, -1, 88, 89, 90, 91, 92, -1, 94, 95, - -1, -1, -1, -1, 100, -1, -1, 103, 104, -1, - -1, 107, -1, 109, -1, -1, -1, 113, 114, -1, - -1, 117, -1, -1, -1, -1, 122, 123, 124, 125, - -1, -1, -1, 129, 130, -1, -1, -1, 134, -1, - -1, 137, -1, -1, -1, -1, -1, -1, 144, 145, - 146, 147, -1, 149, 150, -1, 152, 153, -1, 155, - -1, -1, 158, 159, 160, 161, 162, -1, 164, 165, - -1, -1, 168, 169, 170, 171, 172, 173, 174, 175, - 176, -1, -1, -1, 180, -1, 182, 183, -1, 185, - 186, 187, -1, 189, -1, 191, -1, 193, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, -1, - 206, 207, 208, 209, 210, -1, -1, -1, 214, -1, - 216, 217, 218, 219, 220, 221, 222, 3, 4, -1, - -1, -1, 228, -1, -1, 231, 232, 233, 234, -1, - -1, 17, 18, 19, 20, 241, 242, 23, -1, -1, - -1, -1, -1, -1, 30, 31, 32, 33, 34, -1, - 36, 37, -1, -1, -1, -1, -1, 43, -1, -1, - -1, -1, -1, 49, 50, 51, -1, 53, -1, -1, - -1, -1, -1, -1, -1, 61, -1, -1, 64, -1, - -1, 67, -1, -1, -1, -1, 72, 73, -1, -1, - -1, -1, -1, 79, 80, 81, -1, 83, -1, 85, - 86, -1, 88, 89, 90, 91, 92, -1, 94, 95, - -1, -1, -1, -1, 100, -1, -1, 103, 104, -1, - -1, 107, -1, 109, -1, -1, -1, 113, 114, -1, - -1, 117, -1, -1, -1, -1, 122, 123, 124, 125, - -1, -1, -1, 129, 130, -1, -1, -1, 134, -1, - -1, 137, -1, -1, -1, -1, -1, -1, 144, 145, - 146, 147, -1, 149, 150, -1, 152, 153, -1, 155, - -1, -1, 158, 159, 160, 161, 162, -1, 164, 165, - -1, -1, 168, 169, 170, 171, 172, 173, 174, 175, - 176, -1, -1, -1, 180, -1, 182, 183, -1, 185, - 186, 187, -1, 189, -1, 191, -1, 193, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, -1, - 206, 207, 208, 209, 210, -1, -1, -1, 214, -1, - 216, 217, 218, 219, 220, 221, 222, 3, 4, -1, - -1, -1, 228, -1, -1, 231, 232, 233, 234, -1, - -1, -1, 18, 19, 20, 241, 242, -1, -1, -1, - -1, -1, -1, -1, -1, 31, 32, 33, 34, -1, - 36, 37, -1, -1, -1, -1, -1, 43, -1, -1, - -1, -1, -1, -1, -1, 51, -1, 53, -1, -1, - -1, -1, -1, -1, -1, 61, -1, -1, 64, -1, - -1, 67, -1, -1, -1, -1, 72, 73, -1, -1, - -1, -1, -1, 79, 80, 81, -1, 83, -1, 85, - 86, -1, -1, -1, -1, 91, 92, -1, 94, 95, - -1, -1, -1, -1, -1, -1, -1, 103, 104, -1, - -1, 107, -1, 109, -1, -1, -1, 113, 114, -1, - -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, - -1, -1, -1, -1, 130, -1, -1, -1, 134, -1, - -1, 137, -1, -1, -1, -1, -1, -1, 144, 145, - 146, 147, -1, 149, 150, -1, 152, 153, -1, 155, - -1, -1, 158, 159, 160, 161, 162, -1, 164, 165, - -1, -1, 168, 169, 170, 171, 172, 173, 174, 175, - 176, -1, -1, -1, 180, -1, 182, 183, -1, -1, - 186, 187, -1, 189, -1, 191, -1, 193, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, -1, - 206, 207, 208, 209, 210, -1, -1, -1, 214, -1, - 216, 217, 218, 219, 220, 221, 222, 3, 4, -1, - -1, -1, 228, -1, -1, -1, 232, 233, 234, -1, - -1, -1, 18, 19, 20, 241, 242, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 36, 37, -1, -1, -1, -1, -1, 43, -1, -1, - -1, -1, -1, -1, -1, 51, -1, 53, -1, -1, - -1, -1, -1, -1, -1, 61, -1, -1, 64, -1, - -1, 67, -1, -1, -1, -1, 72, 73, -1, -1, - -1, -1, -1, 79, 80, 81, -1, 83, -1, 85, - 86, -1, 88, -1, 90, 91, 92, -1, 94, 95, - -1, -1, -1, -1, -1, -1, -1, 103, 104, -1, - -1, 107, -1, 109, -1, -1, -1, 113, 114, -1, - -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, - -1, -1, -1, -1, 130, -1, -1, -1, -1, -1, - -1, 137, -1, -1, -1, -1, -1, -1, 144, 145, - 146, 147, -1, 149, 150, -1, 152, 153, -1, 155, - -1, -1, 158, 159, 160, 161, 162, -1, 164, 165, - -1, -1, 168, 169, 170, 171, 172, 173, 174, 175, - 176, -1, -1, -1, 180, -1, 182, 183, -1, -1, - 186, 187, -1, 189, -1, 191, -1, 193, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 204, -1, - 206, 207, 208, 209, 210, -1, -1, -1, 214, -1, - 216, 217, 218, 219, 220, 221, 222, 3, 4, -1, - -1, -1, 228, -1, -1, -1, 232, 233, 234, -1, - -1, -1, -1, 19, 20, 241, 242, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 36, 37, -1, -1, -1, -1, -1, 43, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 53, -1, -1, - -1, -1, -1, -1, -1, 61, -1, -1, 64, -1, - -1, -1, -1, -1, -1, -1, 72, 73, -1, -1, - -1, -1, -1, 79, 80, 81, -1, 83, -1, 85, - 86, -1, -1, -1, -1, 91, 92, -1, 94, 95, - -1, -1, -1, -1, -1, -1, -1, 103, 104, -1, - -1, 107, -1, 109, -1, -1, -1, 113, 114, -1, - -1, -1, -1, -1, -1, -1, 122, 123, 124, 125, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 137, -1, -1, -1, -1, -1, -1, 144, 145, - 146, 147, -1, 149, 150, -1, 152, 153, -1, 155, - -1, -1, 158, 159, 160, 161, 162, -1, 164, 165, - -1, -1, 168, 169, 170, 171, 172, 173, 174, 175, - 176, -1, -1, -1, 180, -1, 182, 183, -1, -1, - 186, 187, -1, 189, -1, 191, -1, 193, 194, 195, - 196, 197, -1, 199, 200, 201, 202, 203, 3, 4, - 206, 207, 208, 209, 210, -1, -1, -1, 214, 14, - 216, 217, 17, 18, 19, 20, -1, -1, 23, -1, - -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, - -1, 36, 37, -1, -1, -1, 242, -1, 43, -1, - -1, -1, -1, -1, 49, 50, 51, -1, 53, -1, - -1, 56, -1, -1, -1, -1, 61, -1, -1, 64, - -1, -1, 67, -1, -1, -1, -1, 72, 73, 74, - -1, -1, -1, -1, 79, 80, 81, -1, 83, -1, - 85, 86, -1, 88, 89, 90, 91, 92, -1, 94, - 95, -1, -1, -1, -1, 100, -1, -1, 103, 104, - -1, -1, 107, -1, 109, -1, -1, -1, 113, 114, - -1, -1, 117, -1, -1, -1, -1, 122, 123, 124, - 125, -1, 127, -1, 129, 130, -1, -1, -1, 134, - -1, -1, 137, -1, -1, -1, -1, -1, -1, 144, - 145, 146, 147, -1, 149, 150, -1, 152, 153, -1, - 155, -1, -1, 158, 159, 160, 161, 162, -1, 164, - 165, -1, -1, 168, 169, 170, 171, 172, 173, 174, - 175, 176, -1, -1, -1, 180, -1, 182, 183, -1, - 185, 186, 187, -1, 189, -1, 191, -1, 193, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, 204, - -1, 206, 207, 208, 209, 210, -1, -1, -1, 214, - -1, 216, 217, 218, 219, 220, 221, 222, -1, -1, - -1, -1, -1, 228, 3, 4, 231, 232, 233, 234, - -1, -1, -1, -1, -1, 14, 241, -1, 17, 18, - 19, 20, -1, -1, 23, -1, -1, -1, -1, -1, - -1, 30, 31, 32, 33, 34, -1, 36, 37, -1, - -1, -1, -1, -1, 43, -1, -1, -1, -1, -1, - 49, 50, 51, -1, 53, -1, -1, 56, -1, -1, - -1, -1, 61, -1, -1, 64, -1, -1, 67, -1, - -1, -1, -1, 72, 73, 74, -1, -1, -1, -1, - 79, 80, 81, -1, 83, -1, 85, 86, -1, 88, - 89, 90, 91, 92, -1, 94, 95, -1, -1, -1, - -1, 100, -1, -1, 103, 104, -1, -1, 107, -1, - 109, -1, -1, -1, 113, 114, -1, -1, 117, -1, - -1, -1, -1, 122, 123, 124, 125, -1, 127, -1, - 129, 130, -1, -1, -1, 134, -1, -1, 137, -1, - -1, -1, -1, -1, -1, 144, 145, 146, 147, -1, - 149, 150, -1, 152, 153, -1, 155, -1, -1, 158, - 159, 160, 161, 162, -1, 164, 165, -1, -1, 168, - 169, 170, 171, 172, 173, 174, 175, 176, -1, -1, - -1, 180, -1, 182, 183, -1, 185, 186, 187, -1, - 189, -1, 191, -1, 193, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, 204, -1, 206, 207, 208, - 209, 210, -1, -1, -1, 214, -1, 216, 217, 218, - 219, 220, 221, 222, -1, -1, -1, -1, -1, 228, - 3, 4, 231, 232, 233, 234, -1, -1, -1, -1, - -1, 14, 241, -1, 17, 18, 19, 20, -1, -1, - 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, 49, 50, 51, -1, - 53, -1, -1, 56, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, 74, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, 127, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, 6, -1, 228, 9, -1, 231, 232, - 233, 234, -1, -1, 17, 18, 19, 20, 241, -1, - 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, 49, 50, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, 6, -1, 228, 9, -1, 231, 232, - 233, 234, -1, -1, 17, 18, 19, 20, 241, -1, - 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, 49, 50, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, 6, -1, 228, 9, -1, 231, 232, - 233, 234, -1, -1, 17, 18, 19, 20, 241, -1, - 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, 49, 50, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, 6, -1, 228, 9, -1, 231, 232, - 233, 234, -1, -1, 17, 18, 19, 20, 241, -1, - 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, 49, 50, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, 6, -1, 228, 9, -1, 231, 232, - 233, 234, -1, -1, 17, 18, 19, 20, 241, -1, - 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, 49, 50, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, 6, -1, 228, 9, -1, 231, 232, - 233, 234, -1, -1, 17, 18, 19, 20, 241, -1, - 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, 49, 50, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, 6, -1, 228, 9, -1, 231, 232, - 233, 234, -1, -1, 17, 18, 19, 20, 241, -1, - 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, 49, 50, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, -1, -1, 228, -1, -1, 231, 232, - 233, 234, -1, -1, 17, 18, 19, 20, 241, -1, - 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, 49, 50, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, -1, -1, 228, 229, -1, 231, 232, - 233, 234, -1, -1, 17, 18, 19, 20, 241, -1, - 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, 49, 50, 51, -1, - 53, -1, -1, 56, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, -1, -1, 228, -1, -1, 231, 232, - 233, 234, -1, -1, 17, 18, 19, 20, 241, -1, - 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, 49, 50, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, 115, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, -1, -1, 228, -1, -1, 231, 232, - 233, 234, -1, -1, 17, 18, 19, 20, 241, -1, - 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, 49, 50, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, 115, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, -1, -1, 228, -1, -1, 231, 232, - 233, 234, -1, -1, 17, 18, 19, 20, 241, -1, - 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, 49, 50, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, -1, -1, 228, -1, -1, 231, 232, - 233, 234, -1, -1, 17, 18, 19, 20, 241, -1, - 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, 49, 50, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, 6, -1, 228, 9, -1, 231, 232, - 233, 234, -1, -1, 17, 18, 19, 20, 241, -1, - 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, 49, 50, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, -1, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, -1, 220, 221, 222, - 3, 4, -1, 6, -1, 228, 9, -1, 231, 232, - 233, 234, -1, -1, 17, 18, 19, 20, 241, -1, - 23, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, 49, 50, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, -1, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, -1, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, -1, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, -1, 220, 221, 222, - 3, 4, -1, -1, -1, -1, -1, -1, -1, 232, - 233, 234, -1, -1, -1, 18, 19, 20, 241, -1, - -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, -1, -1, -1, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, -1, -1, 228, -1, -1, 231, 232, - 233, 234, -1, -1, -1, 18, 19, 20, 241, -1, - -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, -1, -1, -1, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, -1, 220, 221, 222, - 3, 4, -1, -1, -1, 228, -1, -1, 231, 232, - 233, 234, -1, -1, -1, 18, 19, 20, 241, -1, - -1, -1, -1, -1, -1, -1, -1, 30, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, -1, -1, -1, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, -1, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, -1, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, -1, 220, 221, 222, - 3, 4, -1, -1, -1, -1, -1, -1, -1, 232, - 233, 234, -1, -1, -1, 18, 19, 20, 241, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, -1, -1, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, -1, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, -1, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, -1, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, -1, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, -1, -1, 228, -1, -1, -1, 232, - 233, 234, -1, -1, -1, 18, 19, 20, 241, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, -1, -1, -1, 91, 92, - -1, 94, 95, -1, -1, -1, -1, -1, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, -1, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, -1, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, -1, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, -1, -1, 228, -1, -1, -1, 232, - 233, 234, -1, -1, -1, 18, 19, 20, 241, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 31, 32, - 33, 34, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, -1, -1, -1, 91, 92, - -1, 94, 95, -1, -1, -1, -1, -1, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, -1, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, -1, 130, -1, -1, - -1, 134, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, -1, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, -1, 220, 221, 222, - 3, 4, -1, -1, -1, 228, -1, -1, -1, 232, - 233, 234, -1, -1, -1, 18, 19, 20, 241, -1, - -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, - -1, -1, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, -1, -1, -1, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, -1, -1, 228, -1, -1, -1, 232, - -1, -1, -1, -1, -1, 18, 19, 20, 241, -1, - -1, -1, -1, -1, -1, -1, -1, 30, -1, -1, - -1, -1, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, -1, -1, -1, 91, 92, - -1, 94, 95, -1, -1, -1, -1, 100, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, 117, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, 129, 130, -1, -1, - -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, 185, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, -1, 220, 221, 222, - 3, 4, -1, -1, -1, 228, -1, -1, -1, 232, - -1, -1, -1, -1, -1, 18, 19, 20, 241, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, 88, -1, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, -1, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, -1, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, -1, 130, -1, -1, - -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, -1, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, -1, -1, - -1, 214, -1, 216, 217, 218, 219, 220, 221, 222, - 3, 4, -1, -1, -1, 228, -1, -1, -1, 232, - 233, 234, -1, -1, -1, 18, 19, 20, 241, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 36, 37, -1, -1, -1, -1, -1, - 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, - 53, -1, -1, -1, -1, -1, -1, -1, 61, -1, - -1, 64, -1, -1, 67, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - 83, -1, 85, 86, -1, -1, -1, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, -1, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, -1, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, -1, 130, -1, -1, - -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, -1, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, 3, 4, - -1, 214, -1, 216, 217, 218, -1, 220, 221, 222, - -1, -1, -1, -1, -1, 228, -1, -1, -1, 232, - 233, 234, -1, -1, -1, 30, -1, -1, 241, -1, - -1, 36, -1, -1, -1, -1, -1, -1, 43, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 61, -1, -1, 64, - -1, -1, -1, -1, -1, -1, -1, 72, 73, -1, - -1, -1, -1, -1, 79, 80, 81, -1, -1, -1, - -1, 86, -1, -1, -1, -1, -1, 92, -1, 94, - 95, -1, -1, -1, -1, -1, -1, -1, 103, 104, - -1, -1, 107, -1, 109, -1, -1, -1, 113, 114, - -1, -1, -1, -1, -1, -1, -1, 122, 123, 124, - 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 144, - 145, 146, 147, -1, 149, 150, -1, 152, 153, -1, - 155, -1, -1, 158, 159, 160, 161, 162, -1, 164, - 165, -1, -1, 168, 169, 170, 171, 172, 173, 174, - 175, 176, -1, 3, 4, 180, -1, 182, 183, -1, - 185, 186, 187, -1, 189, -1, 191, -1, 193, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, -1, - -1, 206, 207, 208, 209, 210, 36, -1, -1, 214, - -1, 216, 217, 43, -1, -1, -1, -1, -1, -1, - -1, 8, -1, 10, -1, -1, 13, -1, -1, -1, - -1, 61, -1, -1, 64, -1, 241, -1, -1, -1, - -1, -1, 72, 73, -1, -1, -1, -1, -1, 79, - 80, 81, -1, -1, -1, -1, 86, -1, -1, -1, - -1, -1, 92, -1, 94, 95, -1, -1, -1, -1, - -1, -1, -1, 103, 104, 62, -1, 107, -1, 109, - -1, -1, 69, 113, 114, 115, -1, -1, -1, -1, - 77, -1, 122, 123, 124, 125, -1, -1, -1, -1, - -1, 88, -1, -1, -1, -1, -1, -1, -1, 96, - -1, -1, -1, -1, 144, 145, 146, 147, -1, 149, - 150, 8, 152, 153, -1, 155, 13, -1, 158, 159, - 160, 161, 162, -1, 164, 165, -1, -1, 168, 169, - 170, 171, 172, 173, 174, 175, 176, -1, -1, -1, - 180, 13, 182, 183, -1, -1, 186, 187, -1, 189, - -1, 191, -1, 193, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, -1, 62, 206, 207, 208, 209, - 210, -1, 69, -1, 214, -1, 216, 217, 175, -1, - 77, -1, 8, -1, -1, -1, -1, 13, -1, -1, - 62, 88, -1, -1, 191, -1, -1, 69, -1, 96, - -1, 241, -1, -1, -1, 77, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 88, -1, -1, -1, - -1, -1, 219, -1, -1, -1, -1, 224, 225, 226, - 227, 228, 229, 230, 231, -1, 62, -1, -1, -1, - -1, -1, 239, 69, -1, -1, -1, -1, -1, -1, - -1, 77, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 88, -1, -1, -1, -1, -1, -1, -1, - 96, -1, -1, -1, -1, -1, -1, -1, 175, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 191, -1, -1, -1, -1, -1, - -1, -1, -1, 175, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 191, - -1, -1, 219, -1, -1, -1, -1, 224, 225, 226, - 227, 228, 229, 230, 231, -1, -1, -1, -1, -1, - -1, -1, 239, -1, -1, -1, -1, 219, -1, 175, - 3, 4, 224, 225, 226, 227, 228, 229, 230, 231, - -1, -1, -1, -1, -1, 191, -1, 239, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, - 43, -1, -1, 219, -1, -1, -1, -1, 224, 225, - 226, 227, 228, 229, 230, 231, -1, -1, 61, -1, - -1, 64, -1, 239, -1, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - -1, -1, -1, 86, -1, -1, -1, -1, -1, 92, - -1, 94, 95, -1, -1, -1, -1, -1, -1, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, -1, -1, -1, -1, -1, 122, - 123, 124, 125, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 144, 145, 146, 147, -1, 149, 150, -1, 152, - 153, -1, 155, -1, -1, 158, 159, 160, 161, 162, - -1, 164, 165, -1, -1, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, -1, -1, 180, -1, 182, - 183, -1, -1, 186, 187, -1, 189, -1, 191, -1, - 193, 194, 195, 196, 197, -1, 199, 200, 201, 202, - 203, 204, -1, 206, 207, 208, 209, 210, 3, 4, - -1, 214, -1, 216, 217, 218, 219, 220, -1, 222, - -1, 224, 225, 226, 227, 228, 229, 230, 231, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 36, -1, -1, 39, -1, -1, -1, 43, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 61, -1, -1, 64, - -1, -1, -1, -1, -1, -1, 71, 72, 73, -1, - -1, -1, -1, -1, 79, 80, 81, -1, -1, -1, - -1, 86, -1, -1, -1, -1, -1, 92, -1, 94, - 95, -1, -1, -1, -1, -1, -1, -1, 103, 104, - 105, -1, 107, -1, 109, -1, -1, -1, 113, 114, - -1, -1, -1, -1, -1, -1, -1, 122, 123, 124, - 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 144, - 145, 146, 147, -1, 149, 150, -1, 152, 153, -1, - 155, -1, -1, 158, 159, 160, 161, 162, -1, 164, - 165, -1, -1, 168, 169, 170, 171, 172, 173, 174, - 175, 176, -1, 3, 4, 180, -1, 182, 183, -1, - -1, 186, 187, -1, 189, -1, 191, -1, 193, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, -1, - -1, 206, 207, 208, 209, 210, 36, -1, -1, 214, - -1, 216, 217, 43, 219, -1, -1, -1, -1, 224, - 225, 226, 227, 228, 229, 230, 231, -1, -1, -1, - -1, 61, -1, -1, 64, -1, -1, -1, -1, -1, - -1, 71, 72, 73, -1, -1, -1, -1, -1, 79, - 80, 81, -1, -1, -1, -1, 86, -1, -1, -1, - -1, -1, 92, -1, 94, 95, -1, -1, -1, -1, - -1, -1, -1, 103, 104, 105, -1, 107, -1, 109, - -1, -1, -1, 113, 114, -1, -1, -1, -1, -1, - -1, -1, 122, 123, 124, 125, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 144, 145, 146, 147, -1, 149, - 150, -1, 152, 153, -1, 155, -1, -1, 158, 159, - 160, 161, 162, -1, 164, 165, -1, -1, 168, 169, - 170, 171, 172, 173, 174, 175, 176, -1, 3, 4, - 180, -1, 182, 183, -1, -1, 186, 187, -1, 189, - -1, 191, -1, 193, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, -1, 30, 206, 207, 208, 209, - 210, 36, -1, -1, 214, -1, 216, 217, 43, 219, - -1, -1, -1, -1, 224, 225, 226, 227, 228, 229, - 230, 231, -1, -1, -1, -1, 61, -1, -1, 64, - -1, -1, -1, -1, -1, -1, -1, 72, 73, -1, - -1, -1, -1, -1, 79, 80, 81, -1, -1, -1, - -1, 86, -1, -1, -1, -1, -1, 92, -1, 94, - 95, -1, -1, -1, -1, -1, -1, -1, 103, 104, - -1, -1, 107, -1, 109, -1, -1, -1, 113, 114, - -1, -1, -1, -1, -1, -1, -1, 122, 123, 124, - 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 144, - 145, 146, 147, -1, 149, 150, -1, 152, 153, -1, - 155, -1, -1, 158, 159, 160, 161, 162, -1, 164, - 165, -1, -1, 168, 169, 170, 171, 172, 173, 174, - 175, 176, -1, 3, 4, 180, -1, 182, 183, -1, - 185, 186, 187, -1, 189, -1, 191, -1, 193, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, -1, - 30, 206, 207, 208, 209, 210, 36, -1, -1, 214, - -1, 216, 217, 43, -1, -1, 221, -1, -1, -1, - -1, -1, -1, -1, 229, -1, -1, -1, -1, -1, - -1, 61, -1, -1, 64, -1, -1, -1, -1, -1, - -1, -1, 72, 73, -1, -1, -1, -1, -1, 79, - 80, 81, -1, -1, -1, -1, 86, -1, -1, -1, - -1, -1, 92, -1, 94, 95, -1, -1, -1, -1, - -1, -1, -1, 103, 104, -1, -1, 107, -1, 109, - -1, -1, -1, 113, 114, -1, -1, -1, -1, -1, - -1, -1, 122, 123, 124, 125, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 144, 145, 146, 147, -1, 149, - 150, -1, 152, 153, -1, 155, -1, -1, 158, 159, - 160, 161, 162, -1, 164, 165, -1, -1, 168, 169, - 170, 171, 172, 173, 174, 175, 176, -1, 3, 4, - 180, -1, 182, 183, -1, 185, 186, 187, -1, 189, - -1, 191, -1, 193, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, - 210, 36, -1, -1, 214, -1, 216, 217, 43, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 229, - -1, -1, -1, -1, -1, -1, 61, -1, -1, 64, - -1, -1, -1, -1, -1, -1, -1, 72, 73, -1, - -1, -1, -1, -1, 79, 80, 81, -1, -1, -1, - -1, 86, -1, -1, -1, -1, -1, 92, -1, 94, - 95, -1, -1, -1, -1, -1, -1, -1, 103, 104, - -1, -1, 107, -1, 109, -1, -1, -1, 113, 114, - -1, -1, -1, -1, -1, -1, -1, 122, 123, 124, - 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 144, - 145, 146, 147, -1, 149, 150, -1, 152, 153, -1, - 155, -1, -1, 158, 159, 160, 161, 162, -1, 164, - 165, -1, -1, 168, 169, 170, 171, 172, 173, 174, - 175, 176, -1, 3, 4, 180, -1, 182, 183, -1, - -1, 186, 187, -1, 189, -1, 191, -1, 193, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, -1, - -1, 206, 207, 208, 209, 210, 36, -1, -1, 214, - -1, 216, 217, 43, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 229, -1, -1, -1, -1, -1, - -1, 61, -1, -1, 64, -1, -1, -1, -1, -1, - -1, -1, 72, 73, -1, -1, -1, -1, -1, 79, - 80, 81, -1, -1, -1, -1, 86, -1, -1, -1, - -1, -1, 92, -1, 94, 95, -1, -1, -1, -1, - -1, -1, -1, 103, 104, -1, -1, 107, -1, 109, - -1, -1, -1, 113, 114, -1, -1, -1, -1, -1, - -1, -1, 122, 123, 124, 125, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 144, 145, 146, 147, -1, 149, - 150, -1, 152, 153, -1, 155, -1, -1, 158, 159, - 160, 161, 162, -1, 164, 165, -1, -1, 168, 169, - 170, 171, 172, 173, 174, 175, 176, -1, 3, 4, - 180, -1, 182, 183, -1, -1, 186, 187, -1, 189, - -1, 191, -1, 193, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, - 210, 36, -1, -1, 214, -1, 216, 217, 43, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 229, - -1, -1, -1, -1, -1, -1, 61, -1, -1, 64, - -1, -1, -1, -1, -1, -1, -1, 72, 73, -1, - -1, -1, -1, -1, 79, 80, 81, -1, -1, -1, - -1, 86, -1, -1, -1, -1, -1, 92, -1, 94, - 95, -1, -1, -1, -1, -1, -1, -1, 103, 104, - -1, -1, 107, -1, 109, -1, -1, -1, 113, 114, - -1, -1, -1, -1, -1, -1, -1, 122, 123, 124, - 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 144, - 145, 146, 147, -1, 149, 150, -1, 152, 153, -1, - 155, -1, -1, 158, 159, 160, 161, 162, -1, 164, - 165, -1, -1, 168, 169, 170, 171, 172, 173, 174, - 175, 176, -1, 3, 4, 180, -1, 182, 183, -1, - -1, 186, 187, -1, 189, -1, 191, -1, 193, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, -1, - -1, 206, 207, 208, 209, 210, 36, -1, -1, 214, - -1, 216, 217, 43, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 229, -1, 13, -1, -1, -1, - -1, 61, -1, -1, 64, -1, -1, -1, -1, -1, - -1, -1, 72, 73, -1, -1, -1, -1, -1, 79, - 80, 81, -1, -1, -1, -1, 86, -1, -1, -1, - -1, -1, 92, -1, 94, 95, -1, -1, -1, -1, - -1, -1, -1, 103, 104, 62, -1, 107, -1, 109, - -1, -1, 69, 113, 114, -1, -1, -1, -1, -1, - 77, -1, 122, 123, 124, 125, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 144, 145, 146, 147, -1, 149, - 150, -1, 152, 153, -1, 155, -1, -1, 158, 159, - 160, 161, 162, -1, 164, 165, -1, -1, 168, 169, - 170, 171, 172, 173, 174, 175, 176, -1, -1, -1, - 180, -1, 182, 183, -1, -1, 186, 187, -1, 189, - -1, 191, -1, 193, 194, 195, 196, 197, -1, 199, - 200, 201, 202, 203, -1, -1, 206, 207, 208, 209, - 210, -1, -1, -1, 214, -1, 216, 217, 175, 3, - 4, -1, -1, -1, -1, -1, -1, -1, -1, 229, - -1, -1, -1, -1, 191, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 30, -1, -1, -1, - -1, -1, 36, -1, -1, -1, -1, -1, -1, 43, - -1, -1, 219, -1, -1, -1, -1, -1, 225, 226, - 227, 228, 229, 230, 231, -1, -1, 61, -1, -1, - 64, -1, 239, -1, -1, -1, -1, -1, 72, 73, - -1, -1, -1, -1, -1, 79, 80, 81, -1, -1, - -1, -1, 86, -1, -1, -1, -1, -1, 92, -1, - 94, 95, -1, -1, -1, -1, -1, -1, -1, 103, - 104, -1, -1, 107, -1, 109, -1, -1, -1, 113, - 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, - 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 144, 145, 146, 147, -1, 149, 150, -1, 152, 153, - -1, 155, -1, -1, 158, 159, 160, 161, 162, -1, - 164, 165, -1, -1, 168, 169, 170, 171, 172, 173, - 174, 175, 176, -1, -1, -1, 180, -1, 182, 183, - -1, 185, 186, 187, -1, 189, -1, 191, -1, 193, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - 3, 4, 206, 207, 208, 209, 210, -1, -1, -1, - 214, -1, 216, 217, 17, -1, -1, 221, -1, -1, - 23, -1, -1, -1, 27, -1, -1, 30, -1, -1, - -1, -1, -1, 36, -1, -1, -1, -1, -1, -1, - 43, -1, 45, 46, -1, -1, -1, -1, 51, -1, - -1, -1, 55, -1, -1, -1, 59, -1, 61, -1, - -1, 64, -1, -1, -1, -1, -1, -1, -1, 72, - 73, -1, -1, -1, -1, -1, 79, 80, 81, -1, - -1, -1, -1, 86, -1, -1, 89, -1, -1, 92, - -1, 94, 95, -1, 97, -1, -1, 100, 101, -1, - 103, 104, -1, -1, 107, -1, 109, -1, -1, -1, - 113, 114, -1, -1, -1, 118, -1, -1, 121, 122, - 123, 124, 125, -1, -1, 128, -1, 130, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 140, -1, -1, - -1, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, - 173, 174, 175, 176, -1, 178, 179, 180, 181, 182, - 183, 184, 185, 186, 187, 188, 189, -1, 191, -1, - 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, - 203, 204, 205, 206, 207, 208, 209, 210, 3, 4, - 213, 214, 215, 216, 217, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 19, 20, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 36, 37, -1, -1, -1, -1, -1, 43, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 53, -1, - -1, -1, -1, -1, -1, -1, 61, -1, -1, 64, - -1, -1, -1, -1, -1, -1, -1, 72, 73, -1, - -1, -1, -1, -1, 79, 80, 81, -1, 83, -1, - 85, 86, -1, -1, -1, -1, 91, 92, -1, 94, - 95, -1, -1, -1, -1, -1, -1, -1, 103, 104, - -1, -1, 107, -1, 109, -1, -1, -1, 113, 114, - -1, -1, -1, -1, -1, -1, -1, 122, 123, 124, - 125, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 137, -1, -1, -1, -1, -1, -1, 144, - 145, 146, 147, -1, 149, 150, -1, 152, 153, -1, - 155, -1, -1, 158, 159, 160, 161, 162, -1, 164, - 165, -1, -1, 168, 169, 170, 171, 172, 173, 174, - 175, 176, -1, -1, -1, 180, -1, 182, 183, -1, - -1, 186, 187, -1, 189, -1, 191, -1, 193, 194, - 195, 196, 197, -1, 199, 200, 201, 202, 203, 3, - 4, 206, 207, 208, 209, 210, -1, -1, -1, 214, - -1, 216, 217, -1, -1, -1, -1, 21, -1, -1, - -1, -1, -1, 27, -1, -1, -1, -1, -1, -1, - -1, -1, 36, -1, -1, -1, -1, -1, -1, 43, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 55, -1, -1, -1, -1, -1, 61, -1, -1, - 64, -1, -1, -1, -1, -1, -1, -1, 72, 73, - -1, -1, -1, -1, -1, 79, 80, 81, -1, -1, - -1, -1, 86, -1, -1, -1, -1, -1, 92, -1, - 94, 95, -1, -1, -1, -1, -1, -1, 102, 103, - 104, -1, -1, 107, -1, 109, -1, -1, -1, 113, - 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, - 124, 125, -1, -1, -1, -1, -1, -1, 132, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 144, 145, 146, 147, -1, 149, 150, -1, 152, 153, - -1, 155, -1, -1, 158, 159, 160, 161, 162, -1, - 164, 165, -1, -1, 168, 169, 170, 171, 172, 173, - 174, 175, 176, -1, 3, 4, 180, -1, 182, 183, - -1, -1, 186, 187, -1, 189, -1, 191, -1, 193, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - -1, -1, 206, 207, 208, 209, 210, 36, -1, -1, - 214, -1, 216, 217, 43, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 61, -1, -1, 64, -1, -1, -1, -1, - -1, -1, -1, 72, 73, -1, -1, -1, -1, -1, - 79, 80, 81, 82, -1, -1, -1, 86, -1, -1, - -1, -1, -1, 92, -1, 94, 95, -1, -1, -1, - -1, -1, -1, -1, 103, 104, -1, -1, 107, -1, - 109, -1, -1, -1, 113, 114, -1, -1, -1, -1, - -1, -1, -1, 122, 123, 124, 125, -1, -1, 128, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 144, 145, 146, 147, -1, - 149, 150, -1, 152, 153, -1, 155, -1, -1, 158, - 159, 160, 161, 162, -1, 164, 165, -1, -1, 168, - 169, 170, 171, 172, 173, 174, 175, 176, -1, 3, - 4, 180, -1, 182, 183, -1, -1, 186, 187, -1, - 189, -1, 191, -1, 193, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, -1, 30, 206, 207, 208, - 209, 210, 36, -1, -1, 214, -1, 216, 217, 43, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 61, -1, -1, - 64, -1, -1, -1, -1, -1, -1, -1, 72, 73, - -1, -1, -1, -1, -1, 79, 80, 81, -1, -1, - -1, -1, 86, -1, -1, -1, -1, -1, 92, -1, - 94, 95, -1, -1, -1, -1, -1, -1, -1, 103, - 104, -1, -1, 107, -1, 109, -1, -1, -1, 113, - 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, - 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 144, 145, 146, 147, -1, 149, 150, -1, 152, 153, - -1, 155, -1, -1, 158, 159, 160, 161, 162, -1, - 164, 165, -1, -1, 168, 169, 170, 171, 172, 173, - 174, 175, 176, -1, 3, 4, 180, -1, 182, 183, - -1, 185, 186, 187, -1, 189, -1, 191, -1, 193, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - -1, -1, 206, 207, 208, 209, 210, 36, -1, -1, - 214, -1, 216, 217, 43, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 59, -1, 61, -1, -1, 64, -1, -1, -1, -1, - -1, -1, -1, 72, 73, -1, -1, -1, -1, -1, - 79, 80, 81, -1, -1, -1, -1, 86, -1, -1, - -1, -1, -1, 92, -1, 94, 95, -1, -1, -1, - -1, -1, -1, -1, 103, 104, -1, 106, 107, -1, - 109, -1, -1, -1, 113, 114, -1, -1, -1, -1, - -1, -1, -1, 122, 123, 124, 125, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 144, 145, 146, 147, -1, - 149, 150, -1, 152, 153, -1, 155, -1, -1, 158, - 159, 160, 161, 162, -1, 164, 165, -1, -1, 168, - 169, 170, 171, 172, 173, 174, 175, 176, -1, 3, - 4, 180, -1, 182, 183, -1, -1, 186, 187, -1, - 189, -1, 191, -1, 193, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, -1, -1, 206, 207, 208, - 209, 210, 36, -1, -1, 214, -1, 216, 217, 43, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 61, -1, -1, - 64, -1, -1, -1, -1, -1, -1, -1, 72, 73, - -1, -1, -1, -1, -1, 79, 80, 81, -1, -1, - -1, -1, 86, -1, -1, -1, -1, -1, 92, -1, - 94, 95, -1, -1, -1, -1, -1, -1, -1, 103, - 104, -1, -1, 107, -1, 109, -1, -1, -1, 113, - 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, - 124, 125, -1, -1, 128, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 144, 145, 146, 147, -1, 149, 150, -1, 152, 153, - -1, 155, -1, -1, 158, 159, 160, 161, 162, -1, - 164, 165, -1, -1, 168, 169, 170, 171, 172, 173, - 174, 175, 176, -1, 3, 4, 180, -1, 182, 183, - -1, -1, 186, 187, -1, 189, -1, 191, -1, 193, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - -1, -1, 206, 207, 208, 209, 210, 36, -1, -1, - 214, -1, 216, 217, 43, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 61, -1, -1, 64, -1, -1, -1, -1, - -1, -1, -1, 72, 73, -1, -1, -1, -1, -1, - 79, 80, 81, -1, -1, -1, -1, 86, -1, -1, - -1, -1, -1, 92, -1, 94, 95, -1, -1, -1, - -1, -1, -1, -1, 103, 104, -1, -1, 107, -1, - 109, -1, -1, -1, 113, 114, -1, -1, -1, -1, - -1, -1, -1, 122, 123, 124, 125, -1, -1, 128, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 144, 145, 146, 147, -1, - 149, 150, -1, 152, 153, -1, 155, -1, -1, 158, - 159, 160, 161, 162, -1, 164, 165, -1, -1, 168, - 169, 170, 171, 172, 173, 174, 175, 176, -1, 3, - 4, 180, -1, 182, 183, -1, -1, 186, 187, -1, - 189, -1, 191, -1, 193, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, -1, -1, 206, 207, 208, - 209, 210, 36, -1, -1, 214, -1, 216, 217, 43, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 61, -1, -1, - 64, -1, -1, -1, -1, -1, -1, -1, 72, 73, - -1, -1, -1, -1, -1, 79, 80, 81, -1, -1, - -1, -1, 86, -1, -1, -1, -1, -1, 92, -1, - 94, 95, -1, -1, -1, -1, -1, -1, -1, 103, - 104, -1, -1, 107, -1, 109, -1, -1, -1, 113, - 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, - 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 144, 145, 146, 147, -1, 149, 150, -1, 152, 153, - -1, 155, -1, -1, 158, 159, 160, 161, 162, -1, - 164, 165, -1, -1, 168, 169, 170, 171, 172, 173, - 174, 175, 176, -1, 3, 4, 180, -1, 182, 183, - -1, -1, 186, 187, 188, 189, -1, 191, -1, 193, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - -1, -1, 206, 207, 208, 209, 210, 36, -1, -1, - 214, -1, 216, 217, 43, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 61, -1, -1, 64, -1, -1, -1, -1, - -1, -1, -1, 72, 73, -1, -1, -1, -1, -1, - 79, 80, 81, -1, -1, -1, -1, 86, -1, -1, - -1, -1, -1, 92, -1, 94, 95, -1, -1, -1, - -1, -1, -1, -1, 103, 104, -1, -1, 107, -1, - 109, -1, -1, -1, 113, 114, -1, -1, -1, -1, - -1, -1, -1, 122, 123, 124, 125, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 144, 145, 146, 147, -1, - 149, 150, -1, 152, 153, -1, 155, -1, -1, 158, - 159, 160, 161, 162, -1, 164, 165, -1, -1, 168, - 169, 170, 171, 172, 173, 174, 175, 176, -1, 3, - 4, 180, -1, 182, 183, -1, 10, 186, 187, 188, - 189, -1, 191, -1, 193, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, -1, -1, 206, 207, 208, - 209, 210, 36, -1, -1, 214, -1, 216, 217, 43, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 61, -1, -1, - 64, -1, -1, -1, -1, -1, -1, -1, 72, 73, - -1, -1, -1, -1, -1, 79, 80, 81, -1, -1, - -1, -1, 86, -1, -1, -1, -1, -1, 92, -1, - 94, 95, -1, -1, -1, -1, -1, -1, -1, 103, - 104, -1, -1, 107, -1, 109, -1, -1, -1, 113, - 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, - 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 144, 145, 146, 147, -1, 149, 150, -1, 152, 153, - -1, 155, -1, -1, 158, 159, 160, 161, 162, -1, - 164, 165, -1, -1, 168, 169, 170, 171, 172, 173, - 174, 175, 176, -1, 3, 4, 180, -1, 182, 183, - -1, -1, 186, 187, -1, 189, -1, 191, -1, 193, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - -1, -1, 206, 207, 208, 209, 210, 36, -1, -1, - 214, -1, 216, 217, 43, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 61, -1, -1, 64, -1, -1, -1, -1, - -1, -1, -1, 72, 73, -1, -1, -1, -1, -1, - 79, 80, 81, -1, -1, -1, -1, 86, -1, -1, - -1, -1, -1, 92, -1, 94, 95, -1, -1, -1, - -1, -1, -1, -1, 103, 104, -1, -1, 107, -1, - 109, -1, -1, -1, 113, 114, -1, -1, -1, -1, - -1, -1, -1, 122, 123, 124, 125, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 144, 145, 146, 147, -1, - 149, 150, -1, 152, 153, -1, 155, -1, -1, 158, - 159, 160, 161, 162, -1, 164, 165, -1, -1, 168, - 169, 170, 171, 172, 173, 174, 175, 176, -1, 3, - 4, 180, -1, 182, 183, -1, -1, 186, 187, -1, - 189, -1, 191, -1, 193, 194, 195, 196, 197, -1, - 199, 200, 201, 202, 203, -1, -1, 206, 207, 208, - 209, 210, 36, -1, -1, 214, -1, 216, 217, 43, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 61, -1, -1, - 64, -1, -1, -1, -1, -1, -1, -1, 72, 73, - -1, -1, -1, -1, -1, 79, 80, 81, -1, -1, - -1, -1, 86, -1, -1, -1, -1, -1, 92, -1, - 94, 95, -1, -1, -1, -1, -1, -1, -1, 103, - 104, -1, -1, 107, -1, 109, -1, -1, -1, 113, - 114, -1, -1, -1, -1, -1, -1, -1, 122, 123, - 124, 125, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 144, 145, 146, 147, -1, 149, 150, -1, 152, 153, - -1, 155, -1, -1, 158, 159, 160, 161, 162, -1, - 164, 165, -1, -1, 168, 169, 170, 171, 172, 173, - 174, 175, 176, -1, -1, -1, 180, -1, 182, 183, - -1, -1, 186, 187, -1, 189, -1, 191, -1, 193, - 194, 195, 196, 197, -1, 199, 200, 201, 202, 203, - 19, 20, 206, 207, 208, 209, 210, -1, -1, -1, - 214, -1, 216, 217, -1, -1, -1, 36, 37, -1, - -1, -1, -1, -1, 43, -1, 19, 20, -1, -1, - -1, -1, 51, -1, 53, -1, -1, -1, -1, -1, - -1, -1, 61, 36, 37, -1, -1, -1, 67, -1, - 43, -1, -1, -1, -1, -1, -1, -1, 51, -1, - 53, 80, 81, -1, 83, -1, 85, -1, 61, -1, - -1, -1, 91, -1, 67, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 80, 81, -1, - 83, -1, 85, -1, -1, 114, 115, -1, 91, -1, - -1, -1, -1, 122, 123, -1, -1, -1, -1, -1, - -1, 130, -1, -1, 19, 20, -1, -1, 137, -1, - -1, 114, -1, -1, -1, 144, -1, -1, 147, 122, - 123, 36, 37, -1, -1, -1, -1, 130, 43, -1, - -1, -1, -1, -1, 137, -1, -1, -1, 53, -1, - -1, 144, -1, -1, 147, -1, 61, -1, -1, -1, - -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 19, 20, -1, 80, 81, -1, 83, -1, - 85, -1, -1, -1, -1, 204, 91, -1, -1, 36, - 37, -1, -1, -1, -1, -1, 43, -1, 217, 218, - -1, 220, 221, 222, -1, -1, 53, -1, -1, 114, - -1, 204, -1, -1, 61, -1, -1, 122, 123, -1, - 67, -1, -1, -1, 217, 218, -1, 220, 221, 222, - 19, 20, 137, 80, 81, -1, 83, -1, 85, 144, - -1, -1, 147, -1, 91, -1, -1, 36, 37, -1, - -1, -1, -1, -1, 43, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 53, -1, -1, 114, -1, -1, - -1, -1, 61, -1, -1, 122, 123, -1, 67, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 137, 80, 81, -1, 83, -1, 85, 144, 203, 204, - 147, -1, 91, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 217, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 114, -1, -1, -1, -1, - -1, -1, -1, 122, 123, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 137, -1, - -1, -1, -1, -1, -1, 144, -1, 204, 147, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 217, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 217 -}; -/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/share/misc/bison.simple" - -/* Skeleton output parser for bison, - Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -#ifndef alloca -#ifdef __GNUC__ -#define alloca __builtin_alloca -#else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) -#include -#else /* not sparc */ -#if defined (MSDOS) && !defined (__TURBOC__) -#include -#else /* not MSDOS, or __TURBOC__ */ -#if defined(_AIX) -#include - #pragma alloca -#else /* not MSDOS, __TURBOC__, or _AIX */ -#ifdef __hpux -#ifdef __cplusplus -extern "C" { -void *alloca (unsigned int); -}; -#else /* not __cplusplus */ -void *alloca (); -#endif /* not __cplusplus */ -#endif /* __hpux */ -#endif /* not _AIX */ -#endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc. */ -#endif /* not GNU C. */ -#endif /* alloca not defined. */ - -/* This is the parser code that is written into each bison parser - when the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ - -/* Note: there must be only one dollar sign in this file. - It is replaced by the list of actions, each action - as one case of the switch. */ - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY -2 -#define YYEOF 0 -#define YYACCEPT return(0) -#define YYABORT return(1) -#define YYERROR goto yyerrlab1 -/* Like YYERROR except do call yyerror. - This remains here temporarily to ease the - transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ -#define YYFAIL goto yyerrlab -#define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(token, value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { yychar = (token), yylval = (value); \ - yychar1 = YYTRANSLATE (yychar); \ - YYPOPSTACK; \ - goto yybackup; \ - } \ - else \ - { yyerror ("syntax error: cannot back up"); YYERROR; } \ -while (0) - -#define YYTERROR 1 -#define YYERRCODE 256 - -#ifndef YYPURE -#define YYLEX yylex() -#endif - -#ifdef YYPURE -#ifdef YYLSP_NEEDED -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval, &yylloc) -#endif -#else /* not YYLSP_NEEDED */ -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval) -#endif -#endif /* not YYLSP_NEEDED */ -#endif - -/* If nonreentrant, generate the variables here */ - -#ifndef YYPURE - -int yychar; /* the lookahead symbol */ -YYSTYPE yylval; /* the semantic value of the */ - /* lookahead symbol */ - -#ifdef YYLSP_NEEDED -YYLTYPE yylloc; /* location data for the lookahead */ - /* symbol */ -#endif - -int yynerrs; /* number of parse errors so far */ -#endif /* not YYPURE */ - -#if YYDEBUG != 0 -int yydebug; /* nonzero means print parse trace */ -/* Since this is uninitialized, it does not stop multiple parsers - from coexisting. */ -#endif - -/* YYINITDEPTH indicates the initial size of the parser's stacks */ - -#ifndef YYINITDEPTH -#define YYINITDEPTH 200 -#endif - -/* YYMAXDEPTH is the maximum size the stacks can grow to - (effective only if the built-in stack extension method is used). */ - -#if YYMAXDEPTH == 0 -#undef YYMAXDEPTH -#endif - -#ifndef YYMAXDEPTH -#define YYMAXDEPTH 10000 -#endif - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -int yyparse (void); -#endif - -#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ -#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) -#else /* not GNU C or C++ */ -#ifndef __cplusplus - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (to, from, count) - char *to; - char *from; - int count; -{ - register char *f = from; - register char *t = to; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#else /* __cplusplus */ - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (char *to, char *from, int count) -{ - register char *f = from; - register char *t = to; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#endif -#endif - -#line 196 "/usr/share/misc/bison.simple" - -/* The user can define YYPARSE_PARAM as the name of an argument to be passed - into yyparse. The argument should have type void *. - It should actually point to an object. - Grammar actions can access the variable by casting it - to the proper pointer type. */ - -#ifdef YYPARSE_PARAM -#ifdef __cplusplus -#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM -#define YYPARSE_PARAM_DECL -#else /* not __cplusplus */ -#define YYPARSE_PARAM_ARG YYPARSE_PARAM -#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; -#endif /* not __cplusplus */ -#else /* not YYPARSE_PARAM */ -#define YYPARSE_PARAM_ARG -#define YYPARSE_PARAM_DECL -#endif /* not YYPARSE_PARAM */ - -int -yyparse(YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL -{ - register int yystate; - register int yyn; - register short *yyssp; - register YYSTYPE *yyvsp; - int yyerrstatus; /* number of tokens to shift before error messages enabled */ - int yychar1 = 0; /* lookahead token as an internal (translated) token number */ - - short yyssa[YYINITDEPTH]; /* the state stack */ - YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ - - short *yyss = yyssa; /* refer to the stacks thru separate pointers */ - YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ - -#ifdef YYLSP_NEEDED - YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ - YYLTYPE *yyls = yylsa; - YYLTYPE *yylsp; - -#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) -#else -#define YYPOPSTACK (yyvsp--, yyssp--) -#endif - - int yystacksize = YYINITDEPTH; - -#ifdef YYPURE - int yychar; - YYSTYPE yylval; - int yynerrs; -#ifdef YYLSP_NEEDED - YYLTYPE yylloc; -#endif -#endif - - YYSTYPE yyval; /* the variable used to return */ - /* semantic values from the action */ - /* routines */ - - int yylen; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Starting parse\n"); -#endif - - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - - yyssp = yyss - 1; - yyvsp = yyvs; -#ifdef YYLSP_NEEDED - yylsp = yyls; -#endif - -/* Push a new state, which is found in yystate . */ -/* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. */ -yynewstate: - - *++yyssp = yystate; - - if (yyssp >= yyss + yystacksize - 1) - { - /* Give user a chance to reallocate the stack */ - /* Use copies of these so that the &'s don't force the real ones into memory. */ - YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; -#ifdef YYLSP_NEEDED - YYLTYPE *yyls1 = yyls; -#endif - - /* Get the current used size of the three stacks, in elements. */ - int size = yyssp - yyss + 1; - -#ifdef yyoverflow - /* Each stack pointer address is followed by the size of - the data in use in that stack, in bytes. */ -#ifdef YYLSP_NEEDED - /* This used to be a conditional around just the two extra args, - but that might be undefined if yyoverflow is a macro. */ - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yyls1, size * sizeof (*yylsp), - &yystacksize); -#else - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yystacksize); -#endif - - yyss = yyss1; yyvs = yyvs1; -#ifdef YYLSP_NEEDED - yyls = yyls1; -#endif -#else /* no yyoverflow */ - /* Extend the stack our own way. */ - if (yystacksize >= YYMAXDEPTH) - { - yyerror("parser stack overflow"); - return 2; - } - yystacksize *= 2; - if (yystacksize > YYMAXDEPTH) - yystacksize = YYMAXDEPTH; - yyss = (short *) alloca (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp)); - yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp)); -#ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp)); -#endif -#endif /* no yyoverflow */ - - yyssp = yyss + size - 1; - yyvsp = yyvs + size - 1; -#ifdef YYLSP_NEEDED - yylsp = yyls + size - 1; -#endif - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Stack size increased to %d\n", yystacksize); -#endif - - if (yyssp >= yyss + yystacksize - 1) - YYABORT; - } - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Entering state %d\n", yystate); -#endif - - goto yybackup; - yybackup: - -/* Do appropriate processing given the current state. */ -/* Read a lookahead token if we need one and don't already have one. */ -/* yyresume: */ - - /* First try to decide what to do without reference to lookahead token. */ - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yydefault; - - /* Not known => get a lookahead token if don't already have one. */ - - /* yychar is either YYEMPTY or YYEOF - or a valid token in external form. */ - - if (yychar == YYEMPTY) - { -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Reading a token: "); -#endif - yychar = YYLEX; - } - - /* Convert token to internal form (in yychar1) for indexing tables with */ - - if (yychar <= 0) /* This means end of input. */ - { - yychar1 = 0; - yychar = YYEOF; /* Don't call YYLEX any more */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Now at end of input.\n"); -#endif - } - else - { - yychar1 = YYTRANSLATE(yychar); - -#if YYDEBUG != 0 - if (yydebug) - { - fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); - /* Give the individual parser a way to print the precise meaning - of a token, for further debugging info. */ -#ifdef YYPRINT - YYPRINT (stderr, yychar, yylval); -#endif - fprintf (stderr, ")\n"); - } -#endif - } - - yyn += yychar1; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) - goto yydefault; - - yyn = yytable[yyn]; - - /* yyn is what to do for this token type in this state. - Negative => reduce, -yyn is rule number. - Positive => shift, yyn is new state. - New state is final state => don't bother to shift, - just return success. - 0, or most negative number => error. */ - - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrlab; - - if (yyn == YYFINAL) - YYACCEPT; - - /* Shift the lookahead token. */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); -#endif - - /* Discard the token being shifted unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - /* count tokens shifted since error; after three, turn off error status. */ - if (yyerrstatus) yyerrstatus--; - - yystate = yyn; - goto yynewstate; - -/* Do the default action for the current state. */ -yydefault: - - yyn = yydefact[yystate]; - if (yyn == 0) - goto yyerrlab; - -/* Do a reduction. yyn is the number of a rule to reduce with. */ -yyreduce: - yylen = yyr2[yyn]; - if (yylen > 0) - yyval = yyvsp[1-yylen]; /* implement default value of the action */ - -#if YYDEBUG != 0 - if (yydebug) - { - int i; - - fprintf (stderr, "Reducing via rule %d (line %d), ", - yyn, yyrline[yyn]); - - /* Print the symbols being reduced, and their result. */ - for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) - fprintf (stderr, "%s ", yytname[yyrhs[i]]); - fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); - } -#endif - - - switch (yyn) { - -case 1: -#line 359 "gram.y" -{ parsetree = yyvsp[0].list; ; - break;} -case 2: -#line 361 "gram.y" -{ parsetree = lcons(yyvsp[0].node,NIL); ; - break;} -case 3: -#line 365 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[-1].node); ; - break;} -case 4: -#line 374 "gram.y" -{ yyval.list = lcons(yyvsp[-1].node,NIL); ; - break;} -case 47: -#line 430 "gram.y" -{ - CreateUserStmt *n = makeNode(CreateUserStmt); - n->user = yyvsp[-5].str; - n->password = yyvsp[-4].str; - n->createdb = yyvsp[-3].pboolean; - n->createuser = yyvsp[-2].pboolean; - n->groupElts = yyvsp[-1].list; - n->validUntil = yyvsp[0].str; - yyval.node = (Node *)n; - ; - break;} -case 48: -#line 451 "gram.y" -{ - AlterUserStmt *n = makeNode(AlterUserStmt); - n->user = yyvsp[-5].str; - n->password = yyvsp[-4].str; - n->createdb = yyvsp[-3].pboolean; - n->createuser = yyvsp[-2].pboolean; - n->groupElts = yyvsp[-1].list; - n->validUntil = yyvsp[0].str; - yyval.node = (Node *)n; - ; - break;} -case 49: -#line 471 "gram.y" -{ - DropUserStmt *n = makeNode(DropUserStmt); - n->user = yyvsp[0].str; - yyval.node = (Node *)n; - ; - break;} -case 50: -#line 478 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 51: -#line 479 "gram.y" -{ yyval.str = NULL; ; - break;} -case 52: -#line 483 "gram.y" -{ - bool* b; - yyval.pboolean = (b = (bool*)palloc(sizeof(bool))); - *b = true; - ; - break;} -case 53: -#line 489 "gram.y" -{ - bool* b; - yyval.pboolean = (b = (bool*)palloc(sizeof(bool))); - *b = false; - ; - break;} -case 54: -#line 494 "gram.y" -{ yyval.pboolean = NULL; ; - break;} -case 55: -#line 498 "gram.y" -{ - bool* b; - yyval.pboolean = (b = (bool*)palloc(sizeof(bool))); - *b = true; - ; - break;} -case 56: -#line 504 "gram.y" -{ - bool* b; - yyval.pboolean = (b = (bool*)palloc(sizeof(bool))); - *b = false; - ; - break;} -case 57: -#line 509 "gram.y" -{ yyval.pboolean = NULL; ; - break;} -case 58: -#line 513 "gram.y" -{ - yyval.list = lcons((void*)makeString(yyvsp[0].str), yyvsp[-2].list); - ; - break;} -case 59: -#line 517 "gram.y" -{ - yyval.list = lcons((void*)makeString(yyvsp[0].str), NIL); - ; - break;} -case 60: -#line 522 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} -case 61: -#line 523 "gram.y" -{ yyval.list = NULL; ; - break;} -case 62: -#line 526 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 63: -#line 527 "gram.y" -{ yyval.str = NULL; ; - break;} -case 64: -#line 540 "gram.y" -{ - VariableSetStmt *n = makeNode(VariableSetStmt); - n->name = yyvsp[-2].str; - n->value = yyvsp[0].str; - yyval.node = (Node *) n; - ; - break;} -case 65: -#line 547 "gram.y" -{ - VariableSetStmt *n = makeNode(VariableSetStmt); - n->name = yyvsp[-2].str; - n->value = yyvsp[0].str; - yyval.node = (Node *) n; - ; - break;} -case 66: -#line 554 "gram.y" -{ - VariableSetStmt *n = makeNode(VariableSetStmt); - n->name = "timezone"; - n->value = yyvsp[0].str; - yyval.node = (Node *) n; - ; - break;} -case 67: -#line 561 "gram.y" -{ - VariableSetStmt *n = makeNode(VariableSetStmt); - n->name = "XactIsoLevel"; - n->value = yyvsp[0].str; - if (strcasecmp(n->value, "COMMITTED")) - elog(ERROR,"parser: syntax error at or near \"%s\"", n->value); - yyval.node = (Node *) n; - ; - break;} -case 68: -#line 570 "gram.y" -{ - VariableSetStmt *n = makeNode(VariableSetStmt); - n->name = "XactIsoLevel"; - n->value = yyvsp[0].str; - if (strcasecmp(n->value, "SERIALIZABLE")) - elog(ERROR,"parser: syntax error at or near \"%s\"", n->value); - yyval.node = (Node *) n; - ; - break;} -case 69: -#line 579 "gram.y" -{ -#ifdef MB - VariableSetStmt *n = makeNode(VariableSetStmt); - n->name = "client_encoding"; - n->value = yyvsp[0].str; - yyval.node = (Node *) n; -#else - elog(ERROR, "SET NAMES is not supported"); -#endif - ; - break;} -case 70: -#line 591 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 71: -#line 592 "gram.y" -{ yyval.str = NULL; ; - break;} -case 72: -#line 595 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 73: -#line 596 "gram.y" -{ yyval.str = NULL; ; - break;} -case 74: -#line 597 "gram.y" -{ yyval.str = NULL; ; - break;} -case 75: -#line 601 "gram.y" -{ - VariableShowStmt *n = makeNode(VariableShowStmt); - n->name = yyvsp[0].str; - yyval.node = (Node *) n; - ; - break;} -case 76: -#line 607 "gram.y" -{ - VariableShowStmt *n = makeNode(VariableShowStmt); - n->name = "timezone"; - yyval.node = (Node *) n; - ; - break;} -case 77: -#line 613 "gram.y" -{ - VariableShowStmt *n = makeNode(VariableShowStmt); - n->name = "XactIsoLevel"; - yyval.node = (Node *) n; - ; - break;} -case 78: -#line 621 "gram.y" -{ - VariableResetStmt *n = makeNode(VariableResetStmt); - n->name = yyvsp[0].str; - yyval.node = (Node *) n; - ; - break;} -case 79: -#line 627 "gram.y" -{ - VariableResetStmt *n = makeNode(VariableResetStmt); - n->name = "timezone"; - yyval.node = (Node *) n; - ; - break;} -case 80: -#line 633 "gram.y" -{ - VariableResetStmt *n = makeNode(VariableResetStmt); - n->name = "XactIsoLevel"; - yyval.node = (Node *) n; - ; - break;} -case 81: -#line 649 "gram.y" -{ - AddAttrStmt *n = makeNode(AddAttrStmt); - n->relname = yyvsp[-2].str; - n->inh = yyvsp[-1].boolean; - n->colDef = yyvsp[0].node; - yyval.node = (Node *)n; - ; - break;} -case 82: -#line 659 "gram.y" -{ - yyval.node = yyvsp[0].node; - ; - break;} -case 83: -#line 663 "gram.y" -{ - Node *lp = lfirst(yyvsp[-1].list); - - if (length(yyvsp[-1].list) != 1) - elog(ERROR,"ALTER TABLE/ADD() allows one column only"); - yyval.node = lp; - ; - break;} -case 84: -#line 671 "gram.y" -{ elog(ERROR,"ALTER TABLE/DROP COLUMN not yet implemented"); ; - break;} -case 85: -#line 673 "gram.y" -{ elog(ERROR,"ALTER TABLE/ALTER COLUMN/SET DEFAULT not yet implemented"); ; - break;} -case 86: -#line 675 "gram.y" -{ elog(ERROR,"ALTER TABLE/ALTER COLUMN/DROP DEFAULT not yet implemented"); ; - break;} -case 87: -#line 677 "gram.y" -{ elog(ERROR,"ALTER TABLE/ADD CONSTRAINT not yet implemented"); ; - break;} -case 88: -#line 689 "gram.y" -{ - ClosePortalStmt *n = makeNode(ClosePortalStmt); - n->portalname = yyvsp[0].str; - yyval.node = (Node *)n; - ; - break;} -case 89: -#line 706 "gram.y" -{ - CopyStmt *n = makeNode(CopyStmt); - n->binary = yyvsp[-5].boolean; - n->relname = yyvsp[-4].str; - n->oids = yyvsp[-3].boolean; - n->direction = yyvsp[-2].ival; - n->filename = yyvsp[-1].str; - n->delimiter = yyvsp[0].str; - yyval.node = (Node *)n; - ; - break;} -case 90: -#line 719 "gram.y" -{ yyval.ival = TO; ; - break;} -case 91: -#line 721 "gram.y" -{ yyval.ival = FROM; ; - break;} -case 92: -#line 729 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 93: -#line 730 "gram.y" -{ yyval.str = NULL; ; - break;} -case 94: -#line 731 "gram.y" -{ yyval.str = NULL; ; - break;} -case 95: -#line 734 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 96: -#line 735 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 97: -#line 738 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 98: -#line 739 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 99: -#line 745 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 100: -#line 746 "gram.y" -{ yyval.str = "\t"; ; - break;} -case 101: -#line 759 "gram.y" -{ - CreateStmt *n = makeNode(CreateStmt); - n->istemp = yyvsp[-6].boolean; - n->relname = yyvsp[-4].str; - n->tableElts = yyvsp[-2].list; - n->inhRelnames = yyvsp[0].list; - n->constraints = NIL; - yyval.node = (Node *)n; - ; - break;} -case 102: -#line 771 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 103: -#line 772 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 104: -#line 773 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 105: -#line 777 "gram.y" -{ - if (yyvsp[0].node != NULL) - yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); - else - yyval.list = yyvsp[-2].list; - ; - break;} -case 106: -#line 784 "gram.y" -{ - if (yyvsp[0].node != NULL) - yyval.list = lcons(yyvsp[0].node, NIL); - else - yyval.list = NULL; - ; - break;} -case 107: -#line 790 "gram.y" -{ yyval.list = NULL; ; - break;} -case 108: -#line 793 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} -case 109: -#line 794 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} -case 110: -#line 798 "gram.y" -{ - ColumnDef *n = makeNode(ColumnDef); - n->colname = yyvsp[-2].str; - n->typename = yyvsp[-1].typnam; - n->defval = NULL; - n->is_not_null = FALSE; - n->constraints = yyvsp[0].list; - yyval.node = (Node *)n; - ; - break;} -case 111: -#line 808 "gram.y" -{ - ColumnDef *n = makeNode(ColumnDef); - n->colname = yyvsp[-2].str; - n->typename = makeNode(TypeName); - n->typename->name = xlateSqlType("integer"); - n->defval = NULL; - n->is_not_null = TRUE; - n->is_sequence = TRUE; - n->constraints = yyvsp[0].list; - - yyval.node = (Node *)n; - ; - break;} -case 112: -#line 822 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} -case 113: -#line 823 "gram.y" -{ yyval.list = NULL; ; - break;} -case 114: -#line 827 "gram.y" -{ - if (yyvsp[0].node != NULL) - yyval.list = lappend(yyvsp[-1].list, yyvsp[0].node); - else - yyval.list = yyvsp[-1].list; - ; - break;} -case 115: -#line 834 "gram.y" -{ - if (yyvsp[0].node != NULL) - yyval.list = lcons(yyvsp[0].node, NIL); - else - yyval.list = NULL; - ; - break;} -case 116: -#line 843 "gram.y" -{ - Constraint *n = makeNode(Constraint); - n->contype = CONSTR_PRIMARY; - n->name = NULL; - n->def = NULL; - n->keys = NULL; - yyval.list = lcons((Node *)n, NIL); - ; - break;} -case 117: -#line 851 "gram.y" -{ yyval.list = NULL; ; - break;} -case 118: -#line 856 "gram.y" -{ - Constraint *n = (Constraint *)yyvsp[0].node; - if (n != NULL) n->name = fmtId(yyvsp[-1].str); - yyval.node = yyvsp[0].node; - ; - break;} -case 119: -#line 862 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} -case 120: -#line 876 "gram.y" -{ - Constraint *n = makeNode(Constraint); - n->contype = CONSTR_CHECK; - n->name = NULL; - n->def = FlattenStringList(yyvsp[-1].list); - n->keys = NULL; - yyval.node = (Node *)n; - ; - break;} -case 121: -#line 885 "gram.y" -{ - Constraint *n = makeNode(Constraint); - n->contype = CONSTR_DEFAULT; - n->name = NULL; - n->def = NULL; - n->keys = NULL; - yyval.node = (Node *)n; - ; - break;} -case 122: -#line 894 "gram.y" -{ - Constraint *n = makeNode(Constraint); - n->contype = CONSTR_DEFAULT; - n->name = NULL; - n->def = FlattenStringList(yyvsp[0].list); - n->keys = NULL; - yyval.node = (Node *)n; - ; - break;} -case 123: -#line 903 "gram.y" -{ - Constraint *n = makeNode(Constraint); - n->contype = CONSTR_NOTNULL; - n->name = NULL; - n->def = NULL; - n->keys = NULL; - yyval.node = (Node *)n; - ; - break;} -case 124: -#line 912 "gram.y" -{ - Constraint *n = makeNode(Constraint); - n->contype = CONSTR_UNIQUE; - n->name = NULL; - n->def = NULL; - n->keys = NULL; - yyval.node = (Node *)n; - ; - break;} -case 125: -#line 921 "gram.y" -{ - Constraint *n = makeNode(Constraint); - n->contype = CONSTR_PRIMARY; - n->name = NULL; - n->def = NULL; - n->keys = NULL; - yyval.node = (Node *)n; - ; - break;} -case 126: -#line 930 "gram.y" -{ - elog(NOTICE,"CREATE TABLE/FOREIGN KEY clause ignored; not yet implemented"); - yyval.node = NULL; - ; - break;} -case 127: -#line 937 "gram.y" -{ - yyval.list = lappend(yyvsp[-2].list,makeString(",")); - yyval.list = nconc(yyval.list, yyvsp[0].list); - ; - break;} -case 128: -#line 942 "gram.y" -{ - yyval.list = yyvsp[0].list; - ; - break;} -case 129: -#line 955 "gram.y" -{ yyval.list = makeConstantList((A_Const *) yyvsp[0].node); ; - break;} -case 130: -#line 957 "gram.y" -{ yyval.list = lcons( makeString( "-"), yyvsp[0].list); ; - break;} -case 131: -#line 959 "gram.y" -{ yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "+"), yyvsp[0].list)); ; - break;} -case 132: -#line 961 "gram.y" -{ yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "-"), yyvsp[0].list)); ; - break;} -case 133: -#line 963 "gram.y" -{ yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "/"), yyvsp[0].list)); ; - break;} -case 134: -#line 965 "gram.y" -{ yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "%"), yyvsp[0].list)); ; - break;} -case 135: -#line 967 "gram.y" -{ yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "*"), yyvsp[0].list)); ; - break;} -case 136: -#line 969 "gram.y" -{ elog(ERROR,"boolean expressions not supported in DEFAULT"); ; - break;} -case 137: -#line 971 "gram.y" -{ elog(ERROR,"boolean expressions not supported in DEFAULT"); ; - break;} -case 138: -#line 973 "gram.y" -{ elog(ERROR,"boolean expressions not supported in DEFAULT"); ; - break;} -case 139: -#line 975 "gram.y" -{ yyval.list = lcons( makeString( ":"), yyvsp[0].list); ; - break;} -case 140: -#line 977 "gram.y" -{ yyval.list = lcons( makeString( ";"), yyvsp[0].list); ; - break;} -case 141: -#line 979 "gram.y" -{ yyval.list = lcons( makeString( "|"), yyvsp[0].list); ; - break;} -case 142: -#line 981 "gram.y" -{ - yyvsp[0].typnam->name = fmtId(yyvsp[0].typnam->name); - yyval.list = nconc( lcons( makeString( "CAST"), yyvsp[-2].list), makeList( makeString("AS"), yyvsp[0].typnam, -1)); - ; - break;} -case 143: -#line 986 "gram.y" -{ - yyvsp[-1].typnam->name = fmtId(yyvsp[-1].typnam->name); - yyval.list = nconc( lcons( makeString( "CAST"), yyvsp[-3].list), makeList( makeString("AS"), yyvsp[-1].typnam, -1)); - ; - break;} -case 144: -#line 991 "gram.y" -{ yyval.list = lappend( lcons( makeString( "("), yyvsp[-1].list), makeString( ")")); ; - break;} -case 145: -#line 993 "gram.y" -{ - yyval.list = makeList( makeString(yyvsp[-2].str), makeString("("), -1); - yyval.list = lappend( yyval.list, makeString(")")); - ; - break;} -case 146: -#line 998 "gram.y" -{ - yyval.list = makeList( makeString(yyvsp[-3].str), makeString("("), -1); - yyval.list = nconc( yyval.list, yyvsp[-1].list); - yyval.list = lappend( yyval.list, makeString(")")); - ; - break;} -case 147: -#line 1004 "gram.y" -{ - if (!strcmp("<=", yyvsp[-1].str) || !strcmp(">=", yyvsp[-1].str)) - elog(ERROR,"boolean expressions not supported in DEFAULT"); - yyval.list = nconc( yyvsp[-2].list, lcons( makeString( yyvsp[-1].str), yyvsp[0].list)); - ; - break;} -case 148: -#line 1010 "gram.y" -{ yyval.list = lcons( makeString( yyvsp[-1].str), yyvsp[0].list); ; - break;} -case 149: -#line 1012 "gram.y" -{ yyval.list = lappend( yyvsp[-1].list, makeString( yyvsp[0].str)); ; - break;} -case 150: -#line 1015 "gram.y" -{ yyval.list = lcons( makeString( "date( 'current'::datetime + '0 sec')"), NIL); ; - break;} -case 151: -#line 1017 "gram.y" -{ yyval.list = lcons( makeString( "'now'::time"), NIL); ; - break;} -case 152: -#line 1019 "gram.y" -{ - if (yyvsp[-1].ival != 0) - elog(NOTICE,"CURRENT_TIME(%d) precision not implemented; zero used instead",yyvsp[-1].ival); - yyval.list = lcons( makeString( "'now'::time"), NIL); - ; - break;} -case 153: -#line 1025 "gram.y" -{ yyval.list = lcons( makeString( "now()"), NIL); ; - break;} -case 154: -#line 1027 "gram.y" -{ - if (yyvsp[-1].ival != 0) - elog(NOTICE,"CURRENT_TIMESTAMP(%d) precision not implemented; zero used instead",yyvsp[-1].ival); - yyval.list = lcons( makeString( "now()"), NIL); - ; - break;} -case 155: -#line 1033 "gram.y" -{ yyval.list = lcons( makeString( "CURRENT_USER"), NIL); ; - break;} -case 156: -#line 1035 "gram.y" -{ yyval.list = lcons( makeString( "USER"), NIL); ; - break;} -case 157: -#line 1043 "gram.y" -{ - Constraint *n = (Constraint *)yyvsp[0].node; - if (n != NULL) n->name = fmtId(yyvsp[-1].str); - yyval.node = yyvsp[0].node; - ; - break;} -case 158: -#line 1049 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} -case 159: -#line 1053 "gram.y" -{ - Constraint *n = makeNode(Constraint); - n->contype = CONSTR_CHECK; - n->name = NULL; - n->def = FlattenStringList(yyvsp[-1].list); - yyval.node = (Node *)n; - ; - break;} -case 160: -#line 1061 "gram.y" -{ - Constraint *n = makeNode(Constraint); - n->contype = CONSTR_UNIQUE; - n->name = NULL; - n->def = NULL; - n->keys = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 161: -#line 1070 "gram.y" -{ - Constraint *n = makeNode(Constraint); - n->contype = CONSTR_PRIMARY; - n->name = NULL; - n->def = NULL; - n->keys = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 162: -#line 1079 "gram.y" -{ - elog(NOTICE,"CREATE TABLE/FOREIGN KEY clause ignored; not yet implemented"); - yyval.node = NULL; - ; - break;} -case 163: -#line 1086 "gram.y" -{ - yyval.list = lappend(yyvsp[-2].list,makeString(",")); - yyval.list = nconc(yyval.list, yyvsp[0].list); - ; - break;} -case 164: -#line 1091 "gram.y" -{ - yyval.list = yyvsp[0].list; - ; - break;} -case 165: -#line 1097 "gram.y" -{ yyval.list = makeConstantList((A_Const *) yyvsp[0].node); ; - break;} -case 166: -#line 1099 "gram.y" -{ yyval.list = lcons( makeString("NULL"), NIL); ; - break;} -case 167: -#line 1101 "gram.y" -{ - yyval.list = lcons( makeString(fmtId(yyvsp[0].str)), NIL); - ; - break;} -case 168: -#line 1105 "gram.y" -{ yyval.list = lcons( makeString( "-"), yyvsp[0].list); ; - break;} -case 169: -#line 1107 "gram.y" -{ yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "+"), yyvsp[0].list)); ; - break;} -case 170: -#line 1109 "gram.y" -{ yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "-"), yyvsp[0].list)); ; - break;} -case 171: -#line 1111 "gram.y" -{ yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "/"), yyvsp[0].list)); ; - break;} -case 172: -#line 1113 "gram.y" -{ yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "%"), yyvsp[0].list)); ; - break;} -case 173: -#line 1115 "gram.y" -{ yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "*"), yyvsp[0].list)); ; - break;} -case 174: -#line 1117 "gram.y" -{ yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "="), yyvsp[0].list)); ; - break;} -case 175: -#line 1119 "gram.y" -{ yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "<"), yyvsp[0].list)); ; - break;} -case 176: -#line 1121 "gram.y" -{ yyval.list = nconc( yyvsp[-2].list, lcons( makeString( ">"), yyvsp[0].list)); ; - break;} -case 177: -#line 1123 "gram.y" -{ yyval.list = lcons( makeString( ":"), yyvsp[0].list); ; - break;} -case 178: -#line 1125 "gram.y" -{ yyval.list = lcons( makeString( ";"), yyvsp[0].list); ; - break;} -case 179: -#line 1127 "gram.y" -{ yyval.list = lcons( makeString( "|"), yyvsp[0].list); ; - break;} -case 180: -#line 1129 "gram.y" -{ - yyvsp[0].typnam->name = fmtId(yyvsp[0].typnam->name); - yyval.list = nconc( lcons( makeString( "CAST"), yyvsp[-2].list), makeList( makeString("AS"), yyvsp[0].typnam, -1)); - ; - break;} -case 181: -#line 1134 "gram.y" -{ - yyvsp[-1].typnam->name = fmtId(yyvsp[-1].typnam->name); - yyval.list = nconc( lcons( makeString( "CAST"), yyvsp[-3].list), makeList( makeString("AS"), yyvsp[-1].typnam, -1)); - ; - break;} -case 182: -#line 1139 "gram.y" -{ yyval.list = lappend( lcons( makeString( "("), yyvsp[-1].list), makeString( ")")); ; - break;} -case 183: -#line 1141 "gram.y" -{ - yyval.list = makeList( makeString(yyvsp[-2].str), makeString("("), -1); - yyval.list = lappend( yyval.list, makeString(")")); - ; - break;} -case 184: -#line 1146 "gram.y" -{ - yyval.list = makeList( makeString(yyvsp[-3].str), makeString("("), -1); - yyval.list = nconc( yyval.list, yyvsp[-1].list); - yyval.list = lappend( yyval.list, makeString(")")); - ; - break;} -case 185: -#line 1152 "gram.y" -{ yyval.list = nconc( yyvsp[-2].list, lcons( makeString( yyvsp[-1].str), yyvsp[0].list)); ; - break;} -case 186: -#line 1154 "gram.y" -{ yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "LIKE"), yyvsp[0].list)); ; - break;} -case 187: -#line 1156 "gram.y" -{ yyval.list = nconc( yyvsp[-3].list, lcons( makeString( "NOT LIKE"), yyvsp[0].list)); ; - break;} -case 188: -#line 1158 "gram.y" -{ yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "AND"), yyvsp[0].list)); ; - break;} -case 189: -#line 1160 "gram.y" -{ yyval.list = nconc( yyvsp[-2].list, lcons( makeString( "OR"), yyvsp[0].list)); ; - break;} -case 190: -#line 1162 "gram.y" -{ yyval.list = lcons( makeString( "NOT"), yyvsp[0].list); ; - break;} -case 191: -#line 1164 "gram.y" -{ yyval.list = lcons( makeString( yyvsp[-1].str), yyvsp[0].list); ; - break;} -case 192: -#line 1166 "gram.y" -{ yyval.list = lappend( yyvsp[-1].list, makeString( yyvsp[0].str)); ; - break;} -case 193: -#line 1168 "gram.y" -{ yyval.list = lappend( yyvsp[-1].list, makeString( "IS NULL")); ; - break;} -case 194: -#line 1170 "gram.y" -{ yyval.list = lappend( yyvsp[-2].list, makeString( "IS NULL")); ; - break;} -case 195: -#line 1172 "gram.y" -{ yyval.list = lappend( yyvsp[-1].list, makeString( "IS NOT NULL")); ; - break;} -case 196: -#line 1174 "gram.y" -{ yyval.list = lappend( yyvsp[-3].list, makeString( "IS NOT NULL")); ; - break;} -case 197: -#line 1176 "gram.y" -{ yyval.list = lappend( yyvsp[-2].list, makeString( "IS TRUE")); ; - break;} -case 198: -#line 1178 "gram.y" -{ yyval.list = lappend( yyvsp[-2].list, makeString( "IS FALSE")); ; - break;} -case 199: -#line 1180 "gram.y" -{ yyval.list = lappend( yyvsp[-3].list, makeString( "IS NOT TRUE")); ; - break;} -case 200: -#line 1182 "gram.y" -{ yyval.list = lappend( yyvsp[-3].list, makeString( "IS NOT FALSE")); ; - break;} -case 201: -#line 1184 "gram.y" -{ - yyval.list = lappend( yyvsp[-4].list, makeString("IN")); - yyval.list = lappend( yyval.list, makeString("(")); - yyval.list = nconc( yyval.list, yyvsp[-1].list); - yyval.list = lappend( yyval.list, makeString(")")); - ; - break;} -case 202: -#line 1191 "gram.y" -{ - yyval.list = lappend( yyvsp[-5].list, makeString("NOT IN")); - yyval.list = lappend( yyval.list, makeString("(")); - yyval.list = nconc( yyval.list, yyvsp[-1].list); - yyval.list = lappend( yyval.list, makeString(")")); - ; - break;} -case 203: -#line 1198 "gram.y" -{ - yyval.list = lappend( yyvsp[-4].list, makeString("BETWEEN")); - yyval.list = nconc( yyval.list, yyvsp[-2].list); - yyval.list = lappend( yyval.list, makeString("AND")); - yyval.list = nconc( yyval.list, yyvsp[0].list); - ; - break;} -case 204: -#line 1205 "gram.y" -{ - yyval.list = lappend( yyvsp[-5].list, makeString("NOT BETWEEN")); - yyval.list = nconc( yyval.list, yyvsp[-2].list); - yyval.list = lappend( yyval.list, makeString("AND")); - yyval.list = nconc( yyval.list, yyvsp[0].list); - ; - break;} -case 205: -#line 1214 "gram.y" -{ - yyval.list = lappend(yyvsp[-2].list, makeString(",")); - yyval.list = nconc(yyval.list, yyvsp[0].list); - ; - break;} -case 206: -#line 1219 "gram.y" -{ - yyval.list = yyvsp[0].list; - ; - break;} -case 207: -#line 1225 "gram.y" -{ yyval.list = makeConstantList((A_Const *) yyvsp[0].node); ; - break;} -case 208: -#line 1228 "gram.y" -{ yyval.str = NULL; ; - break;} -case 209: -#line 1229 "gram.y" -{ yyval.str = NULL; ; - break;} -case 210: -#line 1230 "gram.y" -{ yyval.str = NULL; ; - break;} -case 211: -#line 1233 "gram.y" -{ yyval.list = NIL; ; - break;} -case 212: -#line 1234 "gram.y" -{ yyval.list = NIL; ; - break;} -case 213: -#line 1235 "gram.y" -{ yyval.list = NIL; ; - break;} -case 214: -#line 1238 "gram.y" -{ yyval.list = NIL; ; - break;} -case 215: -#line 1239 "gram.y" -{ yyval.list = NIL; ; - break;} -case 216: -#line 1242 "gram.y" -{ yyval.str = NULL; ; - break;} -case 217: -#line 1243 "gram.y" -{ yyval.str = NULL; ; - break;} -case 218: -#line 1244 "gram.y" -{ yyval.str = NULL; ; - break;} -case 219: -#line 1245 "gram.y" -{ yyval.str = NULL; ; - break;} -case 220: -#line 1248 "gram.y" -{ yyval.list = yyvsp[-1].list; ; - break;} -case 221: -#line 1249 "gram.y" -{ yyval.list = NIL; ; - break;} -case 222: -#line 1253 "gram.y" -{ - SelectStmt *n = (SelectStmt *)yyvsp[0].node; - if (yyvsp[-2].list != NIL) - mapTargetColumns(yyvsp[-2].list, n->targetList); - n->istemp = yyvsp[-5].boolean; - n->into = yyvsp[-3].str; - yyval.node = (Node *)n; - ; - break;} -case 223: -#line 1263 "gram.y" -{ yyval.list = yyvsp[-1].list; ; - break;} -case 224: -#line 1264 "gram.y" -{ yyval.list = NULL; ; - break;} -case 225: -#line 1267 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; - break;} -case 226: -#line 1268 "gram.y" -{ yyval.list = lcons(yyvsp[0].node, NIL); ; - break;} -case 227: -#line 1272 "gram.y" -{ - ColumnDef *n = makeNode(ColumnDef); - n->colname = yyvsp[0].str; - n->typename = NULL; - n->defval = NULL; - n->is_not_null = FALSE; - n->constraints = NULL; - yyval.node = (Node *)n; - ; - break;} -case 228: -#line 1292 "gram.y" -{ - CreateSeqStmt *n = makeNode(CreateSeqStmt); - n->seqname = yyvsp[-1].str; - n->options = yyvsp[0].list; - yyval.node = (Node *)n; - ; - break;} -case 229: -#line 1301 "gram.y" -{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].defelt); ; - break;} -case 230: -#line 1302 "gram.y" -{ yyval.list = NIL; ; - break;} -case 231: -#line 1306 "gram.y" -{ - yyval.defelt = makeNode(DefElem); - yyval.defelt->defname = "cache"; - yyval.defelt->arg = (Node *)yyvsp[0].value; - ; - break;} -case 232: -#line 1312 "gram.y" -{ - yyval.defelt = makeNode(DefElem); - yyval.defelt->defname = "cycle"; - yyval.defelt->arg = (Node *)NULL; - ; - break;} -case 233: -#line 1318 "gram.y" -{ - yyval.defelt = makeNode(DefElem); - yyval.defelt->defname = "increment"; - yyval.defelt->arg = (Node *)yyvsp[0].value; - ; - break;} -case 234: -#line 1324 "gram.y" -{ - yyval.defelt = makeNode(DefElem); - yyval.defelt->defname = "maxvalue"; - yyval.defelt->arg = (Node *)yyvsp[0].value; - ; - break;} -case 235: -#line 1330 "gram.y" -{ - yyval.defelt = makeNode(DefElem); - yyval.defelt->defname = "minvalue"; - yyval.defelt->arg = (Node *)yyvsp[0].value; - ; - break;} -case 236: -#line 1336 "gram.y" -{ - yyval.defelt = makeNode(DefElem); - yyval.defelt->defname = "start"; - yyval.defelt->arg = (Node *)yyvsp[0].value; - ; - break;} -case 237: -#line 1343 "gram.y" -{ yyval.value = yyvsp[0].value; ; - break;} -case 238: -#line 1344 "gram.y" -{ yyval.value = yyvsp[0].value; ; - break;} -case 239: -#line 1347 "gram.y" -{ - yyval.value = makeFloat(yyvsp[0].dval); - ; - break;} -case 240: -#line 1351 "gram.y" -{ - yyval.value = makeFloat(yyvsp[0].dval); - yyval.value->val.dval = - yyval.value->val.dval; - ; - break;} -case 241: -#line 1358 "gram.y" -{ - yyval.value = makeInteger(yyvsp[0].ival); - ; - break;} -case 242: -#line 1362 "gram.y" -{ - yyval.value = makeInteger(yyvsp[0].ival); - yyval.value->val.ival = - yyval.value->val.ival; - ; - break;} -case 243: -#line 1378 "gram.y" -{ - CreatePLangStmt *n = makeNode(CreatePLangStmt); - n->plname = yyvsp[-4].str; - n->plhandler = yyvsp[-2].str; - n->plcompiler = yyvsp[0].str; - n->pltrusted = yyvsp[-7].boolean; - yyval.node = (Node *)n; - ; - break;} -case 244: -#line 1388 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 245: -#line 1389 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 246: -#line 1392 "gram.y" -{ - DropPLangStmt *n = makeNode(DropPLangStmt); - n->plname = yyvsp[0].str; - yyval.node = (Node *)n; - ; - break;} -case 247: -#line 1410 "gram.y" -{ - CreateTrigStmt *n = makeNode(CreateTrigStmt); - n->trigname = yyvsp[-11].str; - n->relname = yyvsp[-7].str; - n->funcname = yyvsp[-3].str; - n->args = yyvsp[-1].list; - n->before = yyvsp[-10].boolean; - n->row = yyvsp[-6].boolean; - memcpy (n->actions, yyvsp[-9].str, 4); - yyval.node = (Node *)n; - ; - break;} -case 248: -#line 1423 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 249: -#line 1424 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 250: -#line 1428 "gram.y" -{ - char *e = palloc (4); - e[0] = yyvsp[0].chr; e[1] = 0; yyval.str = e; - ; - break;} -case 251: -#line 1433 "gram.y" -{ - char *e = palloc (4); - e[0] = yyvsp[-2].chr; e[1] = yyvsp[0].chr; e[2] = 0; yyval.str = e; - ; - break;} -case 252: -#line 1438 "gram.y" -{ - char *e = palloc (4); - e[0] = yyvsp[-4].chr; e[1] = yyvsp[-2].chr; e[2] = yyvsp[0].chr; e[3] = 0; - yyval.str = e; - ; - break;} -case 253: -#line 1445 "gram.y" -{ yyval.chr = 'i'; ; - break;} -case 254: -#line 1446 "gram.y" -{ yyval.chr = 'd'; ; - break;} -case 255: -#line 1447 "gram.y" -{ yyval.chr = 'u'; ; - break;} -case 256: -#line 1451 "gram.y" -{ - yyval.boolean = yyvsp[0].boolean; - ; - break;} -case 257: -#line 1456 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 258: -#line 1457 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 259: -#line 1460 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 260: -#line 1461 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 261: -#line 1465 "gram.y" -{ yyval.list = lcons(yyvsp[0].str, NIL); ; - break;} -case 262: -#line 1467 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].str); ; - break;} -case 263: -#line 1469 "gram.y" -{ yyval.list = NIL; ; - break;} -case 264: -#line 1473 "gram.y" -{ - char *s = (char *) palloc (256); - sprintf (s, "%d", yyvsp[0].ival); - yyval.str = s; - ; - break;} -case 265: -#line 1479 "gram.y" -{ - char *s = (char *) palloc (256); - sprintf (s, "%g", yyvsp[0].dval); - yyval.str = s; - ; - break;} -case 266: -#line 1484 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 267: -#line 1485 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 268: -#line 1489 "gram.y" -{ - DropTrigStmt *n = makeNode(DropTrigStmt); - n->trigname = yyvsp[-2].str; - n->relname = yyvsp[0].str; - yyval.node = (Node *) n; - ; - break;} -case 269: -#line 1506 "gram.y" -{ - yyvsp[0].dstmt->defType = yyvsp[-1].ival; - yyval.node = (Node *)yyvsp[0].dstmt; - ; - break;} -case 270: -#line 1513 "gram.y" -{ - yyval.dstmt = makeNode(DefineStmt); - yyval.dstmt->defname = yyvsp[-1].str; - yyval.dstmt->definition = yyvsp[0].list; - ; - break;} -case 271: -#line 1520 "gram.y" -{ yyval.ival = OPERATOR; ; - break;} -case 272: -#line 1521 "gram.y" -{ yyval.ival = TYPE_P; ; - break;} -case 273: -#line 1522 "gram.y" -{ yyval.ival = AGGREGATE; ; - break;} -case 274: -#line 1525 "gram.y" -{ yyval.str = "procedure"; ; - break;} -case 275: -#line 1526 "gram.y" -{ yyval.str = "join"; ; - break;} -case 276: -#line 1527 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 277: -#line 1528 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 278: -#line 1529 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 279: -#line 1532 "gram.y" -{ yyval.list = yyvsp[-1].list; ; - break;} -case 280: -#line 1535 "gram.y" -{ yyval.list = lcons(yyvsp[0].defelt, NIL); ; - break;} -case 281: -#line 1536 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].defelt); ; - break;} -case 282: -#line 1540 "gram.y" -{ - yyval.defelt = makeNode(DefElem); - yyval.defelt->defname = yyvsp[-2].str; - yyval.defelt->arg = (Node *)yyvsp[0].node; - ; - break;} -case 283: -#line 1546 "gram.y" -{ - yyval.defelt = makeNode(DefElem); - yyval.defelt->defname = yyvsp[0].str; - yyval.defelt->arg = (Node *)NULL; - ; - break;} -case 284: -#line 1552 "gram.y" -{ - yyval.defelt = makeNode(DefElem); - yyval.defelt->defname = "default"; - yyval.defelt->arg = (Node *)yyvsp[0].node; - ; - break;} -case 285: -#line 1559 "gram.y" -{ yyval.node = (Node *)makeString(yyvsp[0].str); ; - break;} -case 286: -#line 1560 "gram.y" -{ yyval.node = (Node *)makeString(yyvsp[0].str); ; - break;} -case 287: -#line 1561 "gram.y" -{ yyval.node = (Node *)yyvsp[0].value; ; - break;} -case 288: -#line 1562 "gram.y" -{ yyval.node = (Node *)makeString(yyvsp[0].str); ; - break;} -case 289: -#line 1564 "gram.y" -{ - TypeName *n = makeNode(TypeName); - n->name = yyvsp[0].str; - n->setof = TRUE; - n->arrayBounds = NULL; - n->typmod = -1; - yyval.node = (Node *)n; - ; - break;} -case 290: -#line 1583 "gram.y" -{ - DestroyStmt *n = makeNode(DestroyStmt); - n->relNames = yyvsp[0].list; - n->sequence = FALSE; - yyval.node = (Node *)n; - ; - break;} -case 291: -#line 1590 "gram.y" -{ - DestroyStmt *n = makeNode(DestroyStmt); - n->relNames = yyvsp[0].list; - n->sequence = TRUE; - yyval.node = (Node *)n; - ; - break;} -case 292: -#line 1609 "gram.y" -{ - FetchStmt *n = makeNode(FetchStmt); - if (yyvsp[-2].ival == RELATIVE) - { - if (yyvsp[-1].ival == 0) - elog(ERROR,"FETCH/RELATIVE at current position is not supported"); - yyvsp[-2].ival = FORWARD; - } - if (yyvsp[-1].ival < 0) - { - yyvsp[-1].ival = -yyvsp[-1].ival; - yyvsp[-2].ival = ((yyvsp[-2].ival == FORWARD)? BACKWARD: FORWARD); - } - n->direction = yyvsp[-2].ival; - n->howMany = yyvsp[-1].ival; - n->portalname = yyvsp[0].str; - n->ismove = false; - yyval.node = (Node *)n; - ; - break;} -case 293: -#line 1629 "gram.y" -{ - FetchStmt *n = makeNode(FetchStmt); - if (yyvsp[-1].ival < 0) - { - yyvsp[-1].ival = -yyvsp[-1].ival; - yyvsp[-2].ival = ((yyvsp[-2].ival == FORWARD)? BACKWARD: FORWARD); - } - n->direction = yyvsp[-2].ival; - n->howMany = yyvsp[-1].ival; - n->portalname = yyvsp[0].str; - n->ismove = TRUE; - yyval.node = (Node *)n; - ; - break;} -case 294: -#line 1644 "gram.y" -{ yyval.ival = FORWARD; ; - break;} -case 295: -#line 1645 "gram.y" -{ yyval.ival = BACKWARD; ; - break;} -case 296: -#line 1646 "gram.y" -{ yyval.ival = RELATIVE; ; - break;} -case 297: -#line 1648 "gram.y" -{ - elog(NOTICE,"FETCH/ABSOLUTE not supported, using RELATIVE"); - yyval.ival = RELATIVE; - ; - break;} -case 298: -#line 1652 "gram.y" -{ yyval.ival = FORWARD; /* default */ ; - break;} -case 299: -#line 1655 "gram.y" -{ yyval.ival = yyvsp[0].ival; ; - break;} -case 300: -#line 1656 "gram.y" -{ yyval.ival = - yyvsp[0].ival; ; - break;} -case 301: -#line 1657 "gram.y" -{ yyval.ival = 0; /* 0 means fetch all tuples*/ ; - break;} -case 302: -#line 1658 "gram.y" -{ yyval.ival = 1; ; - break;} -case 303: -#line 1659 "gram.y" -{ yyval.ival = -1; ; - break;} -case 304: -#line 1660 "gram.y" -{ yyval.ival = 1; /*default*/ ; - break;} -case 305: -#line 1663 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 306: -#line 1664 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 307: -#line 1665 "gram.y" -{ yyval.str = NULL; ; - break;} -case 308: -#line 1677 "gram.y" -{ - yyval.node = (Node*)makeAclStmt(yyvsp[-5].str,yyvsp[-3].list,yyvsp[-1].str,'+'); - ; - break;} -case 309: -#line 1683 "gram.y" -{ - yyval.str = aclmakepriv("rwaR",0); - ; - break;} -case 310: -#line 1687 "gram.y" -{ - yyval.str = aclmakepriv("rwaR",0); - ; - break;} -case 311: -#line 1691 "gram.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 312: -#line 1697 "gram.y" -{ - yyval.str = aclmakepriv("",yyvsp[0].chr); - ; - break;} -case 313: -#line 1701 "gram.y" -{ - yyval.str = aclmakepriv(yyvsp[-2].str,yyvsp[0].chr); - ; - break;} -case 314: -#line 1707 "gram.y" -{ - yyval.chr = ACL_MODE_RD_CHR; - ; - break;} -case 315: -#line 1711 "gram.y" -{ - yyval.chr = ACL_MODE_AP_CHR; - ; - break;} -case 316: -#line 1715 "gram.y" -{ - yyval.chr = ACL_MODE_WR_CHR; - ; - break;} -case 317: -#line 1719 "gram.y" -{ - yyval.chr = ACL_MODE_WR_CHR; - ; - break;} -case 318: -#line 1723 "gram.y" -{ - yyval.chr = ACL_MODE_RU_CHR; - ; - break;} -case 319: -#line 1729 "gram.y" -{ - yyval.str = aclmakeuser("A",""); - ; - break;} -case 320: -#line 1733 "gram.y" -{ - yyval.str = aclmakeuser("G",yyvsp[0].str); - ; - break;} -case 321: -#line 1737 "gram.y" -{ - yyval.str = aclmakeuser("U",yyvsp[0].str); - ; - break;} -case 322: -#line 1743 "gram.y" -{ - yyerror("WITH GRANT OPTION is not supported. Only relation owners can set privileges"); - ; - break;} -case 324: -#line 1758 "gram.y" -{ - yyval.node = (Node*)makeAclStmt(yyvsp[-4].str,yyvsp[-2].list,yyvsp[0].str,'-'); - ; - break;} -case 325: -#line 1776 "gram.y" -{ - /* should check that access_method is valid, - etc ... but doesn't */ - IndexStmt *n = makeNode(IndexStmt); - n->unique = yyvsp[-9].boolean; - n->idxname = yyvsp[-7].str; - n->relname = yyvsp[-5].str; - n->accessMethod = yyvsp[-4].str; - n->indexParams = yyvsp[-2].list; - n->withClause = yyvsp[0].list; - n->whereClause = NULL; - yyval.node = (Node *)n; - ; - break;} -case 326: -#line 1791 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 327: -#line 1792 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 328: -#line 1795 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 329: -#line 1796 "gram.y" -{ yyval.str = "btree"; ; - break;} -case 330: -#line 1799 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} -case 331: -#line 1800 "gram.y" -{ yyval.list = lcons(yyvsp[0].ielem,NIL); ; - break;} -case 332: -#line 1803 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].ielem); ; - break;} -case 333: -#line 1804 "gram.y" -{ yyval.list = lcons(yyvsp[0].ielem, NIL); ; - break;} -case 334: -#line 1808 "gram.y" -{ - yyval.ielem = makeNode(IndexElem); - yyval.ielem->name = yyvsp[-5].str; - yyval.ielem->args = yyvsp[-3].list; - yyval.ielem->class = yyvsp[0].str; - yyval.ielem->typename = yyvsp[-1].typnam; - ; - break;} -case 335: -#line 1818 "gram.y" -{ - yyval.ielem = makeNode(IndexElem); - yyval.ielem->name = yyvsp[-2].str; - yyval.ielem->args = NIL; - yyval.ielem->class = yyvsp[0].str; - yyval.ielem->typename = yyvsp[-1].typnam; - ; - break;} -case 336: -#line 1827 "gram.y" -{ yyval.typnam = yyvsp[0].typnam; ; - break;} -case 337: -#line 1828 "gram.y" -{ yyval.typnam = yyvsp[0].typnam; ; - break;} -case 338: -#line 1829 "gram.y" -{ yyval.typnam = NULL; ; - break;} -case 339: -#line 1838 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 340: -#line 1839 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 341: -#line 1840 "gram.y" -{ yyval.str = NULL; ; - break;} -case 342: -#line 1852 "gram.y" -{ - ExtendStmt *n = makeNode(ExtendStmt); - n->idxname = yyvsp[-1].str; - n->whereClause = yyvsp[0].node; - yyval.node = (Node *)n; - ; - break;} -case 343: -#line 1899 "gram.y" -{ - ProcedureStmt *n = makeNode(ProcedureStmt); - n->funcname = yyvsp[-8].str; - n->defArgs = yyvsp[-7].list; - n->returnType = yyvsp[-5].node; - n->withClause = yyvsp[-4].list; - n->as = yyvsp[-2].str; - n->language = yyvsp[0].str; - yyval.node = (Node *)n; - ; - break;} -case 344: -#line 1910 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} -case 345: -#line 1911 "gram.y" -{ yyval.list = NIL; ; - break;} -case 346: -#line 1914 "gram.y" -{ yyval.list = yyvsp[-1].list; ; - break;} -case 347: -#line 1915 "gram.y" -{ yyval.list = NIL; ; - break;} -case 348: -#line 1919 "gram.y" -{ yyval.list = lcons(makeString(yyvsp[0].str),NIL); ; - break;} -case 349: -#line 1921 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list,makeString(yyvsp[0].str)); ; - break;} -case 350: -#line 1925 "gram.y" -{ - TypeName *n = makeNode(TypeName); - n->name = yyvsp[0].str; - n->setof = yyvsp[-1].boolean; - n->arrayBounds = NULL; - yyval.node = (Node *)n; - ; - break;} -case 351: -#line 1934 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 352: -#line 1935 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 353: -#line 1956 "gram.y" -{ - RemoveStmt *n = makeNode(RemoveStmt); - n->removeType = yyvsp[-1].ival; - n->name = yyvsp[0].str; - yyval.node = (Node *)n; - ; - break;} -case 354: -#line 1964 "gram.y" -{ yyval.ival = TYPE_P; ; - break;} -case 355: -#line 1965 "gram.y" -{ yyval.ival = INDEX; ; - break;} -case 356: -#line 1966 "gram.y" -{ yyval.ival = RULE; ; - break;} -case 357: -#line 1967 "gram.y" -{ yyval.ival = VIEW; ; - break;} -case 358: -#line 1972 "gram.y" -{ - RemoveAggrStmt *n = makeNode(RemoveAggrStmt); - n->aggname = yyvsp[-1].str; - n->aggtype = yyvsp[0].str; - yyval.node = (Node *)n; - ; - break;} -case 359: -#line 1980 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 360: -#line 1981 "gram.y" -{ yyval.str = NULL; ; - break;} -case 361: -#line 1986 "gram.y" -{ - RemoveFuncStmt *n = makeNode(RemoveFuncStmt); - n->funcname = yyvsp[-1].str; - n->args = yyvsp[0].list; - yyval.node = (Node *)n; - ; - break;} -case 362: -#line 1996 "gram.y" -{ - RemoveOperStmt *n = makeNode(RemoveOperStmt); - n->opname = yyvsp[-3].str; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 365: -#line 2006 "gram.y" -{ yyval.str = "+"; ; - break;} -case 366: -#line 2007 "gram.y" -{ yyval.str = "-"; ; - break;} -case 367: -#line 2008 "gram.y" -{ yyval.str = "*"; ; - break;} -case 368: -#line 2009 "gram.y" -{ yyval.str = "/"; ; - break;} -case 369: -#line 2010 "gram.y" -{ yyval.str = "%"; ; - break;} -case 370: -#line 2011 "gram.y" -{ yyval.str = "<"; ; - break;} -case 371: -#line 2012 "gram.y" -{ yyval.str = ">"; ; - break;} -case 372: -#line 2013 "gram.y" -{ yyval.str = "="; ; - break;} -case 373: -#line 2017 "gram.y" -{ - elog(ERROR,"parser: argument type missing (use NONE for unary operators)"); - ; - break;} -case 374: -#line 2021 "gram.y" -{ yyval.list = makeList(makeString(yyvsp[-2].str), makeString(yyvsp[0].str), -1); ; - break;} -case 375: -#line 2023 "gram.y" -{ yyval.list = makeList(NULL, makeString(yyvsp[0].str), -1); ; - break;} -case 376: -#line 2025 "gram.y" -{ yyval.list = makeList(makeString(yyvsp[-2].str), NULL, -1); ; - break;} -case 377: -#line 2039 "gram.y" -{ - RenameStmt *n = makeNode(RenameStmt); - n->relname = yyvsp[-6].str; - n->inh = yyvsp[-5].boolean; - n->column = yyvsp[-2].str; - n->newname = yyvsp[0].str; - yyval.node = (Node *)n; - ; - break;} -case 378: -#line 2049 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 379: -#line 2050 "gram.y" -{ yyval.str = NULL; ; - break;} -case 380: -#line 2053 "gram.y" -{ yyval.ival = COLUMN; ; - break;} -case 381: -#line 2054 "gram.y" -{ yyval.ival = 0; ; - break;} -case 382: -#line 2068 "gram.y" -{ QueryIsRule=TRUE; ; - break;} -case 383: -#line 2071 "gram.y" -{ - RuleStmt *n = makeNode(RuleStmt); - n->rulename = yyvsp[-10].str; - n->event = yyvsp[-6].ival; - n->object = yyvsp[-4].attr; - n->whereClause = yyvsp[-3].node; - n->instead = yyvsp[-1].boolean; - n->actions = yyvsp[0].list; - yyval.node = (Node *)n; - ; - break;} -case 384: -#line 2083 "gram.y" -{ yyval.list = NIL; ; - break;} -case 385: -#line 2084 "gram.y" -{ yyval.list = lcons(yyvsp[0].node, NIL); ; - break;} -case 386: -#line 2085 "gram.y" -{ yyval.list = lcons(yyvsp[0].node, NIL); ; - break;} -case 387: -#line 2086 "gram.y" -{ yyval.list = yyvsp[-1].list; ; - break;} -case 388: -#line 2087 "gram.y" -{ yyval.list = yyvsp[-1].list; ; - break;} -case 389: -#line 2090 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} -case 390: -#line 2091 "gram.y" -{ yyval.list = lcons(yyvsp[0].node, NIL); ; - break;} -case 391: -#line 2095 "gram.y" -{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].node); ; - break;} -case 392: -#line 2097 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[-1].node); ; - break;} -case 393: -#line 2099 "gram.y" -{ yyval.list = lcons(yyvsp[-1].node, NIL); ; - break;} -case 398: -#line 2109 "gram.y" -{ - yyval.attr = makeNode(Attr); - yyval.attr->relname = yyvsp[-2].str; - yyval.attr->paramNo = NULL; - yyval.attr->attrs = lcons(makeString(yyvsp[0].str), NIL); - yyval.attr->indirection = NIL; - ; - break;} -case 399: -#line 2117 "gram.y" -{ - yyval.attr = makeNode(Attr); - yyval.attr->relname = yyvsp[0].str; - yyval.attr->paramNo = NULL; - yyval.attr->attrs = NIL; - yyval.attr->indirection = NIL; - ; - break;} -case 400: -#line 2127 "gram.y" -{ yyval.ival = CMD_SELECT; ; - break;} -case 401: -#line 2128 "gram.y" -{ yyval.ival = CMD_UPDATE; ; - break;} -case 402: -#line 2129 "gram.y" -{ yyval.ival = CMD_DELETE; ; - break;} -case 403: -#line 2130 "gram.y" -{ yyval.ival = CMD_INSERT; ; - break;} -case 404: -#line 2133 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 405: -#line 2134 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 406: -#line 2147 "gram.y" -{ - NotifyStmt *n = makeNode(NotifyStmt); - n->relname = yyvsp[0].str; - yyval.node = (Node *)n; - ; - break;} -case 407: -#line 2155 "gram.y" -{ - ListenStmt *n = makeNode(ListenStmt); - n->relname = yyvsp[0].str; - yyval.node = (Node *)n; - ; - break;} -case 408: -#line 2163 "gram.y" -{ - UnlistenStmt *n = makeNode(UnlistenStmt); - n->relname = yyvsp[0].str; - yyval.node = (Node *)n; - ; - break;} -case 409: -#line 2169 "gram.y" -{ - UnlistenStmt *n = makeNode(UnlistenStmt); - n->relname = "*"; - yyval.node = (Node *)n; - ; - break;} -case 410: -#line 2191 "gram.y" -{ - TransactionStmt *n = makeNode(TransactionStmt); - n->command = ABORT_TRANS; - yyval.node = (Node *)n; - ; - break;} -case 411: -#line 2197 "gram.y" -{ - TransactionStmt *n = makeNode(TransactionStmt); - n->command = BEGIN_TRANS; - yyval.node = (Node *)n; - ; - break;} -case 412: -#line 2203 "gram.y" -{ - TransactionStmt *n = makeNode(TransactionStmt); - n->command = END_TRANS; - yyval.node = (Node *)n; - ; - break;} -case 413: -#line 2209 "gram.y" -{ - TransactionStmt *n = makeNode(TransactionStmt); - n->command = END_TRANS; - yyval.node = (Node *)n; - ; - break;} -case 414: -#line 2215 "gram.y" -{ - TransactionStmt *n = makeNode(TransactionStmt); - n->command = ABORT_TRANS; - yyval.node = (Node *)n; - ; - break;} -case 415: -#line 2222 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 416: -#line 2223 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 417: -#line 2224 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 418: -#line 2236 "gram.y" -{ - ViewStmt *n = makeNode(ViewStmt); - n->viewname = yyvsp[-2].str; - n->query = (Query *)yyvsp[0].node; - if (((SelectStmt *)n->query)->sortClause != NULL) - elog(ERROR,"Order by and Distinct on views is not implemented."); - if (((SelectStmt *)n->query)->unionClause != NULL) - elog(ERROR,"Views on unions not implemented."); - if (((SelectStmt *)n->query)->forUpdate != NULL) - elog(ERROR, "SELECT FOR UPDATE is not allowed in CREATE VIEW"); - yyval.node = (Node *)n; - ; - break;} -case 419: -#line 2259 "gram.y" -{ - LoadStmt *n = makeNode(LoadStmt); - n->filename = yyvsp[0].str; - yyval.node = (Node *)n; - ; - break;} -case 420: -#line 2275 "gram.y" -{ - CreatedbStmt *n = makeNode(CreatedbStmt); - if (yyvsp[-1].str == NULL && yyvsp[0].str == NULL) { - elog(ERROR, "CREATE DATABASE WITH requires at least an option"); - } - n->dbname = yyvsp[-3].str; - n->dbpath = yyvsp[-1].str; -#ifdef MULTIBYTE - if (yyvsp[0].str != NULL) { - n->encoding = pg_char_to_encoding(yyvsp[0].str); - if (n->encoding < 0) { - elog(ERROR, "invalid encoding name %s", yyvsp[0].str); - } - } else { - n->encoding = GetTemplateEncoding(); - } -#else - if (yyvsp[0].str != NULL) - elog(ERROR, "WITH ENCODING is not supported"); - n->encoding = 0; -#endif - yyval.node = (Node *)n; - ; - break;} -case 421: -#line 2299 "gram.y" -{ - CreatedbStmt *n = makeNode(CreatedbStmt); - n->dbname = yyvsp[0].str; - n->dbpath = NULL; -#ifdef MULTIBYTE - n->encoding = GetTemplateEncoding(); -#else - n->encoding = 0; -#endif - yyval.node = (Node *)n; - ; - break;} -case 422: -#line 2312 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 423: -#line 2313 "gram.y" -{ yyval.str = NULL; ; - break;} -case 424: -#line 2316 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 425: -#line 2317 "gram.y" -{ yyval.str = NULL; ; - break;} -case 426: -#line 2320 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 427: -#line 2321 "gram.y" -{ yyval.str = NULL; ; - break;} -case 428: -#line 2322 "gram.y" -{ yyval.str = NULL; ; - break;} -case 429: -#line 2325 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 430: -#line 2326 "gram.y" -{ yyval.str = NULL; ; - break;} -case 431: -#line 2327 "gram.y" -{ yyval.str = NULL; ; - break;} -case 432: -#line 2338 "gram.y" -{ - DestroydbStmt *n = makeNode(DestroydbStmt); - n->dbname = yyvsp[0].str; - yyval.node = (Node *)n; - ; - break;} -case 433: -#line 2354 "gram.y" -{ - ClusterStmt *n = makeNode(ClusterStmt); - n->relname = yyvsp[0].str; - n->indexname = yyvsp[-2].str; - yyval.node = (Node*)n; - ; - break;} -case 434: -#line 2371 "gram.y" -{ - VacuumStmt *n = makeNode(VacuumStmt); - n->verbose = yyvsp[-1].boolean; - n->analyze = yyvsp[0].boolean; - n->vacrel = NULL; - n->va_spec = NIL; - yyval.node = (Node *)n; - ; - break;} -case 435: -#line 2380 "gram.y" -{ - VacuumStmt *n = makeNode(VacuumStmt); - n->verbose = yyvsp[-3].boolean; - n->analyze = yyvsp[-2].boolean; - n->vacrel = yyvsp[-1].str; - n->va_spec = yyvsp[0].list; - if ( yyvsp[0].list != NIL && !yyvsp[-1].str ) - elog(ERROR,"parser: syntax error at or near \"(\""); - yyval.node = (Node *)n; - ; - break;} -case 436: -#line 2392 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 437: -#line 2393 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 438: -#line 2396 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 439: -#line 2397 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 440: -#line 2400 "gram.y" -{ yyval.list = yyvsp[-1].list; ; - break;} -case 441: -#line 2401 "gram.y" -{ yyval.list = NIL; ; - break;} -case 442: -#line 2405 "gram.y" -{ yyval.list=lcons(yyvsp[0].str,NIL); ; - break;} -case 443: -#line 2407 "gram.y" -{ yyval.list=lappend(yyvsp[-2].list,yyvsp[0].str); ; - break;} -case 444: -#line 2419 "gram.y" -{ - ExplainStmt *n = makeNode(ExplainStmt); - n->verbose = yyvsp[-1].boolean; - n->query = (Query*)yyvsp[0].node; - yyval.node = (Node *)n; - ; - break;} -case 451: -#line 2462 "gram.y" -{ - yyvsp[0].astmt->relname = yyvsp[-1].str; - yyval.node = (Node *)yyvsp[0].astmt; - ; - break;} -case 452: -#line 2469 "gram.y" -{ - yyval.astmt = makeNode(InsertStmt); - yyval.astmt->cols = NULL; - yyval.astmt->unique = NULL; - yyval.astmt->targetList = yyvsp[-1].list; - yyval.astmt->fromClause = NIL; - yyval.astmt->whereClause = NULL; - yyval.astmt->groupClause = NIL; - yyval.astmt->havingClause = NULL; - yyval.astmt->unionClause = NIL; - ; - break;} -case 453: -#line 2481 "gram.y" -{ - yyval.astmt = makeNode(InsertStmt); - yyval.astmt->unique = NULL; - yyval.astmt->targetList = NIL; - yyval.astmt->fromClause = NIL; - yyval.astmt->whereClause = NULL; - yyval.astmt->groupClause = NIL; - yyval.astmt->havingClause = NULL; - yyval.astmt->unionClause = NIL; - /***S*I***/ - yyval.astmt->intersectClause = NIL; - ; - break;} -case 454: -#line 2497 "gram.y" -{ - SelectStmt *n; - - n = (SelectStmt *)yyvsp[0].node; - yyval.astmt = makeNode(InsertStmt); - yyval.astmt->cols = NULL; - yyval.astmt->unique = n->unique; - yyval.astmt->targetList = n->targetList; - yyval.astmt->fromClause = n->fromClause; - yyval.astmt->whereClause = n->whereClause; - yyval.astmt->groupClause = n->groupClause; - yyval.astmt->havingClause = n->havingClause; - yyval.astmt->unionClause = n->unionClause; - yyval.astmt->intersectClause = n->intersectClause; - yyval.astmt->forUpdate = n->forUpdate; - ; - break;} -case 455: -#line 2514 "gram.y" -{ - yyval.astmt = makeNode(InsertStmt); - yyval.astmt->cols = yyvsp[-5].list; - yyval.astmt->unique = NULL; - yyval.astmt->targetList = yyvsp[-1].list; - yyval.astmt->fromClause = NIL; - yyval.astmt->whereClause = NULL; - yyval.astmt->groupClause = NIL; - yyval.astmt->havingClause = NULL; - yyval.astmt->unionClause = NIL; - /***S*I***/ - yyval.astmt->intersectClause = NIL; - ; - break;} -case 456: -#line 2528 "gram.y" -{ - SelectStmt *n; - - n = (SelectStmt *)yyvsp[0].node; - yyval.astmt = makeNode(InsertStmt); - yyval.astmt->cols = yyvsp[-2].list; - yyval.astmt->unique = n->unique; - yyval.astmt->targetList = n->targetList; - yyval.astmt->fromClause = n->fromClause; - yyval.astmt->whereClause = n->whereClause; - yyval.astmt->groupClause = n->groupClause; - yyval.astmt->havingClause = n->havingClause; - yyval.astmt->unionClause = n->unionClause; - yyval.astmt->intersectClause = n->intersectClause; - ; - break;} -case 457: -#line 2545 "gram.y" -{ yyval.list = yyvsp[-1].list; ; - break;} -case 458: -#line 2546 "gram.y" -{ yyval.list = NIL; ; - break;} -case 459: -#line 2551 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; - break;} -case 460: -#line 2553 "gram.y" -{ yyval.list = lcons(yyvsp[0].node, NIL); ; - break;} -case 461: -#line 2557 "gram.y" -{ - Ident *id = makeNode(Ident); - id->name = yyvsp[-1].str; - id->indirection = yyvsp[0].list; - yyval.node = (Node *)id; - ; - break;} -case 462: -#line 2575 "gram.y" -{ - DeleteStmt *n = makeNode(DeleteStmt); - n->relname = yyvsp[-1].str; - n->whereClause = yyvsp[0].node; - yyval.node = (Node *)n; - ; - break;} -case 463: -#line 2584 "gram.y" -{ - LockStmt *n = makeNode(LockStmt); - - n->relname = yyvsp[0].str; - n->mode = AccessExclusiveLock; - yyval.node = (Node *)n; - ; - break;} -case 464: -#line 2592 "gram.y" -{ - LockStmt *n = makeNode(LockStmt); - - n->relname = yyvsp[-5].str; - if (strcasecmp(yyvsp[0].str, "MODE")) - elog(ERROR,"parser: syntax error at or near \"%s\"", yyvsp[0].str); - if (yyvsp[-3].str != NULL) - { - if (strcasecmp(yyvsp[-3].str, "SHARE")) - elog(ERROR,"parser: syntax error at or near \"%s\"", yyvsp[-3].str); - if (strcasecmp(yyvsp[-1].str, "EXCLUSIVE")) - elog(ERROR,"parser: syntax error at or near \"%s\"", yyvsp[-1].str); - n->mode = ShareRowExclusiveLock; - } - else - { - if (strcasecmp(yyvsp[-1].str, "SHARE") == 0) - n->mode = RowShareLock; - else if (strcasecmp(yyvsp[-1].str, "EXCLUSIVE") == 0) - n->mode = RowExclusiveLock; - else - elog(ERROR,"parser: syntax error at or near \"%s\"", yyvsp[-1].str); - } - yyval.node = (Node *)n; - ; - break;} -case 465: -#line 2618 "gram.y" -{ - LockStmt *n = makeNode(LockStmt); - - n->relname = yyvsp[-4].str; - if (strcasecmp(yyvsp[0].str, "MODE")) - elog(ERROR,"parser: syntax error at or near \"%s\"", yyvsp[0].str); - if (strcasecmp(yyvsp[-2].str, "ACCESS")) - elog(ERROR,"parser: syntax error at or near \"%s\"", yyvsp[-2].str); - if (strcasecmp(yyvsp[-1].str, "SHARE") == 0) - n->mode = AccessShareLock; - else if (strcasecmp(yyvsp[-1].str, "EXCLUSIVE") == 0) - n->mode = AccessExclusiveLock; - else - elog(ERROR,"parser: syntax error at or near \"%s\"", yyvsp[-1].str); - yyval.node = (Node *)n; - ; - break;} -case 466: -#line 2635 "gram.y" -{ - LockStmt *n = makeNode(LockStmt); - - n->relname = yyvsp[-3].str; - if (strcasecmp(yyvsp[0].str, "MODE")) - elog(ERROR,"parser: syntax error at or near \"%s\"", yyvsp[0].str); - if (strcasecmp(yyvsp[-1].str, "SHARE") == 0) - n->mode = ShareLock; - else if (strcasecmp(yyvsp[-1].str, "EXCLUSIVE") == 0) - n->mode = ExclusiveLock; - else - elog(ERROR,"parser: syntax error at or near \"%s\"", yyvsp[-1].str); - yyval.node = (Node *)n; - ; - break;} -case 467: -#line 2651 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 468: -#line 2652 "gram.y" -{ yyval.str = NULL; ; - break;} -case 469: -#line 2666 "gram.y" -{ - UpdateStmt *n = makeNode(UpdateStmt); - n->relname = yyvsp[-4].str; - n->targetList = yyvsp[-2].list; - n->fromClause = yyvsp[-1].list; - n->whereClause = yyvsp[0].node; - yyval.node = (Node *)n; - ; - break;} -case 470: -#line 2685 "gram.y" -{ - SelectStmt *n; - - n= (SelectStmt *)yyvsp[-1].node; - /* from PORTAL name */ - /* - * 15 august 1991 -- since 3.0 postgres does locking - * right, we discovered that portals were violating - * locking protocol. portal locks cannot span xacts. - * as a short-term fix, we installed the check here. - * -- mao - */ - if (!IsTransactionBlock()) - elog(ERROR,"Named portals may only be used in begin/end transaction blocks"); - - n->portalname = yyvsp[-5].str; - n->binary = yyvsp[-4].boolean; - yyval.node = (Node *)n; - ; - break;} -case 471: -#line 2706 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 472: -#line 2707 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 473: -#line 2708 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 474: -#line 2709 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 475: -#line 2710 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 476: -#line 2713 "gram.y" -{ yyval.boolean = yyvsp[0].boolean; ; - break;} -case 477: -#line 2714 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 478: -#line 2717 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 479: -#line 2719 "gram.y" -{ - elog(ERROR,"DECLARE/UPDATE not supported;" - " Cursors must be READ ONLY."); - yyval.boolean = FALSE; - ; - break;} -case 480: -#line 2727 "gram.y" -{ - yyval.boolean = FALSE; - ; - break;} -case 481: -#line 2746 "gram.y" -{ - /* There were no set operations, so just attach the sortClause */ - if IsA(yyvsp[-3].node, SelectStmt) - { - SelectStmt *n = (SelectStmt *)yyvsp[-3].node; - n->sortClause = yyvsp[-2].list; - n->forUpdate = yyvsp[-1].list; - n->limitOffset = nth(0, yyvsp[0].list); - n->limitCount = nth(1, yyvsp[0].list); - yyval.node = (Node *)n; - } - /* There were set operations: The root of the operator tree - * is delivered by $1 but we cannot hand back an A_Expr Node. - * So we search for the leftmost 'SelectStmt' in the operator - * tree $1 (which is the first Select Statement in the query - * typed in by the user or where ever it came from). - * - * Then we attach the whole operator tree to 'intersectClause', - * and a list of all 'SelectStmt' Nodes to 'unionClause' and - * hand back the leftmost 'SelectStmt' Node. (We do it this way - * because the following functions (e.g. parse_analyze etc.) - * excpect a SelectStmt node and not an operator tree! The whole - * tree attached to 'intersectClause' won't be touched by - * parse_analyze() etc. until the function - * Except_Intersect_Rewrite() (in rewriteHandler.c) which performs - * the necessary steps to be able create a plan!) */ - else - { - List *select_list = NIL; - SelectStmt *first_select; - Node *op = (Node *) yyvsp[-3].node; - bool intersect_present = FALSE, unionall_present = FALSE; - - /* Take the operator tree as an argument and - * create a list of all SelectStmt Nodes found in the tree. - * - * If one of the SelectStmt Nodes has the 'unionall' flag - * set to true the 'unionall_present' flag is also set to - * true */ - create_select_list((Node *)op, &select_list, &unionall_present); - - /* Replace all the A_Expr Nodes in the operator tree by - * Expr Nodes. - * - * If an INTERSECT or an EXCEPT is present, the - * 'intersect_present' flag is set to true */ - op = A_Expr_to_Expr(op, &intersect_present); - - /* If both flags are set to true we have a UNION ALL - * statement mixed up with INTERSECT or EXCEPT - * which can not be handled at the moment */ - if (intersect_present && unionall_present) - { - elog(ERROR,"UNION ALL not allowed in mixed set operations!"); - } - - /* Get the leftmost SeletStmt Node (which automatically - * represents the first Select Statement of the query!) */ - first_select = (SelectStmt *)lfirst(select_list); - - /* Attach the list of all SeletStmt Nodes to unionClause */ - first_select->unionClause = select_list; - - /* Attach the whole operator tree to intersectClause */ - first_select->intersectClause = (List *) op; - - /* finally attach the sort clause */ - first_select->sortClause = yyvsp[-2].list; - first_select->forUpdate = yyvsp[-1].list; - yyval.node = (Node *)first_select; - } - if (((SelectStmt *)yyval.node)->forUpdate != NULL && QueryIsRule) - elog(ERROR, "SELECT FOR UPDATE is not allowed in RULES"); - ; - break;} -case 482: -#line 2837 "gram.y" -{ - yyval.node = yyvsp[-1].node; - ; - break;} -case 483: -#line 2841 "gram.y" -{ - yyval.node = yyvsp[0].node; - ; - break;} -case 484: -#line 2845 "gram.y" -{ - yyval.node = (Node *)makeA_Expr(AND,NULL,yyvsp[-2].node, - makeA_Expr(NOT,NULL,NULL,yyvsp[0].node)); - ; - break;} -case 485: -#line 2850 "gram.y" -{ - if (IsA(yyvsp[0].node, SelectStmt)) - { - SelectStmt *n = (SelectStmt *)yyvsp[0].node; - n->unionall = yyvsp[-1].boolean; - } - yyval.node = (Node *)makeA_Expr(OR,NULL,yyvsp[-3].node,yyvsp[0].node); - ; - break;} -case 486: -#line 2859 "gram.y" -{ - yyval.node = (Node *)makeA_Expr(AND,NULL,yyvsp[-2].node,yyvsp[0].node); - ; - break;} -case 487: -#line 2868 "gram.y" -{ - SelectStmt *n = makeNode(SelectStmt); - n->unique = yyvsp[-6].str; - n->unionall = FALSE; - n->targetList = yyvsp[-5].list; - /***S*I***/ - /* This is new: Subselects support the INTO clause - * which allows queries that are not part of the - * SQL92 standard and should not be formulated! - * We need it for INTERSECT and EXCEPT and I did not - * want to create a new rule 'SubSelect1' including the - * feature. If it makes troubles we will have to add - * a new rule and change this to prevent INTOs in - * Subselects again */ - n->istemp = (bool) ((Value *) lfirst(yyvsp[-4].list))->val.ival; - n->into = (char *) lnext(yyvsp[-4].list); - - n->fromClause = yyvsp[-3].list; - n->whereClause = yyvsp[-2].node; - n->groupClause = yyvsp[-1].list; - n->havingClause = yyvsp[0].node; - yyval.node = (Node *)n; - ; - break;} -case 488: -#line 2894 "gram.y" -{ yyval.list = lcons(makeInteger(yyvsp[-2].boolean), (List *)yyvsp[0].str); ; - break;} -case 489: -#line 2895 "gram.y" -{ yyval.list = lcons(makeInteger(false), NIL); ; - break;} -case 490: -#line 2898 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 491: -#line 2899 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 492: -#line 2902 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 493: -#line 2903 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 494: -#line 2906 "gram.y" -{ yyval.str = "*"; ; - break;} -case 495: -#line 2907 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 496: -#line 2908 "gram.y" -{ yyval.str = NULL; ; - break;} -case 497: -#line 2909 "gram.y" -{ yyval.str = NULL; ; - break;} -case 498: -#line 2912 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} -case 499: -#line 2913 "gram.y" -{ yyval.list = NIL; ; - break;} -case 500: -#line 2916 "gram.y" -{ yyval.list = lcons(yyvsp[0].sortgroupby, NIL); ; - break;} -case 501: -#line 2917 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].sortgroupby); ; - break;} -case 502: -#line 2921 "gram.y" -{ - yyval.sortgroupby = makeNode(SortGroupBy); - yyval.sortgroupby->node = yyvsp[-1].node; - yyval.sortgroupby->useOp = yyvsp[0].str; - ; - break;} -case 503: -#line 2928 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 504: -#line 2929 "gram.y" -{ yyval.str = "<"; ; - break;} -case 505: -#line 2930 "gram.y" -{ yyval.str = ">"; ; - break;} -case 506: -#line 2931 "gram.y" -{ yyval.str = "<"; ; - break;} -case 507: -#line 2932 "gram.y" -{ yyval.str = ">"; ; - break;} -case 508: -#line 2933 "gram.y" -{ yyval.str = "<"; /*default*/ ; - break;} -case 509: -#line 2938 "gram.y" -{ yyval.list = lappend(lappend(NIL, yyvsp[0].node), yyvsp[-2].node); ; - break;} -case 510: -#line 2940 "gram.y" -{ yyval.list = lappend(lappend(NIL, yyvsp[0].node), yyvsp[-2].node); ; - break;} -case 511: -#line 2942 "gram.y" -{ yyval.list = lappend(lappend(NIL, NULL), yyvsp[0].node); ; - break;} -case 512: -#line 2944 "gram.y" -{ yyval.list = lappend(lappend(NIL, yyvsp[-2].node), yyvsp[0].node); ; - break;} -case 513: -#line 2946 "gram.y" -{ yyval.list = lappend(lappend(NIL, yyvsp[0].node), NULL); ; - break;} -case 514: -#line 2948 "gram.y" -{ yyval.list = lappend(lappend(NIL, NULL), NULL); ; - break;} -case 515: -#line 2952 "gram.y" -{ - Const *n = makeNode(Const); - - if (yyvsp[0].ival < 1) - elog(ERROR, "selection limit must be ALL or a positive integer value > 0"); - - n->consttype = INT4OID; - n->constlen = sizeof(int4); - n->constvalue = (Datum)yyvsp[0].ival; - n->constisnull = FALSE; - n->constbyval = TRUE; - n->constisset = FALSE; - n->constiscast = FALSE; - yyval.node = (Node *)n; - ; - break;} -case 516: -#line 2968 "gram.y" -{ - Const *n = makeNode(Const); - - n->consttype = INT4OID; - n->constlen = sizeof(int4); - n->constvalue = (Datum)0; - n->constisnull = FALSE; - n->constbyval = TRUE; - n->constisset = FALSE; - n->constiscast = FALSE; - yyval.node = (Node *)n; - ; - break;} -case 517: -#line 2981 "gram.y" -{ - Param *n = makeNode(Param); - - n->paramkind = PARAM_NUM; - n->paramid = yyvsp[0].ival; - n->paramtype = INT4OID; - yyval.node = (Node *)n; - ; - break;} -case 518: -#line 2992 "gram.y" -{ - Const *n = makeNode(Const); - - n->consttype = INT4OID; - n->constlen = sizeof(int4); - n->constvalue = (Datum)yyvsp[0].ival; - n->constisnull = FALSE; - n->constbyval = TRUE; - n->constisset = FALSE; - n->constiscast = FALSE; - yyval.node = (Node *)n; - ; - break;} -case 519: -#line 3005 "gram.y" -{ - Param *n = makeNode(Param); - - n->paramkind = PARAM_NUM; - n->paramid = yyvsp[0].ival; - n->paramtype = INT4OID; - yyval.node = (Node *)n; - ; - break;} -case 520: -#line 3021 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 521: -#line 3022 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 523: -#line 3028 "gram.y" -{ yyval.list = lcons(makeString(yyvsp[0].str),NIL); ; - break;} -case 524: -#line 3030 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list,makeString(yyvsp[0].str)); ; - break;} -case 525: -#line 3033 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} -case 526: -#line 3034 "gram.y" -{ yyval.list = NIL; ; - break;} -case 527: -#line 3038 "gram.y" -{ - yyval.node = yyvsp[0].node; - ; - break;} -case 528: -#line 3041 "gram.y" -{ yyval.node = NULL; ; - break;} -case 529: -#line 3044 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} -case 530: -#line 3045 "gram.y" -{ yyval.list = NULL; ; - break;} -case 531: -#line 3048 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} -case 532: -#line 3049 "gram.y" -{ yyval.list = lcons(NULL, NULL); ; - break;} -case 533: -#line 3060 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} -case 534: -#line 3061 "gram.y" -{ yyval.list = NIL; ; - break;} -case 535: -#line 3065 "gram.y" -{ yyval.list = yyvsp[-1].list; ; - break;} -case 536: -#line 3067 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} -case 537: -#line 3069 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} -case 538: -#line 3073 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].range); ; - break;} -case 539: -#line 3075 "gram.y" -{ yyval.list = lcons(yyvsp[0].range, NIL); ; - break;} -case 540: -#line 3079 "gram.y" -{ - yyval.range = makeNode(RangeVar); - yyval.range->relExpr = yyvsp[-2].relexp; - yyval.range->name = yyvsp[0].str; - ; - break;} -case 541: -#line 3085 "gram.y" -{ - yyval.range = makeNode(RangeVar); - yyval.range->relExpr = yyvsp[-1].relexp; - yyval.range->name = yyvsp[0].str; - ; - break;} -case 542: -#line 3091 "gram.y" -{ - yyval.range = makeNode(RangeVar); - yyval.range->relExpr = yyvsp[0].relexp; - yyval.range->name = NULL; - ; - break;} -case 543: -#line 3103 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} -case 544: -#line 3105 "gram.y" -{ elog(ERROR,"UNION JOIN not yet implemented"); ; - break;} -case 545: -#line 3109 "gram.y" -{ - Node *n = lfirst(yyvsp[0].list); - - /* JoinExpr came back? then it is a join of some sort... - */ - if (IsA(n, JoinExpr)) - { - JoinExpr *j = (JoinExpr *)n; - j->larg = yyvsp[-1].range; - yyval.list = yyvsp[0].list; - } - /* otherwise, it was a cross join, - * which we just represent as an inner join... - */ - else - yyval.list = lcons(yyvsp[-1].range, yyvsp[0].list); - ; - break;} -case 546: -#line 3129 "gram.y" -{ - yyval.list = lappend(yyvsp[-1].list, yyvsp[0].node); - ; - break;} -case 547: -#line 3133 "gram.y" -{ - yyval.list = lcons(yyvsp[0].node, NIL); - ; - break;} -case 548: -#line 3145 "gram.y" -{ - JoinExpr *n = makeNode(JoinExpr); - n->jointype = yyvsp[-3].ival; - n->rarg = (Node *)yyvsp[-1].range; - n->quals = yyvsp[0].list; - yyval.node = (Node *)n; - ; - break;} -case 549: -#line 3153 "gram.y" -{ - JoinExpr *n = makeNode(JoinExpr); - n->jointype = yyvsp[-2].ival; - n->rarg = (Node *)yyvsp[0].range; - n->quals = NULL; /* figure out which columns later... */ - yyval.node = (Node *)n; - ; - break;} -case 550: -#line 3161 "gram.y" -{ yyval.node = (Node *)yyvsp[0].range; ; - break;} -case 551: -#line 3166 "gram.y" -{ - yyval.ival = FULL; - elog(NOTICE,"FULL OUTER JOIN not yet implemented"); - ; - break;} -case 552: -#line 3171 "gram.y" -{ - yyval.ival = LEFT; - elog(NOTICE,"LEFT OUTER JOIN not yet implemented"); - ; - break;} -case 553: -#line 3176 "gram.y" -{ - yyval.ival = RIGHT; - elog(NOTICE,"RIGHT OUTER JOIN not yet implemented"); - ; - break;} -case 554: -#line 3181 "gram.y" -{ - yyval.ival = LEFT; - elog(NOTICE,"OUTER JOIN not yet implemented"); - ; - break;} -case 555: -#line 3186 "gram.y" -{ - yyval.ival = INNER_P; - ; - break;} -case 556: -#line 3190 "gram.y" -{ - yyval.ival = INNER_P; - ; - break;} -case 557: -#line 3195 "gram.y" -{ yyval.str = NULL; ; - break;} -case 558: -#line 3196 "gram.y" -{ yyval.str = NULL; /* no qualifiers */ ; - break;} -case 559: -#line 3207 "gram.y" -{ yyval.list = yyvsp[-1].list; ; - break;} -case 560: -#line 3208 "gram.y" -{ yyval.list = lcons(yyvsp[0].node, NIL); ; - break;} -case 561: -#line 3211 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; - break;} -case 562: -#line 3212 "gram.y" -{ yyval.list = lcons(yyvsp[0].node, NIL); ; - break;} -case 563: -#line 3216 "gram.y" -{ - /* could be a column name or a relation_name */ - Ident *n = makeNode(Ident); - n->name = yyvsp[0].str; - n->indirection = NULL; - yyval.node = (Node *)n; - ; - break;} -case 564: -#line 3225 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} -case 565: -#line 3226 "gram.y" -{ yyval.node = NULL; /* no qualifiers */ ; - break;} -case 566: -#line 3230 "gram.y" -{ - /* normal relations */ - yyval.relexp = makeNode(RelExpr); - yyval.relexp->relname = yyvsp[0].str; - yyval.relexp->inh = FALSE; - ; - break;} -case 567: -#line 3237 "gram.y" -{ - /* inheritance query */ - yyval.relexp = makeNode(RelExpr); - yyval.relexp->relname = yyvsp[-1].str; - yyval.relexp->inh = TRUE; - ; - break;} -case 568: -#line 3245 "gram.y" -{ yyval.list = lcons(makeInteger(-1), yyvsp[0].list); ; - break;} -case 569: -#line 3247 "gram.y" -{ yyval.list = lcons(makeInteger(yyvsp[-2].ival), yyvsp[0].list); ; - break;} -case 570: -#line 3249 "gram.y" -{ yyval.list = NIL; ; - break;} -case 571: -#line 3253 "gram.y" -{ yyval.list = lcons(makeInteger(-1), yyvsp[0].list); ; - break;} -case 572: -#line 3255 "gram.y" -{ yyval.list = lcons(makeInteger(yyvsp[-2].ival), yyvsp[0].list); ; - break;} -case 573: -#line 3257 "gram.y" -{ yyval.list = NIL; ; - break;} -case 574: -#line 3272 "gram.y" -{ - yyval.typnam = yyvsp[-1].typnam; - yyval.typnam->arrayBounds = yyvsp[0].list; - - /* Is this the name of a complex type? If so, implement - * it as a set. - */ - if (!strcmp(saved_relname, yyval.typnam->name)) - /* This attr is the same type as the relation - * being defined. The classic example: create - * emp(name=text,mgr=emp) - */ - yyval.typnam->setof = TRUE; - else if (typeTypeRelid(typenameType(yyval.typnam->name)) != InvalidOid) - /* (Eventually add in here that the set can only - * contain one element.) - */ - yyval.typnam->setof = TRUE; - else - yyval.typnam->setof = FALSE; - ; - break;} -case 575: -#line 3294 "gram.y" -{ - yyval.typnam = yyvsp[0].typnam; - yyval.typnam->setof = TRUE; - ; - break;} -case 580: -#line 3307 "gram.y" -{ - yyval.typnam = makeNode(TypeName); - yyval.typnam->name = xlateSqlType(yyvsp[0].str); - yyval.typnam->typmod = -1; - ; - break;} -case 581: -#line 3314 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 582: -#line 3315 "gram.y" -{ yyval.str = xlateSqlType("type"); ; - break;} -case 583: -#line 3324 "gram.y" -{ - yyval.typnam = makeNode(TypeName); - yyval.typnam->name = xlateSqlType(yyvsp[0].str); - yyval.typnam->typmod = -1; - ; - break;} -case 584: -#line 3330 "gram.y" -{ - yyval.typnam = makeNode(TypeName); - yyval.typnam->name = xlateSqlType("float"); - ; - break;} -case 585: -#line 3335 "gram.y" -{ - yyval.typnam = makeNode(TypeName); - yyval.typnam->name = xlateSqlType("numeric"); - yyval.typnam->typmod = yyvsp[0].ival; - ; - break;} -case 586: -#line 3341 "gram.y" -{ - yyval.typnam = makeNode(TypeName); - yyval.typnam->name = xlateSqlType("numeric"); - yyval.typnam->typmod = yyvsp[0].ival; - ; - break;} -case 587: -#line 3349 "gram.y" -{ yyval.str = xlateSqlType("float8"); ; - break;} -case 588: -#line 3351 "gram.y" -{ yyval.str = xlateSqlType("float8"); ; - break;} -case 589: -#line 3353 "gram.y" -{ yyval.str = xlateSqlType("numeric"); ; - break;} -case 590: -#line 3355 "gram.y" -{ yyval.str = xlateSqlType("numeric"); ; - break;} -case 591: -#line 3359 "gram.y" -{ - if (yyvsp[-1].ival < 1) - elog(ERROR,"precision for FLOAT must be at least 1"); - else if (yyvsp[-1].ival < 7) - yyval.str = xlateSqlType("float4"); - else if (yyvsp[-1].ival < 16) - yyval.str = xlateSqlType("float8"); - else - elog(ERROR,"precision for FLOAT must be less than 16"); - ; - break;} -case 592: -#line 3370 "gram.y" -{ - yyval.str = xlateSqlType("float8"); - ; - break;} -case 593: -#line 3376 "gram.y" -{ - if (yyvsp[-3].ival < 1 || yyvsp[-3].ival > NUMERIC_MAX_PRECISION) - elog(ERROR,"NUMERIC precision %d must be beween 1 and %d", - yyvsp[-3].ival, NUMERIC_MAX_PRECISION); - if (yyvsp[-1].ival < 0 || yyvsp[-1].ival > yyvsp[-3].ival) - elog(ERROR,"NUMERIC scale %d must be between 0 and precision %d", - yyvsp[-1].ival,yyvsp[-3].ival); - - yyval.ival = ((yyvsp[-3].ival << 16) | yyvsp[-1].ival) + VARHDRSZ; - ; - break;} -case 594: -#line 3387 "gram.y" -{ - if (yyvsp[-1].ival < 1 || yyvsp[-1].ival > NUMERIC_MAX_PRECISION) - elog(ERROR,"NUMERIC precision %d must be beween 1 and %d", - yyvsp[-1].ival, NUMERIC_MAX_PRECISION); - - yyval.ival = (yyvsp[-1].ival << 16) + VARHDRSZ; - ; - break;} -case 595: -#line 3395 "gram.y" -{ - yyval.ival = ((NUMERIC_DEFAULT_PRECISION << 16) | NUMERIC_DEFAULT_SCALE) + VARHDRSZ; - ; - break;} -case 596: -#line 3401 "gram.y" -{ - if (yyvsp[-3].ival < 1 || yyvsp[-3].ival > NUMERIC_MAX_PRECISION) - elog(ERROR,"DECIMAL precision %d must be beween 1 and %d", - yyvsp[-3].ival, NUMERIC_MAX_PRECISION); - if (yyvsp[-1].ival < 0 || yyvsp[-1].ival > yyvsp[-3].ival) - elog(ERROR,"DECIMAL scale %d must be between 0 and precision %d", - yyvsp[-1].ival,yyvsp[-3].ival); - - yyval.ival = ((yyvsp[-3].ival << 16) | yyvsp[-1].ival) + VARHDRSZ; - ; - break;} -case 597: -#line 3412 "gram.y" -{ - if (yyvsp[-1].ival < 1 || yyvsp[-1].ival > NUMERIC_MAX_PRECISION) - elog(ERROR,"DECIMAL precision %d must be beween 1 and %d", - yyvsp[-1].ival, NUMERIC_MAX_PRECISION); - - yyval.ival = (yyvsp[-1].ival << 16) + VARHDRSZ; - ; - break;} -case 598: -#line 3420 "gram.y" -{ - yyval.ival = ((NUMERIC_DEFAULT_PRECISION << 16) | NUMERIC_DEFAULT_SCALE) + VARHDRSZ; - ; - break;} -case 599: -#line 3430 "gram.y" -{ - yyval.typnam = makeNode(TypeName); - if (strcasecmp(yyvsp[-3].str, "char") == 0) - yyval.typnam->name = xlateSqlType("bpchar"); - else if (strcasecmp(yyvsp[-3].str, "varchar") == 0) - yyval.typnam->name = xlateSqlType("varchar"); - else - yyerror("internal parsing error; unrecognized character type"); - - if (yyvsp[-1].ival < 1) - elog(ERROR,"length for '%s' type must be at least 1",yyvsp[-3].str); - else if (yyvsp[-1].ival > 4096) - /* we can store a char() of length up to the size - * of a page (8KB) - page headers and friends but - * just to be safe here... - ay 6/95 - * XXX note this hardcoded limit - thomas 1997-07-13 - */ - elog(ERROR,"length for type '%s' cannot exceed 4096",yyvsp[-3].str); - - /* we actually implement this sort of like a varlen, so - * the first 4 bytes is the length. (the difference - * between this and "text" is that we blank-pad and - * truncate where necessary - */ - yyval.typnam->typmod = VARHDRSZ + yyvsp[-1].ival; - ; - break;} -case 600: -#line 3457 "gram.y" -{ - yyval.typnam = makeNode(TypeName); - /* Let's try to make all single-character types into bpchar(1) - * - thomas 1998-05-07 - */ - if (strcasecmp(yyvsp[0].str, "char") == 0) - { - yyval.typnam->name = xlateSqlType("bpchar"); - yyval.typnam->typmod = VARHDRSZ + 1; - } - else - { - yyval.typnam->name = xlateSqlType(yyvsp[0].str); - yyval.typnam->typmod = -1; - } - ; - break;} -case 601: -#line 3476 "gram.y" -{ - char *type, *c; - if ((yyvsp[-1].str == NULL) || (strcasecmp(yyvsp[-1].str, "sql_text") == 0)) { - if (yyvsp[-2].boolean) type = xlateSqlType("varchar"); - else type = xlateSqlType("char"); - } else { - if (yyvsp[-2].boolean) { - c = palloc(strlen("var") + strlen(yyvsp[-1].str) + 1); - strcpy(c, "var"); - strcat(c, yyvsp[-1].str); - type = xlateSqlType(c); - } else { - type = xlateSqlType(yyvsp[-1].str); - } - }; - if (yyvsp[0].str != NULL) - elog(NOTICE,"COLLATE %s not yet implemented; clause ignored",yyvsp[0].str); - yyval.str = type; - ; - break;} -case 602: -#line 3495 "gram.y" -{ yyval.str = xlateSqlType(yyvsp[0].boolean? "varchar": "char"); ; - break;} -case 603: -#line 3496 "gram.y" -{ yyval.str = xlateSqlType("varchar"); ; - break;} -case 604: -#line 3497 "gram.y" -{ yyval.str = xlateSqlType(yyvsp[0].boolean? "varchar": "char"); ; - break;} -case 605: -#line 3498 "gram.y" -{ yyval.str = xlateSqlType(yyvsp[0].boolean? "varchar": "char"); ; - break;} -case 606: -#line 3501 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 607: -#line 3502 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 608: -#line 3505 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 609: -#line 3506 "gram.y" -{ yyval.str = NULL; ; - break;} -case 610: -#line 3509 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 611: -#line 3510 "gram.y" -{ yyval.str = NULL; ; - break;} -case 612: -#line 3514 "gram.y" -{ - yyval.typnam = makeNode(TypeName); - yyval.typnam->name = xlateSqlType(yyvsp[0].str); - yyval.typnam->typmod = -1; - ; - break;} -case 613: -#line 3520 "gram.y" -{ - yyval.typnam = makeNode(TypeName); - yyval.typnam->name = xlateSqlType("timestamp"); - yyval.typnam->timezone = yyvsp[0].boolean; - yyval.typnam->typmod = -1; - ; - break;} -case 614: -#line 3527 "gram.y" -{ - yyval.typnam = makeNode(TypeName); - yyval.typnam->name = xlateSqlType("time"); - yyval.typnam->typmod = -1; - ; - break;} -case 615: -#line 3533 "gram.y" -{ - yyval.typnam = makeNode(TypeName); - yyval.typnam->name = xlateSqlType("interval"); - yyval.typnam->typmod = -1; - ; - break;} -case 616: -#line 3540 "gram.y" -{ yyval.str = "year"; ; - break;} -case 617: -#line 3541 "gram.y" -{ yyval.str = "month"; ; - break;} -case 618: -#line 3542 "gram.y" -{ yyval.str = "day"; ; - break;} -case 619: -#line 3543 "gram.y" -{ yyval.str = "hour"; ; - break;} -case 620: -#line 3544 "gram.y" -{ yyval.str = "minute"; ; - break;} -case 621: -#line 3545 "gram.y" -{ yyval.str = "second"; ; - break;} -case 622: -#line 3548 "gram.y" -{ yyval.boolean = TRUE; ; - break;} -case 623: -#line 3549 "gram.y" -{ yyval.boolean = FALSE; ; - break;} -case 624: -#line 3552 "gram.y" -{ yyval.list = lcons(yyvsp[0].str, NIL); ; - break;} -case 625: -#line 3553 "gram.y" -{ yyval.list = NIL; ; - break;} -case 626: -#line 3554 "gram.y" -{ yyval.list = NIL; ; - break;} -case 627: -#line 3555 "gram.y" -{ yyval.list = NIL; ; - break;} -case 628: -#line 3556 "gram.y" -{ yyval.list = NIL; ; - break;} -case 629: -#line 3557 "gram.y" -{ yyval.list = NIL; ; - break;} -case 630: -#line 3558 "gram.y" -{ yyval.list = NIL; ; - break;} -case 631: -#line 3559 "gram.y" -{ yyval.list = NIL; ; - break;} -case 632: -#line 3560 "gram.y" -{ yyval.list = NIL; ; - break;} -case 633: -#line 3571 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} -case 634: -#line 3573 "gram.y" -{ - A_Const *n = makeNode(A_Const); - n->val.type = T_Null; - yyval.node = (Node *)n; - ; - break;} -case 635: -#line 3590 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = yyvsp[-5].list; - n->oper = lcons("=",NIL); - n->useor = false; - n->subLinkType = ANY_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 636: -#line 3600 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = yyvsp[-6].list; - n->oper = lcons("<>",NIL); - n->useor = true; - n->subLinkType = ALL_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 637: -#line 3610 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = yyvsp[-6].list; - n->oper = lcons(yyvsp[-4].str, NIL); - if (strcmp(yyvsp[-4].str,"<>") == 0) - n->useor = true; - else - n->useor = false; - n->subLinkType = yyvsp[-3].ival; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 638: -#line 3623 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = yyvsp[-5].list; - n->oper = lcons(yyvsp[-3].str, NIL); - if (strcmp(yyvsp[-3].str,"<>") == 0) - n->useor = true; - else - n->useor = false; - n->subLinkType = EXPR_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 639: -#line 3636 "gram.y" -{ - yyval.node = makeRowExpr(yyvsp[-3].str, yyvsp[-5].list, yyvsp[-1].list); - ; - break;} -case 640: -#line 3642 "gram.y" -{ - yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); - ; - break;} -case 641: -#line 3648 "gram.y" -{ - yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); - ; - break;} -case 642: -#line 3652 "gram.y" -{ - yyval.list = lcons(yyvsp[0].node, NIL); - ; - break;} -case 643: -#line 3657 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 644: -#line 3658 "gram.y" -{ yyval.str = "<"; ; - break;} -case 645: -#line 3659 "gram.y" -{ yyval.str = "="; ; - break;} -case 646: -#line 3660 "gram.y" -{ yyval.str = ">"; ; - break;} -case 647: -#line 3661 "gram.y" -{ yyval.str = "+"; ; - break;} -case 648: -#line 3662 "gram.y" -{ yyval.str = "-"; ; - break;} -case 649: -#line 3663 "gram.y" -{ yyval.str = "*"; ; - break;} -case 650: -#line 3664 "gram.y" -{ yyval.str = "/"; ; - break;} -case 651: -#line 3665 "gram.y" -{ yyval.str = "%"; ; - break;} -case 652: -#line 3668 "gram.y" -{ yyval.ival = ANY_SUBLINK; ; - break;} -case 653: -#line 3669 "gram.y" -{ yyval.ival = ALL_SUBLINK; ; - break;} -case 654: -#line 3681 "gram.y" -{ - yyvsp[-1].attr->indirection = yyvsp[0].list; - yyval.node = (Node *)yyvsp[-1].attr; - ; - break;} -case 655: -#line 3686 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} -case 656: -#line 3688 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} -case 657: -#line 3690 "gram.y" -{ - /* could be a column name or a relation_name */ - Ident *n = makeNode(Ident); - n->name = yyvsp[0].str; - n->indirection = NULL; - yyval.node = (Node *)n; - ; - break;} -case 658: -#line 3698 "gram.y" -{ yyval.node = doNegate(yyvsp[0].node); ; - break;} -case 659: -#line 3700 "gram.y" -{ yyval.node = makeA_Expr(OP, "%", NULL, yyvsp[0].node); ; - break;} -case 660: -#line 3702 "gram.y" -{ yyval.node = makeA_Expr(OP, "%", yyvsp[-1].node, NULL); ; - break;} -case 661: -#line 3704 "gram.y" -{ yyval.node = makeA_Expr(OP, "+", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 662: -#line 3706 "gram.y" -{ yyval.node = makeA_Expr(OP, "-", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 663: -#line 3708 "gram.y" -{ yyval.node = makeA_Expr(OP, "/", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 664: -#line 3710 "gram.y" -{ yyval.node = makeA_Expr(OP, "%", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 665: -#line 3712 "gram.y" -{ yyval.node = makeA_Expr(OP, "*", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 666: -#line 3714 "gram.y" -{ yyval.node = makeA_Expr(OP, "<", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 667: -#line 3716 "gram.y" -{ yyval.node = makeA_Expr(OP, ">", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 668: -#line 3720 "gram.y" -{ yyval.node = makeA_Expr(ISNULL, NULL, yyvsp[-2].node, NULL); ; - break;} -case 669: -#line 3722 "gram.y" -{ yyval.node = makeA_Expr(ISNULL, NULL, yyvsp[0].node, NULL); ; - break;} -case 670: -#line 3725 "gram.y" -{ yyval.node = makeA_Expr(OP, "=", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 671: -#line 3727 "gram.y" -{ yyval.node = makeA_Expr(OP, ":", NULL, yyvsp[0].node); ; - break;} -case 672: -#line 3729 "gram.y" -{ yyval.node = makeA_Expr(OP, ";", NULL, yyvsp[0].node); ; - break;} -case 673: -#line 3731 "gram.y" -{ yyval.node = makeA_Expr(OP, "|", NULL, yyvsp[0].node); ; - break;} -case 674: -#line 3733 "gram.y" -{ - yyval.node = (Node *)yyvsp[-2].node; - /* AexprConst can be either A_Const or ParamNo */ - if (nodeTag(yyvsp[-2].node) == T_A_Const) { - ((A_Const *)yyvsp[-2].node)->typename = yyvsp[0].typnam; - } else if (nodeTag(yyvsp[-2].node) == T_Param) { - ((ParamNo *)yyvsp[-2].node)->typename = yyvsp[0].typnam; - /* otherwise, try to transform to a function call */ - } else { - FuncCall *n = makeNode(FuncCall); - n->funcname = yyvsp[0].typnam->name; - n->args = lcons(yyvsp[-2].node,NIL); - yyval.node = (Node *)n; - } - ; - break;} -case 675: -#line 3749 "gram.y" -{ - yyval.node = (Node *)yyvsp[-3].node; - /* AexprConst can be either A_Const or ParamNo */ - if (nodeTag(yyvsp[-3].node) == T_A_Const) { - ((A_Const *)yyvsp[-3].node)->typename = yyvsp[-1].typnam; - } else if (nodeTag(yyvsp[-1].typnam) == T_Param) { - ((ParamNo *)yyvsp[-3].node)->typename = yyvsp[-1].typnam; - /* otherwise, try to transform to a function call */ - } else { - FuncCall *n = makeNode(FuncCall); - n->funcname = yyvsp[-1].typnam->name; - n->args = lcons(yyvsp[-3].node,NIL); - yyval.node = (Node *)n; - } - ; - break;} -case 676: -#line 3765 "gram.y" -{ yyval.node = yyvsp[-1].node; ; - break;} -case 677: -#line 3767 "gram.y" -{ yyval.node = makeIndexable(yyvsp[-1].str,yyvsp[-2].node,yyvsp[0].node); ; - break;} -case 678: -#line 3769 "gram.y" -{ yyval.node = makeIndexable("~~", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 679: -#line 3771 "gram.y" -{ yyval.node = makeA_Expr(OP, "!~~", yyvsp[-3].node, yyvsp[0].node); ; - break;} -case 680: -#line 3773 "gram.y" -{ yyval.node = makeA_Expr(OP, yyvsp[-1].str, NULL, yyvsp[0].node); ; - break;} -case 681: -#line 3775 "gram.y" -{ yyval.node = makeA_Expr(OP, yyvsp[0].str, yyvsp[-1].node, NULL); ; - break;} -case 682: -#line 3777 "gram.y" -{ - /* cheap hack for aggregate (eg. count) */ - FuncCall *n = makeNode(FuncCall); - A_Const *star = makeNode(A_Const); - - star->val.type = T_String; - star->val.val.str = ""; - n->funcname = yyvsp[-3].str; - n->args = lcons(star, NIL); - yyval.node = (Node *)n; - ; - break;} -case 683: -#line 3789 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = yyvsp[-2].str; - n->args = NIL; - yyval.node = (Node *)n; - ; - break;} -case 684: -#line 3796 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = yyvsp[-3].str; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 685: -#line 3803 "gram.y" -{ - A_Const *n = makeNode(A_Const); - TypeName *t = makeNode(TypeName); - - n->val.type = T_String; - n->val.val.str = "now"; - n->typename = t; - - t->name = xlateSqlType("date"); - t->setof = FALSE; - t->typmod = -1; - - yyval.node = (Node *)n; - ; - break;} -case 686: -#line 3818 "gram.y" -{ - A_Const *n = makeNode(A_Const); - TypeName *t = makeNode(TypeName); - - n->val.type = T_String; - n->val.val.str = "now"; - n->typename = t; - - t->name = xlateSqlType("time"); - t->setof = FALSE; - t->typmod = -1; - - yyval.node = (Node *)n; - ; - break;} -case 687: -#line 3833 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - A_Const *s = makeNode(A_Const); - TypeName *t = makeNode(TypeName); - - n->funcname = xlateSqlType("time"); - n->args = lcons(s, NIL); - - s->val.type = T_String; - s->val.val.str = "now"; - s->typename = t; - - t->name = xlateSqlType("time"); - t->setof = FALSE; - t->typmod = -1; - - if (yyvsp[-1].ival != 0) - elog(NOTICE,"CURRENT_TIME(%d) precision not implemented; zero used instead",yyvsp[-1].ival); - - yyval.node = (Node *)n; - ; - break;} -case 688: -#line 3855 "gram.y" -{ - A_Const *n = makeNode(A_Const); - TypeName *t = makeNode(TypeName); - - n->val.type = T_String; - n->val.val.str = "now"; - n->typename = t; - - t->name = xlateSqlType("timestamp"); - t->setof = FALSE; - t->typmod = -1; - - yyval.node = (Node *)n; - ; - break;} -case 689: -#line 3870 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - A_Const *s = makeNode(A_Const); - TypeName *t = makeNode(TypeName); - - n->funcname = xlateSqlType("timestamp"); - n->args = lcons(s, NIL); - - s->val.type = T_String; - s->val.val.str = "now"; - s->typename = t; - - t->name = xlateSqlType("timestamp"); - t->setof = FALSE; - t->typmod = -1; - - if (yyvsp[-1].ival != 0) - elog(NOTICE,"CURRENT_TIMESTAMP(%d) precision not implemented; zero used instead",yyvsp[-1].ival); - - yyval.node = (Node *)n; - ; - break;} -case 690: -#line 3892 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "getpgusername"; - n->args = NIL; - yyval.node = (Node *)n; - ; - break;} -case 691: -#line 3899 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "getpgusername"; - n->args = NIL; - yyval.node = (Node *)n; - ; - break;} -case 692: -#line 3906 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = NIL; - n->useor = false; - n->oper = NIL; - n->subLinkType = EXISTS_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 693: -#line 3916 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "date_part"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 694: -#line 3923 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "strpos"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 695: -#line 3930 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "substr"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 696: -#line 3938 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "btrim"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 697: -#line 3945 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "ltrim"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 698: -#line 3952 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "rtrim"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 699: -#line 3959 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "btrim"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 700: -#line 3966 "gram.y" -{ yyval.node = makeA_Expr(ISNULL, NULL, yyvsp[-1].node, NULL); ; - break;} -case 701: -#line 3968 "gram.y" -{ yyval.node = makeA_Expr(ISNULL, NULL, yyvsp[-2].node, NULL); ; - break;} -case 702: -#line 3970 "gram.y" -{ yyval.node = makeA_Expr(NOTNULL, NULL, yyvsp[-1].node, NULL); ; - break;} -case 703: -#line 3972 "gram.y" -{ yyval.node = makeA_Expr(NOTNULL, NULL, yyvsp[-3].node, NULL); ; - break;} -case 704: -#line 3979 "gram.y" -{ - A_Const *n = makeNode(A_Const); - n->val.type = T_String; - n->val.val.str = "t"; - n->typename = makeNode(TypeName); - n->typename->name = xlateSqlType("bool"); - n->typename->typmod = -1; - yyval.node = makeA_Expr(OP, "=", yyvsp[-2].node,(Node *)n); - ; - break;} -case 705: -#line 3989 "gram.y" -{ - A_Const *n = makeNode(A_Const); - n->val.type = T_String; - n->val.val.str = "t"; - n->typename = makeNode(TypeName); - n->typename->name = xlateSqlType("bool"); - n->typename->typmod = -1; - yyval.node = makeA_Expr(OP, "=", yyvsp[-3].node,(Node *)n); - ; - break;} -case 706: -#line 3999 "gram.y" -{ - A_Const *n = makeNode(A_Const); - n->val.type = T_String; - n->val.val.str = "f"; - n->typename = makeNode(TypeName); - n->typename->name = xlateSqlType("bool"); - n->typename->typmod = -1; - yyval.node = makeA_Expr(OP, "=", yyvsp[-2].node,(Node *)n); - ; - break;} -case 707: -#line 4009 "gram.y" -{ - A_Const *n = makeNode(A_Const); - n->val.type = T_String; - n->val.val.str = "f"; - n->typename = makeNode(TypeName); - n->typename->name = xlateSqlType("bool"); - n->typename->typmod = -1; - yyval.node = makeA_Expr(OP, "=", yyvsp[-3].node,(Node *)n); - ; - break;} -case 708: -#line 4019 "gram.y" -{ - yyval.node = makeA_Expr(AND, NULL, - makeA_Expr(OP, ">=", yyvsp[-4].node, yyvsp[-2].node), - makeA_Expr(OP, "<=", yyvsp[-4].node, yyvsp[0].node)); - ; - break;} -case 709: -#line 4025 "gram.y" -{ - yyval.node = makeA_Expr(OR, NULL, - makeA_Expr(OP, "<", yyvsp[-5].node, yyvsp[-2].node), - makeA_Expr(OP, ">", yyvsp[-5].node, yyvsp[0].node)); - ; - break;} -case 710: -#line 4030 "gram.y" -{ saved_In_Expr = lcons(yyvsp[-1].node,saved_In_Expr); ; - break;} -case 711: -#line 4031 "gram.y" -{ - saved_In_Expr = lnext(saved_In_Expr); - if (nodeTag(yyvsp[-1].node) == T_SubLink) - { - SubLink *n = (SubLink *)yyvsp[-1].node; - n->lefthand = lcons(yyvsp[-5].node, NIL); - n->oper = lcons("=",NIL); - n->useor = false; - n->subLinkType = ANY_SUBLINK; - yyval.node = (Node *)n; - } - else yyval.node = yyvsp[-1].node; - ; - break;} -case 712: -#line 4044 "gram.y" -{ saved_In_Expr = lcons(yyvsp[-2].node,saved_In_Expr); ; - break;} -case 713: -#line 4045 "gram.y" -{ - saved_In_Expr = lnext(saved_In_Expr); - if (nodeTag(yyvsp[-1].node) == T_SubLink) - { - SubLink *n = (SubLink *)yyvsp[-1].node; - n->lefthand = lcons(yyvsp[-6].node, NIL); - n->oper = lcons("<>",NIL); - n->useor = false; - n->subLinkType = ALL_SUBLINK; - yyval.node = (Node *)n; - } - else yyval.node = yyvsp[-1].node; - ; - break;} -case 714: -#line 4059 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-4].node, NULL); - n->oper = lcons(yyvsp[-3].str,NIL); - n->useor = false; - n->subLinkType = EXPR_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 715: -#line 4069 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-4].node, NULL); - n->oper = lcons("+",NIL); - n->useor = false; - n->subLinkType = EXPR_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 716: -#line 4079 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-4].node, NULL); - n->oper = lcons("-",NIL); - n->useor = false; - n->subLinkType = EXPR_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 717: -#line 4089 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-4].node, NULL); - n->oper = lcons("/",NIL); - n->useor = false; - n->subLinkType = EXPR_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 718: -#line 4099 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-4].node, NULL); - n->oper = lcons("%",NIL); - n->useor = false; - n->subLinkType = EXPR_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 719: -#line 4109 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-4].node, NULL); - n->oper = lcons("*",NIL); - n->useor = false; - n->subLinkType = EXPR_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 720: -#line 4119 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-4].node, NULL); - n->oper = lcons("<",NIL); - n->useor = false; - n->subLinkType = EXPR_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 721: -#line 4129 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-4].node, NULL); - n->oper = lcons(">",NIL); - n->useor = false; - n->subLinkType = EXPR_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 722: -#line 4139 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-4].node, NULL); - n->oper = lcons("=",NIL); - n->useor = false; - n->subLinkType = EXPR_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 723: -#line 4149 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node,NIL); - n->oper = lcons(yyvsp[-4].str,NIL); - n->useor = false; - n->subLinkType = ANY_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 724: -#line 4159 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node,NIL); - n->oper = lcons("+",NIL); - n->useor = false; - n->subLinkType = ANY_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 725: -#line 4169 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node,NIL); - n->oper = lcons("-",NIL); - n->useor = false; - n->subLinkType = ANY_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 726: -#line 4179 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node,NIL); - n->oper = lcons("/",NIL); - n->useor = false; - n->subLinkType = ANY_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 727: -#line 4189 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node,NIL); - n->oper = lcons("%",NIL); - n->useor = false; - n->subLinkType = ANY_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 728: -#line 4199 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node,NIL); - n->oper = lcons("*",NIL); - n->useor = false; - n->subLinkType = ANY_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 729: -#line 4209 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node,NIL); - n->oper = lcons("<",NIL); - n->useor = false; - n->subLinkType = ANY_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 730: -#line 4219 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node,NIL); - n->oper = lcons(">",NIL); - n->useor = false; - n->subLinkType = ANY_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 731: -#line 4229 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node,NIL); - n->oper = lcons("=",NIL); - n->useor = false; - n->subLinkType = ANY_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 732: -#line 4239 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node, NULL); - n->oper = lcons(yyvsp[-4].str,NIL); - n->useor = false; - n->subLinkType = ALL_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 733: -#line 4249 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node, NULL); - n->oper = lcons("+",NIL); - n->useor = false; - n->subLinkType = ALL_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 734: -#line 4259 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node, NULL); - n->oper = lcons("-",NIL); - n->useor = false; - n->subLinkType = ALL_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 735: -#line 4269 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node, NULL); - n->oper = lcons("/",NIL); - n->useor = false; - n->subLinkType = ALL_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 736: -#line 4279 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node, NULL); - n->oper = lcons("%",NIL); - n->useor = false; - n->subLinkType = ALL_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 737: -#line 4289 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node, NULL); - n->oper = lcons("*",NIL); - n->useor = false; - n->subLinkType = ALL_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 738: -#line 4299 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node, NULL); - n->oper = lcons("<",NIL); - n->useor = false; - n->subLinkType = ALL_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 739: -#line 4309 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node, NULL); - n->oper = lcons(">",NIL); - n->useor = false; - n->subLinkType = ALL_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 740: -#line 4319 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->lefthand = lcons(yyvsp[-5].node, NULL); - n->oper = lcons("=",NIL); - n->useor = false; - n->subLinkType = ALL_SUBLINK; - n->subselect = yyvsp[-1].node; - yyval.node = (Node *)n; - ; - break;} -case 741: -#line 4329 "gram.y" -{ yyval.node = makeA_Expr(AND, NULL, yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 742: -#line 4331 "gram.y" -{ yyval.node = makeA_Expr(OR, NULL, yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 743: -#line 4333 "gram.y" -{ yyval.node = makeA_Expr(NOT, NULL, NULL, yyvsp[0].node); ; - break;} -case 744: -#line 4335 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} -case 745: -#line 4344 "gram.y" -{ - yyvsp[-1].attr->indirection = yyvsp[0].list; - yyval.node = (Node *)yyvsp[-1].attr; - ; - break;} -case 746: -#line 4349 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} -case 747: -#line 4351 "gram.y" -{ - /* could be a column name or a relation_name */ - Ident *n = makeNode(Ident); - n->name = yyvsp[0].str; - n->indirection = NULL; - yyval.node = (Node *)n; - ; - break;} -case 748: -#line 4359 "gram.y" -{ yyval.node = doNegate(yyvsp[0].node); ; - break;} -case 749: -#line 4361 "gram.y" -{ yyval.node = makeA_Expr(OP, "%", NULL, yyvsp[0].node); ; - break;} -case 750: -#line 4363 "gram.y" -{ yyval.node = makeA_Expr(OP, "%", yyvsp[-1].node, NULL); ; - break;} -case 751: -#line 4365 "gram.y" -{ yyval.node = makeA_Expr(OP, "+", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 752: -#line 4367 "gram.y" -{ yyval.node = makeA_Expr(OP, "-", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 753: -#line 4369 "gram.y" -{ yyval.node = makeA_Expr(OP, "/", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 754: -#line 4371 "gram.y" -{ yyval.node = makeA_Expr(OP, "%", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 755: -#line 4373 "gram.y" -{ yyval.node = makeA_Expr(OP, "*", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 756: -#line 4375 "gram.y" -{ yyval.node = makeA_Expr(OP, ":", NULL, yyvsp[0].node); ; - break;} -case 757: -#line 4377 "gram.y" -{ yyval.node = makeA_Expr(OP, ";", NULL, yyvsp[0].node); ; - break;} -case 758: -#line 4379 "gram.y" -{ yyval.node = makeA_Expr(OP, "|", NULL, yyvsp[0].node); ; - break;} -case 759: -#line 4381 "gram.y" -{ - yyval.node = (Node *)yyvsp[-2].node; - /* AexprConst can be either A_Const or ParamNo */ - if (nodeTag(yyvsp[-2].node) == T_A_Const) { - ((A_Const *)yyvsp[-2].node)->typename = yyvsp[0].typnam; - } else if (nodeTag(yyvsp[-2].node) == T_Param) { - ((ParamNo *)yyvsp[-2].node)->typename = yyvsp[0].typnam; - /* otherwise, try to transform to a function call */ - } else { - FuncCall *n = makeNode(FuncCall); - n->funcname = yyvsp[0].typnam->name; - n->args = lcons(yyvsp[-2].node,NIL); - yyval.node = (Node *)n; - } - ; - break;} -case 760: -#line 4397 "gram.y" -{ - yyval.node = (Node *)yyvsp[-3].node; - /* AexprConst can be either A_Const or ParamNo */ - if (nodeTag(yyvsp[-3].node) == T_A_Const) { - ((A_Const *)yyvsp[-3].node)->typename = yyvsp[-1].typnam; - } else if (nodeTag(yyvsp[-3].node) == T_Param) { - ((ParamNo *)yyvsp[-3].node)->typename = yyvsp[-1].typnam; - /* otherwise, try to transform to a function call */ - } else { - FuncCall *n = makeNode(FuncCall); - n->funcname = yyvsp[-1].typnam->name; - n->args = lcons(yyvsp[-3].node,NIL); - yyval.node = (Node *)n; - } - ; - break;} -case 761: -#line 4413 "gram.y" -{ yyval.node = yyvsp[-1].node; ; - break;} -case 762: -#line 4415 "gram.y" -{ yyval.node = makeIndexable(yyvsp[-1].str,yyvsp[-2].node,yyvsp[0].node); ; - break;} -case 763: -#line 4417 "gram.y" -{ yyval.node = makeA_Expr(OP, yyvsp[-1].str, NULL, yyvsp[0].node); ; - break;} -case 764: -#line 4419 "gram.y" -{ yyval.node = makeA_Expr(OP, yyvsp[0].str, yyvsp[-1].node, NULL); ; - break;} -case 765: -#line 4421 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = yyvsp[-2].str; - n->args = NIL; - yyval.node = (Node *)n; - ; - break;} -case 766: -#line 4428 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = yyvsp[-3].str; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 767: -#line 4435 "gram.y" -{ - A_Const *n = makeNode(A_Const); - TypeName *t = makeNode(TypeName); - - n->val.type = T_String; - n->val.val.str = "now"; - n->typename = t; - - t->name = xlateSqlType("date"); - t->setof = FALSE; - t->typmod = -1; - - yyval.node = (Node *)n; - ; - break;} -case 768: -#line 4450 "gram.y" -{ - A_Const *n = makeNode(A_Const); - TypeName *t = makeNode(TypeName); - - n->val.type = T_String; - n->val.val.str = "now"; - n->typename = t; - - t->name = xlateSqlType("time"); - t->setof = FALSE; - t->typmod = -1; - - yyval.node = (Node *)n; - ; - break;} -case 769: -#line 4465 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - A_Const *s = makeNode(A_Const); - TypeName *t = makeNode(TypeName); - - n->funcname = xlateSqlType("time"); - n->args = lcons(s, NIL); - - s->val.type = T_String; - s->val.val.str = "now"; - s->typename = t; - - t->name = xlateSqlType("time"); - t->setof = FALSE; - t->typmod = -1; - - if (yyvsp[-1].ival != 0) - elog(NOTICE,"CURRENT_TIME(%d) precision not implemented; zero used instead",yyvsp[-1].ival); - - yyval.node = (Node *)n; - ; - break;} -case 770: -#line 4487 "gram.y" -{ - A_Const *n = makeNode(A_Const); - TypeName *t = makeNode(TypeName); - - n->val.type = T_String; - n->val.val.str = "now"; - n->typename = t; - - t->name = xlateSqlType("timestamp"); - t->setof = FALSE; - t->typmod = -1; - - yyval.node = (Node *)n; - ; - break;} -case 771: -#line 4502 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - A_Const *s = makeNode(A_Const); - TypeName *t = makeNode(TypeName); - - n->funcname = xlateSqlType("timestamp"); - n->args = lcons(s, NIL); - - s->val.type = T_String; - s->val.val.str = "now"; - s->typename = t; - - t->name = xlateSqlType("timestamp"); - t->setof = FALSE; - t->typmod = -1; - - if (yyvsp[-1].ival != 0) - elog(NOTICE,"CURRENT_TIMESTAMP(%d) precision not implemented; zero used instead",yyvsp[-1].ival); - - yyval.node = (Node *)n; - ; - break;} -case 772: -#line 4524 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "getpgusername"; - n->args = NIL; - yyval.node = (Node *)n; - ; - break;} -case 773: -#line 4531 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "getpgusername"; - n->args = NIL; - yyval.node = (Node *)n; - ; - break;} -case 774: -#line 4538 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "strpos"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 775: -#line 4545 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "substr"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 776: -#line 4553 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "btrim"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 777: -#line 4560 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "ltrim"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 778: -#line 4567 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "rtrim"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 779: -#line 4574 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "btrim"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 780: -#line 4583 "gram.y" -{ - A_Indices *ai = makeNode(A_Indices); - ai->lidx = NULL; - ai->uidx = yyvsp[-2].node; - yyval.list = lcons(ai, yyvsp[0].list); - ; - break;} -case 781: -#line 4590 "gram.y" -{ - A_Indices *ai = makeNode(A_Indices); - ai->lidx = yyvsp[-4].node; - ai->uidx = yyvsp[-2].node; - yyval.list = lcons(ai, yyvsp[0].list); - ; - break;} -case 782: -#line 4597 "gram.y" -{ yyval.list = NIL; ; - break;} -case 783: -#line 4601 "gram.y" -{ yyval.list = lcons(yyvsp[0].node, NIL); ; - break;} -case 784: -#line 4603 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; - break;} -case 785: -#line 4605 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].node); ; - break;} -case 786: -#line 4609 "gram.y" -{ - A_Const *n = makeNode(A_Const); - n->val.type = T_String; - n->val.val.str = yyvsp[-2].str; - yyval.list = lappend(lcons((Node *)n,NIL), yyvsp[0].node); - ; - break;} -case 787: -#line 4616 "gram.y" -{ yyval.list = NIL; ; - break;} -case 788: -#line 4619 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 789: -#line 4620 "gram.y" -{ yyval.str = "tz_hour"; ; - break;} -case 790: -#line 4621 "gram.y" -{ yyval.str = "tz_minute"; ; - break;} -case 791: -#line 4625 "gram.y" -{ yyval.list = makeList(yyvsp[0].node, yyvsp[-2].node, -1); ; - break;} -case 792: -#line 4627 "gram.y" -{ yyval.list = NIL; ; - break;} -case 793: -#line 4631 "gram.y" -{ - yyvsp[-1].attr->indirection = yyvsp[0].list; - yyval.node = (Node *)yyvsp[-1].attr; - ; - break;} -case 794: -#line 4636 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} -case 795: -#line 4638 "gram.y" -{ yyval.node = makeA_Expr(OP, "-", NULL, yyvsp[0].node); ; - break;} -case 796: -#line 4640 "gram.y" -{ yyval.node = makeA_Expr(OP, "+", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 797: -#line 4642 "gram.y" -{ yyval.node = makeA_Expr(OP, "-", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 798: -#line 4644 "gram.y" -{ yyval.node = makeA_Expr(OP, "/", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 799: -#line 4646 "gram.y" -{ yyval.node = makeA_Expr(OP, "%", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 800: -#line 4648 "gram.y" -{ yyval.node = makeA_Expr(OP, "*", yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 801: -#line 4650 "gram.y" -{ yyval.node = makeA_Expr(OP, "|", NULL, yyvsp[0].node); ; - break;} -case 802: -#line 4652 "gram.y" -{ - yyval.node = (Node *)yyvsp[-2].node; - /* AexprConst can be either A_Const or ParamNo */ - if (nodeTag(yyvsp[-2].node) == T_A_Const) { - ((A_Const *)yyvsp[-2].node)->typename = yyvsp[0].typnam; - } else if (nodeTag(yyvsp[-2].node) == T_Param) { - ((ParamNo *)yyvsp[-2].node)->typename = yyvsp[0].typnam; - /* otherwise, try to transform to a function call */ - } else { - FuncCall *n = makeNode(FuncCall); - n->funcname = yyvsp[0].typnam->name; - n->args = lcons(yyvsp[-2].node,NIL); - yyval.node = (Node *)n; - } - ; - break;} -case 803: -#line 4668 "gram.y" -{ - yyval.node = (Node *)yyvsp[-3].node; - /* AexprConst can be either A_Const or ParamNo */ - if (nodeTag(yyvsp[-3].node) == T_A_Const) { - ((A_Const *)yyvsp[-3].node)->typename = yyvsp[-1].typnam; - } else if (nodeTag(yyvsp[-3].node) == T_Param) { - ((ParamNo *)yyvsp[-3].node)->typename = yyvsp[-1].typnam; - /* otherwise, try to transform to a function call */ - } else { - FuncCall *n = makeNode(FuncCall); - n->funcname = yyvsp[-1].typnam->name; - n->args = lcons(yyvsp[-3].node,NIL); - yyval.node = (Node *)n; - } - ; - break;} -case 804: -#line 4684 "gram.y" -{ yyval.node = yyvsp[-1].node; ; - break;} -case 805: -#line 4686 "gram.y" -{ yyval.node = makeA_Expr(OP, yyvsp[-1].str, yyvsp[-2].node, yyvsp[0].node); ; - break;} -case 806: -#line 4688 "gram.y" -{ yyval.node = makeA_Expr(OP, yyvsp[-1].str, NULL, yyvsp[0].node); ; - break;} -case 807: -#line 4690 "gram.y" -{ yyval.node = makeA_Expr(OP, yyvsp[0].str, yyvsp[-1].node, NULL); ; - break;} -case 808: -#line 4692 "gram.y" -{ - /* could be a column name or a relation_name */ - Ident *n = makeNode(Ident); - n->name = yyvsp[0].str; - n->indirection = NULL; - yyval.node = (Node *)n; - ; - break;} -case 809: -#line 4700 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = yyvsp[-2].str; - n->args = NIL; - yyval.node = (Node *)n; - ; - break;} -case 810: -#line 4707 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = yyvsp[-3].str; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 811: -#line 4714 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "strpos"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 812: -#line 4721 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "substr"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 813: -#line 4729 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "btrim"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 814: -#line 4736 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "ltrim"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 815: -#line 4743 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "rtrim"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 816: -#line 4750 "gram.y" -{ - FuncCall *n = makeNode(FuncCall); - n->funcname = "btrim"; - n->args = yyvsp[-1].list; - yyval.node = (Node *)n; - ; - break;} -case 817: -#line 4759 "gram.y" -{ - yyval.list = nconc(nconc(yyvsp[-2].list,yyvsp[-1].list),yyvsp[0].list); - ; - break;} -case 818: -#line 4763 "gram.y" -{ yyval.list = NIL; ; - break;} -case 819: -#line 4767 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} -case 820: -#line 4769 "gram.y" -{ - A_Const *n = makeNode(A_Const); - n->val.type = T_Integer; - n->val.val.ival = 1; - yyval.list = lcons((Node *)n,NIL); - ; - break;} -case 821: -#line 4778 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} -case 822: -#line 4780 "gram.y" -{ yyval.list = NIL; ; - break;} -case 823: -#line 4784 "gram.y" -{ yyval.list = lappend(yyvsp[0].list, yyvsp[-2].node); ; - break;} -case 824: -#line 4786 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} -case 825: -#line 4788 "gram.y" -{ yyval.list = yyvsp[0].list; ; - break;} -case 826: -#line 4792 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->subselect = yyvsp[0].node; - yyval.node = (Node *)n; - ; - break;} -case 827: -#line 4798 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} -case 828: -#line 4802 "gram.y" -{ yyval.node = makeA_Expr(OP, "=", lfirst(saved_In_Expr), yyvsp[0].node); ; - break;} -case 829: -#line 4804 "gram.y" -{ yyval.node = makeA_Expr(OR, NULL, yyvsp[-2].node, - makeA_Expr(OP, "=", lfirst(saved_In_Expr), yyvsp[0].node)); - ; - break;} -case 830: -#line 4810 "gram.y" -{ - SubLink *n = makeNode(SubLink); - n->subselect = yyvsp[0].node; - yyval.node = (Node *)n; - ; - break;} -case 831: -#line 4816 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} -case 832: -#line 4820 "gram.y" -{ yyval.node = makeA_Expr(OP, "<>", lfirst(saved_In_Expr), yyvsp[0].node); ; - break;} -case 833: -#line 4822 "gram.y" -{ yyval.node = makeA_Expr(AND, NULL, yyvsp[-2].node, - makeA_Expr(OP, "<>", lfirst(saved_In_Expr), yyvsp[0].node)); - ; - break;} -case 834: -#line 4843 "gram.y" -{ - CaseExpr *c = makeNode(CaseExpr); - c->arg = yyvsp[-3].node; - c->args = yyvsp[-2].list; - c->defresult = yyvsp[-1].node; - yyval.node = (Node *)c; - ; - break;} -case 835: -#line 4851 "gram.y" -{ - CaseExpr *c = makeNode(CaseExpr); - CaseWhen *w = makeNode(CaseWhen); -/* - A_Const *n = makeNode(A_Const); - n->val.type = T_Null; - w->result = (Node *)n; -*/ - w->expr = makeA_Expr(OP, "=", yyvsp[-3].node, yyvsp[-1].node); - c->args = lcons(w, NIL); - c->defresult = yyvsp[-3].node; - yyval.node = (Node *)c; - ; - break;} -case 836: -#line 4865 "gram.y" -{ - CaseExpr *c = makeNode(CaseExpr); - CaseWhen *w; - List *l; - foreach (l,yyvsp[-1].list) - { - w = makeNode(CaseWhen); - w->expr = makeA_Expr(NOTNULL, NULL, lfirst(l), NULL); - w->result = lfirst(l); - c->args = lappend(c->args, w); - } - yyval.node = (Node *)c; - ; - break;} -case 837: -#line 4881 "gram.y" -{ yyval.list = lappend(yyvsp[-1].list, yyvsp[0].node); ; - break;} -case 838: -#line 4883 "gram.y" -{ yyval.list = lcons(yyvsp[0].node, NIL); ; - break;} -case 839: -#line 4887 "gram.y" -{ - CaseWhen *w = makeNode(CaseWhen); - w->expr = yyvsp[-2].node; - w->result = yyvsp[0].node; - yyval.node = (Node *)w; - ; - break;} -case 840: -#line 4895 "gram.y" -{ yyval.node = yyvsp[0].node; ; - break;} -case 841: -#line 4896 "gram.y" -{ yyval.node = NULL; ; - break;} -case 842: -#line 4900 "gram.y" -{ - yyvsp[-1].attr->indirection = yyvsp[0].list; - yyval.node = (Node *)yyvsp[-1].attr; - ; - break;} -case 843: -#line 4905 "gram.y" -{ - /* could be a column name or a relation_name */ - Ident *n = makeNode(Ident); - n->name = yyvsp[0].str; - n->indirection = NULL; - yyval.node = (Node *)n; - ; - break;} -case 844: -#line 4913 "gram.y" -{ yyval.node = NULL; ; - break;} -case 845: -#line 4917 "gram.y" -{ - yyval.attr = makeNode(Attr); - yyval.attr->relname = yyvsp[-2].str; - yyval.attr->paramNo = NULL; - yyval.attr->attrs = yyvsp[0].list; - yyval.attr->indirection = NULL; - ; - break;} -case 846: -#line 4925 "gram.y" -{ - yyval.attr = makeNode(Attr); - yyval.attr->relname = NULL; - yyval.attr->paramNo = yyvsp[-2].paramno; - yyval.attr->attrs = yyvsp[0].list; - yyval.attr->indirection = NULL; - ; - break;} -case 847: -#line 4935 "gram.y" -{ yyval.list = lcons(makeString(yyvsp[0].str), NIL); ; - break;} -case 848: -#line 4937 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, makeString(yyvsp[0].str)); ; - break;} -case 849: -#line 4939 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, makeString("*")); ; - break;} -case 850: -#line 4950 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list,yyvsp[0].target); ; - break;} -case 851: -#line 4952 "gram.y" -{ yyval.list = lcons(yyvsp[0].target, NIL); ; - break;} -case 852: -#line 4954 "gram.y" -{ - ResTarget *rt = makeNode(ResTarget); - Attr *att = makeNode(Attr); - att->relname = "*"; - att->paramNo = NULL; - att->attrs = NULL; - att->indirection = NIL; - rt->name = NULL; - rt->indirection = NULL; - rt->val = (Node *)att; - yyval.list = lcons(rt, NIL); - ; - break;} -case 853: -#line 4969 "gram.y" -{ - yyval.target = makeNode(ResTarget); - yyval.target->name = yyvsp[-3].str; - yyval.target->indirection = yyvsp[-2].list; - yyval.target->val = (Node *)yyvsp[0].node; - ; - break;} -case 854: -#line 4976 "gram.y" -{ - yyval.target = makeNode(ResTarget); - yyval.target->name = NULL; - yyval.target->indirection = yyvsp[0].list; - yyval.target->val = (Node *)yyvsp[-1].attr; - ; - break;} -case 855: -#line 4983 "gram.y" -{ - Attr *att = makeNode(Attr); - att->relname = yyvsp[-2].str; - att->paramNo = NULL; - att->attrs = lcons(makeString("*"), NIL); - att->indirection = NIL; - yyval.target = makeNode(ResTarget); - yyval.target->name = NULL; - yyval.target->indirection = NULL; - yyval.target->val = (Node *)att; - ; - break;} -case 856: -#line 5002 "gram.y" -{ yyval.list = lappend(yyvsp[-2].list, yyvsp[0].target); ; - break;} -case 857: -#line 5004 "gram.y" -{ yyval.list = lcons(yyvsp[0].target, NIL); ; - break;} -case 858: -#line 5009 "gram.y" -{ - yyval.target = makeNode(ResTarget); - yyval.target->name = yyvsp[0].str; - yyval.target->indirection = NULL; - yyval.target->val = (Node *)yyvsp[-2].node; - ; - break;} -case 859: -#line 5016 "gram.y" -{ - yyval.target = makeNode(ResTarget); - yyval.target->name = NULL; - yyval.target->indirection = NULL; - yyval.target->val = (Node *)yyvsp[0].node; - ; - break;} -case 860: -#line 5023 "gram.y" -{ - Attr *att = makeNode(Attr); - att->relname = yyvsp[-2].str; - att->paramNo = NULL; - att->attrs = lcons(makeString("*"), NIL); - att->indirection = NIL; - yyval.target = makeNode(ResTarget); - yyval.target->name = NULL; - yyval.target->indirection = NULL; - yyval.target->val = (Node *)att; - ; - break;} -case 861: -#line 5035 "gram.y" -{ - Attr *att = makeNode(Attr); - att->relname = "*"; - att->paramNo = NULL; - att->attrs = NULL; - att->indirection = NIL; - yyval.target = makeNode(ResTarget); - yyval.target->name = NULL; - yyval.target->indirection = NULL; - yyval.target->val = (Node *)att; - ; - break;} -case 862: -#line 5048 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 863: -#line 5049 "gram.y" -{ yyval.str = NULL; ; - break;} -case 864: -#line 5053 "gram.y" -{ - yyval.str = yyvsp[0].str; - StrNCpy(saved_relname, yyvsp[0].str, NAMEDATALEN); - ; - break;} -case 865: -#line 5058 "gram.y" -{ - /* disallow refs to variable system tables */ - if (strcmp(LogRelationName, yyvsp[0].str) == 0 - || strcmp(VariableRelationName, yyvsp[0].str) == 0) - elog(ERROR,"%s cannot be accessed by users",yyvsp[0].str); - else - yyval.str = yyvsp[0].str; - StrNCpy(saved_relname, yyvsp[0].str, NAMEDATALEN); - ; - break;} -case 866: -#line 5069 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 867: -#line 5070 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 868: -#line 5071 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 869: -#line 5072 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 870: -#line 5073 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 871: -#line 5079 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 872: -#line 5080 "gram.y" -{ yyval.str = xlateSqlFunc(yyvsp[0].str); ; - break;} -case 873: -#line 5082 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 874: -#line 5089 "gram.y" -{ - A_Const *n = makeNode(A_Const); - n->val.type = T_Integer; - n->val.val.ival = yyvsp[0].ival; - yyval.node = (Node *)n; - ; - break;} -case 875: -#line 5096 "gram.y" -{ - A_Const *n = makeNode(A_Const); - n->val.type = T_Float; - n->val.val.dval = yyvsp[0].dval; - yyval.node = (Node *)n; - ; - break;} -case 876: -#line 5103 "gram.y" -{ - A_Const *n = makeNode(A_Const); - n->val.type = T_String; - n->val.val.str = yyvsp[0].str; - yyval.node = (Node *)n; - ; - break;} -case 877: -#line 5110 "gram.y" -{ - A_Const *n = makeNode(A_Const); - n->typename = yyvsp[-1].typnam; - n->val.type = T_String; - n->val.val.str = yyvsp[0].str; - yyval.node = (Node *)n; - ; - break;} -case 878: -#line 5118 "gram.y" -{ yyval.node = (Node *)yyvsp[0].paramno; ; - break;} -case 879: -#line 5120 "gram.y" -{ - A_Const *n = makeNode(A_Const); - n->val.type = T_String; - n->val.val.str = "t"; - n->typename = makeNode(TypeName); - n->typename->name = xlateSqlType("bool"); - n->typename->typmod = -1; - yyval.node = (Node *)n; - ; - break;} -case 880: -#line 5130 "gram.y" -{ - A_Const *n = makeNode(A_Const); - n->val.type = T_String; - n->val.val.str = "f"; - n->typename = makeNode(TypeName); - n->typename->name = xlateSqlType("bool"); - n->typename->typmod = -1; - yyval.node = (Node *)n; - ; - break;} -case 881: -#line 5142 "gram.y" -{ - yyval.paramno = makeNode(ParamNo); - yyval.paramno->number = yyvsp[-1].ival; - yyval.paramno->indirection = yyvsp[0].list; - ; - break;} -case 882: -#line 5149 "gram.y" -{ yyval.ival = yyvsp[0].ival; ; - break;} -case 883: -#line 5150 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 884: -#line 5151 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 885: -#line 5159 "gram.y" -{ yyval.str = xlateSqlType(yyvsp[0].str); ; - break;} -case 886: -#line 5161 "gram.y" -{ yyval.str = xlateSqlType(yyvsp[0].str); ; - break;} -case 887: -#line 5163 "gram.y" -{ yyval.str = xlateSqlType(yyvsp[0].str); ; - break;} -case 888: -#line 5173 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 889: -#line 5174 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 890: -#line 5175 "gram.y" -{ yyval.str = "absolute"; ; - break;} -case 891: -#line 5176 "gram.y" -{ yyval.str = "action"; ; - break;} -case 892: -#line 5177 "gram.y" -{ yyval.str = "after"; ; - break;} -case 893: -#line 5178 "gram.y" -{ yyval.str = "aggregate"; ; - break;} -case 894: -#line 5179 "gram.y" -{ yyval.str = "backward"; ; - break;} -case 895: -#line 5180 "gram.y" -{ yyval.str = "before"; ; - break;} -case 896: -#line 5181 "gram.y" -{ yyval.str = "cache"; ; - break;} -case 897: -#line 5182 "gram.y" -{ yyval.str = "createdb"; ; - break;} -case 898: -#line 5183 "gram.y" -{ yyval.str = "createuser"; ; - break;} -case 899: -#line 5184 "gram.y" -{ yyval.str = "cycle"; ; - break;} -case 900: -#line 5185 "gram.y" -{ yyval.str = "database"; ; - break;} -case 901: -#line 5186 "gram.y" -{ yyval.str = "delimiters"; ; - break;} -case 902: -#line 5187 "gram.y" -{ yyval.str = "double"; ; - break;} -case 903: -#line 5188 "gram.y" -{ yyval.str = "each"; ; - break;} -case 904: -#line 5189 "gram.y" -{ yyval.str = "encoding"; ; - break;} -case 905: -#line 5190 "gram.y" -{ yyval.str = "forward"; ; - break;} -case 906: -#line 5191 "gram.y" -{ yyval.str = "function"; ; - break;} -case 907: -#line 5192 "gram.y" -{ yyval.str = "handler"; ; - break;} -case 908: -#line 5193 "gram.y" -{ yyval.str = "increment"; ; - break;} -case 909: -#line 5194 "gram.y" -{ yyval.str = "index"; ; - break;} -case 910: -#line 5195 "gram.y" -{ yyval.str = "inherits"; ; - break;} -case 911: -#line 5196 "gram.y" -{ yyval.str = "insensitive"; ; - break;} -case 912: -#line 5197 "gram.y" -{ yyval.str = "instead"; ; - break;} -case 913: -#line 5198 "gram.y" -{ yyval.str = "isnull"; ; - break;} -case 914: -#line 5199 "gram.y" -{ yyval.str = "key"; ; - break;} -case 915: -#line 5200 "gram.y" -{ yyval.str = "language"; ; - break;} -case 916: -#line 5201 "gram.y" -{ yyval.str = "lancompiler"; ; - break;} -case 917: -#line 5202 "gram.y" -{ yyval.str = "location"; ; - break;} -case 918: -#line 5203 "gram.y" -{ yyval.str = "match"; ; - break;} -case 919: -#line 5204 "gram.y" -{ yyval.str = "maxvalue"; ; - break;} -case 920: -#line 5205 "gram.y" -{ yyval.str = "minvalue"; ; - break;} -case 921: -#line 5206 "gram.y" -{ yyval.str = "next"; ; - break;} -case 922: -#line 5207 "gram.y" -{ yyval.str = "nocreatedb"; ; - break;} -case 923: -#line 5208 "gram.y" -{ yyval.str = "nocreateuser"; ; - break;} -case 924: -#line 5209 "gram.y" -{ yyval.str = "nothing"; ; - break;} -case 925: -#line 5210 "gram.y" -{ yyval.str = "notnull"; ; - break;} -case 926: -#line 5211 "gram.y" -{ yyval.str = "of"; ; - break;} -case 927: -#line 5212 "gram.y" -{ yyval.str = "oids"; ; - break;} -case 928: -#line 5213 "gram.y" -{ yyval.str = "only"; ; - break;} -case 929: -#line 5214 "gram.y" -{ yyval.str = "operator"; ; - break;} -case 930: -#line 5215 "gram.y" -{ yyval.str = "option"; ; - break;} -case 931: -#line 5216 "gram.y" -{ yyval.str = "password"; ; - break;} -case 932: -#line 5217 "gram.y" -{ yyval.str = "prior"; ; - break;} -case 933: -#line 5218 "gram.y" -{ yyval.str = "privileges"; ; - break;} -case 934: -#line 5219 "gram.y" -{ yyval.str = "procedural"; ; - break;} -case 935: -#line 5220 "gram.y" -{ yyval.str = "read"; ; - break;} -case 936: -#line 5221 "gram.y" -{ yyval.str = "relative"; ; - break;} -case 937: -#line 5222 "gram.y" -{ yyval.str = "rename"; ; - break;} -case 938: -#line 5223 "gram.y" -{ yyval.str = "returns"; ; - break;} -case 939: -#line 5224 "gram.y" -{ yyval.str = "row"; ; - break;} -case 940: -#line 5225 "gram.y" -{ yyval.str = "rule"; ; - break;} -case 941: -#line 5226 "gram.y" -{ yyval.str = "scroll"; ; - break;} -case 942: -#line 5227 "gram.y" -{ yyval.str = "sequence"; ; - break;} -case 943: -#line 5228 "gram.y" -{ yyval.str = "serial"; ; - break;} -case 944: -#line 5229 "gram.y" -{ yyval.str = "start"; ; - break;} -case 945: -#line 5230 "gram.y" -{ yyval.str = "statement"; ; - break;} -case 946: -#line 5231 "gram.y" -{ yyval.str = "stdin"; ; - break;} -case 947: -#line 5232 "gram.y" -{ yyval.str = "stdout"; ; - break;} -case 948: -#line 5233 "gram.y" -{ yyval.str = "time"; ; - break;} -case 949: -#line 5234 "gram.y" -{ yyval.str = "timestamp"; ; - break;} -case 950: -#line 5235 "gram.y" -{ yyval.str = "timezone_hour"; ; - break;} -case 951: -#line 5236 "gram.y" -{ yyval.str = "timezone_minute"; ; - break;} -case 952: -#line 5237 "gram.y" -{ yyval.str = "trigger"; ; - break;} -case 953: -#line 5238 "gram.y" -{ yyval.str = "trusted"; ; - break;} -case 954: -#line 5239 "gram.y" -{ yyval.str = "type"; ; - break;} -case 955: -#line 5240 "gram.y" -{ yyval.str = "valid"; ; - break;} -case 956: -#line 5241 "gram.y" -{ yyval.str = "version"; ; - break;} -case 957: -#line 5242 "gram.y" -{ yyval.str = "zone"; ; - break;} -case 958: -#line 5255 "gram.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 959: -#line 5256 "gram.y" -{ yyval.str = "abort"; ; - break;} -case 960: -#line 5257 "gram.y" -{ yyval.str = "analyze"; ; - break;} -case 961: -#line 5258 "gram.y" -{ yyval.str = "binary"; ; - break;} -case 962: -#line 5259 "gram.y" -{ yyval.str = "case"; ; - break;} -case 963: -#line 5260 "gram.y" -{ yyval.str = "cluster"; ; - break;} -case 964: -#line 5261 "gram.y" -{ yyval.str = "coalesce"; ; - break;} -case 965: -#line 5262 "gram.y" -{ yyval.str = "constraint"; ; - break;} -case 966: -#line 5263 "gram.y" -{ yyval.str = "copy"; ; - break;} -case 967: -#line 5264 "gram.y" -{ yyval.str = "current"; ; - break;} -case 968: -#line 5265 "gram.y" -{ yyval.str = "do"; ; - break;} -case 969: -#line 5266 "gram.y" -{ yyval.str = "else"; ; - break;} -case 970: -#line 5267 "gram.y" -{ yyval.str = "end"; ; - break;} -case 971: -#line 5268 "gram.y" -{ yyval.str = "explain"; ; - break;} -case 972: -#line 5269 "gram.y" -{ yyval.str = "extend"; ; - break;} -case 973: -#line 5270 "gram.y" -{ yyval.str = "false"; ; - break;} -case 974: -#line 5271 "gram.y" -{ yyval.str = "foreign"; ; - break;} -case 975: -#line 5272 "gram.y" -{ yyval.str = "group"; ; - break;} -case 976: -#line 5273 "gram.y" -{ yyval.str = "listen"; ; - break;} -case 977: -#line 5274 "gram.y" -{ yyval.str = "load"; ; - break;} -case 978: -#line 5275 "gram.y" -{ yyval.str = "lock"; ; - break;} -case 979: -#line 5276 "gram.y" -{ yyval.str = "move"; ; - break;} -case 980: -#line 5277 "gram.y" -{ yyval.str = "new"; ; - break;} -case 981: -#line 5278 "gram.y" -{ yyval.str = "none"; ; - break;} -case 982: -#line 5279 "gram.y" -{ yyval.str = "nullif"; ; - break;} -case 983: -#line 5280 "gram.y" -{ yyval.str = "order"; ; - break;} -case 984: -#line 5281 "gram.y" -{ yyval.str = "position"; ; - break;} -case 985: -#line 5282 "gram.y" -{ yyval.str = "precision"; ; - break;} -case 986: -#line 5283 "gram.y" -{ yyval.str = "reset"; ; - break;} -case 987: -#line 5284 "gram.y" -{ yyval.str = "setof"; ; - break;} -case 988: -#line 5285 "gram.y" -{ yyval.str = "show"; ; - break;} -case 989: -#line 5286 "gram.y" -{ yyval.str = "table"; ; - break;} -case 990: -#line 5287 "gram.y" -{ yyval.str = "then"; ; - break;} -case 991: -#line 5288 "gram.y" -{ yyval.str = "transaction"; ; - break;} -case 992: -#line 5289 "gram.y" -{ yyval.str = "true"; ; - break;} -case 993: -#line 5290 "gram.y" -{ yyval.str = "vacuum"; ; - break;} -case 994: -#line 5291 "gram.y" -{ yyval.str = "verbose"; ; - break;} -case 995: -#line 5292 "gram.y" -{ yyval.str = "when"; ; - break;} -case 996: -#line 5296 "gram.y" -{ - if (QueryIsRule) - yyval.str = "*CURRENT*"; - else - elog(ERROR,"CURRENT used in non-rule query"); - ; - break;} -case 997: -#line 5303 "gram.y" -{ - if (QueryIsRule) - yyval.str = "*NEW*"; - else - elog(ERROR,"NEW used in non-rule query"); - ; - break;} -} - /* the action file gets copied in in place of this dollarsign */ -#line 498 "/usr/share/misc/bison.simple" - - yyvsp -= yylen; - yyssp -= yylen; -#ifdef YYLSP_NEEDED - yylsp -= yylen; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - - *++yyvsp = yyval; - -#ifdef YYLSP_NEEDED - yylsp++; - if (yylen == 0) - { - yylsp->first_line = yylloc.first_line; - yylsp->first_column = yylloc.first_column; - yylsp->last_line = (yylsp-1)->last_line; - yylsp->last_column = (yylsp-1)->last_column; - yylsp->text = 0; - } - else - { - yylsp->last_line = (yylsp+yylen-1)->last_line; - yylsp->last_column = (yylsp+yylen-1)->last_column; - } -#endif - - /* Now "shift" the result of the reduction. - Determine what state that goes to, - based on the state we popped back to - and the rule number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTBASE] + *yyssp; - if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTBASE]; - - goto yynewstate; - -yyerrlab: /* here on detecting error */ - - if (! yyerrstatus) - /* If not already recovering from an error, report this error. */ - { - ++yynerrs; - -#ifdef YYERROR_VERBOSE - yyn = yypact[yystate]; - - if (yyn > YYFLAG && yyn < YYLAST) - { - int size = 0; - char *msg; - int x, count; - - count = 0; - /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - size += strlen(yytname[x]) + 15, count++; - msg = (char *) malloc(size + 15); - if (msg != 0) - { - strcpy(msg, "parse error"); - - if (count < 5) - { - count = 0; - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - { - strcat(msg, count == 0 ? ", expecting `" : " or `"); - strcat(msg, yytname[x]); - strcat(msg, "'"); - count++; - } - } - yyerror(msg); - free(msg); - } - else - yyerror ("parse error; also virtual memory exceeded"); - } - else -#endif /* YYERROR_VERBOSE */ - yyerror("parse error"); - } - - goto yyerrlab1; -yyerrlab1: /* here on error raised explicitly by an action */ - - if (yyerrstatus == 3) - { - /* if just tried and failed to reuse lookahead token after an error, discard it. */ - - /* return failure if at end of input */ - if (yychar == YYEOF) - YYABORT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); -#endif - - yychar = YYEMPTY; - } - - /* Else will try to reuse lookahead token - after shifting the error token. */ - - yyerrstatus = 3; /* Each real token shifted decrements this */ - - goto yyerrhandle; - -yyerrdefault: /* current state does not do anything special for the error token. */ - -#if 0 - /* This is wrong; only states that explicitly want error tokens - should shift them. */ - yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ - if (yyn) goto yydefault; -#endif - -yyerrpop: /* pop the current state because it cannot handle the error token */ - - if (yyssp == yyss) YYABORT; - yyvsp--; - yystate = *--yyssp; -#ifdef YYLSP_NEEDED - yylsp--; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "Error: state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - -yyerrhandle: - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yyerrdefault; - - yyn += YYTERROR; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) - goto yyerrdefault; - - yyn = yytable[yyn]; - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrpop; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrpop; - - if (yyn == YYFINAL) - YYACCEPT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting error token, "); -#endif - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - yystate = yyn; - goto yynewstate; -} -#line 5311 "gram.y" - - -static Node * -makeA_Expr(int oper, char *opname, Node *lexpr, Node *rexpr) -{ - A_Expr *a = makeNode(A_Expr); - a->oper = oper; - a->opname = opname; - a->lexpr = lexpr; - a->rexpr = rexpr; - return (Node *)a; -} - -/* makeRowExpr() - * Generate separate operator nodes for a single row descriptor expression. - * Perhaps this should go deeper in the parser someday... - * - thomas 1997-12-22 - */ -static Node * -makeRowExpr(char *opr, List *largs, List *rargs) -{ - Node *expr = NULL; - Node *larg, *rarg; - - if (length(largs) != length(rargs)) - elog(ERROR,"Unequal number of entries in row expression"); - - if (lnext(largs) != NIL) - expr = makeRowExpr(opr,lnext(largs),lnext(rargs)); - - larg = lfirst(largs); - rarg = lfirst(rargs); - - if ((strcmp(opr, "=") == 0) - || (strcmp(opr, "<") == 0) - || (strcmp(opr, "<=") == 0) - || (strcmp(opr, ">") == 0) - || (strcmp(opr, ">=") == 0)) - { - if (expr == NULL) - expr = makeA_Expr(OP, opr, larg, rarg); - else - expr = makeA_Expr(AND, NULL, expr, makeA_Expr(OP, opr, larg, rarg)); - } - else if (strcmp(opr, "<>") == 0) - { - if (expr == NULL) - expr = makeA_Expr(OP, opr, larg, rarg); - else - expr = makeA_Expr(OR, NULL, expr, makeA_Expr(OP, opr, larg, rarg)); - } - else - { - elog(ERROR,"Operator '%s' not implemented for row expressions",opr); - } - - return expr; -} - -static void -mapTargetColumns(List *src, List *dst) -{ - ColumnDef *s; - ResTarget *d; - - if (length(src) != length(dst)) - elog(ERROR,"CREATE TABLE/AS SELECT has mismatched column count"); - - while ((src != NIL) && (dst != NIL)) - { - s = (ColumnDef *)lfirst(src); - d = (ResTarget *)lfirst(dst); - - d->name = s->colname; - - src = lnext(src); - dst = lnext(dst); - } - - return; -} /* mapTargetColumns() */ - -static Node *makeIndexable(char *opname, Node *lexpr, Node *rexpr) -{ - Node *result = NULL; - - /* we do this so indexes can be used */ - if (strcmp(opname,"~") == 0 || - strcmp(opname,"~*") == 0) - { - if (nodeTag(rexpr) == T_A_Const && - ((A_Const *)rexpr)->val.type == T_String && - ((A_Const *)rexpr)->val.val.str[0] == '^') - { - A_Const *n = (A_Const *)rexpr; - char *match_least = palloc(strlen(n->val.val.str)+2); - char *match_most = palloc(strlen(n->val.val.str)+2); - int pos, match_pos=0; - - /* skip leading ^ */ - for (pos = 1; n->val.val.str[pos]; pos++) - { - if (n->val.val.str[pos] == '.' || - n->val.val.str[pos] == '?' || - n->val.val.str[pos] == '*' || - n->val.val.str[pos] == '[' || - n->val.val.str[pos] == '$' || - (strcmp(opname,"~*") == 0 && isalpha(n->val.val.str[pos]))) - break; - if (n->val.val.str[pos] == '\\') - pos++; - match_least[match_pos] = n->val.val.str[pos]; - match_most[match_pos++] = n->val.val.str[pos]; - } - - if (match_pos != 0) - { - A_Const *least = makeNode(A_Const); - A_Const *most = makeNode(A_Const); - - /* make strings to be used in index use */ - match_least[match_pos] = '\0'; - match_most[match_pos] = '\377'; - match_most[match_pos+1] = '\0'; - least->val.type = T_String; - least->val.val.str = match_least; - most->val.type = T_String; - most->val.val.str = match_most; -#ifdef USE_LOCALE - result = makeA_Expr(AND, NULL, - makeA_Expr(OP, "~", lexpr, rexpr), - makeA_Expr(OP, ">=", lexpr, (Node *)least)); -#else - result = makeA_Expr(AND, NULL, - makeA_Expr(OP, "~", lexpr, rexpr), - makeA_Expr(AND, NULL, - makeA_Expr(OP, ">=", lexpr, (Node *)least), - makeA_Expr(OP, "<=", lexpr, (Node *)most))); -#endif - } - } - } - else if (strcmp(opname,"~~") == 0) - { - if (nodeTag(rexpr) == T_A_Const && - ((A_Const *)rexpr)->val.type == T_String) - { - A_Const *n = (A_Const *)rexpr; - char *match_least = palloc(strlen(n->val.val.str)+2); - char *match_most = palloc(strlen(n->val.val.str)+2); - int pos, match_pos=0; - - for (pos = 0; n->val.val.str[pos]; pos++) - { - if (n->val.val.str[pos] == '%' && - n->val.val.str[pos+1] != '%') - break; - if(n->val.val.str[pos] == '_') - break; - if (n->val.val.str[pos] == '\\' || - n->val.val.str[pos] == '%') - pos++; - if (n->val.val.str[pos] == '\0') - break; - match_least[match_pos] = n->val.val.str[pos]; - match_most[match_pos++] = n->val.val.str[pos]; - } - - if (match_pos != 0) - { - A_Const *least = makeNode(A_Const); - A_Const *most = makeNode(A_Const); - - /* make strings to be used in index use */ - match_least[match_pos] = '\0'; - match_most[match_pos] = '\377'; - match_most[match_pos+1] = '\0'; - least->val.type = T_String; - least->val.val.str = match_least; - most->val.type = T_String; - most->val.val.str = match_most; -#ifdef USE_LOCALE - result = makeA_Expr(AND, NULL, - makeA_Expr(OP, "~~", lexpr, rexpr), - makeA_Expr(OP, ">=", lexpr, (Node *)least)); -#else - result = makeA_Expr(AND, NULL, - makeA_Expr(OP, "~~", lexpr, rexpr), - makeA_Expr(AND, NULL, - makeA_Expr(OP, ">=", lexpr, (Node *)least), - makeA_Expr(OP, "<=", lexpr, (Node *)most))); -#endif - } - } - } - - if (result == NULL) - result = makeA_Expr(OP, opname, lexpr, rexpr); - return result; -} /* makeIndexable() */ - - -/* xlateSqlFunc() - * Convert alternate type names to internal Postgres types. - * Do not convert "float", since that is handled elsewhere - * for FLOAT(p) syntax. - */ -static char * -xlateSqlFunc(char *name) -{ - if (!strcasecmp(name,"character_length") - || !strcasecmp(name,"char_length")) - return "length"; - else - return name; -} /* xlateSqlFunc() */ - -/* xlateSqlType() - * Convert alternate type names to internal Postgres types. - */ -static char * -xlateSqlType(char *name) -{ - if (!strcasecmp(name,"int") - || !strcasecmp(name,"integer")) - return "int4"; - else if (!strcasecmp(name, "smallint")) - return "int2"; - else if (!strcasecmp(name, "real") - || !strcasecmp(name, "float")) - return "float8"; - else if (!strcasecmp(name, "interval")) - return "timespan"; - else if (!strcasecmp(name, "boolean")) - return "bool"; - else - return name; -} /* xlateSqlType() */ - - -void parser_init(Oid *typev, int nargs) -{ - QueryIsRule = FALSE; - saved_relname[0]= '\0'; - saved_In_Expr = NULL; - - param_type_init(typev, nargs); -} - - -/* FlattenStringList() - * Traverse list of string nodes and convert to a single string. - * Used for reconstructing string form of complex expressions. - * - * Allocate at least one byte for terminator. - */ -static char * -FlattenStringList(List *list) -{ - List *l; - Value *v; - char *s; - char *sp; - int nlist, len = 0; - - nlist = length(list); - l = list; - while(l != NIL) { - v = (Value *)lfirst(l); - sp = v->val.str; - l = lnext(l); - len += strlen(sp); - }; - len += nlist; - - s = (char*) palloc(len+1); - *s = '\0'; - - l = list; - while(l != NIL) { - v = (Value *)lfirst(l); - sp = v->val.str; - l = lnext(l); - strcat(s,sp); - if (l != NIL) strcat(s," "); - }; - *(s+len) = '\0'; - - return s; -} /* FlattenStringList() */ - - -/* makeConstantList() - * Convert constant value node into string node. - */ -static List * -makeConstantList( A_Const *n) -{ - List *result = NIL; - char *typval = NULL; - char *defval = NULL; - - if (nodeTag(n) != T_A_Const) { - elog(ERROR,"Cannot handle non-constant parameter"); - - } else if (n->val.type == T_Float) { - defval = (char*) palloc(20+1); - sprintf( defval, "%g", n->val.val.dval); - result = lcons( makeString(defval), NIL); - - } else if (n->val.type == T_Integer) { - defval = (char*) palloc(20+1); - sprintf( defval, "%ld", n->val.val.ival); - result = lcons( makeString(defval), NIL); - - } else if (n->val.type == T_String) { - defval = (char*) palloc(strlen( ((A_Const *) n)->val.val.str) + 3); - strcpy( defval, "'"); - strcat( defval, ((A_Const *) n)->val.val.str); - strcat( defval, "'"); - if (n->typename != NULL) - { - typval = (char*) palloc(strlen( n->typename->name) + 1); - strcpy(typval, n->typename->name); - result = lappend( lcons( makeString(typval), NIL), makeString(defval)); - } - else - { - result = lcons( makeString(defval), NIL); - } - - } else { - elog(ERROR,"Internal error in makeConstantList(): cannot encode node"); - }; - - return result; -} /* makeConstantList() */ - - -/* fmtId() - * Check input string for non-lowercase/non-numeric characters. - * Returns either input string or input surrounded by double quotes. - */ -static char * -fmtId(char *rawid) -{ - static char *cp; - - for (cp = rawid; *cp != '\0'; cp++) - if (! (islower(*cp) || isdigit(*cp) || (*cp == '_'))) break; - - if (*cp != '\0') { - cp = palloc(strlen(rawid)+3); - strcpy(cp,"\""); - strcat(cp,rawid); - strcat(cp,"\""); - } else { - cp = rawid; - }; - - return cp; -} - -/* - * param_type_init() - * - * keep enough information around fill out the type of param nodes - * used in postquel functions - */ -static void -param_type_init(Oid *typev, int nargs) -{ - pfunc_num_args = nargs; - param_type_info = typev; -} - -Oid param_type(int t) -{ - if ((t > pfunc_num_args) || (t == 0)) - return InvalidOid; - return param_type_info[t - 1]; -} - -/* - * The optimizer doesn't like '-' 4 for index use. It only checks for - * Var '=' Const. It wants an integer of -4, so we try to merge the - * minus into the constant. - */ -static Node *doNegate(Node *n) -{ - if (IsA(n, A_Const)) - { - A_Const *con = (A_Const *)n; - - if (con->val.type == T_Integer) - { - con->val.val.ival = -con->val.val.ival; - return n; - } - if (con->val.type == T_Float) - { - con->val.val.dval = -con->val.val.dval; - return n; - } - } - - return makeA_Expr(OP, "-", NULL, n); -} diff --git a/src/backend/po/ru.po b/src/backend/po/ru.po index f421d7c..cbc670e 100644 --- a/src/backend/po/ru.po +++ b/src/backend/po/ru.po @@ -4,9 +4,12 @@ # Copyright (c) 2001-2004 Serguei A. Mokhov, mokhov@cs.concordia.ca # Distributed under the same licensing terms as PostgreSQL itself. # -# $Header$ +# $PostgreSQL$ # # ChangeLog: +# - December 10, 2004 - January 17, 2005: +# - Updates for 8.0; +# - With terminology suggestions from Oleg Bartunov # - March 27 - December 10, 2004: Updates for 7.4.x/8.0 branches; # - July - August 23, 2003: Updates for 7.4.x; # - January 2, 2003: Fuzzy fixes, Serguei A. Mokhov @@ -17,9 +20,9 @@ # msgid "" msgstr "" -"Project-Id-Version: PostgreSQL 7.4.x\n" -"POT-Creation-Date: 2004-11-18 07:17+0000\n" -"PO-Revision-Date: 2004-12-10 22:21-0500\n" +"Project-Id-Version: PostgreSQL 8.0\n" +"POT-Creation-Date: 2004-12-12 01:07+0000\n" +"PO-Revision-Date: 2005-01-17 15:04-0500\n" "Last-Translator: Serguei A. Mokhov \n" "Language-Team: pgsql-ru-general \n" "MIME-Version: 1.0\n" @@ -38,29 +41,34 @@ msgstr " msgid "index row requires %lu bytes, maximum size is %lu" msgstr "ÓÔÒÏËÁ ÉÎÄÅËÓÁ ÔÒÅÂÕÅÔ ÂÁÊÔ: %lu, ÐÒÉ ÍÁËÓÉÍÕÍÅ: %lu" -#: access/common/heaptuple.c:584 +#: access/common/heaptuple.c:580 #, c-format msgid "number of columns (%d) exceeds limit (%d)" msgstr "ÞÉÓÌÏ ËÏÌÏÎÏË (%d) ÐÒÅ×ÙÛÁÅÔ ÌÉÍÉÔ (%d)" -#: access/common/printtup.c:279 -#: tcop/fastpath.c:187 -#: tcop/fastpath.c:517 -#: tcop/postgres.c:1428 +#: access/common/printtup.c:296 +#: tcop/fastpath.c:186 +#: tcop/fastpath.c:511 +#: tcop/postgres.c:1490 #, c-format msgid "unsupported format code: %d" msgstr "ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ËÏÄ ÆÏÒÍÁÔÁ: %d" -#: access/common/tupdesc.c:660 -#: access/common/tupdesc.c:687 +#: access/common/tupdesc.c:511 +#, c-format +msgid "column \"%s\" cannot be declared SETOF" +msgstr "ËÏÌÏÎËÁ \"%s\" ÎÅ ÍÏÖÅÔ ÂÙÔØ ÚÁÄÅËÌÁÒÉÒÏ×ÁÎÁ ËÁË SETOF" + +#: access/common/tupdesc.c:630 +#: access/common/tupdesc.c:661 msgid "number of aliases does not match number of columns" msgstr "ÞÉÓÌÏ ÁÌÉÁÓÏ× ÎÅ ÓÏ×ÐÁÄÁÅÔ Ó ÞÉÓÌÏÍ ËÏÌÏÎÏË" -#: access/common/tupdesc.c:681 +#: access/common/tupdesc.c:655 msgid "no column alias was provided" msgstr "ÁÌÉÁÓ ËÏÌÏÎËÉ ÎÅ ÕËÁÚÁÎ" -#: access/common/tupdesc.c:704 +#: access/common/tupdesc.c:679 msgid "could not determine row description for function returning record" msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÐÒÅÄÅÌÉÔØ ÏÐÉÓÁÎÉÅ ÓÔÒÏËÉ ÄÌÑ ÆÕÎËÃÉÉ ×ÏÚ×ÒÁÝÁÀÝÅÊ ÚÁÐÉÓØ" @@ -69,11 +77,11 @@ msgstr " msgid "index row size %lu exceeds hash maximum %lu" msgstr "ÒÁÚÍÅÒ ÓÔÒÏËÉ ÉÎÄÅËÓÁ %lu ÐÒÅ×ÙÛÁÅÔ hash-ÍÁËÓÉÍÕÍ %lu" -#: access/hash/hashsearch.c:145 +#: access/hash/hashsearch.c:146 msgid "hash indexes do not support whole-index scans" msgstr "hash-ÉÎÄÅËÓÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔ ÓËÁÎÉÒÏ×ÁÎÉÅ ÃÅÌÉËÏ×ÙÈ ÉÎÄÅËÓÏ×" -#: access/hash/hashovfl.c:521 +#: access/hash/hashovfl.c:522 #, c-format msgid "out of overflow pages in hash index \"%s\"" msgstr "ÎÅÈ×ÁÔÁÅÔ ÓÔÒÁÎÉà ÐÅÒÅÐÏÌÎÅÎÉÑ × hash-ÉÎÄÅËÓÅ \"%s\"" @@ -82,38 +90,44 @@ msgstr " msgid "hash indexes cannot contain null keys" msgstr "hash-ÉÎÄÅËÓÙ ÎÅ ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ ÎÕÌÅ×ÙÅ (NULL) ËÌÀÞÉ" -#: access/hash/hashutil.c:126 +#: access/hash/hashutil.c:127 #, c-format msgid "index \"%s\" is not a hash index" msgstr "ÉÎÄÅËÓ \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ hash-ÉÎÄÅËÓÏÍ" -#: access/hash/hashutil.c:132 +#: access/hash/hashutil.c:133 #, c-format msgid "index \"%s\" has wrong hash version" msgstr "ÉÎÄÅËÓ \"%s\" ÉÍÅÅÎÔ ÎÅÐÒÁ×ÉÌØÎÕÀ hash-×ÅÒÓÉÀ" -#: access/hash/hashutil.c:133 +#: access/hash/hashutil.c:134 msgid "Please REINDEX it." msgstr "ðÏÖÁÌÕÊÓÔÁ, ×ÙÐÏÌÎÉÔÅ REINDEX ÄÌÑ ÎÅÇÏ." -#: access/heap/heapam.c:580 -#: access/heap/heapam.c:615 -#: access/heap/heapam.c:650 -#: catalog/aclchk.c:283 +#: access/heap/heapam.c:487 +#, c-format +msgid "could not obtain lock on relation \"%s\"" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÏÌÕÞÉÔØ ÂÌÏËÉÒÏ×ËÕ ÎÁ ÏÔÎÏÛÅÎÉÅ \"%s\"" + +#: access/heap/heapam.c:610 +#: access/heap/heapam.c:645 +#: access/heap/heapam.c:680 +#: catalog/aclchk.c:286 #, c-format msgid "\"%s\" is an index" msgstr "\"%s\" Ñ×ÌÑÅÔÓÑ ÉÎÄÅËÓÏÍ" -#: access/heap/heapam.c:585 -#: access/heap/heapam.c:620 -#: access/heap/heapam.c:655 +#: access/heap/heapam.c:615 +#: access/heap/heapam.c:650 +#: access/heap/heapam.c:685 #, c-format msgid "\"%s\" is a special relation" -msgstr "\"%s\" Ñ×ÌÑÅÔÓÑ ÓÐÅÃÉÁÌØÎÏÊ Ó×ÑÚØÀ" +msgstr "\"%s\" Ñ×ÌÑÅÔÓÑ ÓÐÅÃÉÁÌØÎÏÊ ÏÔÎÏÛÅÎÉÅÀ" -#: access/heap/heapam.c:590 -#: access/heap/heapam.c:625 -#: access/heap/heapam.c:660 +#: access/heap/heapam.c:620 +#: access/heap/heapam.c:655 +#: access/heap/heapam.c:690 +#: catalog/aclchk.c:293 #, c-format msgid "\"%s\" is a composite type" msgstr "\"%s\" Ñ×ÌÑÔÓÑ ÓÌÏÖÎÙÍ ÔÉÐÏÍ" @@ -123,13 +137,13 @@ msgstr "\"%s\" msgid "row is too big: size %lu, maximum size %lu" msgstr "ÓÔÒÏËÁ ÓÌÉÛËÏÍ ×ÅÌÉËÁ: ÒÁÚÍÅÒ %lu, ÐÒÉ ÍÁËÓÉÍÕÍÅ: %lu" -#: access/index/indexam.c:134 -#: access/index/indexam.c:159 -#: access/index/indexam.c:184 -#: commands/comment.c:309 -#: commands/indexcmds.c:575 -#: commands/indexcmds.c:605 -#: tcop/utility.c:91 +#: access/index/indexam.c:139 +#: access/index/indexam.c:164 +#: access/index/indexam.c:189 +#: commands/comment.c:327 +#: commands/indexcmds.c:887 +#: commands/indexcmds.c:917 +#: tcop/utility.c:93 #, c-format msgid "\"%s\" is not an index" msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÉÎÄÅËÓÏÍ" @@ -139,594 +153,999 @@ msgstr "\"%s\" msgid "duplicate key violates unique constraint \"%s\"" msgstr "ÐÏ×ÔÏÒÎÙÊ ËÌÀÞ ÎÁÒÕÛÁÅÔ ËÏÎÓÔÒÅÊÎÔ UNIQUE \"%s\"" -#: access/nbtree/nbtinsert.c:406 -#: access/nbtree/nbtsort.c:402 +#: access/nbtree/nbtinsert.c:398 +#: access/nbtree/nbtsort.c:499 #, c-format msgid "index row size %lu exceeds btree maximum, %lu" msgstr "ÒÁÚÍÅÒ ÓÔÒÏËÉ ÉÎÄÅËÓÁ %lu, ÐÒÅ×ÙÛÁÅÔ ÍÁËÓÉÍÕÍ B-ÄÅÒÅ×Á: %lu" -#: access/nbtree/nbtpage.c:156 -#: access/nbtree/nbtpage.c:335 +#: access/nbtree/nbtpage.c:169 +#: access/nbtree/nbtpage.c:350 #, c-format msgid "index \"%s\" is not a btree" msgstr "ÉÎÄÅËÓ \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ b-ÄÅÒÅ×ÏÍ" -#: access/nbtree/nbtpage.c:162 -#: access/nbtree/nbtpage.c:341 +#: access/nbtree/nbtpage.c:175 +#: access/nbtree/nbtpage.c:356 #, c-format msgid "version mismatch in index \"%s\": file version %d, code version %d" msgstr "ÎÅ ÓÏ×ÐÁÄÅÎÉÅ ×ÅÒÓÉÉ × ÉÎÄÅËÓÅ \"%s\": ×ÅÒÓÉÑ ÆÁÊÌÁ: %d, ×ÅÒÓÉÑ ËÏÄÁ: %d" -#: access/rtree/rtree.c:645 +#: access/rtree/rtree.c:646 msgid "variable-length rtree keys are not supported" msgstr "rtree-ËÌÀÞÉ ÒÁÚÎÏÊ ÄÌÉÎÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ" -#: access/rtree/rtree.c:785 +#: access/rtree/rtree.c:786 #, c-format msgid "index row size %lu exceeds rtree maximum, %lu" msgstr "ÒÁÚÍÅÒ ÓÔÒÏËÉ ÉÎÄÅËÓÁ (%lu) ÐÒÅ×ÙÛÁÅÔ ÍÁËÓÉÍÁÌØÎÙÊ ÄÌÑ rtree: %lu" -#: access/transam/xact.c:418 -msgid "cannot have more than 2^32-1 commands in a transaction" -msgstr "ÎÅÌØÚÑ ÉÍÅÔØ ÂÏÌÅÅ 2^32-1 ËÏÍÁÎÄ × ÏÄÎÏÊ ÔÒÁÎÚÁËÃÉÉ" - -#. translator: %s represents an SQL statement name -#: access/transam/xact.c:1411 +#: access/transam/xlog.c:907 #, c-format -msgid "%s cannot run inside a transaction block" -msgstr "%s ÎÅ ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØÓÑ ×ÎÕÔÒÉ ÔÒÁÎÚÁËÃÉÏÎÎÏÇÏ ÂÌÏËÁ" +msgid "could not create archive status file \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÆÁÊÌ ÓÏÓÔÏÑÎÉÑ ÁÒÈÉ×Á \"%s\": %m" -#. translator: %s represents an SQL statement name -#: access/transam/xact.c:1423 +#: access/transam/xlog.c:915 #, c-format -msgid "%s cannot be executed from a function" -msgstr "%s ÎÅ ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØÓÑ ×ÎÕÔÒÉ ÆÕÎËÃÉÉ" +msgid "could not write archive status file \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁÐÉÓÁÔØ × ÆÁÊÌ ÓÏÓÔÏÑÎÉÑ ÁÒÈÉ×Á \"%s\": %m" -#. translator: %s represents an SQL statement name -#: access/transam/xact.c:1466 +#: access/transam/xlog.c:1180 +#: access/transam/xlog.c:1321 +#: access/transam/xlog.c:5209 #, c-format -msgid "%s may only be used in transaction blocks" -msgstr "%s ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØÓÑ ÔÏÌØËÏ ×ÎÕÔÒÉ ÂÌÏËÏ× ÔÒÁÎÚÁËÃÉÊ" - -#: access/transam/xact.c:1545 -msgid "there is already a transaction in progress" -msgstr "ÔÒÁÎÚÁËÃÉÑ ÕÖÅ × ÐÒÏÃÅÓÓÅ ×ÙÐÏÌÎÅÎÉÑ" - -#: access/transam/xact.c:1607 -#: access/transam/xact.c:1645 -#: access/transam/xact.c:1693 -msgid "there is no transaction in progress" -msgstr "ÎÅÔ ÔÒÁÎÚÁËÃÉÉ × ÐÒÏÃÅÓÓÅ ×ÙÐÏÌÎÅÎÉÑ" +msgid "could not close log file %u, segment %u: %m" +msgstr "ÎÅ ÕÄÁÌÏÓØ ÚÁËÒÙÔØ ÌÏÇ-ÆÁÊÌ %u, ÓÅÇÍÅÎÔ %u: %m" -#: access/transam/slru.c:490 +#: access/transam/xlog.c:1255 +#: access/transam/xlog.c:2433 #, c-format -msgid "file \"%s\" doesn't exist, reading as zeroes" -msgstr "ÆÁÊÌ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ, ÞÉÔÁÅÔÓÑ ËÁË ÎÕÌÉ" +msgid "could not seek in log file %u, segment %u to offset %u: %m" +msgstr "ÎÅ ÕÄÁÌÏÓØ ÐÅÒÅÄ×ÉÎÕÔØÓÑ × ÌÏÇ-ÆÁÊÌÅ %u, ÓÅÇÍÅÎÔ %u ÎÁ ÓÍÅÝÅÎÉÅ %u: %m" -#: access/transam/slru.c:611 -#: access/transam/slru.c:618 -#: access/transam/slru.c:625 -#: access/transam/slru.c:632 -#: access/transam/slru.c:639 +#: access/transam/xlog.c:1269 #, c-format -msgid "could not access status of transaction %u" -msgstr "ÓÔÁÔÕÓ ÔÒÁÎÚÁËÃÉÉ %u ÎÅ ÄÏÓÔÕÐÅÎ" +msgid "could not write to log file %u, segment %u at offset %u: %m" +msgstr "ÎÅ ÕÄÁÌÏÓØ ÚÁÐÉÓÁÔØ × ÌÏÇ-ÆÁÊÌ %u, ÓÅÇÍÅÎÔ %u, ÓÍÅÝÅÎÉÅ %u: %m" -#: access/transam/slru.c:612 -#: libpq/hba.c:832 -#: libpq/hba.c:856 -#: storage/smgr/smgr.c:278 -#: utils/error/elog.c:877 -#: utils/init/miscinit.c:726 -#: utils/init/miscinit.c:826 -#: utils/misc/database.c:149 +#: access/transam/xlog.c:1521 +#: access/transam/xlog.c:1612 +#: access/transam/xlog.c:1825 +#: access/transam/xlog.c:1879 +#: access/transam/xlog.c:1888 #, c-format -msgid "could not open file \"%s\": %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÒÙÔØ ÆÁÊÌ \"%s\": %m" +msgid "could not open file \"%s\" (log file %u, segment %u): %m" +msgstr "ÎÅ ÕÄÁÌÏÓØ ÏÔËÒÙÔØ ÆÁÊÌ \"%s\" (ÌÏÇ-ÆÁÊÌ: %u, ÓÅÇÍÅÎÔ: %u): %m" -#: access/transam/slru.c:619 -#: access/transam/xlog.c:1385 +#: access/transam/slru.c:645 +#: access/transam/xlog.c:1544 +#: access/transam/xlog.c:1664 +#: access/transam/xlog.c:2939 +#: access/transam/xlog.c:5357 +#: access/transam/xlog.c:5475 +#: postmaster/postmaster.c:2906 #, c-format msgid "could not create file \"%s\": %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÆÁÊÌ \"%s\": %m" -#: access/transam/slru.c:626 -#, c-format -msgid "could not seek in file \"%s\" to offset %u: %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÅÒÅÄ×ÉÎÕÔØÓÑ × ÆÁÊÌÅ \"%s\" ÎÁ ÓÍÅÝÅÎÉÅ %u: %m" - -#: access/transam/slru.c:633 -#, c-format -msgid "could not read from file \"%s\" at offset %u: %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÞÉÔÁÔØ ÉÚ ÆÁÊÌÁ \"%s\" ÓÏ ÓÍÅÝÅÎÉÅÍ %u: %m" - -#: access/transam/slru.c:640 -#, c-format -msgid "could not write to file \"%s\" at offset %u: %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁÐÉÓÁÔØ × ÆÁÊÌ \"%s\" ÐÒÉ ÓÍÅÝÅÎÉÉ %u: %m" - -#: access/transam/slru.c:818 +#: access/transam/xlog.c:1573 +#: access/transam/xlog.c:1697 +#: access/transam/xlog.c:2992 +#: access/transam/xlog.c:3030 +#: commands/copy.c:1118 +#: commands/tablespace.c:664 +#: commands/tablespace.c:670 +#: postmaster/postmaster.c:2916 +#: postmaster/postmaster.c:2926 +#: utils/init/miscinit.c:832 +#: utils/init/miscinit.c:841 +#: utils/misc/guc.c:4799 +#: utils/misc/guc.c:4863 #, c-format -msgid "could not truncate directory \"%s\": apparent wraparound" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÄÁÌÉÔØ ÄÉÒÅËÔÏÒÉÀ \"%s\": Ñ×ÎÏÅ ÚÁËÒÕÇÌÅÎÉÅ" +msgid "could not write to file \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁÐÉÓÁÔØ ÆÁÊÌ \"%s\": %m" -#: access/transam/slru.c:877 +#: access/transam/slru.c:673 +#: access/transam/xlog.c:1580 +#: access/transam/xlog.c:1704 +#: access/transam/xlog.c:3036 #, c-format -msgid "could not open directory \"%s\": %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÒÙÔØ ÄÉÒÅËÔÏÒÉÀ \"%s\": %m" +msgid "could not fsync file \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÉÎÈÒÏÎÉÚÉÒÏ×ÁÔØ ÆÁÊÌ \"%s\" Ó fsync: %m" -#: access/transam/slru.c:893 +#: access/transam/slru.c:680 +#: access/transam/xlog.c:1585 +#: access/transam/xlog.c:1709 +#: access/transam/xlog.c:3041 +#, c-format +msgid "could not close file \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁËÒÙÔØ ÆÁÊÌ \"%s\": %m" + +#: access/transam/slru.c:638 +#: access/transam/xlog.c:1649 +#: access/transam/xlog.c:2770 +#: access/transam/xlog.c:2860 +#: access/transam/xlog.c:2958 +#: libpq/hba.c:948 +#: libpq/hba.c:1005 +#: utils/error/elog.c:1118 +#: utils/init/miscinit.c:783 +#: utils/init/miscinit.c:889 +#: utils/misc/database.c:68 #, c-format -msgid "removing file \"%s/%s\"" -msgstr "ÕÄÁÌÅÎÉÅ ÆÁÊÌÁ \"%s/%s\"" +msgid "could not open file \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÒÙÔØ ÆÁÊÌ \"%s\": %m" -#: access/transam/slru.c:905 +#: access/transam/xlog.c:1677 +#: access/transam/xlog.c:2970 +#: access/transam/xlog.c:5446 +#: access/transam/xlog.c:5497 +#: access/transam/xlog.c:5569 +#: access/transam/xlog.c:5594 +#: access/transam/xlog.c:5632 #, c-format -msgid "could not read directory \"%s\": %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÞÉÔÁÔØ ÄÉÒÅËÔÏÒÉÀ \"%s\": %m" +msgid "could not read file \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÞÉÔÁÔØ ÆÁÊÌ \"%s\": %m" -#: access/transam/xlog.c:1047 -#: access/transam/xlog.c:1163 -#: access/transam/xlog.c:3575 +#: access/transam/xlog.c:1680 #, c-format -msgid "could not close log file %u, segment %u: %m" -msgstr "ÎÅ ÕÄÁÌÏÓØ ÚÁËÒÙÔØ ÌÏÇ-ÆÁÊÌ %u, ÓÅÇÍÅÎÔ %u: %m" +msgid "not enough data in file \"%s\"" +msgstr "ÎÅÄÏÓÔÁÔÏÞÎÏ ÄÁÎÎÙÈ × ÆÁÊÌÅ\"%s\"" -#: access/transam/xlog.c:1103 -#: access/transam/xlog.c:1865 +#: access/transam/xlog.c:1792 #, c-format -msgid "could not seek in log file %u, segment %u to offset %u: %m" -msgstr "ÎÅ ÕÄÁÌÏÓØ ÐÅÒÅÄ×ÉÎÕÔØÓÑ × ÌÏÇ-ÆÁÊÌÅ %u, ÓÅÇÍÅÎÔ %u ÎÁ ÓÍÅÝÅÎÉÅ %u: %m" +msgid "could not link file \"%s\" to \"%s\" (initialization of log file %u, segment %u): %m" +msgstr "ÎÅ ÕÄÁÌÏÓØ ÓÌÉÎËÏ×ÁÔØ ÆÁÊÌ \"%s\" × \"%s\" (ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÌÏÇ-ÆÁÊÌÁ: %u, ÓÅÇÍÅÎÔ: %u): %m" -#: access/transam/xlog.c:1117 +#: access/transam/xlog.c:1799 #, c-format -msgid "could not write to log file %u, segment %u at offset %u: %m" -msgstr "ÎÅ ÕÄÁÌÏÓØ ÚÁÐÉÓÁÔØ × ÌÏÇ-ÆÁÊÌ %u, ÓÅÇÍÅÎÔ %u, ÓÍÅÝÅÎÉÅ %u: %m" +msgid "could not rename file \"%s\" to \"%s\" (initialization of log file %u, segment %u): %m" +msgstr "ÎÅ ÕÄÁÌÏÓØ ÐÅÒÅÉÍÅÎÏ×ÁÔØ ÆÁÊÌ \"%s\" × \"%s\" (ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÌÏÇ-ÆÁÊÌÁ: %u, ÓÅÇÍÅÎÔ: %u): %m" -#: access/transam/xlog.c:1361 -#: access/transam/xlog.c:1450 -#: access/transam/xlog.c:1564 -#: access/transam/xlog.c:1570 +#: access/transam/xlog.c:1954 +#: access/transam/xlog.c:2056 +#: access/transam/xlog.c:5340 #, c-format -msgid "could not open file \"%s\" (log file %u, segment %u): %m" -msgstr "ÎÅ ÕÄÁÌÏÓØ ÏÔËÒÙÔØ ÆÁÊÌ \"%s\" (ÌÏÇ-ÆÁÊÌ: %u, ÓÅÇÍÅÎÔ: %u): %m" +msgid "could not stat file \"%s\": %m" +msgstr "ÏÛÉÂËÁ × stat ÄÌÑ ÆÁÊÌÁ \"%s\": %m" -#: access/transam/xlog.c:1414 -#: utils/init/miscinit.c:775 -#: utils/misc/guc.c:3776 +#: access/transam/xlog.c:1962 +#: access/transam/xlog.c:5502 +#: access/transam/xlog.c:5656 +#: commands/tablespace.c:589 #, c-format -msgid "could not write to file \"%s\": %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁÐÉÓÁÔØ ÆÁÊÌ \"%s\": %m" +msgid "could not remove file \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÄÁÌÉÔØ ÆÁÊÌ \"%s\": %m" -#: access/transam/xlog.c:1421 +#: access/transam/xlog.c:2037 #, c-format -msgid "could not fsync file \"%s\": %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÉÎÈÒÏÎÉÚÉÒÏ×ÁÔØ ÆÁÊÌ \"%s\" Ó fsync: %m" +msgid "archive file \"%s\" has wrong size: %lu instead of %lu" +msgstr "" -#: access/transam/xlog.c:1528 +#: access/transam/xlog.c:2044 #, c-format -msgid "could not link file \"%s\" to \"%s\" (initialization of log file %u, segment %u): %m" -msgstr "ÎÅ ÕÄÁÌÏÓØ ÓÌÉÎËÏ×ÁÔØ ÆÁÊÌ \"%s\" × \"%s\" (ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÌÏÇ-ÆÁÊÌÁ: %u, ÓÅÇÍÅÎÔ: %u): %m" +msgid "restored log file \"%s\" from archive" +msgstr "" -#: access/transam/xlog.c:1535 +#: access/transam/xlog.c:2069 #, c-format -msgid "could not rename file \"%s\" to \"%s\" (initialization of log file %u, segment %u): %m" -msgstr "ÎÅ ÕÄÁÌÏÓØ ÐÅÒÅÉÍÅÎÏ×ÁÔØ ÆÁÊÌ \"%s\" × \"%s\" (ÉÎÉÃÉÁÌÉÚÁÃÉÑ ÌÏÇ-ÆÁÊÌÁ: %u, ÓÅÇÍÅÎÔ: %u): %m" +msgid "could not restore file \"%s\" from archive: return code %d" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ×ÏÓÓÔÁÎÏ×ÉÔØ ÆÁÊÌ \"%s\" ÉÚ ÁÒÈÉ×Á: ËÏÄ ×ÏÚ×ÒÁÔÁ %d" -#: access/transam/xlog.c:1622 +#: access/transam/xlog.c:2137 #, c-format msgid "could not open transaction log directory \"%s\": %m" msgstr "ÎÅ ÕÄÁÌÏÓØ ÏÔËÒÙÔØ ÄÉÒÅËÔÏÒÉÀ ÖÕÒÎÁÌÁ ÔÒÁÎÚÁËÃÉÊ \"%s\": %m" -#: access/transam/xlog.c:1638 -#, c-format -msgid "archiving transaction log file \"%s\"" -msgstr "ÁÒÈÉ×ÉÒÏ×ÁÎÉÅ ÌÏÇÁ ÔÒÁÎÚÁËÃÉÊ: \"%s\"" - -#: access/transam/xlog.c:1655 +#: access/transam/xlog.c:2182 #, c-format msgid "recycled transaction log file \"%s\"" msgstr "ÐÅÒÅÉÓÐÏÌØÚÏ×ÁÎÉÅ ÌÏÇÁ ÔÒÁÎÚÁËÃÉÊ: \"%s\"" -#: access/transam/xlog.c:1662 +#: access/transam/xlog.c:2190 #, c-format msgid "removing transaction log file \"%s\"" msgstr "ÕÄÁÌÅÎÉÅ ÌÏÇÁ ÔÒÁÎÚÁËÃÉÊ: \"%s\"" -#: access/transam/xlog.c:1673 +#: access/transam/xlog.c:2213 #, c-format msgid "could not read transaction log directory \"%s\": %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÞÉÔÁÔØ ÆÁÊÌ ÄÉÒÅËÔÏÒÉÀ ÌÏÇÁ ÔÒÁÎÚÁËÃÉÊ \"%s\": %m" -#: access/transam/xlog.c:1747 +#: access/transam/xlog.c:2297 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "ÎÅËÏÒÒÅËÔÎÁÑ ËÏÎÔÒÏÌØÎÁÑ ÓÕÍÍÁ ÄÁÎÎÙÈ ÍÅÎÅÄÖÅÒÁ ÒÅÓÕÒÓÏ× × ÚÁÐÉÓÉ ÎÁ %X/%X" -#: access/transam/xlog.c:1770 +#: access/transam/xlog.c:2320 #, c-format msgid "incorrect checksum of backup block %d in record at %X/%X" msgstr "ÎÅËÏÒÒÅËÔÎÁÑ ËÏÎÔÒÏÌØÎÁÑ ÓÕÍÍÁ ÒÅÚÅÒ×ÎÏÇÏ ÂÌÏËÁ %d × ÚÁÐÉÓÉ ÎÁ %X/%X" -#: access/transam/xlog.c:1840 +#: access/transam/xlog.c:2393 +#: access/transam/xlog.c:2463 #, c-format msgid "invalid record offset at %X/%X" msgstr "ÎÅ×ÅÒÎÏÅ ÓÍÅÝÅÎÉÅ ÚÁÐÉÓÉ × %X/%X" -#: access/transam/xlog.c:1873 +#: access/transam/xlog.c:2441 #, c-format msgid "could not read from log file %u, segment %u at offset %u: %m" msgstr "ÎÅ ÕÄÁÌÏÓØ ÓÞÉÔÁÔØ ÉÚ ÌÏÇ-ÆÁÊÌÁ: %u, ÓÅÇÍÅÎÔ: %u, ÓÍÅÝÅÎÉÅ %u: %m" -#: access/transam/xlog.c:1884 +#: access/transam/xlog.c:2471 #, c-format msgid "contrecord is requested by %X/%X" msgstr "contrecord ÚÁÐÒÏÛÅÎÁ ÓÌÅÄÕÀÝÉÍ: %X/%X" -#: access/transam/xlog.c:1899 +#: access/transam/xlog.c:2486 #, c-format msgid "record with zero length at %X/%X" msgstr "ÚÁÐÉÓØ Ó ÎÕÌÅ×ÏÊ ÄÌÉÎÎÏÃ × %X/%X" -#: access/transam/xlog.c:1924 -#, c-format -msgid "record length %u at %X/%X too long" -msgstr "ÄÌÉÎÁ ÚÁÐÉÓÉ %u × %X/%X ÓÌÉÛËÏÍ ×ÅÌÉËÁ" - -#: access/transam/xlog.c:1931 +#: access/transam/xlog.c:2493 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "ÎÅ×ÅÒÎÙÊ ID ÍÅÎÅÄÖÅÒÁ ÒÅÓÕÒÓÏ× %u × %X/%X" -#: access/transam/xlog.c:1963 +#: access/transam/xlog.c:2531 +#, c-format +msgid "record length %u at %X/%X too long" +msgstr "ÄÌÉÎÁ ÚÁÐÉÓÉ %u × %X/%X ÓÌÉÛËÏÍ ×ÅÌÉËÁ" + +#: access/transam/xlog.c:2567 #, c-format msgid "could not read from log file %u, segment %u, offset %u: %m" msgstr "ÎÅ ÕÄÁÌÏÓØ ÓÞÉÔÁÔØ ÉÚ ÌÏÇ-ÆÁÊÌÁ: %u, ÓÅÇÍÅÎÔ: %u, ÓÍÅÝÅÎÉÅ %u: %m" -#: access/transam/xlog.c:1972 +#: access/transam/xlog.c:2576 #, c-format msgid "there is no contrecord flag in log file %u, segment %u, offset %u" msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÆÌÁÇ contrecord × ÆÁÌÅ ÖÕÒÎÁÌÁ %u, ÓÅÇÍÅÎÔ %u, ÓÍÅÝÅÎÉÅ %u" -#: access/transam/xlog.c:1981 +#: access/transam/xlog.c:2586 #, c-format msgid "invalid contrecord length %u in log file %u, segment %u, offset %u" msgstr "ÎÅ×ÅÒÎÁÑ ÄÌÉÎÁ contrecord %u × ÆÁÌÅ ÖÕÒÎÁÌÁ %u, ÓÅÇÍÅÎÔ %u, ÓÍÅÝÅÎÉÅ %u" -#: access/transam/xlog.c:2047 +#: access/transam/xlog.c:2653 #, c-format msgid "invalid magic number %04X in log file %u, segment %u, offset %u" msgstr "ÎÅ×ÅÒÎÏÅ ÍÁÇÉÞÅÓËÏÅ ÞÉÓÌÏ %04X × ÆÁÌÅ ÖÕÒÎÁÌÁ %u, ÓÅÇÍÅÎÔ %u, ÓÍÅÝÅÎÉÅ %u" -#: access/transam/xlog.c:2054 +#: access/transam/xlog.c:2660 #, c-format msgid "invalid info bits %04X in log file %u, segment %u, offset %u" msgstr "ÎÅ×ÅÒÎÙÅ ÉÎÆÏÒÍÁÃÉÏÎÎÙÅ ÂÉÔÙ %04X × ÆÁÌÅ ÖÕÒÎÁÌÁ %u, ÓÅÇÍÅÎÔ %u, ÓÍÅÝÅÎÉÅ %u" -#: access/transam/xlog.c:2063 +#: access/transam/xlog.c:2682 +#: access/transam/xlog.c:2690 +msgid "WAL file is from different system" +msgstr "" + +#: access/transam/xlog.c:2683 +#, c-format +msgid "WAL file SYSID is %s, pg_control SYSID is %s" +msgstr "" + +#: access/transam/xlog.c:2691 +msgid "Incorrect XLOG_SEG_SIZE in page header." +msgstr "" + +#: access/transam/xlog.c:2700 #, c-format msgid "unexpected pageaddr %X/%X in log file %u, segment %u, offset %u" msgstr "ÎÅÏÖÉÄÁÎÎÙÊ pageaddr %X/%X × ÆÁÌÅ ÖÕÒÎÁÌÁ %u, ÓÅÇÍÅÎÔ %u, ÓÍÅÝÅÎÉÅ %u" -#. translator: SUI = startup id -#: access/transam/xlog.c:2086 +#: access/transam/xlog.c:2712 +#, c-format +msgid "unexpected timeline ID %u in log file %u, segment %u, offset %u" +msgstr "ÎÅÏÖÉÄÁÎÎÙÊ timeline ID %u × ÆÁÊÌÅ ÖÕÒÎÁÌÁ %u, ÓÅÇÍÅÎÔ %u, ÓÍÅÝÅÎÉÅ %u" + +#: access/transam/xlog.c:2730 +#, c-format +msgid "out-of-sequence timeline ID %u (after %u) in log file %u, segment %u, offset %u" +msgstr "×ÎÅ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ timeline ID %u (ÐÏÓÌÅ %u) × ÆÁÊÌÅ ÖÕÒÎÁÌÁ %u, ÓÅÇÍÅÎÔ %u, ÓÍÅÝÅÎÉÅ %u" + +#: access/transam/xlog.c:2799 #, c-format -msgid "out-of-sequence SUI %u (after %u) in log file %u, segment %u, offset %u" -msgstr "×ÎÅ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ SUI %u (ÐÏÓÌÅ %u) × ÆÁÌÅ ÖÕÒÎÁÌÁ %u, ÓÅÇÍÅÎÔ %u, ÓÍÅÝÅÎÉÅ %u" +msgid "syntax error in history file: %s" +msgstr "" + +#: access/transam/xlog.c:2800 +msgid "Expected a numeric timeline ID." +msgstr "" + +#: access/transam/xlog.c:2805 +#, c-format +msgid "invalid data in history file: %s" +msgstr "" -#: access/transam/xlog.c:2147 +#: access/transam/xlog.c:2806 +msgid "Timeline IDs must be in increasing sequence." +msgstr "" + +#: access/transam/xlog.c:2819 +#, c-format +msgid "invalid data in history file \"%s\"" +msgstr "" + +#: access/transam/xlog.c:2820 +msgid "Timeline IDs must be less than child timeline's ID." +msgstr "" + +#: access/transam/xlog.c:3058 +#, c-format +msgid "could not link file \"%s\" to \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÌÉÎËÏ×ÁÔØ ÆÁÊÌ \"%s\" × \"%s\": %m" + +#: access/transam/xlog.c:3065 +#: access/transam/xlog.c:3847 +#: access/transam/xlog.c:3890 +#: commands/user.c:282 +#: commands/user.c:412 +#: postmaster/pgarch.c:596 +#, c-format +msgid "could not rename file \"%s\" to \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÅÒÅÉÍÅÎÏ×ÁÔØ ÆÁÊÌ \"%s\" × \"%s\": %m" + +#: access/transam/xlog.c:3126 msgid "invalid LC_COLLATE setting" msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ LC_COLLATE" -#: access/transam/xlog.c:2152 +#: access/transam/xlog.c:3131 msgid "invalid LC_CTYPE setting" msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ LC_CTYPE" -#: access/transam/xlog.c:2171 +#: access/transam/xlog.c:3150 msgid "sizeof(ControlFileData) is larger than BLCKSZ; fix either one" msgstr "sizeof(ControlFileData) ÂÏÌØÛÅ ÞÅÍ BLCKSZ; ÉÓÐÒÁ×ØÔÅ ÌÀÂÏÊ ÉÚ ÎÉÈ" -#: access/transam/xlog.c:2181 +#: access/transam/xlog.c:3160 #, c-format msgid "could not create control file \"%s\": %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÆÁÊÌ ÕÐÒÁ×ÌÅÎÉÑ \"%s\": %m" -#: access/transam/xlog.c:2192 -#: access/transam/xlog.c:2369 +#: access/transam/xlog.c:3171 +#: access/transam/xlog.c:3358 #, c-format msgid "could not write to control file: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁÐÉÓÁÔØ × ÆÁÊÌ ÕÐÒÁ×ÌÅÎÉÑ: %m" -#: access/transam/xlog.c:2198 -#: access/transam/xlog.c:2375 +#: access/transam/xlog.c:3177 +#: access/transam/xlog.c:3364 #, c-format msgid "could not fsync control file: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÉÎÈÒÏÎÉÚÉÒÏ×ÁÔØ (fsync) ÆÁÊÌ ÕÐÒÁ×ÌÅÎÉÑ: %m" -#: access/transam/xlog.c:2216 -#: access/transam/xlog.c:2358 +#: access/transam/xlog.c:3182 +#: access/transam/xlog.c:3369 +#, c-format +msgid "could not close control file: %m" +msgstr "" + +#: access/transam/xlog.c:3198 +#: access/transam/xlog.c:3347 #, c-format msgid "could not open control file \"%s\": %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÒÙÔØ ÆÁÊÌ ÕÐÒÁ×ÌÅÎÉÑ \"%s\": %m" -#: access/transam/xlog.c:2222 +#: access/transam/xlog.c:3204 #, c-format msgid "could not read from control file: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÞÉÔÁÔØ ÉÚ ÆÁÊÌÁ ÕÐÒÁ×ÌÅÎÉÑ: %m" -#: access/transam/xlog.c:2234 -#: access/transam/xlog.c:2264 -#: access/transam/xlog.c:2271 -#: access/transam/xlog.c:2278 -#: access/transam/xlog.c:2285 -#: access/transam/xlog.c:2292 -#: access/transam/xlog.c:2301 -#: access/transam/xlog.c:2308 -#: access/transam/xlog.c:2316 -#: utils/init/miscinit.c:844 +#: access/transam/xlog.c:3216 +#: access/transam/xlog.c:3246 +#: access/transam/xlog.c:3253 +#: access/transam/xlog.c:3260 +#: access/transam/xlog.c:3267 +#: access/transam/xlog.c:3274 +#: access/transam/xlog.c:3281 +#: access/transam/xlog.c:3290 +#: access/transam/xlog.c:3297 +#: access/transam/xlog.c:3305 +#: utils/init/miscinit.c:907 msgid "database files are incompatible with server" msgstr "ÆÁÊÌÙ ÂÁÚÙ ÄÁÎÎÙÈ ÎÅ ÓÏ×ÍÅÓÔÉÍÙ Ó ÓÅÒ×ÅÒÏÍ" -#: access/transam/xlog.c:2235 +#: access/transam/xlog.c:3217 #, c-format msgid "The database cluster was initialized with PG_CONTROL_VERSION %d, but the server was compiled with PG_CONTROL_VERSION %d." msgstr "ëÌÁÓÔÅÒ ÂÁÚ ÄÁÎÎÙÈ ÂÙÌ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ Ó PG_CONTROL_VERSION %d, ÎÏ ÓÅÒ×ÅÒ ÂÙÌ ÓËÏÍÐÉÌÉÒÏ×ÁÎ Ó PG_CONTROL_VERSION %d." -#: access/transam/xlog.c:2238 -#: access/transam/xlog.c:2268 +#: access/transam/xlog.c:3220 +#: access/transam/xlog.c:3250 msgid "It looks like you need to initdb." msgstr "ðÏÈÏÖÅ ×ÁÍ ÎÁÄÏ ×ÙÐÏÌÎÉÔØ initdb." -#: access/transam/xlog.c:2248 +#: access/transam/xlog.c:3230 msgid "incorrect checksum in control file" msgstr "ÎÅ×ÅÒÎÁÑ ËÏÎÔÒÏÌØÎÁÑ ÓÕÍÍÁ × ÆÁÊÌÅ ÕÐÒÁ×ÌÅÎÉÑ" -#: access/transam/xlog.c:2265 +#: access/transam/xlog.c:3247 #, c-format msgid "The database cluster was initialized with CATALOG_VERSION_NO %d, but the server was compiled with CATALOG_VERSION_NO %d." msgstr "ëÌÁÓÔÅÒ ÂÁÚ ÄÁÎÎÙÈ ÂÙÌ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ Ó CATALOG_VERSION_NO %d, ÎÏ ÓÅÒ×ÅÒ ÂÙÌ ÓËÏÍÐÉÌÉÒÏ×ÁÎ Ó CATALOG_VERSION_NO %d." -#: access/transam/xlog.c:2272 +#: access/transam/xlog.c:3254 #, c-format msgid "The database cluster was initialized with BLCKSZ %d, but the server was compiled with BLCKSZ %d." msgstr "ëÌÁÓÔÅÒ ÂÁÚ ÄÁÎÎÙÈ ÂÙÌ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ Ó BLCKSZ %d, ÎÏ ÓÅÒ×ÅÒ ÂÙÌ ÓËÏÍÐÉÌÉÒÏ×ÁÎ Ó BLCKSZ %d." -#: access/transam/xlog.c:2275 -#: access/transam/xlog.c:2282 -#: access/transam/xlog.c:2289 -#: access/transam/xlog.c:2296 -#: access/transam/xlog.c:2304 -#: access/transam/xlog.c:2311 -#: access/transam/xlog.c:2320 +#: access/transam/xlog.c:3257 +#: access/transam/xlog.c:3264 +#: access/transam/xlog.c:3271 +#: access/transam/xlog.c:3278 +#: access/transam/xlog.c:3285 +#: access/transam/xlog.c:3293 +#: access/transam/xlog.c:3300 +#: access/transam/xlog.c:3309 msgid "It looks like you need to recompile or initdb." msgstr "ðÏÈÏÖÅ ×ÁÍ ÎÁÄÏ ÐÅÒÅËÏÍÐÉÌÉÒÏ×ÁÔØ ÉÌÉ ×ÙÐÏÌÎÉÔØ initdb." -#: access/transam/xlog.c:2279 +#: access/transam/xlog.c:3261 #, c-format msgid "The database cluster was initialized with RELSEG_SIZE %d, but the server was compiled with RELSEG_SIZE %d." msgstr "ëÌÁÓÔÅÒ ÂÁÚ ÄÁÎÎÙÈ ÂÙÌ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ Ó RELSEG_SIZE %d, ÎÏ ÓÅÒ×ÅÒ ÂÙÌ ÓËÏÍÐÉÌÉÒÏ×ÁÎ Ó RELSEG_SIZE %d." -#: access/transam/xlog.c:2286 +#: access/transam/xlog.c:3268 +#, c-format +msgid "The database cluster was initialized with XLOG_SEG_SIZE %d, but the server was compiled with XLOG_SEG_SIZE %d." +msgstr "ëÌÁÓÔÅÒ ÂÁÚ ÄÁÎÎÙÈ ÂÙÌ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ Ó XLOG_SEG_SIZE %d, ÎÏ ÓÅÒ×ÅÒ ÂÙÌ ÓËÏÍÐÉÌÉÒÏ×ÁÎ Ó XLOG_SEG_SIZE %d." + +#: access/transam/xlog.c:3275 #, c-format msgid "The database cluster was initialized with NAMEDATALEN %d, but the server was compiled with NAMEDATALEN %d." msgstr "ëÌÁÓÔÅÒ ÂÁÚ ÄÁÎÎÙÈ ÂÙÌ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ Ó NAMEDATALEN %d, ÎÏ ÓÅÒ×ÅÒ ÂÙÌ ÓËÏÍÐÉÌÉÒÏ×ÁÎ Ó NAMEDATALEN %d." -#: access/transam/xlog.c:2293 +#: access/transam/xlog.c:3282 #, c-format msgid "The database cluster was initialized with FUNC_MAX_ARGS %d, but the server was compiled with FUNC_MAX_ARGS %d." msgstr "ëÌÁÓÔÅÒ ÂÁÚ ÄÁÎÎÙÈ ÂÙÌ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ Ó FUNC_MAX_ARGS %d, ÎÏ ÓÅÒ×ÅÒ ÂÙÌ ÓËÏÍÐÉÌÉÒÏ×ÁÎ Ó FUNC_MAX_ARGS %d." -#: access/transam/xlog.c:2302 +#: access/transam/xlog.c:3291 msgid "The database cluster was initialized without HAVE_INT64_TIMESTAMP but the server was compiled with HAVE_INT64_TIMESTAMP." msgstr "ëÌÁÓÔÅÒ ÂÁÚ ÄÁÎÎÙÈ ÂÙÌ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ ÂÅÚ HAVE_INT64_TIMESTAMP, ÎÏ ÓÅÒ×ÅÒ ÂÙÌ ÓËÏÍÐÉÌÉÒÏ×ÁÎ Ó HAVE_INT64_TIMESTAMP." -#: access/transam/xlog.c:2309 +#: access/transam/xlog.c:3298 msgid "The database cluster was initialized with HAVE_INT64_TIMESTAMP but the server was compiled without HAVE_INT64_TIMESTAMP." msgstr "ëÌÁÓÔÅÒ ÂÁÚ ÄÁÎÎÙÈ ÂÙÌ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ Ó PG_CONTROL_VERSION, ÎÏ ÓÅÒ×ÅÒ ÂÙÌ ÓËÏÍÐÉÌÉÒÏ×ÁÎ ÂÅÚ PG_CONTROL_VERSION." -#: access/transam/xlog.c:2317 +#: access/transam/xlog.c:3306 #, c-format msgid "The database cluster was initialized with LOCALE_NAME_BUFLEN %d, but the server was compiled with LOCALE_NAME_BUFLEN %d." msgstr "ëÌÁÓÔÅÒ ÂÁÚ ÄÁÎÎÙÈ ÂÙÌ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ Ó LOCALE_NAME_BUFLEN %d, ÎÏ ÓÅÒ×ÅÒ ÂÙÌ ÓËÏÍÐÉÌÉÒÏ×ÁÎ Ó LOCALE_NAME_BUFLEN %d." -#: access/transam/xlog.c:2323 -#: access/transam/xlog.c:2330 +#: access/transam/xlog.c:3312 +#: access/transam/xlog.c:3319 msgid "database files are incompatible with operating system" msgstr "ÆÁÊÌÙ ÂÁÚÙ ÄÁÎÎÙÚ ÎÅ ÓÏ×ÍÅÓÔÉÍÙ Ó ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÏÊ" -#: access/transam/xlog.c:2324 +#: access/transam/xlog.c:3313 #, c-format msgid "The database cluster was initialized with LC_COLLATE \"%s\", which is not recognized by setlocale()." msgstr "ëÌÁÓÔÅÒ ÂÁÚ ÄÁÎÎÙÈ ÂÙÌ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ Ó LC_COLLATE \"%s\", ËÏÔÏÒÕÀ ÎÅ ÒÁÓÐÏÚÎÁÓÔØ Ó setlocale()." -#: access/transam/xlog.c:2327 -#: access/transam/xlog.c:2334 +#: access/transam/xlog.c:3316 +#: access/transam/xlog.c:3323 msgid "It looks like you need to initdb or install locale support." msgstr "ðÏÈÏÖÅ ×ÁÍ ÎÕÖÎÏ ×ÙÐÏÌÎÉÔØ initdb ÉÌÉ ÉÎÓÔÁÌÉÒÏ×ÁÔØ ÐÏÄÄÅÒÖËÕ ÌÏËÁÌÉ." -#: access/transam/xlog.c:2331 +#: access/transam/xlog.c:3320 #, c-format msgid "The database cluster was initialized with LC_CTYPE \"%s\", which is not recognized by setlocale()." msgstr "ëÌÁÓÔÅÒ ÂÁÚ ÄÁÎÎÙÈ ÂÙÌ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎ Ó LC_CTYPE \"%s\", ËÏÔÏÒÙÊ ÎÅ ÒÁÓÐÏÚÎÁÔØ Ó setlocale()." -#: access/transam/xlog.c:2517 +#: access/transam/xlog.c:3546 #, c-format msgid "could not write bootstrap transaction log file: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁÐÉÓÁÔØ ÆÁÊÌ ÌÏÇÁ ÓÔÁÒÔÏ×ÙÈ ÔÒÁÎÚÁËÃÉÊ: %m" -#: access/transam/xlog.c:2523 +#: access/transam/xlog.c:3552 #, c-format msgid "could not fsync bootstrap transaction log file: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÉÎÈÒÏÎÉÚÉÒÏ×ÁÔØ (fsync) ÆÁÊÌ ÌÏÇÁ ÓÔÁÒÔÏ×ÙÈ ÔÒÁÎÚÁËÃÉÊ: %m" -#: access/transam/xlog.c:2591 +#: access/transam/xlog.c:3557 +#, c-format +msgid "could not close bootstrap transaction log file: %m" +msgstr "" + +#: access/transam/xlog.c:3619 +#, c-format +msgid "could not open recovery command file \"%s\": %m" +msgstr "" + +#: access/transam/xlog.c:3624 +msgid "starting archive recovery" +msgstr "" + +#: access/transam/xlog.c:3669 +#, c-format +msgid "restore_command = \"%s\"" +msgstr "restore_command = \"%s\"" + +#: access/transam/xlog.c:3683 +#, c-format +msgid "recovery_target_timeline is not a valid number: \"%s\"" +msgstr "" + +#: access/transam/xlog.c:3688 +#, c-format +msgid "recovery_target_timeline = %u" +msgstr "recovery_target_timeline = %u" + +#: access/transam/xlog.c:3691 +msgid "recovery_target_timeline = latest" +msgstr "recovery_target_timeline = latest" + +#: access/transam/xlog.c:3699 +#, c-format +msgid "recovery_target_xid is not a valid number: \"%s\"" +msgstr "" + +#: access/transam/xlog.c:3702 +#, c-format +msgid "recovery_target_xid = %u" +msgstr "recovery_target_xid = %u" + +#: access/transam/xlog.c:3727 +#, c-format +msgid "recovery_target_time = %s" +msgstr "recovery_target_time = %s" + +#: access/transam/xlog.c:3744 +#, c-format +msgid "recovery_target_inclusive = %s" +msgstr "recovery_target_inclusive = %s" + +#: access/transam/xlog.c:3748 +#, c-format +msgid "unrecognized recovery parameter \"%s\"" +msgstr "" + +#: access/transam/xlog.c:3756 +#, c-format +msgid "syntax error in recovery command file: %s" +msgstr "" + +#: access/transam/xlog.c:3758 +msgid "Lines should have the format parameter = 'value'." +msgstr "" + +#: access/transam/xlog.c:3763 +#, c-format +msgid "recovery command file \"%s\" did not specify restore_command" +msgstr "" + +# [SM]: TO REVIEW +#: access/transam/xlog.c:3782 +#, c-format +msgid "recovery_target_timeline %u does not exist" +msgstr "" + +#: access/transam/xlog.c:3894 +msgid "archive recovery complete" +msgstr "" + +#: access/transam/xlog.c:3978 +#, c-format +msgid "recovery stopping after commit of transaction %u, time %s" +msgstr "" + +#: access/transam/xlog.c:3982 +#, c-format +msgid "recovery stopping before commit of transaction %u, time %s" +msgstr "" + +#: access/transam/xlog.c:3989 +#, c-format +msgid "recovery stopping after abort of transaction %u, time %s" +msgstr "" + +#: access/transam/xlog.c:3993 +#, c-format +msgid "recovery stopping before abort of transaction %u, time %s" +msgstr "" + +#: access/transam/xlog.c:4035 msgid "control file contains invalid data" msgstr "ÆÁÊÌ ÕÐÒÁ×ÌÅÎÉÑ ÓÏÄÅÒÖÉÔ ÎÅ×ÅÒÎÙÅ ÄÁÎÎÙÅ" -#: access/transam/xlog.c:2595 +#: access/transam/xlog.c:4039 #, c-format msgid "database system was shut down at %s" msgstr "ÓÉÓÔÅÍÁ ÂÙÌÁ ÏÔËÌÀÞÅÎÁ: %s" -#: access/transam/xlog.c:2599 +#: access/transam/xlog.c:4043 #, c-format msgid "database system shutdown was interrupted at %s" msgstr "ÏÔËÌÀÞÅÎÉÅ ÓÉÓÔÅÍÙ ÂÙÌÏ ÐÒÅÒ×ÁÎÏ: %s" -#: access/transam/xlog.c:2603 +#: access/transam/xlog.c:4047 #, c-format msgid "database system was interrupted while in recovery at %s" msgstr "ÓÉÓÔÅÍÁ ÂÙÌÁ ÐÒÅÒ×ÁÎÁ ×Ï ×ÒÅÍÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ ÎÁ %s" -#: access/transam/xlog.c:2605 +#: access/transam/xlog.c:4049 msgid "This probably means that some data is corrupted and you will have to use the last backup for recovery." msgstr "üÔÏ ÓËÏÒÅÅ ×ÓÅÇÏ ÏÚÎÁÞÁÅÔ ÞÔÏ ÎÅËÏÔÏÒÙÅ ÄÁÎÎÙÅ ÐÏ×ÒÅÖÄÅÎÙ É ×ÁÍ ÐÒÉÄ£ÔØÓÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÏÓÌÅÄÎÉÊ ÂÜËÁÐ ÄÌÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ." -#: access/transam/xlog.c:2609 +#: access/transam/xlog.c:4053 #, c-format msgid "database system was interrupted at %s" msgstr "ÓÉÓÔÅÍÁ ÂÙÌÁ ÐÒÅÒ×ÁÎÁ: %s" -#: access/transam/xlog.c:2627 +#: access/transam/xlog.c:4085 +#, c-format +msgid "requested timeline %u is not a child of database system timeline %u" +msgstr "" + +#: access/transam/xlog.c:4100 +#: access/transam/xlog.c:4122 #, c-format msgid "checkpoint record is at %X/%X" msgstr "ËÏÎÔÒÏÌØÎÁÑ ÔÏÞËÁ: %X/%X" -#: access/transam/xlog.c:2637 +#: access/transam/xlog.c:4107 +msgid "could not locate required checkpoint record" +msgstr "" + +#: access/transam/xlog.c:4108 +#, c-format +msgid "If you are not restoring from a backup, try removing the file \"%s/backup_label\"." +msgstr "" + +#: access/transam/xlog.c:4132 #, c-format msgid "using previous checkpoint record at %X/%X" msgstr "ÉÓÐÏÌØÚÕÅÔÓÑ ÐÒÅÄÙÄÕÝÁÑ ËÏÎÔÒÏÌØÎÁÑ ÔÏÞËÁ: %X/%X" -#: access/transam/xlog.c:2643 +#: access/transam/xlog.c:4139 msgid "could not locate a valid checkpoint record" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÎÁÊÔÉ ËÏÒÒÅËÔÎÕÀ ËÏÎÔÒÏÌØÎÕÀ ÔÏÞËÕ" -#: access/transam/xlog.c:2650 +#: access/transam/xlog.c:4148 #, c-format msgid "redo record is at %X/%X; undo record is at %X/%X; shutdown %s" msgstr "redo-ÚÁÐÉÓØ: %X/%X; undo-ÚÁÐÉÓØ: %X/%X; ÏÔËÌÀÞÅÎÉÅ: %s" -#: access/transam/xlog.c:2655 +#: access/transam/xlog.c:4153 #, c-format msgid "next transaction ID: %u; next OID: %u" msgstr "ID ÓÌÅÄÕÀÝÅÊ ÔÒÁÎÚÁËÃÉÉ: %u; ÓÌÅÄÕÀÝÉÊ OID: %u" -#: access/transam/xlog.c:2659 +#: access/transam/xlog.c:4157 msgid "invalid next transaction ID" msgstr "ÎÅ×ÅÒÎÙÊ ID ÓÌÅÄÕÀÝÅÊ ÔÒÁÎÚÁËÃÉÉ" -#: access/transam/xlog.c:2683 +#: access/transam/xlog.c:4174 msgid "invalid redo in checkpoint record" msgstr "ÎÅ×ÅÒÎÁÑ ÚÁÐÉÓØ REDO (ÐÏ×ÔÏÒÉÔØ) × ÚÁÐÉÓÉ ËÏÎÔÒÏÌØÎÏÊ ÔÏÞËÉ" -#: access/transam/xlog.c:2692 +#: access/transam/xlog.c:4188 msgid "invalid redo/undo record in shutdown checkpoint" msgstr "ÎÅ×ÅÒÎÁÑ ÚÁÐÉÓØ REDO/UNDO (ÐÏ×ÔÏÒÉÔØ/ÏÔÍÅÎÉÔØ) × ÚÁÐÉÓÉ ËÏÎÔÒÏÌØÎÏÊ ÔÏÞËÉ ÏÓÔÁÎÏ×Á" -#: access/transam/xlog.c:2704 +#: access/transam/xlog.c:4206 +msgid "automatic recovery in progress" +msgstr "" + +#: access/transam/xlog.c:4209 msgid "database system was not properly shut down; automatic recovery in progress" msgstr "ÓÉÓÔÅÍÁ ÂÁÚ ÄÁÎÎÙÈ ÂÙÌÁ ÎÅÐÒÁ×ÉÌØÎÏ ÏÓÔÁÎÏ×ÌÅÎÁ; ÐÒÏÉÚ×ÏÄÉÔÓÑ Á×ÔÏÍÁÔÉÞÅÓËÏÅ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÅ" -#: access/transam/xlog.c:2732 +#: access/transam/xlog.c:4246 #, c-format msgid "redo starts at %X/%X" msgstr "REDO (ÐÏ×ÔÏÒÉÔØ) ÎÁÞÉÎÁÅÔÓÑ Ó %X/%X" -#: access/transam/xlog.c:2764 +#: access/transam/xlog.c:4304 #, c-format msgid "redo done at %X/%X" msgstr "REDO (ÐÏ×ÔÏÒÉÔØ) ÚÁ×ÅÒÛÅÎÏ ÎÁ %X/%X" -#: access/transam/xlog.c:2771 +#: access/transam/xlog.c:4312 msgid "redo is not required" msgstr "REDO (ÐÏ×ÔÏÒÉÔØ) ÎÅ ÔÒÅÂÕÅÔÓÑ" -#: access/transam/xlog.c:2840 +#: access/transam/xlog.c:4332 +msgid "requested recovery stop point is before end time of backup dump" +msgstr "" + +#: access/transam/xlog.c:4336 +msgid "WAL ends before end time of backup dump" +msgstr "" + +#: access/transam/xlog.c:4351 +#, c-format +msgid "selected new timeline ID: %u" +msgstr "" + +#: access/transam/xlog.c:4433 #, c-format msgid "undo starts at %X/%X" msgstr "UNDO (ÏÔÍÅÎÉÔØ) ÎÁÞÉÎÁÅÔÓÑ Ó %X/%X" -#: access/transam/xlog.c:2851 +#: access/transam/xlog.c:4444 #, c-format msgid "undo done at %X/%X" msgstr "UNDO (ÏÔÍÅÎÉÔØ) ÚÁ×ÅÒÛÅÎÏ ÎÁ %X/%X" -#: access/transam/xlog.c:2856 +#: access/transam/xlog.c:4449 msgid "undo is not required" msgstr "UNDO (ÏÔÍÅÎÉÔØ) ÎÅ ÔÒÅÂÕÅÔÓÑ" -#: access/transam/xlog.c:2946 +#: access/transam/xlog.c:4517 msgid "database system is ready" msgstr "ÓÉÓÔÅÍÁ ÇÏÔÏ×Á Ë ÉÓÐÏÌØÚÏ×ÁÎÉÀ" -#: access/transam/xlog.c:2979 +#: access/transam/xlog.c:4556 msgid "invalid primary checkpoint link in control file" msgstr "ÎÅ×ÅÒÎÁÑ ÐÅÒ×ÉÞÎÁÑ ËÏÎÔÒÏÌØÎÁÑ ÔÏÞËÁ × ËÏÎÔÒÏÌØÎÏÍ ÆÁÊÌÅ" -#: access/transam/xlog.c:2982 +#: access/transam/xlog.c:4560 msgid "invalid secondary checkpoint link in control file" msgstr "ÎÅ×ÅÒÎÁÑ ×ÔÏÒÉÞÎÁÑ ËÏÎÔÒÏÌØÎÁÑ ÔÏÞËÁ × ËÏÎÔÒÏÌØÎÏÍ ÆÁÊÌÅ" -#: access/transam/xlog.c:2992 +#: access/transam/xlog.c:4564 +msgid "invalid checkpoint link in backup_label file" +msgstr "" + +#: access/transam/xlog.c:4578 msgid "invalid primary checkpoint record" msgstr "ÎÅ×ÅÒÎÁÑ ÐÅÒ×ÉÞÎÁÑ ËÏÎÔÒÏÌØÎÁÑ ÔÏÞËÁ" -#: access/transam/xlog.c:2995 +#: access/transam/xlog.c:4582 msgid "invalid secondary checkpoint record" msgstr "ÎÅ×ÅÒÎÁÑ ×ÔÏÒÉÞÎÁÑ ËÏÎÔÒÏÌØÎÁÑ ÔÏÞËÁ" -#: access/transam/xlog.c:3002 +#: access/transam/xlog.c:4586 +msgid "invalid checkpoint record" +msgstr "ÎÅ×ÅÒÎÁÑ ÚÁÐÉÓØ ËÏÎÔÒÏÌØÎÏÊ ÔÏÞËÉ" + +#: access/transam/xlog.c:4597 msgid "invalid resource manager ID in primary checkpoint record" msgstr "ÎÅ×ÅÒÎÙÊ ID ÍÅÎÅÄÖÅÒÁ ÒÅÓÕÒÓÏ× × ÐÅÒ×ÉÞÎÏÊ ËÏÎÔÒÏÌØÎÏÊ ÔÏÞËÅ" -#: access/transam/xlog.c:3005 +#: access/transam/xlog.c:4601 msgid "invalid resource manager ID in secondary checkpoint record" msgstr "ÎÅ×ÅÒÎÙÊ ID ÍÅÎÅÄÖÅÒÁ ÒÅÓÕÒÓÏ× ×Ï ×ÔÏÒÉÞÎÏÊ ËÏÎÔÒÏÌØÎÏÊ ÔÏÞËÅ" -#: access/transam/xlog.c:3013 +#: access/transam/xlog.c:4605 +msgid "invalid resource manager ID in checkpoint record" +msgstr "ÎÅ×ÅÒÎÙÊ ID ÍÅÎÅÄÖÅÒÁ ÒÅÓÕÒÓÏ× × ËÏÎÔÒÏÌØÎÏÊ ÔÏÞËÅ" + +#: access/transam/xlog.c:4617 msgid "invalid xl_info in primary checkpoint record" msgstr "ÎÅ×ÅÒÎÏÅ xl_info × ÐÅÒ×ÉÞÎÏÊ ËÏÎÔÒÏÌØÎÏÊ ÔÏÞËÅ" -#: access/transam/xlog.c:3016 +#: access/transam/xlog.c:4621 msgid "invalid xl_info in secondary checkpoint record" msgstr "ÎÅ×ÅÒÎÏÅ xl_info ×Ï ×ÔÏÒÉÞÎÏÊ ËÏÎÔÒÏÌØÎÏÊ ÔÏÞËÅ" -#: access/transam/xlog.c:3023 +#: access/transam/xlog.c:4625 +msgid "invalid xl_info in checkpoint record" +msgstr "ÎÅ×ÅÒÎÏÅ xl_info × ËÏÎÔÒÏÌØÎÏÊ ÔÏÞËÅ" + +#: access/transam/xlog.c:4636 msgid "invalid length of primary checkpoint record" msgstr "ÎÅ×ÅÒÎÁÑ ÄÌÉÎÁ ÚÁÐÉÓÉ ÐÅÒ×ÉÞÎÏÊ ËÏÎÔÒÏÌØÎÏÊ ÔÏÞËÉ" -#: access/transam/xlog.c:3026 +#: access/transam/xlog.c:4640 msgid "invalid length of secondary checkpoint record" msgstr "ÎÅ×ÅÒÎÁÑ ÄÌÉÎÁ ÚÁÐÉÓÉ ×ÔÏÒÉÞÎÏÊ ËÏÎÔÒÏÌØÎÏÊ ÔÏÞËÉ" -#: access/transam/xlog.c:3090 +#: access/transam/xlog.c:4644 +msgid "invalid length of checkpoint record" +msgstr "ÎÅ×ÅÒÎÁÑ ÄÌÉÎÁ ÚÁÐÉÓÉ ËÏÎÔÒÏÌØÎÏÊ ÔÏÞËÉ" + +#: access/transam/xlog.c:4697 msgid "shutting down" msgstr "ÏÔËÌÀÞÅÎÉÅ × ÐÒÏÃÅÓÓÅ" -#: access/transam/xlog.c:3104 +#: access/transam/xlog.c:4706 msgid "database system is shut down" msgstr "ÓÉÓÔÅÍÁ ÏÔËÌÀÞÅÎÁ" -#: access/transam/xlog.c:3127 -msgid "checkpoint cannot be made inside transaction block" -msgstr "ËÏÎÔÒÏÌØÎÁÑ ÔÏÞËÁ ÎÅ ÍÏÖÅÔ ÒÁÓÐÏÌÁÇÁÔØÓÑ ×ÎÕÔÒÉ ÔÒÁÎÚÁËÃÉÏÎÎÏÇÏ ÂÌÏËÁ" +#: access/transam/xlog.c:4897 +msgid "checkpoint starting" +msgstr "" -#: access/transam/xlog.c:3327 +#: access/transam/xlog.c:4926 msgid "concurrent transaction log activity while database system is shutting down" msgstr "ÚÁÍÅÞÅÎÁ ÐÁÒÁÌÌÅÌØÎÁÑ ÁËÔÉ×ÎÏÓÔØ × ÖÕÒÎÁÌÅ ÔÒÁÎÚÁËÃÉÊ ÐÒÉ ÏÓÔÁÎÏ×ËÅ ÓÉÓÔÅÍÙ ÂÁÚ ÄÁÎÎÙÈ" -#: access/transam/xlog.c:3568 -#: access/transam/xlog.c:3600 +#: access/transam/xlog.c:4998 +#, c-format +msgid "checkpoint complete; %d transaction log file(s) added, %d removed, %d recycled" +msgstr "" + +#: access/transam/xlog.c:5058 +#, c-format +msgid "unexpected timeline ID %u (after %u) in checkpoint record" +msgstr "" + +#: access/transam/xlog.c:5081 +#, c-format +msgid "unexpected timeline ID %u (should be %u) in checkpoint record" +msgstr "" + +#: access/transam/xlog.c:5202 +#: access/transam/xlog.c:5234 #, c-format msgid "could not fsync log file %u, segment %u: %m" msgstr "ÎÅ ÕÄÁÌÏÓØ ÓÉÎÈÒÏÎÉÚÉÒÏ×ÁÔØ (fsync) ÌÏÇ-ÆÁÊÌ: %u, ÓÅÇÍÅÎÔ: %u: %m" -#: access/transam/xlog.c:3608 +#: access/transam/xlog.c:5242 #, c-format msgid "could not fdatasync log file %u, segment %u: %m" msgstr "ÎÅ ÕÄÁÌÏÓØ ÓÉÎÈÒÏÎÉÚÉÒÏ×ÁÔØ (fdatasync) ÌÏÇ-ÆÁÊÌ: %u, ÓÅÇÍÅÎÔ: %u: %m" -#: bootstrap/bootstrap.c:196 +#: access/transam/xlog.c:5285 +#: access/transam/xlog.c:5412 +msgid "must be superuser to run a backup" +msgstr "" + +#: access/transam/xlog.c:5290 +msgid "WAL archiving is not active" +msgstr "" + +#: access/transam/xlog.c:5291 +msgid "archive_command must be defined before online backups can be made safely." +msgstr "" + +#: access/transam/xlog.c:5346 +msgid "a backup is already in progress" +msgstr "" + +#: access/transam/xlog.c:5347 +#, c-format +msgid "If you're sure there is no backup in progress, remove file \"%s\" and try again." +msgstr "" + +#: access/transam/xlog.c:5368 +#: access/transam/xlog.c:5488 +#, c-format +msgid "could not write file \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁÐÉÓÁÔØ ÆÁÊÌ \"%s\": %m" + +#: access/transam/xlog.c:5450 +msgid "a backup is not in progress" +msgstr "" + +#: access/transam/xlog.c:5463 +#: access/transam/xlog.c:5584 +#: access/transam/xlog.c:5590 +#: access/transam/xlog.c:5621 +#: access/transam/xlog.c:5627 +#, c-format +msgid "invalid data in file \"%s\"" +msgstr "ÎÅ×ÅÒÎÙÅ ÄÁÎÎÙÅ × ÆÁÊÌÅ \"%s\"" + +#: access/transam/slru.c:452 +#, c-format +msgid "file \"%s\" doesn't exist, reading as zeroes" +msgstr "ÆÁÊÌ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ, ÞÉÔÁÅÔÓÑ ËÁË ÎÕÌÉ" + +#: access/transam/slru.c:637 +#: access/transam/slru.c:644 +#: access/transam/slru.c:651 +#: access/transam/slru.c:658 +#: access/transam/slru.c:665 +#: access/transam/slru.c:672 +#: access/transam/slru.c:679 +#, c-format +msgid "could not access status of transaction %u" +msgstr "ÓÔÁÔÕÓ ÔÒÁÎÚÁËÃÉÉ %u ÎÅ ÄÏÓÔÕÐÅÎ" + +#: access/transam/slru.c:652 +#, c-format +msgid "could not seek in file \"%s\" to offset %u: %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÅÒÅÄ×ÉÎÕÔØÓÑ × ÆÁÊÌÅ \"%s\" ÎÁ ÓÍÅÝÅÎÉÅ %u: %m" + +#: access/transam/slru.c:659 +#, c-format +msgid "could not read from file \"%s\" at offset %u: %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÞÉÔÁÔØ ÉÚ ÆÁÊÌÁ \"%s\" ÓÏ ÓÍÅÝÅÎÉÅÍ %u: %m" + +#: access/transam/slru.c:666 +#, c-format +msgid "could not write to file \"%s\" at offset %u: %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁÐÉÓÁÔØ × ÆÁÊÌ \"%s\" ÐÒÉ ÓÍÅÝÅÎÉÉ %u: %m" + +#: access/transam/slru.c:862 +#, c-format +msgid "could not truncate directory \"%s\": apparent wraparound" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÄÁÌÉÔØ ÄÉÒÅËÔÏÒÉÀ \"%s\": Ñ×ÎÏÅ ÚÁËÒÕÇÌÅÎÉÅ" + +#: ../port/copydir.c:55 +#: access/transam/slru.c:930 +#: commands/tablespace.c:525 +#: commands/tablespace.c:692 +#: utils/adt/misc.c:174 +#, c-format +msgid "could not open directory \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÒÙÔØ ÄÉÒÅËÔÏÒÉÀ \"%s\": %m" + +#: access/transam/slru.c:948 +#, c-format +msgid "removing file \"%s\"" +msgstr "ÕÄÁÌÅÎÉÅ ÆÁÊÌÁ \"%s\"" + +#: access/transam/slru.c:967 +#: commands/tablespace.c:573 +#: commands/tablespace.c:719 +#, c-format +msgid "could not read directory \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÞÉÔÁÔØ ÄÉÒÅËÔÏÒÉÀ \"%s\": %m" + +#: access/transam/xact.c:510 +msgid "cannot have more than 2^32-1 commands in a transaction" +msgstr "ÎÅÌØÚÑ ÉÍÅÔØ ÂÏÌÅÅ 2^32-1 ËÏÍÁÎÄ × ÏÄÎÏÊ ÔÒÁÎÚÁËÃÉÉ" + +#. translator: %s represents an SQL statement name +#: access/transam/xact.c:2178 +#, c-format +msgid "%s cannot run inside a transaction block" +msgstr "%s ÎÅ ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØÓÑ ×ÎÕÔÒÉ ÔÒÁÎÚÁËÃÉÏÎÎÏÇÏ ÂÌÏËÁ" + +#. translator: %s represents an SQL statement name +#: access/transam/xact.c:2188 +#, c-format +msgid "%s cannot run inside a subtransaction" +msgstr "" + +#. translator: %s represents an SQL statement name +#: access/transam/xact.c:2200 +#, c-format +msgid "%s cannot be executed from a function" +msgstr "%s ÎÅ ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØÓÑ ×ÎÕÔÒÉ ÆÕÎËÃÉÉ" + +#. translator: %s represents an SQL statement name +#: access/transam/xact.c:2251 +#, c-format +msgid "%s may only be used in transaction blocks" +msgstr "%s ÍÏÖÅÔ ×ÙÐÏÌÎÑÔØÓÑ ÔÏÌØËÏ ×ÎÕÔÒÉ ÂÌÏËÏ× ÔÒÁÎÚÁËÃÉÊ" + +#: access/transam/xact.c:2434 +msgid "there is already a transaction in progress" +msgstr "ÔÒÁÎÚÁËÃÉÑ ÕÖÅ × ÐÒÏÃÅÓÓÅ ×ÙÐÏÌÎÅÎÉÑ" + +#: access/transam/xact.c:2549 +#: access/transam/xact.c:2640 +msgid "there is no transaction in progress" +msgstr "ÎÅÔ ÔÒÁÎÚÁËÃÉÉ × ÐÒÏÃÅÓÓÅ ×ÙÐÏÌÎÅÎÉÑ" + +#: access/transam/xact.c:2732 +#: access/transam/xact.c:2781 +#: access/transam/xact.c:2787 +#: access/transam/xact.c:2831 +#: access/transam/xact.c:2878 +#: access/transam/xact.c:2884 +msgid "no such savepoint" +msgstr "" + +#: access/transam/xact.c:3522 +msgid "cannot have more than 2^32-1 subtransactions in a transaction" +msgstr "ÎÅÌØÚÑ ÉÍÅÔØ ÂÏÌÅÅ 2^32-1 ÐÏÄÔÒÁÎÚÁËÃÉÉ × ÏÄÎÏÊ ÔÒÁÎÚÁËÃÉÉ" + +#: bootstrap/bootstrap.c:300 +#: postmaster/postmaster.c:550 +#: tcop/postgres.c:2533 +#, c-format +msgid "--%s requires a value" +msgstr "--%s ÔÒÅÂÕÅÔ ÐÁÒÁÍÅÔÒ" + +#: bootstrap/bootstrap.c:305 +#: postmaster/postmaster.c:555 +#: tcop/postgres.c:2538 +#, c-format +msgid "-c %s requires a value" +msgstr "-c %s ÔÒÅÂÕÅÔ ÐÁÒÁÍÅÔÒ" + +#: bootstrap/bootstrap.c:482 msgid "" "Usage:\n" " postgres -boot [OPTION]... DBNAME\n" @@ -743,314 +1162,474 @@ msgstr "" " -d 1-5 ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ\n" " -D äéòäáîîùè ÄÉÒÅËÔÏÒÉÑ Ó ÄÁÎÎÙÍÉ\n" " -F ×ÙËÌÀÞÉÔØ fsync\n" -" -o æáêì ÎÁÐÒÁ×ÉÔØ ×Ù×ÏÄ ÒÅÖÉÍÁ ÏÔÌÁÄËÉ × ÆÁÊÌ\n" +" -o æáêì ÎÁÐÒÁ×ÉÔØ ×Ù×ÏÄ ÒÅÖÉÍÁ ÏÔÌÁÄËÉ × ÆÁÊÌ\n" " -x îïíåò ÄÌÑ ×ÎÕÔÒÅÎÎÅÇÏ ÉÓÐÏÌØÚÏ×ÁÎÉÑ\n" -#: bootstrap/bootstrap.c:319 -#: postmaster/postmaster.c:567 -#: tcop/postgres.c:2409 -#, c-format -msgid "--%s requires a value" -msgstr "--%s ÔÒÅÂÕÅÔ ÐÁÒÁÍÅÔÒ" - -#: bootstrap/bootstrap.c:324 -#: postmaster/postmaster.c:572 -#: tcop/postgres.c:2414 -#, c-format -msgid "-c %s requires a value" -msgstr "-c %s ÔÒÅÂÕÅÔ ÐÁÒÁÍÅÔÒ" - -#: bootstrap/bootstrap.c:357 -#: postmaster/postmaster.c:314 -#: tcop/postgres.c:2484 -#, c-format -msgid "" -"%s does not know where to find the database system data.\n" -"You must specify the directory that contains the database system\n" -"either by specifying the -D invocation option or by setting the\n" -"PGDATA environment variable.\n" -msgstr "" -"íÏÄÕÌØ %s ÎÅ × ÓÏÓÔÏÑÎÉÉ ÎÁÊÔÉ ÄÁÎÎÙÅ (ÂÁÚÙ É Ô.Ä.) ÓÉÓÔÅÍÙ.\n" -"÷Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ ÄÉÒÅËÔÏÒÉÀ, ËÏÔÏÒÁÑ ÓÏÄÅÒÖÉÔ ÄÁÎÎÙÅ\n" -"ÐÕÔ£Í ÕËÁÚÁÎÉÑ ÏÐÃÉÉ -D ÐÒÉ ÚÁÐÕÓËÅ ÉÌÉ ÕÓÔÁÎÏ×É× ÐÅÒÅÍÅÎÎÕÀ\n" -"ÏËÒÕÖÅÎÉÑ PGDATA.\n" - -#: catalog/dependency.c:173 +#: catalog/dependency.c:152 #, c-format msgid "cannot drop %s because other objects depend on it" msgstr "ÎÅÌØÚÑ ÕÄÁÌÉÔØ %s ÐÏ ÐÒÉÞÉÎÅ ÎÁÌÉÞÉÑ ÚÁ×ÉÓÉÍÙÈ ÏÂßÅËÔÏ×" -#: catalog/dependency.c:175 +#: catalog/dependency.c:154 msgid "Use DROP ... CASCADE to drop the dependent objects too." msgstr "éÓÐÏÌØÚÕÊÔÅ DROP ... CASCADE ÞÔÏÂÙ ÔÁËÖÅ ÕÄÁÌÉÔØ ÚÁ×ÉÓÉÍÙÅ ÏÂßÅËÔÙ." -#: catalog/dependency.c:233 +#: catalog/dependency.c:212 #, c-format msgid "failed to drop all objects depending on %s" msgstr "ÏÛÉÂËÁ ÐÒÉ ÕÄÁÌÅÎÉÉ ×ÓÅÈ ÏÂßÅËÔÏ× ÚÁ×ÉÍÙÈ ÏÔ %s" -#: catalog/dependency.c:330 -#: catalog/dependency.c:729 +#: catalog/dependency.c:312 +#: catalog/dependency.c:717 #, c-format msgid "cannot drop %s because it is required by the database system" msgstr "ÎÅÌØÚÑ ÕÄÁÌÉÔØ %s: ÜÔÏÔ ÏÂßÅËÔ ÎÕÖÅÎ ÓÉÓÔÅÍÅ ÂÁÚ ÄÁÎÎÙÈ" -#: catalog/dependency.c:466 +#: catalog/dependency.c:451 #, c-format msgid "cannot drop %s because %s requires it" msgstr "ÎÅÌØÚÑ ÕÄÁÌÉÔØ %s: ÜÔÏÔ ÏÂßÅËÔ ÎÕÖÅÎ %s" -#: catalog/dependency.c:468 +#: catalog/dependency.c:453 #, c-format msgid "You may drop %s instead." msgstr "÷ÍÅÓÔÏ ÜÔÏÇÏ ×Ù ÍÏÖÅÔÅ ÕÄÁÌÉÔØ %s." -#: catalog/dependency.c:536 -#: catalog/dependency.c:686 -#: catalog/dependency.c:714 +#: catalog/dependency.c:521 +#: catalog/dependency.c:674 +#: catalog/dependency.c:702 #, c-format msgid "drop auto-cascades to %s" msgstr "ÕÄÁÌÅÎÉÅ Á×ÔÏÍÁÔÉÞÅÓËÉ ÓÎÉÓÈÏÄÉÔ ÄÏ %s" -#: catalog/dependency.c:541 -#: catalog/dependency.c:691 +#: catalog/dependency.c:526 +#: catalog/dependency.c:679 #, c-format msgid "%s depends on %s" msgstr "%s ÚÁ×ÉÓÉÔ ÏÔ %s" -#: catalog/dependency.c:548 -#: catalog/dependency.c:698 +#: catalog/dependency.c:533 +#: catalog/dependency.c:686 #, c-format msgid "drop cascades to %s" msgstr "ÕÄÁÌÅÎÉÅ ÓÎÉÓÈÏÄÉÔ ÄÏ %s" -#: catalog/aclchk.c:160 +#: catalog/dependency.c:1427 +#, c-format +msgid " column %s" +msgstr " ËÏÌÏÎËÁ %s" + +#: catalog/dependency.c:1433 +#, c-format +msgid "function %s" +msgstr "ÆÕÎËÃÉÑ %s" + +#: catalog/dependency.c:1438 +#, c-format +msgid "type %s" +msgstr "ÔÉÐ %s" + +#: catalog/dependency.c:1468 +#, c-format +msgid "cast from %s to %s" +msgstr "ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ ÔÉÐÁ ÉÚ %s × %s" + +#: catalog/dependency.c:1505 +#, c-format +msgid "constraint %s on " +msgstr "ËÏÎÓÔÒÅÊÎÔ %s ÎÁ" + +#: catalog/dependency.c:1511 +#, c-format +msgid "constraint %s" +msgstr "ËÏÎÓÔÒÅÊÎÔ %s" + +#: catalog/dependency.c:1530 +#, c-format +msgid "conversion %s" +msgstr "ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ %s" + +#: catalog/dependency.c:1567 +#, c-format +msgid "default for %s" +msgstr "ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ %s" + +#: catalog/dependency.c:1585 +#, c-format +msgid "language %s" +msgstr "ÑÚÙË %s" + +#: catalog/dependency.c:1592 +#, c-format +msgid "operator %s" +msgstr "ÏÐÅÒÁÔÏÒ %s" + +#: catalog/dependency.c:1626 +#, c-format +msgid "operator class %s for access method %s" +msgstr "ËÌÁÓÓ ÏÐÅÒÁÔÏÒÏ× %s ÄÌÑ ÍÅÔÏÄÁ ÄÏÓÔÕÐÁ %s" + +#: catalog/dependency.c:1662 +#, c-format +msgid "rule %s on " +msgstr "ÐÒÁ×ÉÌÏ %s ÎÁ" + +#: catalog/dependency.c:1697 +#, c-format +msgid "trigger %s on " +msgstr "ÔÒÉÇÇÅÒ %s ÎÁ " + +#: catalog/dependency.c:1714 +#, c-format +msgid "schema %s" +msgstr "ÓÈÅÍÁ %s" + +#: catalog/dependency.c:1758 +#, c-format +msgid "table %s" +msgstr "ÔÁÂÌÉÃÁ %s" + +#: catalog/dependency.c:1762 +#, c-format +msgid "index %s" +msgstr "ÉÎÄÅËÓ %s" + +#: catalog/dependency.c:1766 +#, c-format +msgid "special system relation %s" +msgstr "ÓÐÅÃÉÁÌØÎÏÅ ÓÉÓÔÅÍÎÏÅ ÏÔÎÏÛÅÎÉÅ %s" + +#: catalog/dependency.c:1770 +#, c-format +msgid "sequence %s" +msgstr "ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ %s" + +#: catalog/dependency.c:1774 +#, c-format +msgid "uncataloged table %s" +msgstr "ÔÁÂÌÉÃÁ ×ÎÅ ËÁÔÁÌÏÇÁ %s" + +#: catalog/dependency.c:1778 +#, c-format +msgid "toast table %s" +msgstr "TOAST-ÔÁÂÌÉÃÁ %s" + +#: catalog/dependency.c:1782 +#, c-format +msgid "view %s" +msgstr "ÐÒÅÄÓÔÁ×ÌÅÎÉÅ %s" + +#: catalog/dependency.c:1786 +#, c-format +msgid "composite type %s" +msgstr "Ñ×ÌÑÔÓÑ ÓÌÏÖÎÏ-ÓÏÓÔÁ×ÎÏÊ ÔÉÐ %s" + +#: catalog/dependency.c:1791 +#, c-format +msgid "relation %s" +msgstr "ÏÔÎÏÛÅÎÉÅ %s" + +#: catalog/aclchk.c:158 msgid "grant options can only be granted to individual users" msgstr "ÏÐÃÉÉ GRANT ÍÏÇÕÔ ÂÙÔØ ÔÏÌØËÏ ×ÒÕÞÅÎÙ ÉÎÄÉ×ÉÄÕÁÌØÎÙ ÐÏÌØÚÏ×ÁÔÅÌÑÍ" -#: catalog/aclchk.c:165 -msgid "cannot revoke grant options from owner" -msgstr "ÎÅÌÚÑ ÏÔÏÂÒÁÔØ GRANT-ÏÐÃÉÉ ÏÔ ×ÌÁÄÅÌØÃÁ" - -#: catalog/aclchk.c:236 +#: catalog/aclchk.c:246 #, c-format msgid "invalid privilege type %s for table" msgstr "ÎÅ×ÅÒÎÙÊ ÔÉÐ ÐÒÉ×ÉÌÅÇÉÊ ÄÌÑ ÔÁÂÌÉÃÙ: %s" -#: catalog/aclchk.c:343 +#: catalog/aclchk.c:334 +#: catalog/aclchk.c:492 +#: catalog/aclchk.c:646 +#: catalog/aclchk.c:809 +#: catalog/aclchk.c:962 +#: catalog/aclchk.c:1121 +msgid "no privileges were granted" +msgstr "" + +#: catalog/aclchk.c:338 +#: catalog/aclchk.c:496 +#: catalog/aclchk.c:650 +#: catalog/aclchk.c:813 +#: catalog/aclchk.c:966 +#: catalog/aclchk.c:1125 +msgid "not all privileges were granted" +msgstr "" + +#: catalog/aclchk.c:345 +#: catalog/aclchk.c:503 +#: catalog/aclchk.c:657 +#: catalog/aclchk.c:820 +#: catalog/aclchk.c:973 +#: catalog/aclchk.c:1132 +msgid "no privileges could be revoked" +msgstr "" + +#: catalog/aclchk.c:349 +#: catalog/aclchk.c:507 +#: catalog/aclchk.c:661 +#: catalog/aclchk.c:824 +#: catalog/aclchk.c:977 +#: catalog/aclchk.c:1136 +msgid "not all privileges could be revoked" +msgstr "" + +#: catalog/aclchk.c:414 #, c-format msgid "invalid privilege type %s for database" msgstr "ÎÅ×ÅÒÎÙÊ ÔÉÐ ÐÒÉ×ÉÌÅÇÉÊ ÄÌÑ ÂÁÚÙ: %s" -#: catalog/aclchk.c:377 -#: commands/comment.c:440 -#: commands/dbcommands.c:502 -#: commands/dbcommands.c:623 -#: commands/dbcommands.c:712 -#: utils/adt/acl.c:1312 -#: utils/init/postinit.c:261 -#: utils/init/postinit.c:273 +#: catalog/aclchk.c:451 +#: commands/comment.c:458 +#: commands/dbcommands.c:550 +#: commands/dbcommands.c:679 +#: commands/dbcommands.c:779 +#: commands/dbcommands.c:866 +#: utils/adt/acl.c:1661 +#: utils/init/postinit.c:271 +#: utils/init/postinit.c:283 #, c-format msgid "database \"%s\" does not exist" msgstr "ÂÁÚÁ ÄÁÎÎÙÈ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/aclchk.c:447 +#: catalog/aclchk.c:572 #, c-format msgid "invalid privilege type %s for function" msgstr "ÎÅ×ÅÒÎÙÊ ÔÉÐ ÐÒÉ×ÉÌÅÇÉÊ ÄÌÑ ÆÕÎËÃÉÉ: %s" -#: catalog/aclchk.c:548 +#: catalog/aclchk.c:726 #, c-format msgid "invalid privilege type %s for language" msgstr "ÎÅ×ÅÒÎÙÊ ÔÉÐ ÐÒÉ×ÉÌÅÇÉÊ ÄÌÑ ÑÚÙËÁ: %s" -#: catalog/aclchk.c:578 -#: commands/functioncmds.c:441 +#: catalog/aclchk.c:758 +#: commands/comment.c:1001 +#: commands/functioncmds.c:451 #: commands/proclang.c:202 #: commands/proclang.c:257 -#: utils/adt/acl.c:1730 +#: utils/adt/acl.c:2079 #, c-format msgid "language \"%s\" does not exist" msgstr "ÑÚÙË \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" # TO REVIEW -#: catalog/aclchk.c:598 +#: catalog/aclchk.c:764 #, c-format msgid "language \"%s\" is not trusted" msgstr "ÑÚÙË \"%s\" ÎÅÄÏ×ÅÒÑÍÙÊ" -#: catalog/aclchk.c:657 +#: catalog/aclchk.c:765 +msgid "Only superusers may use untrusted languages." +msgstr "" + +#: catalog/aclchk.c:889 #, c-format msgid "invalid privilege type %s for schema" msgstr "ÎÅ×ÅÒÎÙÊ ÔÉÐ ÐÒÉ×ÉÌÅÇÉÊ ÄÌÑ ÓÈÅÍÙ: %s" -#: catalog/aclchk.c:687 -#: catalog/namespace.c:245 -#: catalog/namespace.c:1200 -#: catalog/namespace.c:1238 -#: catalog/namespace.c:1800 -#: commands/comment.c:490 +#: catalog/aclchk.c:921 +#: catalog/namespace.c:255 +#: catalog/namespace.c:1229 +#: catalog/namespace.c:1267 +#: catalog/namespace.c:1866 +#: commands/comment.c:509 #: commands/schemacmds.c:181 -#: commands/schemacmds.c:247 -#: utils/adt/acl.c:1934 +#: commands/schemacmds.c:243 +#: commands/schemacmds.c:298 +#: utils/adt/acl.c:2283 #, c-format msgid "schema \"%s\" does not exist" msgstr "ÓÈÅÍÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/aclchk.c:792 -#: commands/user.c:1454 -#: commands/user.c:1691 -#: commands/user.c:1726 -#: libpq/pqcomm.c:498 +#: catalog/aclchk.c:1043 #, c-format -msgid "group \"%s\" does not exist" -msgstr "ÇÒÕÐÐÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" +msgid "invalid privilege type %s for tablespace" +msgstr "ÎÅ×ÅÒÎÙÊ ÔÉÐ ÐÒÉ×ÉÌÅÇÉÊ ÄÌÑ tablespace: %s" -#: catalog/aclchk.c:864 +#: catalog/aclchk.c:1080 +#: commands/dbcommands.c:277 +#: commands/indexcmds.c:171 +#: commands/tablecmds.c:324 +#: commands/tablecmds.c:5435 +#: commands/tablespace.c:425 +#: commands/tablespace.c:750 +#: commands/tablespace.c:817 +#: commands/tablespace.c:896 +#: utils/adt/acl.c:2489 +#, c-format +msgid "tablespace \"%s\" does not exist" +msgstr "tablespace \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" + +#: catalog/aclchk.c:1229 +#: commands/user.c:1535 +#: commands/user.c:1772 +#: commands/user.c:1807 +#: libpq/pqcomm.c:501 #, c-format -msgid "group with ID %u does not exist" -msgstr "ÇÒÕÐÐÁ Ó ID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" +msgid "group \"%s\" does not exist" +msgstr "ÇÒÕÐÐÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/aclchk.c:933 +#: catalog/aclchk.c:1264 #, c-format msgid "permission denied for relation %s" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÄÌÑ Ó×ÑÚÉ %s" -#: catalog/aclchk.c:935 +#: catalog/aclchk.c:1266 #, c-format msgid "permission denied for database %s" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÄÌÑ ÂÁÚÙ %s" -#: catalog/aclchk.c:937 +#: catalog/aclchk.c:1268 #, c-format msgid "permission denied for function %s" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÄÌÑ ÆÕÎËÃÉÉ %s" -#: catalog/aclchk.c:939 +#: catalog/aclchk.c:1270 #, c-format msgid "permission denied for operator %s" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÄÌÑ ÏÐÅÒÁÔÏÒÁ %s" -#: catalog/aclchk.c:941 +#: catalog/aclchk.c:1272 #, c-format msgid "permission denied for type %s" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÄÌÑ ÔÉÐÁ %s" -#: catalog/aclchk.c:943 +#: catalog/aclchk.c:1274 #, c-format msgid "permission denied for language %s" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÄÌÑ ÑÚÙËÁ %s" -#: catalog/aclchk.c:945 +#: catalog/aclchk.c:1276 #, c-format msgid "permission denied for schema %s" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÄÌÑ ÓÈÅÍÙ %s" -#: catalog/aclchk.c:947 +#: catalog/aclchk.c:1278 #, c-format msgid "permission denied for operator class %s" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÄÌÑ ËÌÁÓÓÁ ÏÐÅÒÁÔÏÒÏ× %s" -#: catalog/aclchk.c:949 +#: catalog/aclchk.c:1280 #, c-format msgid "permission denied for conversion %s" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÄÌÑ ËÏÎ×ÅÒÓÉÉ %s" -#: catalog/aclchk.c:955 +#: catalog/aclchk.c:1282 +#, c-format +msgid "permission denied for tablespace %s" +msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÄÌÑ tablespace %s" + +#: catalog/aclchk.c:1288 #, c-format msgid "must be owner of relation %s" msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ Ó×ÑÚÉ %s" -#: catalog/aclchk.c:957 +#: catalog/aclchk.c:1290 #, c-format msgid "must be owner of database %s" msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ÂÁÚÙ %s" -#: catalog/aclchk.c:959 +#: catalog/aclchk.c:1292 #, c-format msgid "must be owner of function %s" msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ÆÕÎËÃÉÉ %s" -#: catalog/aclchk.c:961 +#: catalog/aclchk.c:1294 #, c-format msgid "must be owner of operator %s" msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ÏÐÅÒÁÔÏÒÁ %s" -#: catalog/aclchk.c:963 +#: catalog/aclchk.c:1296 #, c-format msgid "must be owner of type %s" msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ÔÉÐÁ %s" -#: catalog/aclchk.c:965 +#: catalog/aclchk.c:1298 #, c-format msgid "must be owner of language %s" msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ÑÚÙËÁ %s" -#: catalog/aclchk.c:967 +#: catalog/aclchk.c:1300 #, c-format msgid "must be owner of schema %s" msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ÓÈÅÍÙ %s" -#: catalog/aclchk.c:969 +#: catalog/aclchk.c:1302 #, c-format msgid "must be owner of operator class %s" msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ËÌÁÓÓÁ ÏÐÅÒÁÔÏÒÏ× %s" -#: catalog/aclchk.c:971 +#: catalog/aclchk.c:1304 #, c-format msgid "must be owner of conversion %s" msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ËÏÎ×ÅÒÓÉÉ %s" -#: catalog/aclchk.c:1030 +#: catalog/aclchk.c:1306 +#, c-format +msgid "must be owner of tablespace %s" +msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ tablespace %s" + +#: catalog/aclchk.c:1369 #, c-format msgid "user with ID %u does not exist" msgstr "ÐÏÌØÚÏ×ÁÔÅÌØ Ó ID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/aclchk.c:1047 -#: catalog/aclchk.c:1369 +#: catalog/aclchk.c:1386 +#: catalog/aclchk.c:1889 #, c-format msgid "relation with OID %u does not exist" -msgstr "Ó×ÑÚØ Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" +msgstr "ÏÔÎÏÛÅÎÉÅ Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/aclchk.c:1147 -#: catalog/aclchk.c:1548 +#: catalog/aclchk.c:1490 +#: catalog/aclchk.c:2107 #, c-format msgid "database with OID %u does not exist" msgstr "ÂÁÚÁ ÄÁÎÎÙÈ Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/aclchk.c:1204 -#: catalog/aclchk.c:1453 -#: tcop/fastpath.c:231 +#: catalog/aclchk.c:1548 +#: catalog/aclchk.c:1973 +#: tcop/fastpath.c:230 #, c-format msgid "function with OID %u does not exist" msgstr "ÆÕÎËÃÉÑ Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/aclchk.c:1259 +#: catalog/aclchk.c:1604 #, c-format msgid "language with OID %u does not exist" msgstr "ÑÚÙË Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/aclchk.c:1319 -#: catalog/aclchk.c:1481 +#: catalog/aclchk.c:1689 +#: catalog/aclchk.c:2001 #, c-format msgid "schema with OID %u does not exist" msgstr "ÓÈÅÍÁ Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/aclchk.c:1397 +#: catalog/aclchk.c:1761 +#: catalog/aclchk.c:2039 +#, c-format +msgid "tablespace with OID %u does not exist" +msgstr "tablespace Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" + +#: catalog/aclchk.c:1917 #, c-format msgid "type with OID %u does not exist" msgstr "ÔÉÐ Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/aclchk.c:1425 +#: catalog/aclchk.c:1945 #, c-format msgid "operator with OID %u does not exist" msgstr "ÏÐÅÒÁÔÒÏ Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/aclchk.c:1509 +#: catalog/aclchk.c:2068 #, c-format msgid "operator class with OID %u does not exist" msgstr "ËÌÁÓÓ ÏÐÅÒÁÔÏÒÏ× Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" +#: catalog/aclchk.c:2136 +#, c-format +msgid "conversion with OID %u does not exist" +msgstr "ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ Ó OID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" + #: catalog/pg_aggregate.c:80 msgid "cannot determine transition data type" msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÐÒÅÄÅÌÉÔØ ÐÅÒÅÈÏÄÎÙÊ ÔÉÐ" @@ -1069,8 +1648,8 @@ msgid "must not omit initial value when transition function is strict and transi msgstr "ÎÅÌØÚÑ ÏÐÕÓËÁÔØ ÎÁÞÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ ËÏÇÄÁ ÐÅÒÅÈÏÄÎÁÑ ÆÕÎËÃÉÑ strict É ÐÅÒÅÈÏÄÎÙÊ ÔÉÐ ÎÅ ÓÏ×ÍÅÓÔÉÍ Ó ×ÈÏÄÎÙÍ ÔÉÐÏÍ" #: catalog/pg_aggregate.c:165 -#: catalog/pg_proc.c:116 -#: catalog/pg_proc.c:539 +#: catalog/pg_proc.c:124 +#: executor/functions.c:1082 msgid "cannot determine result data type" msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÐÒÅÄÅÌÉÔØ ÔÉÐ ÒÅÚÕÌØÔÁÔÁ" @@ -1078,211 +1657,212 @@ msgstr " msgid "An aggregate returning \"anyarray\" or \"anyelement\" must have one of them as its base type." msgstr "áÇÒÅÇÁÔ, ×ÏÚ×ÒÁÝÁÀÝÉÊ \"anyarray\" ÉÌÉ \"anyelement\" ÄÏÌÖÅÎ ÉÍÅÔØ ÏÄÉÎ ÉÚ ÎÉÈ ËÁË Ó×ÏÊ ÂÁÚÏ×ÙÊ ÔÉÐ." -#: catalog/pg_aggregate.c:280 -#: commands/typecmds.c:896 -#: commands/typecmds.c:966 -#: commands/typecmds.c:998 -#: commands/typecmds.c:1030 -#: parser/parse_func.c:319 -#: parser/parse_func.c:1491 +#: catalog/pg_aggregate.c:281 +#: commands/typecmds.c:919 +#: commands/typecmds.c:989 +#: commands/typecmds.c:1021 +#: commands/typecmds.c:1053 +#: commands/typecmds.c:1077 +#: parser/parse_func.c:203 +#: parser/parse_func.c:1364 #, c-format msgid "function %s does not exist" msgstr "ÆÕÎËÃÉÑ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/pg_aggregate.c:285 +#: catalog/pg_aggregate.c:286 #, c-format msgid "function %s returns a set" msgstr "ÆÕÎËÃÉÑ %s ×ÏÚ×ÒÁÝÁÅÔ ÍÎÏÖÅÓÔ×Ï" -#: catalog/pg_aggregate.c:316 -#: catalog/pg_aggregate.c:325 +#: catalog/pg_aggregate.c:317 +#: catalog/pg_aggregate.c:326 #, c-format msgid "function %s requires run-time type coercion" msgstr "" -#: catalog/heap.c:227 +#: catalog/heap.c:221 #, c-format msgid "permission denied to create \"%s.%s\"" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÐÏ ÓÏÚÄÁÎÉÀ \"%s.%s\"" -#: catalog/heap.c:229 +#: catalog/heap.c:223 msgid "System catalog modifications are currently disallowed." msgstr "éÚÍÅÎÅÎÉÑ ÓÉÓÔÅÍÎÏÇÏ ËÁÔÁÌÏÇÁ × ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÎÅ ÄÏÚ×ÏÌÅÎÙ." -#: catalog/heap.c:356 -#: commands/tablecmds.c:505 -#: commands/tablecmds.c:824 -#: commands/tablecmds.c:1798 +#: catalog/heap.c:382 +#: commands/tablecmds.c:697 +#: commands/tablecmds.c:1007 +#: commands/tablecmds.c:2927 #, c-format msgid "tables can have at most %d columns" msgstr "ÍÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ËÏÌÏÎÏË ÎÁ ÔÁÂÌÉÃÕ: %d" -#: catalog/heap.c:373 +#: catalog/heap.c:399 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "ÉÍÑ ËÏÌÏÎËÉ \"%s\" ËÏÎÆÌÉËÔÕÅÔ Ó ÓÉÓÔÅÍÎÏÊ ËÏÌÏÎËÏÊ" -#: catalog/heap.c:389 +#: catalog/heap.c:415 #, c-format msgid "column name \"%s\" is duplicated" msgstr "ÐÏ×ÔÏÒÎÏÅ ÉÍÑ ËÏÌÏÎËÉ: \"%s\"" -#: catalog/heap.c:429 +#: catalog/heap.c:452 #, c-format msgid "column \"%s\" has type \"unknown\"" msgstr "ÔÉÐ ËÏÌÏÎËÉ \"%s\" -- \"unknown\"" -#: catalog/heap.c:430 +#: catalog/heap.c:453 msgid "Proceeding with relation creation anyway." msgstr "ðÒÏÄÏÌÖÁÅÍ Ó ÓÏÚÄÁÎÉÅÍ ÏÔÎÏÛÅÎÉÑ × ÌÀÂÏÍ ÓÌÕÞÁÅ." -#: catalog/heap.c:437 +#: catalog/heap.c:460 #, c-format msgid "column \"%s\" has pseudo-type %s" msgstr "ËÏÌÏÎËÁ \"%s\" ÉÍÅÅÔ ÐÓÅ×ÄÏ-ÔÉÐ %s" -#: catalog/heap.c:447 -#, c-format -msgid "column \"%s\" has composite type %s" -msgstr "ËÏÌÏÎËÁ \"%s\" ÉÍÅÅÔ ÓÌÏÖÎÙÊ ÔÉÐ %s" - -#: catalog/heap.c:734 -#: catalog/index.c:522 -#: commands/tablecmds.c:1319 +#: catalog/heap.c:732 +#: catalog/index.c:514 +#: commands/tablecmds.c:1501 #, c-format msgid "relation \"%s\" already exists" msgstr "ÏÂßÅËÔ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/heap.c:1556 -#: commands/tablecmds.c:2839 -#: commands/tablecmds.c:2881 -#, c-format -msgid "constraint \"%s\" for relation \"%s\" already exists" -msgstr "ËÏÎÓÔÒÅÊÎÔ \"%s\" ÄÌÑ Ó×ÑÚÉ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" - -#: catalog/heap.c:1572 -#, c-format -msgid "check constraint \"%s\" already exists" -msgstr "CHECK-ÏÇÒÁÎÉÞÅÎÉÅ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" - -#: catalog/heap.c:1634 +#: catalog/heap.c:1584 #, c-format msgid "only table \"%s\" can be referenced in check constraint" msgstr "ÔÏÌØËÏ ÎÁ ÔÁÂÌÉÃÕ \"%s\" ÍÏÖÎÏ ÓÓÙÌÁÔØÓÑ × CHECK-ÏÇÒÁÎÉÞÅÎÉÉ" -#: catalog/heap.c:1643 -#: commands/tablecmds.c:2968 -#: commands/typecmds.c:1811 +#: catalog/heap.c:1593 +#: commands/typecmds.c:1872 msgid "cannot use subquery in check constraint" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÏÄÚÁÐÒÏÓ × CHECK-ÏÇÒÁÎÉÞÅÎÉÉ" -#: catalog/heap.c:1647 -#: commands/tablecmds.c:2972 +#: catalog/heap.c:1597 msgid "cannot use aggregate function in check constraint" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÁÇÒÅÇÁÔÎÕÀ ÆÕÎËÃÉÀ × CHECK-ÏÇÒÁÎÉÞÅÎÉÉ" -#: catalog/heap.c:1754 +#: catalog/heap.c:1614 +#: commands/tablecmds.c:3722 +#, c-format +msgid "constraint \"%s\" for relation \"%s\" already exists" +msgstr "ËÏÎÓÔÒÅÊÎÔ \"%s\" ÄÌÑ Ó×ÑÚÉ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" + +#: catalog/heap.c:1623 +#, c-format +msgid "check constraint \"%s\" already exists" +msgstr "CHECK-ÏÇÒÁÎÉÞÅÎÉÅ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" + +#: catalog/heap.c:1772 msgid "cannot use column references in default expression" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÓÙÌËÉ ÎÁ ËÏÌÏÎËÉ × ×ÙÒÁÖÅÎÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ" -#: catalog/heap.c:1762 +#: catalog/heap.c:1780 msgid "default expression must not return a set" msgstr "×ÙÒÁÖÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ ÎÅ ÍÏÖÅÔ ×ÏÚ×ÒÁÝÁÔØ ÍÎÏÖÅÓÔ×Ï" -#: catalog/heap.c:1770 +#: catalog/heap.c:1788 msgid "cannot use subquery in default expression" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÏÄÚÁÐÒÏÓ × ×ÙÒÁÖÅÎÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ" -#: catalog/heap.c:1774 +#: catalog/heap.c:1792 msgid "cannot use aggregate function in default expression" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÁÇÒÅÇÁÔÎÕÀ ÆÕÎËÃÉÀ × ×ÙÒÁÖÅÎÉÉ ÐÏ ÕÍÏÌÞÁÎÉÀ" -#: catalog/heap.c:1792 -#: rewrite/rewriteHandler.c:558 +#: catalog/heap.c:1810 +#: rewrite/rewriteHandler.c:647 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "ËÏÌÏÎËÁ \"%s\" ÉÍÅÅÔ ÔÉÐ %s ÎÏ ÔÉÐ ×ÙÒÁÖÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ %s" -#: catalog/heap.c:1797 -#: parser/analyze.c:2802 -#: parser/parse_node.c:232 -#: parser/parse_target.c:425 -#: rewrite/rewriteHandler.c:563 +#: catalog/heap.c:1815 +#: parser/analyze.c:2701 +#: parser/parse_node.c:247 +#: parser/parse_target.c:367 +#: parser/parse_target.c:577 +#: parser/parse_target.c:586 +#: rewrite/rewriteHandler.c:652 msgid "You will need to rewrite or cast the expression." msgstr "÷ÁÍ ÐÒÉÄ£ÔØÓÑ ÐÅÒÅÐÉÓÁÔØ ÉÌÉ ×ÙÐÏÌÎÉÔØ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ ×ÙÒÁÖÅÎÉÑ." -#: catalog/heap.c:2059 +#: catalog/heap.c:2076 msgid "cannot truncate a table referenced in a foreign key constraint" msgstr "" -#: catalog/heap.c:2060 +#: catalog/heap.c:2077 #, c-format msgid "Table \"%s\" references \"%s\" via foreign key constraint \"%s\"." -msgstr "ôÁÂÌÉÃÁ \"%s\" ÓÓÙÌÁÅÔÓÑ ÎÁ \"%s\" ÞÅÒÅÚ ×ÔÏÒÉÞÎÙÊ ËÌÀÞ \"%s\"." +msgstr "ôÁÂÌÉÃÁ \"%s\" ÓÓÙÌÁÅÔÓÑ ÎÁ \"%s\" ÞÅÒÅÚ ×ÎÅÛÎÉÊ ËÌÀÞ \"%s\"." -#: catalog/index.c:505 +#: catalog/index.c:495 msgid "user-defined indexes on system catalog tables are not supported" msgstr "ÐÏÌØÚÏ×ÁÔÅÌØÓËÉÅ ÉÎÄÅËÓÙ ÎÁ ÔÁÂÌÉÃÙ ÓÉÓÔÅÍÎÏÇÏ ËÁÔÁÌÏÇÁ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ" -#: catalog/index.c:517 +#: catalog/index.c:509 msgid "shared indexes cannot be created after initdb" msgstr "ÎÅÌØÚÑ ÓÏÚÄÁÔØ ÏÂÝÉÅ ÉÎÄÅËÓÙ ÐÏÓÌÅ initdb" -#: catalog/index.c:1659 +#: catalog/index.c:1634 #, c-format msgid "shared index \"%s\" can only be reindexed in stand-alone mode" msgstr "ÏÂÝÉÊ ÉÎÄÅËÓ \"%s\" ÍÏÖÎÏ ÔÏÌØËÏ ÐÅÒÅÉÎÄÅËÓÉÒÏ×ÁÔØ × ÏÄÉÎÏÞÎÏÍ ÒÅÖÉÍÅ" -#: catalog/namespace.c:167 -#: catalog/namespace.c:220 -#: catalog/namespace.c:1167 -#: parser/parse_expr.c:1118 -#: parser/parse_target.c:162 -msgid "cross-database references are not implemented" -msgstr "ÓÓÙÌËÉ ÍÅÖÄÕ ÂÁÚÁÍÉ ÎÅ ÒÅÁÌÉÚÏ×ÁÎÙ" +#: catalog/namespace.c:173 +#: catalog/namespace.c:228 +#, c-format +msgid "cross-database references are not implemented: \"%s.%s.%s\"" +msgstr "ÓÓÙÌËÉ ÍÅÖÄÕ ÂÁÚÁÍÉ ÎÅ ÒÅÁÌÉÚÏ×ÁÎÙ: \"%s.%s.%s\"" -#: catalog/namespace.c:187 +#: catalog/namespace.c:195 #, c-format msgid "relation \"%s.%s\" does not exist" -msgstr "Ó×ÑÚØ \"%s.%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" +msgstr "ÏÔÎÏÛÅÎÉÅ \"%s.%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/namespace.c:192 +#: catalog/namespace.c:200 #: utils/adt/regproc.c:837 #, c-format msgid "relation \"%s\" does not exist" -msgstr "Ó×ÑÚØ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" +msgstr "ÏÔÎÏÛÅÎÉÅ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/namespace.c:229 +#: catalog/namespace.c:239 msgid "temporary tables may not specify a schema name" msgstr "×ÒÅÍÅÎÎÙÅ ÔÁÂÌÉÃÙ ÎÅ ÍÏÇÕÔ ÕËÁÚÙ×ÁÔØ ÉÍÑ ÓÈÅÍÙ" -#: catalog/namespace.c:257 -#: catalog/namespace.c:1249 +#: catalog/namespace.c:267 +#: catalog/namespace.c:1278 msgid "no schema has been selected to create in" msgstr "ÎÅ ×ÙÂÒÁÎÁ ÓÈÅÍÁ ÄÌÑ ÓÏÚÄÁÎÉÑ ÏÂßÅËÔÏ×" -#: catalog/namespace.c:1172 -#: gram.y:2340 -#: gram.y:7082 -#: parser/parse_expr.c:1150 -#: parser/parse_target.c:170 +#: catalog/namespace.c:1195 +#: parser/parse_expr.c:1171 +#: parser/parse_target.c:732 +#, c-format +msgid "cross-database references are not implemented: %s" +msgstr "ÓÓÙÌËÉ ÍÅÖÄÕ ÂÁÚÁÍÉ ÎÅ ÒÅÁÌÉÚÏ×ÁÎÙ: %s" + +#: catalog/namespace.c:1201 +#: parser/parse_expr.c:1197 +#: parser/parse_target.c:741 +#: gram.y:2515 +#: gram.y:7425 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "" -#: catalog/namespace.c:1284 +#: catalog/namespace.c:1313 #, c-format msgid "improper relation name (too many dotted names): %s" msgstr "" -#: catalog/namespace.c:1628 +#: catalog/namespace.c:1659 #, c-format msgid "permission denied to create temporary tables in database \"%s\"" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÐÏ ÓÏÚÄÁÎÉÀ ×ÒÅÍÅÎÎÙÈ ÔÁÂÌÉÃ × ÂÁÚÅ \"%s\"" #: catalog/pg_largeobject.c:107 -#: storage/large_object/inv_api.c:128 -#: storage/large_object/inv_api.c:248 +#: commands/comment.c:1151 +#: storage/large_object/inv_api.c:197 +#: storage/large_object/inv_api.c:312 #, c-format msgid "large object %u does not exist" msgstr "ÂÏÌØÛÏÊ ÏÂßÅËÔ %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" @@ -1297,15 +1877,17 @@ msgstr " msgid "default conversion for %s to %s already exists" msgstr "ËÏÎ×ÅÒÓÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ %s × %s ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/pg_conversion.c:308 +#: catalog/pg_conversion.c:307 +#: commands/comment.c:958 #: commands/conversioncmds.c:109 #: commands/conversioncmds.c:133 +#: commands/conversioncmds.c:192 #, c-format msgid "conversion \"%s\" does not exist" msgstr "ËÏÎ×ÅÒÓÉÑ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" #: catalog/pg_namespace.c:51 -#: commands/schemacmds.c:256 +#: commands/schemacmds.c:252 #, c-format msgid "schema \"%s\" already exists" msgstr "ÓÈÅÍÁ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" @@ -1345,138 +1927,101 @@ msgstr " msgid "operator cannot be its own negator or sort operator" msgstr "ÏÐÅÒÁÔÏÒ ÎÅ ÍÏÖÅÔ ÂÙÔØ Ó×ÏÉÍ ÓÏÂÓÔ×ÅÎÎÙÍ ÎÅÇÁÔÏÒÏÍ ÉÌÉ ÏÐÅÒÁÔÏÒÏÍ ÓÏÒÔÉÒÏ×ËÉ" -#: catalog/pg_proc.c:92 -#: commands/functioncmds.c:150 -#: parser/parse_func.c:1514 +#: catalog/pg_proc.c:100 +#: commands/functioncmds.c:154 +#: parser/parse_func.c:1388 #, c-format msgid "functions cannot have more than %d arguments" msgstr "ÆÕÎËÃÉÉ ÎÅ ÍÏÇÕÔ ÉÍÅÔØ ÞÉÓÌÏ ÁÒÇÕÍÅÎÔÏ× ÂÏÌÅÅ %d" -#: catalog/pg_proc.c:117 -#: catalog/pg_proc.c:540 +#: catalog/pg_proc.c:125 +#: executor/functions.c:1083 msgid "A function returning \"anyarray\" or \"anyelement\" must have at least one argument of either type." msgstr "æÕÎËÃÉÑ ×ÏÚ×ÒÁÝÁÀÝÁÑ \"anyarray\" ÉÌÉ \"anyelement\" ÄÏÌÖÎÁ ÉÍÅÔØ ËÁË ÍÉÎÉÍÕÍ ÏÄÉÎ ÁÒÇÕÍÅÎÔ ÏÄÎÏÇÏ ÉÚ ÎÉÈ." -#: catalog/pg_proc.c:172 +#: catalog/pg_proc.c:145 #, c-format msgid "\"%s\" is already an attribute of type %s" msgstr "\"%s\" ÕÖÅ Ñ×ÌÑÅÔÓÑ ÁÔÒÉÂÕÔÏÍ ÔÉÐÁ %s" -#: catalog/pg_proc.c:224 +#: catalog/pg_proc.c:200 #, c-format msgid "function \"%s\" already exists with same argument types" msgstr "ÆÕÎËÃÉÑ \"%s\" Ó ÔÁËÉÍ ÎÁÂÏÒÏÍ ÁÒÇÕÍÅÎÔÏ× ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/pg_proc.c:238 +#: catalog/pg_proc.c:214 msgid "cannot change return type of existing function" msgstr "ÎÅÌØÚÑ ÐÏÍÅÎÑÔØ ÔÉÐ ×ÏÚ×ÒÁÝÁÅÍÏÇÏ ÚÎÁÞÅÎÉÑ ÄÌÑ ÓÕÝÅÓÔ×ÕÀÝÅÊ ÆÕÎÃÉÉ" -#: catalog/pg_proc.c:239 +#: catalog/pg_proc.c:215 msgid "Use DROP FUNCTION first." msgstr "óÎÁÞÁÌÁ ÉÓÐÏÌØÚÕÊÔÅ DROP FUNCTION." -#: catalog/pg_proc.c:247 +#: catalog/pg_proc.c:223 #, c-format msgid "function \"%s\" is an aggregate" msgstr "ÆÕÎËÃÉÑ \"%s\" Ñ×ÌÑÅÔÓÑ ÁÇÒÅÇÁÔÏÍ" -#: catalog/pg_proc.c:252 +#: catalog/pg_proc.c:228 #, c-format msgid "function \"%s\" is not an aggregate" msgstr "ÆÕÎËÃÉÑ \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÁÇÒÅÇÁÔÏÍ" -#: catalog/pg_proc.c:371 -#: catalog/pg_proc.c:392 -#: catalog/pg_proc.c:402 -#: catalog/pg_proc.c:426 -#: catalog/pg_proc.c:434 -#: catalog/pg_proc.c:486 -#: catalog/pg_proc.c:498 -#: catalog/pg_proc.c:518 -#, c-format -msgid "return type mismatch in function declared to return %s" -msgstr "ÎÅÓÏ×ÐÁÄÅÎÉÅ ÔÉÐÁ ×ÏÚ×ÒÁÔÁ × ÆÕÎËÃÉÉ ÚÁÄÅËÌÁÒÉÒÏ×ÁÎÏÊ ËÁË ×ÏÚ×ÒÁÝÁÀÝÅÊ %s" - -#: catalog/pg_proc.c:373 -#: catalog/pg_proc.c:404 -msgid "Function's final statement must be a SELECT." -msgstr "ðÏÓÌÅÄÎÅÊ ËÏÍÁÎÄÏÊ ÆÕÎËÃÉÉ ÄÏÌÖÅÎ ÂÙÔØ SELECT." - -#: catalog/pg_proc.c:394 -msgid "Function's final statement must not be a SELECT." -msgstr "ðÏÓÌÅÄÎÅÊ ËÏÍÁÎÄÏÊ ÆÕÎËÃÉÉ ÄÏÌÖÅÎ ÂÙÔØ ÎÅ SELECT." - -#: catalog/pg_proc.c:428 -msgid "Final SELECT must return exactly one column." -msgstr "ðÏÓÌÅÄÎÉÊ SELECT ÄÏÌÖÅÎ ×ÏÚ×ÒÁÝÁÔØ ÔÏÌØËÏ ÏÄÎÕ ËÏÌÏÎËÕ." - -#: catalog/pg_proc.c:436 -#, c-format -msgid "Actual return type is %s." -msgstr "îÁ ÓÁÍÏÍ ÄÅÌÅ ÔÉÐ ×ÏÚ×ÒÁÔÁ: %s." - -#: catalog/pg_proc.c:488 -msgid "Final SELECT returns too many columns." -msgstr "ðÏÓÌÅÄÎÉÊ SELECT ×ÏÚ×ÒÁÝÁÅÔ ÓÌÉÛËÏÍ ÍÎÏÇÏ ËÏÌÏÎÏË." - -#: catalog/pg_proc.c:500 -#, c-format -msgid "Final SELECT returns %s instead of %s at column %d." -msgstr "ðÏÓÌÅÄÎÉÊ SELECT ×ÏÚ×ÒÁÝÁÅÔ %s ×ÍÅÓÔÏ %s ÄÌÑ ËÏÌÏÎËÉ %d." - -#: catalog/pg_proc.c:520 -msgid "Final SELECT returns too few columns." -msgstr "ðÏÓÌÅÄÎÉÊ SELECT ×ÏÚ×ÒÁÝÁÅÔ ÓÌÉÛËÏÍ ÍÁÌÏ ËÏÌÏÎÏË." - -#: catalog/pg_proc.c:545 -#, c-format -msgid "return type %s is not supported for SQL functions" -msgstr "ÔÉÐ ×ÏÚ×ÒÁÔÁ %s ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÄÌÑ SQL-ÆÕÎËÃÉÊ" - -#: catalog/pg_proc.c:587 +#: catalog/pg_proc.c:387 #, c-format msgid "there is no built-in function named \"%s\"" msgstr "×ÓÔÒÏÅÎÎÏÊ ÆÕÎËÃÉÉ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/pg_proc.c:685 +#: catalog/pg_proc.c:487 #, c-format msgid "SQL functions cannot return type %s" msgstr "SQL-ÆÕÎËÃÉÉ ÎÅ ÍÏÇÕÔ ×ÏÚ×ÒÁÝÁÔØ ÔÉÐ %s" -#: catalog/pg_proc.c:701 +#: catalog/pg_proc.c:503 #, c-format msgid "SQL functions cannot have arguments of type %s" msgstr "SQL-ÆÕÎËÃÉÉ ÎÅ ÍÏÇÕÔ ÉÍÅÔØ ÁÒÇÕÍÅÎÔÙ ÔÉÐÁ %s" -#: catalog/pg_type.c:195 -#: catalog/pg_type.c:201 +#: catalog/pg_proc.c:574 +#: executor/functions.c:803 +#, c-format +msgid "SQL function \"%s\"" +msgstr "SQL-ÆÕÎËÃÉÑ \"%s\"" + +#: catalog/pg_type.c:198 #, c-format msgid "invalid type internal size %d" msgstr "ÎÅ×ÅÒÎÙÊ ×ÎÕÔÒÅÎÎÉÊ ÒÁÚÍÅÒ ÔÉÐÁ: %d" -#: catalog/pg_type.c:208 +#: catalog/pg_type.c:204 +#, c-format +msgid "internal size %d is invalid for passed-by-value type" +msgstr "" + +#: catalog/pg_type.c:211 msgid "fixed-size types must have storage PLAIN" msgstr "ÔÉÐÙ ÆÉËÓÉÒÏ×ÁÎÎÏÇÏ ÒÁÚÍÅÒÁ ÏÂÑÚÁÎÙ ÉÍÅÔØ ÈÒÁÎÅÎÉÅ PLAIN" -#: catalog/pg_type.c:289 -#: catalog/pg_type.c:511 +#: catalog/pg_type.c:293 +#: catalog/pg_type.c:525 #, c-format msgid "type \"%s\" already exists" msgstr "ÔÉÐ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: catalog/pg_type.c:503 -#: commands/functioncmds.c:109 -#: commands/typecmds.c:407 -#: commands/typecmds.c:786 -#: commands/typecmds.c:1113 -#: commands/typecmds.c:1233 -#: commands/typecmds.c:1349 -#: commands/typecmds.c:1436 -#: commands/typecmds.c:2017 -#: parser/parse_func.c:1526 +#: catalog/pg_type.c:517 +#: commands/functioncmds.c:110 +#: commands/tablecmds.c:4632 +#: commands/typecmds.c:423 +#: commands/typecmds.c:809 +#: commands/typecmds.c:1167 +#: commands/typecmds.c:1288 +#: commands/typecmds.c:1400 +#: commands/typecmds.c:1487 +#: commands/typecmds.c:2072 +#: parser/parse_func.c:1401 #: parser/parse_type.c:201 #: parser/parse_type.c:227 -#: tcop/utility.c:95 +#: tcop/utility.c:97 #: utils/adt/regproc.c:1003 #, c-format msgid "type \"%s\" does not exist" @@ -1504,77 +2049,89 @@ msgstr "sfunc msgid "aggregate transition data type cannot be %s" msgstr "ÐÅÒÅÈÏÄÎÙÊ ÔÉÐ ÁÇÒÅÇÁÔÁ ÎÅ ÍÏÖÅÔ ÂÙÔØ %s" -#: commands/aggregatecmds.c:259 +#: commands/aggregatecmds.c:258 #, c-format msgid "function %s(*) already exists in schema \"%s\"" msgstr "ÆÕÎËÃÉÑ %s(*) ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ × ÓÈÅÍÅ \"%s\"" -#: commands/aggregatecmds.c:265 -#: commands/functioncmds.c:688 +#: commands/aggregatecmds.c:264 +#: commands/functioncmds.c:699 #, c-format msgid "function %s already exists in schema \"%s\"" msgstr "ÆÕÎËÃÉÑ %s ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ × ÓÈÅÍÅ \"%s\"" -#: commands/analyze.c:200 +#: commands/aggregatecmds.c:335 +#: commands/conversioncmds.c:213 +#: commands/dbcommands.c:890 +#: commands/functioncmds.c:773 +#: commands/opclasscmds.c:954 +#: commands/operatorcmds.c:303 +#: commands/schemacmds.c:319 +#: commands/tablecmds.c:5228 +#: commands/tablespace.c:839 +#: commands/typecmds.c:2103 +msgid "must be superuser to change owner" +msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÉÚÍÅÎÅÎÉÑ ×ÌÁÄÅÌØÃÁ" + +#: commands/analyze.c:153 #, c-format msgid "skipping \"%s\" --- only table or database owner can analyze it" msgstr "ÐÒÏÐÕÓËÁÅÔÓÑ \"%s\" --- ÔÏÌØËÏ ×ÌÁÄÅÌÅà ÔÁÂÌÉÃÙ ÉÌÉ ÂÁÚÙ ÍÏÖÅÔ ÁÎÁÌÉÚÉÒÏ×ÁÔØ ÜÔÏÔ ÏÂßÅËÔ" -#: commands/analyze.c:215 +#: commands/analyze.c:168 #, c-format msgid "skipping \"%s\" --- cannot analyze indexes, views, or special system tables" -msgstr "ÐÒÏÐÕÓËÁÅÔÓÑ \"%s\" --- ÉÎÄÅËÓÙ, ×ÉÄÙ ÉÌÉ ÓÐÅÃÉÁÌØÎÙÅ ÓÉÓÔÅÍÎÙÅ ÔÁÂÌÉÃÙ ÎÅ ÁÎÁÌÉÚÉÒÕÀÔÓÑ ÄÌÑ ÓÂÏÒÁ ÓÔÁÔÉÓÔÉËÉ" +msgstr "ÐÒÏÐÕÓËÁÅÔÓÑ \"%s\" --- ÉÎÄÅËÓÙ, ÐÒÅÄÓÔÁ×ÌÅÎÉÑ ÉÌÉ ÓÐÅÃÉÁÌØÎÙÅ ÓÉÓÔÅÍÎÙÅ ÔÁÂÌÉÃÙ ÎÅ ÁÎÁÌÉÚÉÒÕÀÔÓÑ ÄÌÑ ÓÂÏÒÁ ÓÔÁÔÉÓÔÉËÉ" -#: commands/analyze.c:245 +#: commands/analyze.c:198 #, c-format msgid "analyzing \"%s.%s\"" msgstr "ÁÎÁÌÉÚÉÒÕÅÔÓÑ \"%s.%s\"" -#: commands/analyze.c:544 -#: commands/analyze.c:700 +#: commands/analyze.c:912 #, c-format -msgid "\"%s\": %u pages, %d rows sampled, %.0f estimated total rows" -msgstr "\"%s\": ÓÔÒÁÎÉÃ: %u, ÒÑÄÏ× ÚÁÍÅÒÅÎÏ: %d, ×ÓÅÇÏ ÒÑÄÏ× ÏÃÅÎÅÎÏ: %.0f" +msgid "\"%s\": scanned %d of %u pages, containing %.0f live rows and %.0f dead rows; %d rows in sample, %.0f estimated total rows" +msgstr "" -#: commands/cluster.c:150 +#: commands/cluster.c:133 #, c-format msgid "there is no previously clustered index for table \"%s\"" msgstr "ÎÅ ÉÍÅÅÔÓÑ ÐÒÅÄÙÄÕÝÅÇÏ ÐÅÒÅÇÒÕÐÐÉÒÏ×ÁÎÎÏÇÏ ÉÎÄÅËÓÁ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\"" -#: commands/cluster.c:164 -#: commands/tablecmds.c:3959 +#: commands/cluster.c:147 +#: commands/tablecmds.c:5377 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "ÉÎÄÅËÓ \"%s\" ÄÌÑ ÔÁÂÌÉÃÙ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/cluster.c:321 +#: commands/cluster.c:326 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÉÎÄÅËÓÏÍ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\"" -#: commands/cluster.c:334 +#: commands/cluster.c:339 msgid "cannot cluster on partial index" msgstr "ÎÅÌØÚÑ ÇÒÕÐÐÉÒÏ×ÁÔØ ÐÏ ÞÁÓÔÉÞÎÏÍÕ ÉÎÄÅËÓÕ" -#: commands/cluster.c:352 +#: commands/cluster.c:357 msgid "cannot cluster when index access method does not handle null values" msgstr "ÎÅÌØÚÑ ÇÒÕÐÐÉÒÏ×ÁÔØ ËÏÇÄÁ ÍÅÔÏÄ ÄÏÓÔÕÐÁ ÐÏ ÉÎÄÅËÓÕ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÎÕÌÅ×ÙÅ (NULL) ÚÎÁÞÅÎÉÑ" -#: commands/cluster.c:353 +#: commands/cluster.c:358 #, c-format msgid "You may be able to work around this by marking column \"%s\" NOT NULL." msgstr "÷Ù ÍÏÖÅÔ ÓÍÏÖÅÔÅ ÜÔÏ ÏÂÏÊÔÉ ÐÕÔ£Í ÄÅËÌÁÒÉÒÏ×ÁÎÉÑ ËÏÌÏÎËÉ \"%s\" ËÁË NOT NULL." -#: commands/cluster.c:365 +#: commands/cluster.c:370 msgid "cannot cluster on expressional index when index access method does not handle null values" msgstr "ÎÅÌØÚÑ ÇÒÕÐÐÉÒÏ×ÁÔØ ÐÏ ÉÎÄÅËÓÎÏÍÕ ×ÙÒÁÖÅÎÉÀ ËÏÇÄÁ ÍÅÔÏÄ ÄÏÓÔÕÐÁ ÐÏ ÉÎÄÅËÓÕ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÎÕÌÅ×ÙÅ (NULL) ÚÎÁÞÅÎÉÑ" -#: commands/cluster.c:379 +#: commands/cluster.c:384 #, c-format msgid "\"%s\" is a system catalog" msgstr "\"%s\" Ñ×ÌÑÅÔÓÑ ÓÉÓÔÅÍÎÙÍ ËÁÔÁÌÏÇÏÍ" -#: commands/cluster.c:389 +#: commands/cluster.c:394 msgid "cannot cluster temporary tables of other sessions" msgstr "ÎÅÌØÚÑ ÇÒÕÐÐÉÒÏ×ÁÔØ ×ÒÅÍÅÎÎÙÅ ÔÁÂÌÉÃÙ ÄÒÕÇÉÈ ÓÅÓÓÉÊ" @@ -1593,477 +2150,571 @@ msgstr " msgid "conversion \"%s\" already exists in schema \"%s\"" msgstr "ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ × ÓÈÅÍÅ \"%s\"" -#: commands/comment.c:316 -#: commands/sequence.c:779 -#: tcop/utility.c:81 +#: commands/comment.c:334 +#: commands/sequence.c:767 +#: tcop/utility.c:83 #, c-format msgid "\"%s\" is not a sequence" msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØÀ" -#: commands/comment.c:323 -#: commands/indexcmds.c:109 -#: commands/indexcmds.c:639 +#: commands/comment.c:341 +#: commands/indexcmds.c:137 +#: commands/indexcmds.c:951 #: commands/lockcmds.c:68 -#: commands/tablecmds.c:377 -#: commands/tablecmds.c:1634 -#: commands/tablecmds.c:1925 -#: commands/tablecmds.c:2069 -#: commands/tablecmds.c:2303 -#: commands/tablecmds.c:2469 -#: commands/tablecmds.c:2595 -#: commands/tablecmds.c:2776 -#: commands/tablecmds.c:3787 -#: commands/tablecmds.c:4053 -#: commands/trigger.c:144 +#: commands/tablecmds.c:544 +#: commands/tablecmds.c:2624 +#: commands/trigger.c:141 #: commands/trigger.c:546 -#: tcop/utility.c:76 +#: tcop/utility.c:78 #, c-format msgid "\"%s\" is not a table" msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÔÁÂÌÉÃÅÊ" -#: commands/comment.c:330 +#: commands/comment.c:348 #: commands/view.c:113 -#: tcop/utility.c:86 +#: tcop/utility.c:88 #, c-format msgid "\"%s\" is not a view" -msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ×ÉÄÏÍ" - -#: commands/comment.c:386 -#: commands/tablecmds.c:1975 -#: commands/tablecmds.c:2119 -#: commands/tablecmds.c:2247 -#: commands/tablecmds.c:2411 -#: commands/tablecmds.c:2616 -#: parser/parse_func.c:1270 -#: parser/parse_relation.c:1584 -#: parser/parse_relation.c:1642 -#: parser/parse_relation.c:1821 +msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÐÒÅÄÓÔÁ×ÌÅÎÉÅÍ" + +#: commands/comment.c:404 +#: commands/tablecmds.c:3100 +#: commands/tablecmds.c:3193 +#: commands/tablecmds.c:3245 +#: commands/tablecmds.c:3341 +#: commands/tablecmds.c:3402 +#: commands/tablecmds.c:3468 +#: commands/tablecmds.c:4608 +#: commands/tablecmds.c:4745 +#: parser/parse_relation.c:1641 +#: parser/parse_relation.c:1700 +#: parser/parse_relation.c:1913 #: parser/parse_type.c:94 +#: utils/adt/ruleutils.c:1257 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "ËÏÌÏÎËÁ \"%s\" ÄÌÑ Ó×ÑÚÉ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/comment.c:417 +#: commands/comment.c:435 msgid "database name may not be qualified" msgstr "" -#: commands/comment.c:449 +#: commands/comment.c:468 msgid "database comments may only be applied to the current database" msgstr "ËÏÍÍÅÎÔÁÒÉÉ ÂÁÚÙ ÍÏÇÕÔ ÐÒÉÍÅÎÑÔØÓÑ ÔÏÌØËÏ Ë ÔÅËÕÝÅÊ ÂÁÚÅ ÄÁÎÎÙÈ" -#: commands/comment.c:481 +#: commands/comment.c:500 #: commands/schemacmds.c:172 msgid "schema name may not be qualified" msgstr "" -#: commands/comment.c:564 +#: commands/comment.c:582 #, c-format msgid "rule \"%s\" does not exist" msgstr "ÐÒÁ×ÉÌÏ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/comment.c:572 +#: commands/comment.c:590 #, c-format msgid "there are multiple rules named \"%s\"" msgstr "ÉÍÅÅÔÓÑ ÂÏÌØÛÅ ÏÄÎÏÇÏ ÐÒÁ×ÉÌÁ Ó ÉÍÅÎÅÍ \"%s\"" -#: commands/comment.c:573 +#: commands/comment.c:591 msgid "Specify a relation name as well as a rule name." msgstr "õËÁÖÉÔÅ ÉÍÑ ÏÔÎÏÛÅÎÉÑ É ÔÁËÖÅ ÉÍÑ ÐÒÁ×ÉÌÁ." -#: commands/comment.c:815 -#: commands/trigger.c:484 +#: commands/comment.c:619 +#: rewrite/rewriteDefine.c:580 +#: rewrite/rewriteRemove.c:59 +#, c-format +msgid "rule \"%s\" for relation \"%s\" does not exist" +msgstr "ÐÒÁ×ÉÌÏ \"%s\" ÄÌÑ Ó×ÑÚÉ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" + +#: commands/comment.c:836 +#: commands/trigger.c:483 #: commands/trigger.c:697 #, c-format msgid "trigger \"%s\" for table \"%s\" does not exist" msgstr "ÔÒÉÇÇÅÒ \"%s\" ÄÌÑ ÔÁÂÌÉÃÙ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/comment.c:894 +#: commands/comment.c:916 #, c-format msgid "table \"%s\" has multiple constraints named \"%s\"" msgstr "ÔÁÂÌÉÃÁ \"%s\" ÓÏÄÅÒÖÉÔ ÂÏÌÅÅ ÏÄÎÏÇÏ ËÏÎÓÔÒÅÊÎÔÁ Ó ÉÍÅÎÅÍ \"%s\"" -#: commands/comment.c:906 +#: commands/comment.c:928 #, c-format msgid "constraint \"%s\" for table \"%s\" does not exist" msgstr "ËÏÎÓÔÒÅÊÎÔ \"%s\" ÄÌÑ ÔÁÂÌÉÃÙ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/copy.c:700 -#: commands/copy.c:708 -#: commands/copy.c:716 -#: commands/copy.c:724 -#: commands/dbcommands.c:103 -#: commands/dbcommands.c:111 -#: commands/dbcommands.c:119 -#: commands/dbcommands.c:127 -#: commands/functioncmds.c:220 +#: commands/comment.c:992 +msgid "language name may not be qualified" +msgstr "" + +#: commands/comment.c:1007 +msgid "must be superuser to comment on procedural language" +msgstr "" + +#: commands/comment.c:1048 +#: commands/indexcmds.c:230 +#: commands/opclasscmds.c:108 +#: commands/opclasscmds.c:648 +#: commands/opclasscmds.c:800 +#: commands/opclasscmds.c:900 +#, c-format +msgid "access method \"%s\" does not exist" +msgstr "ÍÅÔÏÄ ÄÏÓÔÕÐÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" + +#: commands/comment.c:1077 +#: commands/comment.c:1087 +#: commands/indexcmds.c:614 +#: commands/indexcmds.c:624 +#: commands/opclasscmds.c:677 +#: commands/opclasscmds.c:687 +#: commands/opclasscmds.c:822 +#: commands/opclasscmds.c:833 +#: commands/opclasscmds.c:922 +#: commands/opclasscmds.c:932 +#, c-format +msgid "operator class \"%s\" does not exist for access method \"%s\"" +msgstr "ËÌÁÓÓ ÏÐÅÒÁÔÏÒÏ× \"%s\" ÄÌÑ ÍÅÄÏÔÁ ÄÏÓÔÕÐÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" + +#: commands/comment.c:1192 +#: commands/functioncmds.c:908 +#: commands/functioncmds.c:1156 +#, c-format +msgid "source data type %s does not exist" +msgstr "ÉÓÈÏÄÎÙÊ ÔÉÐ ÄÁÎÎÙÈ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" + +#: commands/comment.c:1199 +#: commands/functioncmds.c:915 +#: commands/functioncmds.c:1163 +#, c-format +msgid "target data type %s does not exist" +msgstr "ÔÉÐ ÄÁÎÎÙÈ ÎÁÚÎÁÞÅÎÉÑ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" + +#: commands/comment.c:1209 +#: commands/functioncmds.c:1173 +#, c-format +msgid "cast from type %s to type %s does not exist" +msgstr "ËÏÎ×ÅÒÓÉÑ ÔÉÐÁ %s × ÔÉÐ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" + +#: commands/comment.c:1221 +#: commands/functioncmds.c:948 +#: commands/functioncmds.c:1182 +#, c-format +msgid "must be owner of type %s or type %s" +msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ÔÉÐÁ %s ÉÌÉ ÔÉÐÁ %s" + +#: commands/copy.c:721 +#: commands/copy.c:729 +#: commands/copy.c:737 +#: commands/copy.c:745 +#: commands/copy.c:753 +#: commands/copy.c:761 +#: commands/copy.c:769 +#: commands/copy.c:777 +#: commands/copy.c:785 +#: commands/dbcommands.c:108 +#: commands/dbcommands.c:116 +#: commands/dbcommands.c:124 +#: commands/dbcommands.c:132 #: commands/functioncmds.c:228 #: commands/functioncmds.c:236 #: commands/functioncmds.c:244 #: commands/functioncmds.c:252 -#: commands/sequence.c:880 -#: commands/sequence.c:893 -#: commands/sequence.c:901 +#: commands/functioncmds.c:260 +#: commands/sequence.c:896 #: commands/sequence.c:909 #: commands/sequence.c:917 #: commands/sequence.c:925 -#: commands/user.c:525 -#: commands/user.c:537 -#: commands/user.c:545 -#: commands/user.c:553 -#: commands/user.c:561 -#: commands/user.c:569 -#: commands/user.c:775 -#: commands/user.c:787 -#: commands/user.c:795 -#: commands/user.c:803 -#: commands/user.c:1275 -#: commands/user.c:1283 +#: commands/sequence.c:933 +#: commands/sequence.c:941 +#: commands/user.c:576 +#: commands/user.c:588 +#: commands/user.c:596 +#: commands/user.c:604 +#: commands/user.c:612 +#: commands/user.c:620 +#: commands/user.c:826 +#: commands/user.c:838 +#: commands/user.c:846 +#: commands/user.c:854 +#: commands/user.c:1356 +#: commands/user.c:1364 msgid "conflicting or redundant options" msgstr "ËÏÎÆÌÉËÔÕÀÝÉÅ ÉÌÉ ÉÚÌÉÛÎÉÅ ÏÐÃÉÉ" -#: commands/dbcommands.c:153 +#: commands/dbcommands.c:139 +msgid "LOCATION is not supported anymore" +msgstr "LOCATION ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" + +#: commands/dbcommands.c:140 +msgid "Consider using tablespaces instead." +msgstr "" + +#: commands/dbcommands.c:163 #, c-format msgid "%d is not a valid encoding code" msgstr "%d ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÙÍ ËÏÄÏÍ ËÏÄÉÒÏ×ËÉ" -#: commands/dbcommands.c:162 +#: commands/dbcommands.c:172 #, c-format msgid "%s is not a valid encoding name" msgstr "%s ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÙÍ ÉÍÅÎÅÍ ËÏÄÉÒÏ×ËÉ" -#: commands/dbcommands.c:183 +#: commands/dbcommands.c:193 msgid "permission denied to create database" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÐÏ ÓÏÚÄÁÎÉÀ ÂÁÚÙ" -#: commands/dbcommands.c:192 +#: commands/dbcommands.c:202 msgid "must be superuser to create database for another user" msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÞÔÏÂÙ ÓÏÚÄÁ×ÁÔØ ÂÁÚÙ ÄÌÑ ÄÒÕÇÉÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ" -#: commands/dbcommands.c:203 -msgid "cannot use an alternative location on this platform" -msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÁÌÔÅÒÎÁÔÉ×ÎÏÅ ÒÁÓÐÏÌÏÌÖÅÎÉÅ ÂÁÚÙ ÎÁ ÄÁÎÎÏÊ ÐÌÁÔÆÏÒÍÅ" - -#: commands/dbcommands.c:217 -#: commands/dbcommands.c:405 -#: commands/dbcommands.c:653 +#: commands/dbcommands.c:216 +#: commands/dbcommands.c:458 +#: commands/dbcommands.c:712 #, c-format msgid "database \"%s\" already exists" msgstr "ÂÁÚÁ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/dbcommands.c:231 +#: commands/dbcommands.c:229 #, c-format msgid "template database \"%s\" does not exist" msgstr "ÂÁÚÁ ÄÁÎÎÙÈ-ÛÁÂÌÏÎ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/dbcommands.c:242 +#: commands/dbcommands.c:240 #, c-format msgid "permission denied to copy database \"%s\"" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÐÏ ËÏÐÉÒÏ×ÁÎÉÀ ÂÁÚÙ \"%s\"" -#: commands/dbcommands.c:263 +#: commands/dbcommands.c:253 #, c-format msgid "source database \"%s\" is being accessed by other users" msgstr "ÉÓÈÏÄÎÁÑ ÂÁÚÁ \"%s\" ÎÁÈÏÄÉÔÓÑ × ÐÏÌØÚÏ×ÁÎÉÉ ÄÒÕÇÉÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ" -#: commands/dbcommands.c:274 +#: commands/dbcommands.c:264 #, c-format msgid "invalid server encoding %d" msgstr "ÎÅ×ÅÒÎÁÑ ËÏÄÉÒÏ×ËÁ ÓÅÒ×ÅÒÁ: %d" -#: commands/dbcommands.c:304 -#: commands/dbcommands.c:308 -#: commands/dbcommands.c:312 -msgid "database path may not contain single quotes" -msgstr "ÐÕÔØ Ë ÂÁÚÅ ÎÅ ÄÏÌÖÅÎ ÓÏÄÅÒÖÁÔØ ÏÄÉÎÏÞÎÙÈ ËÁ×ÙÞÅË" - -#: commands/dbcommands.c:337 -#, c-format -msgid "could not create database directory \"%s\": %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÄÉÒÅËÔÏÒÉÀ ÂÁÚ ÄÁÎÎÙÈ \"%s\": %m" - -#: commands/dbcommands.c:342 +#: commands/dbcommands.c:310 #, c-format -msgid "could not remove temporary directory \"%s\": %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÄÁÌÉÔØ ×ÒÅÍÅÎÎÕÀ ÄÉÒÅËÔÏÒÉÀ \"%s\": %m" +msgid "cannot assign new default tablespace \"%s\"" +msgstr "" -#: commands/dbcommands.c:353 +#: commands/dbcommands.c:312 #, c-format -msgid "could not link file \"%s\" to \"%s\": %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÌÉÎËÏ×ÁÔØ ÆÁÊÌ \"%s\" × \"%s\": %m" +msgid "There is a conflict because database \"%s\" already has some tables in this tablespace." +msgstr "" -#: commands/dbcommands.c:370 -#: commands/dbcommands.c:385 +#: commands/dbcommands.c:382 +#: commands/dbcommands.c:404 +#: commands/dbcommands.c:414 +#: commands/dbcommands.c:1226 +#: commands/dbcommands.c:1234 msgid "could not initialize database directory" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ ÄÉÒÅËÔÏÒÉÀ ÂÁÚ ÄÁÎÎÙÈ" -#: commands/dbcommands.c:371 -#: commands/dbcommands.c:376 -#: commands/dbcommands.c:969 +#: commands/dbcommands.c:383 +#, c-format +msgid "Directory \"%s\" already exists." +msgstr "äÉÒÅËÔÏÒÉÑ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ." + +#: commands/dbcommands.c:405 +#: commands/dbcommands.c:1227 #, c-format msgid "Failing system command was: %s" msgstr "óÉÓÔÅÍÎÁÑ ËÏÍÁÎÄÁ Ó ÏÛÉÂËÏÊ: %s" -#: commands/dbcommands.c:372 -#: commands/dbcommands.c:377 -#: commands/dbcommands.c:970 +#: commands/dbcommands.c:406 +#: commands/dbcommands.c:1228 msgid "Look in the postmaster's stderr log for more information." msgstr "ðÒÏÓÍÏÔÒÉÔÅ stderr-ÖÕÒÎÁÌ postmaster'Á ÄÌÑ ÐÏÄÒÏÂÎÏÓÔÅÊ." -#: commands/dbcommands.c:375 -#: commands/dbcommands.c:388 -msgid "could not initialize database directory; delete failed as well" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ ÄÉÒÅËÔÏÒÉÀ ÂÁÚ ÄÁÎÎÙÈ; ÔÁËÖÅ ÎÅ ÕÄÁÌÏÓØ Å£ ÕÄÁÌÉÔØ" - -#: commands/dbcommands.c:483 +#: commands/dbcommands.c:533 msgid "cannot drop the currently open database" msgstr "ÎÅÌØÚÑ ÕÄÁÌÉÔØ ÏÔËÒÙÔÕÀ × ÄÁÎÎÙÊ ÍÏÍÅÎÔ ÂÁÚÕ" -#: commands/dbcommands.c:516 +#: commands/dbcommands.c:564 msgid "cannot drop a template database" msgstr "ÎÅÌØÚÑ ÕÄÁÌÉÔØ ÂÁÚÕ-ÛÁÂÌÏÎ" -#: commands/dbcommands.c:527 -#: commands/dbcommands.c:643 +#: commands/dbcommands.c:572 +#: commands/dbcommands.c:699 #, c-format msgid "database \"%s\" is being accessed by other users" msgstr "ÂÁÚÁ \"%s\" ÎÁÈÏÄÉÔÓÑ × ÐÏÌØÚÏ×ÁÎÉÉ ÄÒÕÇÉÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ" -#: commands/dbcommands.c:634 +#: commands/dbcommands.c:690 msgid "current database may not be renamed" msgstr "ÎÅÌØÚÑ ÐÅÒÅÉÍÅÎÏ×ÁÔØ ÔÅËÕÝÕÀ ÂÁÚÕ ÄÁÎÎÙÈ" -#: commands/dbcommands.c:665 +#: commands/dbcommands.c:724 msgid "permission denied to rename database" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÐÏ ÐÅÒÅÉÍÅÎÏ×ÁÎÉÀ ÂÁÚÙ" -#: commands/dbcommands.c:892 -msgid "relative paths are not allowed as database locations" -msgstr "ÏÔÎÏÓÉÔÅÌØÎÙÅ ÐÕÔÉ ÎÅ ÄÏÚ×ÏÌÅÎÙ ÄÌÑ ÒÁÓÐÏÌÏÖÅÎÉÑ ÂÁÚ" - -#: commands/dbcommands.c:896 -msgid "absolute paths are not allowed as database locations" -msgstr "ÁÂÓÌÀÔÎÙÅ ÐÕÔÉ ÎÅ ÄÏÚ×ÏÌÅÎÙ ÄÌÑ ÒÁÓÐÏÌÏÖÅÎÉÑ ÂÁÚ" - -#: commands/dbcommands.c:908 -#, c-format -msgid "postmaster environment variable \"%s\" not found" -msgstr "ÐÅÒÅÍÅÎÎÁÑ ÏËÒÕÖÅÎÉÑ postmaster'Á \"%s\" ÎÅ ÎÁÊÄÅÎÁ" - -#: commands/dbcommands.c:913 -#, c-format -msgid "postmaster environment variable \"%s\" must be absolute path" -msgstr "ÐÅÒÅÍÅÎÎÁÑ ÏËÒÕÖÅÎÉÑ postmaster'Á \"%s\" ÄÏÌÖÎÁ ÓÏÄÅÒÖÁÔØ ÁÂÓÏÌÀÔÎÙÊ ÐÕÔØ" - -#: commands/dbcommands.c:922 -msgid "alternative path is too long" -msgstr "ÁÌØÔÅÒÎÁÔÉ×ÎÙÊ ÐÕÔØ ÓÌÉÛËÏÍ ÄÌÉÎÎÙÊ" - -#: commands/dbcommands.c:953 -#, c-format -msgid "could not remove file \"%s\": %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÄÁÌÉÔØ ÆÁÊÌ \"%s\": %m" - -#: commands/dbcommands.c:967 +#: commands/dbcommands.c:1063 +#: commands/dbcommands.c:1200 +#: commands/dbcommands.c:1250 #, c-format msgid "could not remove database directory \"%s\"" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÄÁÌÉÔØ ÄÉÒÅËÔÏÒÉÀ ÂÁÚ ÄÁÎÎÙÈ \"%s\"" -#: commands/copy.c:193 #: commands/copy.c:205 -#: commands/copy.c:238 -#: commands/copy.c:248 +#: commands/copy.c:217 +#: commands/copy.c:250 +#: commands/copy.c:260 msgid "COPY BINARY is not supported to stdout or from stdin" msgstr "COPY BINARY ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÄÌÑ ÓÔÁÎÄÁÒÔÎÏÇÏ ×Ù×ÏÄÁ (stdout) ÉÌÉ ××ÏÄÁ (stdin)" -#: commands/copy.c:301 +#: commands/copy.c:313 #, c-format msgid "could not write to COPY file: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁÐÉÓÁÔØ × ÆÁÊÌ COPY: %m" -#: commands/copy.c:309 +#: commands/copy.c:321 msgid "connection lost during COPY to stdout" msgstr "ÐÏÄÓÏÅÄÉÎÅÎÉÅ ÐÏÔÅÒÑÎÏ ×Ï ×ÒÅÍÑ COPY × ÓÔÁÎÄÁÒÔÎÙÊ ×Ù×ÏÄ (stdout)" -#: commands/copy.c:392 -#: commands/copy.c:410 -#: commands/copy.c:414 -#: commands/copy.c:474 -#: commands/copy.c:523 -#: tcop/fastpath.c:292 -#: tcop/postgres.c:281 -#: tcop/postgres.c:304 +#: commands/copy.c:404 +#: commands/copy.c:422 +#: commands/copy.c:426 +#: commands/copy.c:487 +#: commands/copy.c:536 +#: tcop/fastpath.c:291 +#: tcop/postgres.c:287 +#: tcop/postgres.c:310 msgid "unexpected EOF on client connection" msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ (EOF) ÐÒÉ ÐÏÄÓÏÅÄÉÎÅÎÉÉ ËÌÉÅÎÔÁ" -#: commands/copy.c:426 +#: commands/copy.c:438 #, c-format msgid "COPY from stdin failed: %s" msgstr "ÏÛÉÂËÁ ÐÒÉ COPY ÉÚ ÓÔÁÎÄÁÒÔÎÏÇÏ ××ÏÄÁ (stdin): %s" -#: commands/copy.c:441 +#: commands/copy.c:454 #, c-format msgid "unexpected message type 0x%02X during COPY from stdin" msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ÔÉÐ ÓÏÏÂÝÅÎÉÑ 0x%02X ÐÒÉ COPY ÉÚ ÓÔÁÎÄÁÒÔÎÏÇÏ ××ÏÄÁ (stdin)" -#: commands/copy.c:735 +#: commands/copy.c:796 msgid "cannot specify DELIMITER in BINARY mode" msgstr "ÎÅÌØÚÑ ÕËÁÚÙ×ÁÔØ DELIMITER × ÒÅÖÉÍÅ BINARY" -#: commands/copy.c:740 +#: commands/copy.c:801 +msgid "cannot specify CSV in BINARY mode" +msgstr "ÎÅÌØÚÑ ÕËÁÚÙ×ÁÔØ CSV × ÒÅÖÉÍÅ BINARY" + +#: commands/copy.c:806 msgid "cannot specify NULL in BINARY mode" msgstr "ÎÅÌØÚÑ ÕËÁÚÙ×ÁÔØ NULL × ÒÅÖÉÍÅ BINARY" -#: commands/copy.c:758 -#: executor/execMain.c:483 -#: tcop/utility.c:260 +#: commands/copy.c:829 +msgid "COPY delimiter must be a single character" +msgstr "ÒÁÚÄÅÌÉÔÅÌØ × COPY ÄÏÌÖÅÎ ÂÙÔØ ÏÄÎÉÍ ÓÉÍ×ÏÌÏÍ" + +#: commands/copy.c:837 +msgid "COPY quote available only in CSV mode" +msgstr "" + +#: commands/copy.c:842 +msgid "COPY quote must be a single character" +msgstr "" + +#: commands/copy.c:850 +msgid "COPY escape available only in CSV mode" +msgstr "" + +#: commands/copy.c:855 +msgid "COPY escape must be a single character" +msgstr "" + +#: commands/copy.c:863 +msgid "COPY force quote available only in CSV mode" +msgstr "" + +#: commands/copy.c:867 +msgid "COPY force quote only available using COPY TO" +msgstr "" + +#: commands/copy.c:875 +msgid "COPY force not null available only in CSV mode" +msgstr "" + +#: commands/copy.c:879 +msgid "COPY force not null only available using COPY FROM" +msgstr "" + +#: commands/copy.c:887 +msgid "COPY delimiter must not appear in the NULL specification" +msgstr "" + +#: commands/copy.c:895 +msgid "CSV quote character must not appear in the NULL specification" +msgstr "" + +#: commands/copy.c:906 +#: executor/execMain.c:443 +#: tcop/utility.c:323 msgid "transaction is read-only" msgstr "ÔÒÁÎÚÁËÃÉÑ ÕÓÔÁÎÏ×ÌÅÎÁ \"ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ\"" -#: commands/copy.c:769 +#: commands/copy.c:917 msgid "must be superuser to COPY to or from a file" msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ COPY Ó ÆÁÊÌÁÍÉ" -#: commands/copy.c:770 +#: commands/copy.c:918 msgid "Anyone can COPY to stdout or from stdin. psql's \\copy command also works for anyone." msgstr "ëÁÖÄÙÊ ÍÏÖÅÔ COPY × stdout ÉÌÉ ÉÚ stdin. ëÏÍÁÎÄÁ psql \\copy ÔÁËÖÅ ÒÁÂÏÔÁÅÔ ÄÌÑ ×ÓÅÈ." -#: commands/copy.c:779 -msgid "COPY delimiter must be a single character" -msgstr "ÒÁÚÄÅÌÉÔÅÌØ × COPY ÄÏÌÖÅÎ ÂÙÔØ ÏÄÎÉÍ ÓÉÍ×ÏÌÏÍ" - -#: commands/copy.c:787 +#: commands/copy.c:927 #, c-format msgid "table \"%s\" does not have OIDs" msgstr "ÔÁÂÌÉÃÁ \"%s\" ÎÅ ÓÏÄÅÒÖÉÔ OIDs" -#: commands/copy.c:817 +#: commands/copy.c:953 +#, c-format +msgid "FORCE QUOTE column \"%s\" not referenced by COPY" +msgstr "" + +#: commands/copy.c:976 +#, c-format +msgid "FORCE NOT NULL column \"%s\" not referenced by COPY" +msgstr "" + +#: commands/copy.c:1003 #, c-format msgid "cannot copy to view \"%s\"" -msgstr "ÎÅÌØÚÑ ËÏÐÉÒÏ×ÁÔØ × ×ÉÄ \"%s\"" +msgstr "ÎÅÌØÚÑ ËÏÐÉÒÏ×ÁÔØ × ÐÒÅÄÓÔÁ×ÌÅÎÉÅ \"%s\"" -#: commands/copy.c:822 +#: commands/copy.c:1008 #, c-format msgid "cannot copy to sequence \"%s\"" msgstr "ÎÅÌØÚÑ ËÏÐÉÒÏ×ÁÔØ × ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ \"%s\"" -#: commands/copy.c:827 +#: commands/copy.c:1013 #, c-format msgid "cannot copy to non-table relation \"%s\"" msgstr "ÎÅÌØÚÑ ËÏÐÉÒÏ×ÁÔØ × ÎÅ-ÔÁÂÌÉÃÕ \"%s\"" -#: commands/copy.c:846 +#: commands/copy.c:1032 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÒÙÔØ ÆÁÊÌ \"%s\" ÄÌÑ ÞÔÅÎÉÑ: %m" -#: commands/copy.c:855 -#: commands/copy.c:917 +#: commands/copy.c:1041 +#: commands/copy.c:1104 #, c-format msgid "\"%s\" is a directory" msgstr "\"%s\" Ñ×ÌÑÅÔÓÑ ÄÉÒÅËÔÏÒÉÅÊ" -#: commands/copy.c:867 +#: commands/copy.c:1054 #, c-format msgid "cannot copy from view \"%s\"" -msgstr "ÎÅÌØÚÑ ËÏÐÉÒÏ×ÁÔØ ÉÚ ×ÉÄÁ \"%s\"" +msgstr "ÎÅÌØÚÑ ËÏÐÉÒÏ×ÁÔØ ÉÚ ÐÒÅÄÓÔÁ×ÌÅÎÉÑ \"%s\"" -#: commands/copy.c:872 +#: commands/copy.c:1059 #, c-format msgid "cannot copy from sequence \"%s\"" msgstr "ÎÅÌØÚÑ ËÏÐÉÒÏ×ÁÔØ ÉÚ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ \"%s\"" -#: commands/copy.c:877 +#: commands/copy.c:1064 #, c-format msgid "cannot copy from non-table relation \"%s\"" msgstr "ÎÅÌØÚÑ ËÏÐÉÒÏ×ÁÔØ ÉÚ ÎÅ-ÔÁÂÌÉÃÙ \"%s\"" -#: commands/copy.c:899 +#: commands/copy.c:1086 msgid "relative path not allowed for COPY to file" msgstr "ÏÔÎÏÓÉÔÅÌØÎÙÊ ÐÕÔØ ÎÅ ÄÏÚ×ÏÌÅÎ ÄÌÑ COPY × ÆÁÊÌ" -#: commands/copy.c:908 +#: commands/copy.c:1095 #, c-format msgid "could not open file \"%s\" for writing: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÒÙÔØ ÆÁÊÌ \"%s\" ÄÌÑ ÚÁÐÉÓÉ: %m" -#: commands/copy.c:1148 +#: commands/copy.c:1388 #, c-format msgid "COPY %s, line %d, column %s" msgstr "COPY %s, ÓÔÒÏËÁ %d, ËÏÌÏÎËÁ %s" -#: commands/copy.c:1151 +#: commands/copy.c:1391 +#: commands/copy.c:1424 #, c-format msgid "COPY %s, line %d" msgstr "COPY %s, ÓÔÒÏËÁ %d" -#: commands/copy.c:1159 +#: commands/copy.c:1399 #, c-format msgid "COPY %s, line %d, column %s: \"%s\"" msgstr "COPY %s, ÓÔÒÏËÁ %d, ËÏÌÏÎËÁ %s: \"%s\"" -#: commands/copy.c:1186 +#: commands/copy.c:1410 #, c-format msgid "COPY %s, line %d: \"%s\"" msgstr "COPY %s, ÓÔÒÏËÁ %d: \"%s\"" -#: commands/copy.c:1389 +#: commands/copy.c:1636 msgid "COPY file signature not recognized" msgstr "ÐÏÄÐÉÓØ COPY-ÆÁÊÌÁ ÎÅ ÒÁÓÐÏÚÎÁÎÁ" -#: commands/copy.c:1395 +#: commands/copy.c:1642 msgid "invalid COPY file header (missing flags)" msgstr "ÎÅ×ÅÒÎÙÊ ÚÁÇÏÌÏ×ÏË ÆÁÊÌÁ COPY (ÏÔÓÕÔÓÔ×ÕÀÔ ÆÌÁÇÉ)" -#: commands/copy.c:1401 +#: commands/copy.c:1648 msgid "unrecognized critical flags in COPY file header" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÙ ËÒÉÔÉÞÅÓËÉÅ ÆÌÁÇÉ × ÚÁÇÏÌÏ×ÏËÅ ÆÁÊÌÁ COPY" -#: commands/copy.c:1407 +#: commands/copy.c:1654 msgid "invalid COPY file header (missing length)" msgstr "ÎÅ×ÅÒÎÙÊ ÚÁÇÏÌÏ×ÏË ÆÁÊÌÁ COPY (ÏÔÓÕÔÓÔ×ÕÅÔ ÄÌÉÎÁ)" -#: commands/copy.c:1415 +#: commands/copy.c:1662 msgid "invalid COPY file header (wrong length)" msgstr "ÎÅ×ÅÒÎÙÊ ÚÁÇÏÌÏ×ÏË ÆÁÊÌÁ COPY (ÎÅÐÒÁ×ÉÌØÎÁÑ ÄÌÉÎÁ)" -#: commands/copy.c:1492 +#: commands/copy.c:1741 msgid "null OID in COPY data" msgstr "ÎÕÌÅ×ÏÊ (null) OID × ÄÁÎÎÙÈ COPY" -#: commands/copy.c:1501 -#: commands/copy.c:1584 +#: commands/copy.c:1750 +#: commands/copy.c:1847 msgid "invalid OID in COPY data" msgstr "ÎÅ×ÅÒÎÙÊ OID × ÄÁÎÎÙÈ COPY" -#: commands/copy.c:1521 +#: commands/copy.c:1770 #, c-format msgid "missing data for column \"%s\"" msgstr "ÏÔÓÕÔÓÔ×ÕÀÔ ÄÁÎÎÙÅ ÄÌÑ ËÏÌÏÎËÉ \"%s\"" -#: commands/copy.c:1553 +#: commands/copy.c:1780 +msgid "unterminated CSV quoted field" +msgstr "" + +#: commands/copy.c:1815 msgid "extra data after last expected column" msgstr "ÄÏÐÏÌÎÉÔÅÌØÎÙÅ ÄÁÎÎÙÅ ÚÁ ÐÏÓÌÅÄÎÅÊ ÏÖÉÄÁ×ÛÅÊÓÑ ËÏÌÏÎËÏÊ" -#: commands/copy.c:1570 +#: commands/copy.c:1833 #, c-format msgid "row field count is %d, expected %d" msgstr "ËÏÌÉÞÅÓÔ×Ï ÐÏÌÅÊ × ÓÔÒÏËÅ: %d, ÏÖÉÄÁÌÏÓØ: %d" -#: commands/copy.c:1786 -#: commands/copy.c:1804 +#: commands/copy.c:2055 +#: commands/copy.c:2073 msgid "literal carriage return found in data" msgstr "Ñ×ÎÙÊ ×ÏÚ×ÒÁÔ ËÁÒÅÔËÉ ÎÁÊÄÅÎ × ÄÁÎÎÙÈ" -#: commands/copy.c:1787 -#: commands/copy.c:1805 +#: commands/copy.c:2056 +#: commands/copy.c:2074 msgid "Use \"\\r\" to represent carriage return." msgstr "éÓÐÏÌØÚÕÊÔÅ \"\\r\" ÄÌÑ ÐÒÅÄÓÔÁ×ÌÅÎÉÑ ÎÏ×ÏÊ ÓÔÒÏËÉ." -#: commands/copy.c:1822 +#: commands/copy.c:2091 msgid "literal newline found in data" msgstr "Ñ×ÎÙÊ ËÏÎÅà ÓÔÒÏËÉ ÎÁÊÄÅÎ × ÄÁÎÎÙÈ" -#: commands/copy.c:1823 +#: commands/copy.c:2092 msgid "" "Use \"\\n" "\" to represent newline." @@ -2071,766 +2722,854 @@ msgstr "" "éÓÐÏÌØÚÕÊÔÅ \"\\n" "\" ÄÌÑ ÐÒÅÄÓÔÁ×ÌÅÎÉÑ ÎÏ×ÏÊ ÓÔÒÏËÉ." -#: commands/copy.c:1843 -#: commands/copy.c:1859 +#: commands/copy.c:2112 +#: commands/copy.c:2128 msgid "end-of-copy marker does not match previous newline style" msgstr "" -#: commands/copy.c:1847 -#: commands/copy.c:1853 +#: commands/copy.c:2116 +#: commands/copy.c:2122 msgid "end-of-copy marker corrupt" msgstr "" -#: commands/copy.c:2070 -#: commands/copy.c:2092 +#: commands/copy.c:2487 +#: commands/copy.c:2509 msgid "unexpected EOF in COPY data" msgstr "ÎÅÏÖÉÄÁÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ (EOF) × ÄÁÎÎÙÈ COPY" -#: commands/copy.c:2079 +#: commands/copy.c:2496 msgid "invalid field size" msgstr "ÎÅ×ÅÒÎÙÊ ÒÁÚÍÅÒ ÐÏÌÑ" -#: commands/copy.c:2106 +#: commands/copy.c:2523 msgid "incorrect binary data format" msgstr "ÎÅ×ÅÒÎÙÊ Ä×ÏÉÞÎÙÊ ÆÏÒÍÁÔ ÄÁÎÎÙÈ" -#: commands/copy.c:2225 -#: parser/parse_target.c:500 +#: commands/copy.c:2728 +#: parser/parse_target.c:655 +#: parser/parse_target.c:665 #, c-format msgid "column \"%s\" specified more than once" msgstr "ËÏÌÏÎËÁ \"%s\" ÕËÁÚÁÎÁ ÂÏÌØÛÅ ÏÄÎÏÇÏ ÒÁÚÁ" -#: commands/functioncmds.c:83 +#: commands/functioncmds.c:84 #, c-format msgid "SQL function cannot return shell type %s" msgstr "SQL-ÆÕÎËÃÉÑ ÎÅ ÍÏÖÅÔ ×ÏÚ×ÒÁÝÁÔØ ÔÉÐ ÏÂÏÌÏÞËÉ %s" -#: commands/functioncmds.c:88 +#: commands/functioncmds.c:89 #, c-format msgid "return type %s is only a shell" msgstr "ÔÉÐ ×ÏÚÒÁÔÁ %s Ñ×ÌÑÅÔÓÑ ÔÏÌØËÏ ÏÂÏÌÏÞËÏÊ" -#: commands/functioncmds.c:114 +#: commands/functioncmds.c:115 #, c-format msgid "type \"%s\" is not yet defined" msgstr "ÔÉÐ \"%s\" ÅÝ£ ÎÅ ÏÐÒÅÄÅÌ£Î" -#: commands/functioncmds.c:115 +#: commands/functioncmds.c:116 msgid "Creating a shell type definition." msgstr "óÏÚÄÁÎÉÅ ÏÐÒÅÄÅÌÅÎÉÑ ÔÉÐÁ-ÏÂÏÌÏÞËÉ." -#: commands/functioncmds.c:162 +#: commands/functioncmds.c:166 #, c-format msgid "SQL function cannot accept shell type %s" msgstr "SQL-ÆÕÎËÃÉÑ ÎÅ ÍÏÖÅÔ ÐÒÉÎÉÍÁÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ ÏÂÏÌÏÞËÉ %s" -#: commands/functioncmds.c:167 +#: commands/functioncmds.c:171 #, c-format msgid "argument type %s is only a shell" msgstr "ÔÉÐ ÁÒÇÕÍÅÎÔÁ %s Ñ×ÌÑÅÔÓÑ ÔÏÌØËÏ ÏÂÏÌÏÞËÏÊ" -#: commands/functioncmds.c:175 +#: commands/functioncmds.c:179 #: parser/parse_oper.c:113 #: parser/parse_oper.c:124 #, c-format msgid "type %s does not exist" msgstr "ÔÉÐ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/functioncmds.c:182 +#: commands/functioncmds.c:186 msgid "functions cannot accept set arguments" msgstr "ÆÕÎËÃÉÉ ÎÅ ÐÒÉÎÉÍÁÀÔ ÁÒÇÕÍÅÎÔÙ-ÍÎÏÖÅÓÔ×Á (set)" -#: commands/functioncmds.c:265 +#: commands/functioncmds.c:273 msgid "no function body specified" msgstr "ÎÅ ÕËÁÚÁÎÏ ÔÅÌÏ ÆÕÎËÃÉÉ" -#: commands/functioncmds.c:272 +#: commands/functioncmds.c:280 msgid "no language specified" msgstr "ÑÚÙË ÎÅ ÕËÁÚÁÎ" -#: commands/functioncmds.c:333 +#: commands/functioncmds.c:342 #, c-format msgid "unrecognized function attribute \"%s\" ignored" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÁÔÒÉÂÕÔ ÆÕÎËÃÉÉ \"%s\" -- ÐÒÏÉÇÎÏÒÉÒÏ×ÁÎ" -#: commands/functioncmds.c:377 +#: commands/functioncmds.c:386 #, c-format msgid "only one AS item needed for language \"%s\"" msgstr "ÎÕÖÎÏ ÔÏÌØËÏ ÏÄÎÏ ×ÙÒÁÖÅÎÉÅ AS ÄÌÑ ÑÚÙËÁ \"%s\"" -#: commands/functioncmds.c:448 +#: commands/functioncmds.c:458 msgid "You need to use \"createlang\" to load the language into the database." msgstr "÷ÁÍ ÎÕÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ \"createlang\" ÄÌÑ ÚÁÇÒÕÚËÉ ÑÚÙËÁ × ÂÁÚÕ." -#: commands/functioncmds.c:567 -#: commands/functioncmds.c:673 +#: commands/functioncmds.c:578 +#: commands/functioncmds.c:684 +#: commands/functioncmds.c:751 #, c-format msgid "\"%s\" is an aggregate function" msgstr "ÆÕÎËÃÉÑ \"%s\" Ñ×ÌÑÅÔÓÑ ÁÇÒÅÇÁÔÏÍ" -#: commands/functioncmds.c:569 +#: commands/functioncmds.c:580 msgid "Use DROP AGGREGATE to drop aggregate functions." msgstr "éÓÐÏÌØÚÕÊÔÅ DROP AGGREGATE ÄÌÑ ÕÄÁÌÅÎÉÑ ÁÇÒÅÇÁÔÎÙÈ ÆÕÎËÃÉÊ." -#: commands/functioncmds.c:576 +#: commands/functioncmds.c:587 #, c-format msgid "removing built-in function \"%s\"" msgstr "ÕÄÁÌÅÎÉÅ ×ÓÔÒÏÅÎÎÏÊ ÆÕÎËÃÉÉ \"%s\"" -#: commands/functioncmds.c:675 +#: commands/functioncmds.c:686 msgid "Use ALTER AGGREGATE to rename aggregate functions." msgstr "éÓÐÏÌØÚÕÊÔÅ ALTER AGGREGATE ÄÌÑ ÐÅÒÅÉÍÅÎÏ×ÁÎÉÑ ÁÇÒÅÇÁÔÎÙÈ ÆÕÎËÃÉÊ." -#: commands/functioncmds.c:813 -#: commands/functioncmds.c:1047 -#, c-format -msgid "source data type %s does not exist" -msgstr "ÉÓÈÏÄÎÙÊ ÔÉÐ ÄÁÎÎÙÈ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" - -#: commands/functioncmds.c:820 -#: commands/functioncmds.c:1054 -#, c-format -msgid "target data type %s does not exist" -msgstr "ÔÉÐ ÄÁÎÎÙÈ ÎÁÚÎÁÞÅÎÉÑ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" - -#: commands/functioncmds.c:826 -msgid "source data type and target data type are the same" -msgstr "ÉÓÈÏÄÎÙÅ ÔÉÐ ÄÁÎÎÙÈ É ÔÉÐ ÎÁÚÎÁÞÅÎÉÑ ÏÄÉÎÁËÏ×Ù" +#: commands/functioncmds.c:753 +msgid "Use ALTER AGGREGATE to change owner of aggregate functions." +msgstr "éÓÐÏÌØÚÕÊÔÅ ALTER AGGREGATE ÄÌÑ ÓÍÅÎÙ ×ÌÁÄÅÌØÃÁ ÁÇÒÅÇÁÔÎÙÈ ÆÕÎËÃÉÊ." -#: commands/functioncmds.c:832 +#: commands/functioncmds.c:922 #, c-format msgid "source data type %s is only a shell" msgstr "ÉÓÈÏÄÎÙÊ ÔÉÐ ÄÁÎÎÙÈ %s Ñ×ÌÑÅÔÓÑ ÔÏÌØËÏ ÏÂÏÌÏÞËÏÊ" -#: commands/functioncmds.c:838 +#: commands/functioncmds.c:928 #, c-format msgid "target data type %s is only a shell" msgstr "ÔÉÐ ÄÁÎÎÙÈ ÎÁÚÎÁÞÅÎÉÑ %s Ñ×ÌÑÅÔÓÑ ÔÏÌØËÏ ÏÂÏÌÏÞËÏÊ" -#: commands/functioncmds.c:844 +#: commands/functioncmds.c:934 #, c-format msgid "source data type %s is a pseudo-type" msgstr "ÉÓÈÏÄÎÙÊ ÔÉÐ ÄÁÎÎÙÈ %s Ñ×ÌÑÅÔÓÑ ÐÓÅ×ÄÏ-ÔÉÐÏÍ" -#: commands/functioncmds.c:850 +#: commands/functioncmds.c:940 #, c-format msgid "target data type %s is a pseudo-type" msgstr "ÔÉÐ ÄÁÎÎÙÈ ÎÁÚÎÁÞÅÎÉÑ %s Ñ×ÌÑÅÔÓÑ ÐÓÅ×ÄÏ-ÔÉÐÏÍ" -#: commands/functioncmds.c:858 -#: commands/functioncmds.c:1073 -#, c-format -msgid "must be owner of type %s or type %s" -msgstr "ÎÕÖÎÏ ÂÙÔØ ×ÌÁÄÅÌØÃÅÍ ÔÉÐÁ %s ÉÌÉ ÔÉÐÁ %s" - -#: commands/functioncmds.c:880 -msgid "cast function must take one argument" -msgstr "ÆÕÎËÃÉÑ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑÔÉÐÏ× ÄÏÌÖÎÁ ÐÒÉÎÉÍÁÔØ ÏÄÉÎ ÁÒÇÕÍÅÎÔ" +#: commands/functioncmds.c:971 +msgid "cast function must take one to three arguments" +msgstr "" -#: commands/functioncmds.c:884 +#: commands/functioncmds.c:975 msgid "argument of cast function must match source data type" msgstr "ÁÒÇÕÍÅÎÔ ÆÕÎËÃÉÉ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÄÏÌÖÅÎ ÓÏ×ÐÁÄÁÔØ Ó ÉÓÈÏÄÎÙÍ ÔÉÐÏÍ ÄÁÎÎÙÈ" -#: commands/functioncmds.c:888 +#: commands/functioncmds.c:979 +msgid "second argument of cast function must be type integer" +msgstr "" + +#: commands/functioncmds.c:983 +msgid "third argument of cast function must be type boolean" +msgstr "" + +#: commands/functioncmds.c:987 msgid "return data type of cast function must match target data type" msgstr "ÔÉÐ ÄÁÎÎÙÈ ×ÏÚ×ÒÁÔÁ ÆÕÎËÃÉÉ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÄÏÌÖÅÎ ÓÏ×ÐÁÄÁÔØ Ó ÔÉÐÏÍ ÎÁÚÎÁÞÅÎÉÑ" -#: commands/functioncmds.c:899 +#: commands/functioncmds.c:998 msgid "cast function must not be volatile" msgstr "ÆÕÎËÃÉÑ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÔÉÐÏ× ÎÅ ÄÏÌÖÎÁ ÂÙÔØ volatile" -#: commands/functioncmds.c:904 +#: commands/functioncmds.c:1003 msgid "cast function must not be an aggregate function" msgstr "ÆÕÎËÃÉÑ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÔÉÐÏ× ÎÅ ÄÏÌÖÎÁ ÂÙÔØ ÁÇÒÅÇÁÔÏÍ" -#: commands/functioncmds.c:908 +#: commands/functioncmds.c:1007 msgid "cast function must not return a set" msgstr "ÆÕÎËÃÉÑ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÔÉÐÏ× ÎÅ ÄÏÌÖÎÁ ×ÏÚ×ÒÁÝÁÔØ ÍÎÏÖÅÓÔ×Ï" -#: commands/functioncmds.c:931 +#: commands/functioncmds.c:1031 msgid "must be superuser to create a cast WITHOUT FUNCTION" msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÓÏÚÄÁÎÉÑ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÔÉÐÏ× WITHOUT FUNCTION" -#: commands/functioncmds.c:946 +#: commands/functioncmds.c:1046 msgid "source and target data types are not physically compatible" msgstr "ÉÓÈÏÄÎÙÊ ÔÉÐ É ÔÉÐ ÎÁÚÎÁÞÅÎÉÑ ÆÉÚÉÞÅÓËÉ ÎÅ ÓÏ×ÍÅÓÔÉÍÙ" -#: commands/functioncmds.c:981 +#: commands/functioncmds.c:1056 +msgid "source data type and target data type are the same" +msgstr "ÉÓÈÏÄÎÙÅ ÔÉÐ ÄÁÎÎÙÈ É ÔÉÐ ÎÁÚÎÁÞÅÎÉÑ ÏÄÉÎÁËÏ×Ù" + +#: commands/functioncmds.c:1090 #, c-format msgid "cast from type %s to type %s already exists" msgstr "ËÏÎ×ÅÒÓÉÑ ÔÉÐÁ %s × ÔÉÐ %s ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/functioncmds.c:1064 -#, c-format -msgid "cast from type %s to type %s does not exist" -msgstr "ËÏÎ×ÅÒÓÉÑ ÔÉÐÁ %s × ÔÉÐ %s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" - #: commands/define.c:66 -#: commands/define.c:164 -#: commands/define.c:196 -#: commands/define.c:230 +#: commands/define.c:183 +#: commands/define.c:215 +#: commands/define.c:249 #, c-format msgid "%s requires a parameter" msgstr "%s ÔÒÅÂÕÅÔ ÐÁÒÁÍÅÔÒ" #: commands/define.c:105 #: commands/define.c:116 -#: commands/define.c:131 -#: commands/define.c:149 +#: commands/define.c:150 +#: commands/define.c:168 #, c-format msgid "%s requires a numeric value" msgstr "%s ÔÒÅÂÕÅÔ ÃÉÆÒÏ×ÏÅ ÚÎÁÞÅÎÉÅ" -#: commands/define.c:178 +#: commands/define.c:136 +#, c-format +msgid "%s does not take a parameter" +msgstr "" + +#: commands/define.c:197 #, c-format msgid "argument of %s must be a name" msgstr "ÉÍÑ ÄÏÌÖÎÏ ÂÙÔØ ÁÒÇÕÍÅÎÔÏÍ ÄÌÑ %s" -#: commands/define.c:214 +#: commands/define.c:233 #, c-format msgid "argument of %s must be a type name" msgstr "ÉÍÑ ÔÉÐÁ ÄÏÌÖÎÏ ÂÙÔØ ÁÒÇÕÍÅÎÔÏÍ ÄÌÑ %s" -#: commands/define.c:239 +#: commands/define.c:258 #, c-format msgid "%s requires an integer value" msgstr "%s ÔÒÅÂÕÅÔ ÃÅÌÏÅ ÚÎÁÞÅÎÉÅ" -#: commands/define.c:260 +#: commands/define.c:279 #, c-format msgid "invalid argument for %s: \"%s\"" msgstr "ÎÅ×ÅÒÎÙÊ ÁÒÇÕÍÅÎÔ ÄÌÑ %s: \"%s\"" -#: commands/indexcmds.c:144 -#: commands/opclasscmds.c:91 -#: commands/opclasscmds.c:497 -#: commands/opclasscmds.c:647 -#, c-format -msgid "access method \"%s\" does not exist" -msgstr "ÍÅÔÏÄ ÄÏÓÔÕÐÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" - -#: commands/opclasscmds.c:112 +#: commands/opclasscmds.c:129 msgid "must be superuser to create an operator class" msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÓÏÚÄÁÎÉÑ ËÌÁÓÓÁ ÏÐÅÒÁÔÏÒÏ×" -#: commands/opclasscmds.c:154 +#: commands/opclasscmds.c:166 #, c-format msgid "invalid operator number %d, must be between 1 and %d" msgstr "ÎÅ×ÅÒÎÙÊ ÎÏÍÅÒ ÏÐÅÒÁÔÏÒÁ: %d, ÄÏÌÖÅÎ ÂÙÔØ ÍÅÖÄÕ 1 É %d" -#: commands/opclasscmds.c:160 -#, c-format -msgid "operator number %d appears more than once" -msgstr "ÎÏÍÅÒ ÏÐÅÒÁÔÏÒÁ %d ÕËÁÚÁÎ ÂÏÌØÛÅ ÏÄÎÏÇÏ ÒÁÚÁ" - -#: commands/opclasscmds.c:192 +#: commands/opclasscmds.c:204 #, c-format msgid "invalid procedure number %d, must be between 1 and %d" msgstr "ÎÅ×ÅÒÎÙÊ ÎÏÍÅÒ ÐÒÏÃÅÄÕÒÙ: %d, ÄÏÌÖÅÎ ÂÙÔØ ÍÅÖÄÕ 1 É %d" -#: commands/opclasscmds.c:198 -#, c-format -msgid "procedure number %d appears more than once" -msgstr "ÎÏÍÅÒ ÐÒÏÃÅÄÕÒÙ %d ÕËÁÚÁÎ ÂÏÌØÛÅ ÏÄÎÏÇÏ ÒÁÚÁ" - -#: commands/opclasscmds.c:214 +#: commands/opclasscmds.c:226 msgid "storage type specified more than once" msgstr "" -#: commands/opclasscmds.c:241 +#: commands/opclasscmds.c:253 #, c-format msgid "storage type may not be different from data type for access method \"%s\"" msgstr "" -#: commands/opclasscmds.c:259 +#: commands/opclasscmds.c:271 #, c-format msgid "operator class \"%s\" for access method \"%s\" already exists" msgstr "ËÌÁÓÓ ÏÐÅÒÁÔÏÒÏ× \"%s\" ÄÌÑ ÍÅÔÏÄÁ ÄÏÓÔÕÐÁ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/opclasscmds.c:287 +#: commands/opclasscmds.c:300 #, c-format msgid "could not make operator class \"%s\" be default for type %s" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÓÔÁÎÏ×ÉÔØ ËÌÁÓÓ ÏÐÅÒÁÔÏÒÏ× \"%s\" ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÔÉÐÁ %s" -#: commands/opclasscmds.c:290 +#: commands/opclasscmds.c:303 #, c-format msgid "Operator class \"%s\" already is the default." msgstr "ëÌÁÓÓ ÏÐÅÒÁÔÏÒÏ× \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ Ñ×ÌÑÅÔÓÑ ËÌÁÓÓÏÍ ÐÏ ÕÍÏÌÞÁÎÉÀ." -#: commands/indexcmds.c:471 -#: commands/indexcmds.c:481 -#: commands/opclasscmds.c:526 -#: commands/opclasscmds.c:536 -#: commands/opclasscmds.c:669 -#: commands/opclasscmds.c:680 +#: commands/opclasscmds.c:430 +msgid "btree operators must be binary" +msgstr "" + +#: commands/opclasscmds.c:434 +msgid "btree operators must return boolean" +msgstr "" + +#: commands/opclasscmds.c:438 +msgid "btree operators must have index type as left input" +msgstr "" + +#: commands/opclasscmds.c:484 +msgid "btree procedures must have two arguments" +msgstr "" + +#: commands/opclasscmds.c:488 +msgid "btree procedures must return integer" +msgstr "" + +#: commands/opclasscmds.c:492 +msgid "btree procedures must have index type as first input" +msgstr "" + +#: commands/opclasscmds.c:525 #, c-format -msgid "operator class \"%s\" does not exist for access method \"%s\"" -msgstr "ËÌÁÓÓ ÏÐÅÒÁÔÏÒÏ× \"%s\" ÄÌÑ ÍÅÄÏÔÁ ÄÏÓÔÕÐÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" +msgid "procedure number %d appears more than once" +msgstr "ÎÏÍÅÒ ÐÒÏÃÅÄÕÒÙ %d ÕËÁÚÁÎ ÂÏÌØÛÅ ÏÄÎÏÇÏ ÒÁÚÁ" + +#: commands/opclasscmds.c:530 +#, c-format +msgid "operator number %d appears more than once" +msgstr "ÎÏÍÅÒ ÏÐÅÒÁÔÏÒÁ %d ÕËÁÚÁÎ ÂÏÌØÛÅ ÏÄÎÏÇÏ ÒÁÚÁ" -#: commands/opclasscmds.c:701 +#: commands/opclasscmds.c:854 #, c-format msgid "operator class \"%s\" for access method \"%s\" already exists in schema \"%s\"" msgstr "ËÌÁÓÓ ÏÐÅÒÁÔÏÒÏ× \"%s\" ÄÌÑ ÍÅÔÏÄÁ ÄÏÓÔÕÐÁ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ × ÓÈÅÍÅ \"%s\"" -#: commands/indexcmds.c:92 +#: commands/indexcmds.c:120 msgid "must specify at least one column" msgstr "ËÁË ÍÉÎÉÍÕÍ ÏÄÎÁ ËÏÌÏÎËÁ ÄÏÌÖÎÁ ÂÙÔØ ÕËÁÚÁÎÁ" -#: commands/indexcmds.c:96 +#: commands/indexcmds.c:124 #, c-format msgid "cannot use more than %d columns in an index" msgstr "ÞÉÓÌÏ ËÏÌÏÎÏË × ÉÎÄÅËÓÅ ÎÅ ÍÏÖÅÔ ÐÒÅ×ÙÛÁÔØ %d" -#: commands/indexcmds.c:152 +#: commands/indexcmds.c:238 #, c-format msgid "access method \"%s\" does not support unique indexes" msgstr "ÍÅÔÏÄ ÄÏÓÔÕÐÁ \"%s\" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÕÎÉËÁÌØÎÙÅ ÉÎÄÅËÓÙ" -#: commands/indexcmds.c:157 +#: commands/indexcmds.c:243 #, c-format msgid "access method \"%s\" does not support multicolumn indexes" msgstr "ÍÅÔÏÄ ÄÏÓÔÕÐÁ \"%s\" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÉÎÄÅËÓÙ ÐÏ ÍÎÏÇÉÍ ËÏÌÏÎËÁÍ" -#: commands/indexcmds.c:171 +#: commands/indexcmds.c:257 msgid "index expressions and predicates may refer only to the table being indexed" msgstr "ÉÎÄÅËÓÎÙÅ ×ÙÒÁÖÅÎÉÑ É ÐÒÅÄÉËÁÔÙ ÍÏÇÕÔ ÓÓÙÌÁÔØÓÑ ÔÏÌØËÏ ÎÁ ÉÎÄÅËÓÉÒÕÅÍÕÀ ÔÁÂÌÉÃÕ" -#: commands/indexcmds.c:202 +#: commands/indexcmds.c:285 +#: parser/analyze.c:1197 +#, c-format +msgid "multiple primary keys for table \"%s\" are not allowed" +msgstr "ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ÐÅÒ×ÉÞÎÙÅ ËÌÀÞÉ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\" ÎÅ ÄÏÚ×ÏÌÅÎÙ" + +#: commands/indexcmds.c:302 msgid "primary keys cannot be expressions" msgstr "ÐÅÒ×ÉÞÎÙÅ ËÌÀÞÉ ÎÅ ÍÏÇÕÔ ÂÙÔØ ×ÙÒÁÖÅÎÉÑÍÉ" -#: commands/indexcmds.c:232 -#: parser/analyze.c:1454 +#: commands/indexcmds.c:332 +#: commands/indexcmds.c:470 +#: parser/analyze.c:1311 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "ËÏÌÏÎËÁ \"%s\" ÕËÁÚÁÎÎÁÑ × ËÌÀÞÅ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/indexcmds.c:291 +#: commands/indexcmds.c:377 +#, c-format +msgid "%s %s will create implicit index \"%s\" for table \"%s\"" +msgstr "%s %s ÓÏÚÄÁÓÔ ÐÏÄÒÁÚÕÍÅ×ÁÅÍÙÊ ÉÎÄÅËÓ \"%s\" ÄÌÑ ÔÁÂÌÉÃÙ \"%s\"" + +#: commands/indexcmds.c:420 msgid "cannot use subquery in index predicate" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÏÄÚÁÐÒÏÓ × ÐÒÅÄÉËÁÔÅ ÉÎÄÅËÓÁ" -#: commands/indexcmds.c:295 +#: commands/indexcmds.c:424 msgid "cannot use aggregate in index predicate" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÁÇÒÅÇÁÔ × ÐÒÅÄÉËÁÔÅ ÉÎÄÅËÓÁ" -#: commands/indexcmds.c:304 +#: commands/indexcmds.c:433 msgid "functions in index predicate must be marked IMMUTABLE" msgstr "ÆÕÎÃÉÉ × ÉÄÅËÓÎÏÍ ÐÒÅÄÉËÁÔÅ ÄÏÌÖÎÙ ÂÙÔØ ÐÏÍÅÞÅÎÙ ËÁË IMMUTABLE" -#: commands/indexcmds.c:337 -#: commands/tablecmds.c:1146 -#: parser/parse_expr.c:1034 +#: commands/indexcmds.c:475 +#: commands/tablecmds.c:1329 +#: parser/parse_expr.c:1098 #, c-format msgid "column \"%s\" does not exist" msgstr "ËÏÌÏÎËÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/indexcmds.c:369 +#: commands/indexcmds.c:508 msgid "cannot use subquery in index expression" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÏÄÚÁÐÒÏÓ × ÉÎÄÅËÓÎÏÍ ×ÙÒÁÖÅÎÉÉ" -#: commands/indexcmds.c:373 +#: commands/indexcmds.c:512 msgid "cannot use aggregate function in index expression" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÁÇÒÅÇÁÔÎÕÀ ÆÕÎËÃÉÀ × ÉÎÄÅËÓÎÏÍ ×ÙÒÁÖÅÎÉÉ" -#: commands/indexcmds.c:384 +#: commands/indexcmds.c:523 msgid "functions in index expression must be marked IMMUTABLE" msgstr "ÆÕÎÃÉÉ × ÉÄÅËÓÎÏÍ ×ÙÒÁÖÅÎÉÉ ÄÏÌÖÎÙ ÂÙÔØ ÐÏÍÅÞÅÎÙ ËÁË IMMUTABLE" -#: commands/indexcmds.c:439 +#: commands/indexcmds.c:582 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "ÔÉÐ ÄÁÎÎÙÈ %s ÎÅ ÉÍÅÅÔ ËÌÁÓÓÁ ÏÐÅÒÁÔÏÒÏ× ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÍÅÔÏÄÁ ÄÏÓÔÕÐÁ \"%s\"" -#: commands/indexcmds.c:441 +#: commands/indexcmds.c:584 msgid "You must specify an operator class for the index or define a default operator class for the data type." msgstr "÷Ù ÄÏÌÖÎÙ ÕËÁÚÁÔØ ËÌÁÓÓ ÏÐÅÒÁÔÏÒÏ× ÄÌÑ ÉÎÄÅËÓÁ ÉÌÉ ÏÐÒÅÄÅÌÉÔØ ËÌÁÓÓ ÏÐÅÒÁÔÏÒÏ× ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÜÔÏÇÏ ÔÉÐÁ ÄÁÎÎÙÈ." -#: commands/indexcmds.c:494 +#: commands/indexcmds.c:637 #, c-format msgid "operator class \"%s\" does not accept data type %s" msgstr "ËÌÁÓÓ ÏÐÅÒÁÔÏÒÏ× \"%s\" ÎÅ ÐÒÉÎÉÍÁÅÔ ÔÉÐ ÄÁÎÎÙÈ %s" -#: commands/indexcmds.c:551 -#: utils/cache/typcache.c:286 +#: commands/indexcmds.c:694 +#: utils/cache/typcache.c:369 #, c-format msgid "there are multiple default operator classes for data type %s" msgstr "ÉÍÅÅÔÓÑ ÂÏÌÄÅÅ ÏÄÎÏÇÏ ËÌÁÓÓÁ ÏÐÅÒÁÔÏÒÏ× ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÔÉÐÁ ÄÁÎÎÙÈ %s" -#: commands/indexcmds.c:651 +#: commands/indexcmds.c:963 #, c-format msgid "shared table \"%s\" can only be reindexed in stand-alone mode" msgstr "" -#: commands/indexcmds.c:658 +#: commands/indexcmds.c:970 #, c-format msgid "table \"%s\" has no indexes" msgstr "ÔÁÂÌÉÃÁ \"%s\" ÎÅ ÉÍÅÅÔ ÉÄÅËÓÏ×" -#: commands/indexcmds.c:685 +#: commands/indexcmds.c:998 msgid "can only reindex the currently open database" msgstr "ÍÏÖÎÏ ÐÅÒÅÉÎÄÅËÓÏ×ÁÔØ ÔÏÌØËÏ ÏÔËÒÙÔÕÀ ÂÁÚÕ" -#: commands/indexcmds.c:768 +#: commands/indexcmds.c:1081 #, c-format msgid "table \"%s\" was reindexed" msgstr "ÔÁÂÌÉÃÁ \"%s\" ÐÅÒÅÉÎÄÅËÓÏ×ÁÎÁ" -#: commands/tablecmds.c:151 +#: commands/prepare.c:62 +msgid "invalid statement name: must not be empty" +msgstr "ÎÅ×ÅÒÎÏÅ ÉÍÑ ËÏÍÁÎÄÙ: ÉÍÑ ÎÅ ÄÏÌÖÎÏ ÂÙÔØ ÐÕÓÔÙÍ" + +#: commands/prepare.c:81 +msgid "utility statements cannot be prepared" +msgstr "" + +# [SM]: TO REVIEW +#: commands/prepare.c:179 +#: commands/prepare.c:184 +#: commands/prepare.c:544 +msgid "prepared statement is not a SELECT" +msgstr "ÚÁÇÏÔÏ×ÌÅÎÎÁÑ ËÏÍÁÎÄÁ ÎÅ Ñ×ÌÑÅÔÓÑ SELECTÏÍ" + +# [SM]: TO REVIEW +#: commands/prepare.c:317 +#, c-format +msgid "prepared statement \"%s\" already exists" +msgstr "ÚÁÇÏÔÏ×ÌÅÎÎÁÑ ËÏÍÁÎÄÁ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" + +# [SM]: TO REVIEW +#: commands/prepare.c:396 +#, c-format +msgid "prepared statement \"%s\" does not exist" +msgstr "ÚÁÇÏÔÏ×ÌÅÎÎÁÑ ËÏÍÁÎÄÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" + +#: commands/operatorcmds.c:107 +#: commands/operatorcmds.c:115 +msgid "setof type not allowed for operator argument" +msgstr "" + +#: commands/operatorcmds.c:142 +#, c-format +msgid "operator attribute \"%s\" not recognized" +msgstr "ÁÔÒÉÂÕÔ ÏÐÅÒÁÔÏÒÁ \"%s\" ÎÅ ÒÁÓÐÏÚÎÁÎ" + +#: commands/operatorcmds.c:152 +msgid "operator procedure must be specified" +msgstr "ÄÏÌÖÎÁ ÂÙÔØ ÕËÁÚÁÎÁ ÐÒÏÃÅÄÕÒÁ ÏÐÅÒÁÔÏÒÁ" + +#: commands/portalcmds.c:54 +#: commands/portalcmds.c:183 +#: commands/portalcmds.c:228 +msgid "invalid cursor name: must not be empty" +msgstr "ÎÅ×ÅÒÎÏÅ ÉÍÑ ËÕÒÓÏÒÁ: ÉÍÑ ÎÅ ÄÏÌÖÎÏ ÂÙÔØ ÐÕÓÔÙÍ" + +#: commands/portalcmds.c:89 +msgid "DECLARE CURSOR may not specify INTO" +msgstr "DECLARE CURSOR ÎÅ ÍÏÖÅÔ ÕËÁÚÙ×ÁÔØ INTO" + +#: commands/portalcmds.c:93 +msgid "DECLARE CURSOR ... FOR UPDATE is not supported" +msgstr "DECLARE CURSOR ... FOR UPDATE ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" + +#: commands/portalcmds.c:94 +msgid "Cursors must be READ ONLY." +msgstr "ëÕÒÓÏÒÙ ÄÏÌÖÎÙ ÂÙÔØ READ ONLY." + +#: commands/portalcmds.c:191 +#: commands/portalcmds.c:238 +#, c-format +msgid "cursor \"%s\" does not exist" +msgstr "ËÕÒÓÏÒ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" + +#: commands/portalcmds.c:346 +#: tcop/pquery.c:523 +#: tcop/pquery.c:1096 +#, c-format +msgid "portal \"%s\" cannot be run" +msgstr "ÐÏÒÔÁÌ \"%s\" ÎÅ ÍÏÖÅÔ ÂÙÔØ ÚÁÐÕÝÅÎ" + +#: commands/portalcmds.c:404 +msgid "could not reposition held cursor" +msgstr "" + +#: commands/tablecmds.c:294 msgid "ON COMMIT can only be used on temporary tables" msgstr "ON COMMIT ÍÏÖÅÔ ÔÏÌØËÏ ÉÓÐÏÌØÚÏ×ÁÔØÓÑ ÄÌÑ ×ÒÅÍÅÎÎÙÈ ÔÁÂÌÉÃ" -#: commands/tablecmds.c:211 +#: commands/tablecmds.c:399 #, c-format msgid "duplicate check constraint name \"%s\"" msgstr "ÐÏ×ÔÏÒÎÏÅ ÉÍÑ CHECK-ËÏÎÓÔÒÅÊÎÔÁ: \"%s\"" -#: commands/tablecmds.c:388 -#: commands/tablecmds.c:1091 -#: commands/tablecmds.c:1298 -#: commands/tablecmds.c:1650 -#: commands/tablecmds.c:1936 -#: commands/tablecmds.c:2080 -#: commands/tablecmds.c:2208 -#: commands/tablecmds.c:2317 -#: commands/tablecmds.c:2480 -#: commands/tablecmds.c:2606 -#: commands/tablecmds.c:2787 -#: commands/tablecmds.c:3086 +#: commands/tablecmds.c:555 +#: commands/tablecmds.c:1274 +#: commands/tablecmds.c:1480 +#: commands/tablecmds.c:2636 #: commands/tablecmds.c:3798 -#: commands/trigger.c:150 +#: commands/tablecmds.c:5427 +#: commands/trigger.c:147 #: commands/trigger.c:552 -#: tcop/utility.c:162 -#: tcop/utility.c:197 +#: tcop/utility.c:182 +#: tcop/utility.c:217 #, c-format msgid "permission denied: \"%s\" is a system catalog" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅÝ£Î: \"%s\" Ñ×ÌÑÅÔÓÑ ÓÉÓÔÅÍÎÙÍ ËÁÔÁÌÏÇÏÍ" -#: commands/tablecmds.c:398 +#: commands/tablecmds.c:566 +#, c-format +msgid "cannot truncate system relation \"%s\"" +msgstr "" + +#: commands/tablecmds.c:576 msgid "cannot truncate temporary tables of other sessions" msgstr "" -#: commands/tablecmds.c:527 +#: commands/tablecmds.c:719 #, c-format msgid "column \"%s\" duplicated" msgstr "ÐÏ×ÔÏÒÎÏÅ ÉÍÑ ËÏÌÏÎËÉ: \"%s\"" -#: commands/tablecmds.c:552 -#: parser/analyze.c:1200 -#: parser/analyze.c:1405 +#: commands/tablecmds.c:744 +#: parser/analyze.c:1067 +#: parser/analyze.c:1273 #, c-format msgid "inherited relation \"%s\" is not a table" msgstr "ÎÁÓÌÅÄÏ×ÁÎÎÏÅ ÏÔÎÏÛÅÎÉÅ \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÔÁÂÌÉÃÅÊ" -#: commands/tablecmds.c:558 +#: commands/tablecmds.c:750 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "ÎÅÌØÚÑ ÎÁÓÌÅÄÏ×ÁÔØ ×ÒÅÍÅÎÎÏÅ ÏÔÎÏÛÅÎÉÅ \"%s\"" -#: commands/tablecmds.c:575 +#: commands/tablecmds.c:767 #, c-format msgid "inherited relation \"%s\" duplicated" msgstr "ÐÏ×ÔÏÒÎÏÅ ÎÁÓÌÅÄÏ×ÁÎÎÏÅ ÏÔÎÏÛÅÎÉÅ \"%s\"" -#: commands/tablecmds.c:628 +#: commands/tablecmds.c:821 #, c-format msgid "merging multiple inherited definitions of column \"%s\"" msgstr "ÓÌÉÑÎÉÅ ÍÎÏÇÏÞÉÓÌÅÎÎÙÈ ÎÁÓÌÅÄÏ×ÁÎÎÙÈ ÏÐÒÅÄÅÌÅÎÉÊ ËÏÌÏÎËÉ \"%s\"" -#: commands/tablecmds.c:635 +#: commands/tablecmds.c:828 #, c-format msgid "inherited column \"%s\" has a type conflict" msgstr "ÎÁÓÌÅÄÏ×ÁÎÎÁÑ ËÏÌÏÎËÁ \"%s\" ÉÍÅÅÔ ËÏÎÆÌÉËÔ ÔÉÐÏ×" -#: commands/tablecmds.c:637 -#: commands/tablecmds.c:792 -#: parser/parse_coerce.c:263 -#: parser/parse_coerce.c:918 -#: parser/parse_coerce.c:935 -#: parser/parse_coerce.c:981 +#: commands/tablecmds.c:830 +#: commands/tablecmds.c:975 +#: parser/parse_coerce.c:239 +#: parser/parse_coerce.c:1130 +#: parser/parse_coerce.c:1147 +#: parser/parse_coerce.c:1193 #, c-format msgid "%s versus %s" msgstr "%s ÐÒÏÔÉ× %s" -#: commands/tablecmds.c:783 +#: commands/tablecmds.c:966 #, c-format msgid "merging column \"%s\" with inherited definition" msgstr "ÓÌÉÑÎÉÅ ËÏÌÏÎËÉ \"%s\" Ó ÎÁÓÌÅÄÏ×ÁÎÎÙÍ ÏÐÒÅÄÅÌÅÎÉÅÍ" -#: commands/tablecmds.c:790 +#: commands/tablecmds.c:973 #, c-format msgid "column \"%s\" has a type conflict" msgstr "ËÏÎÆÌÉËÔ ÔÉÐÏ× ÄÌÑ ËÏÌÏÎËÉ \"%s\"" -#: commands/tablecmds.c:841 +#: commands/tablecmds.c:1024 #, c-format msgid "column \"%s\" inherits conflicting default values" msgstr "ËÏÌÏÎËÁ \"%s\" ÎÁÓÌÅÄÕÅÔ ËÏÎÆÌÉËÔÕÀÝÉÅ ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ" -#: commands/tablecmds.c:843 +#: commands/tablecmds.c:1026 msgid "To resolve the conflict, specify a default explicitly." msgstr "äÌÑ ÒÅÛÅÎÉÑ ËÏÎÆÌÉËÔÁ ÕËÁÖÉÔÅ ÖÅÌÁÅÍÏÅ ÚÎÁÞÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ." -#: commands/tablecmds.c:1136 +#: commands/tablecmds.c:1319 #, c-format msgid "inherited column \"%s\" must be renamed in child tables too" msgstr "ÎÁÓÌÅÄÏ×ÁÎÎÁÑ ËÏÌÏÎËÁ \"%s\" ÔÁËÖÅ ÄÏÌÖÎÁ ÂÙÔØ ÐÅÒÅÉÍÅÎÏ×ÁÎÁ × ÔÁÂÌÉÃÁÈ-ÎÁÓÌÅÄÎÉËÁÈ" -#: commands/tablecmds.c:1154 +#: commands/tablecmds.c:1337 #, c-format msgid "cannot rename system column \"%s\"" msgstr "ÎÅÌØÚÑ ÐÅÒÅÉÍÅÎÏ×ÁÔØ ÓÉÓÔÅÍÎÕÀ ËÏÌÏÎËÕ \"%s\"" -#: commands/tablecmds.c:1164 +#: commands/tablecmds.c:1347 #, c-format msgid "cannot rename inherited column \"%s\"" msgstr "ÎÅÌØÚÑ ÐÅÒÅÉÍÅÎÏ×ÁÔØ ÎÁÓÌÅÄÏ×ÁÎÎÕÀ ËÏÌÏÎËÕ \"%s\"" -#: commands/tablecmds.c:1175 -#: commands/tablecmds.c:1790 +#: commands/tablecmds.c:1358 +#: commands/tablecmds.c:2919 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "ËÏÌÏÎËÁ \"%s\" ÄÌÑ Ó×ÑÚÉ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/tablecmds.c:1703 +#: commands/tablecmds.c:2219 #, c-format -msgid "child table \"%s\" has different type for column \"%s\"" -msgstr "ÔÁÂÌÉÃÁ-ÎÁÓÌÅÄÎÉË \"%s\" ÉÍÅÅÔ ÏÔÌÉÞÎÙÊ ÔÉÐ ÄÌÑ ËÏÌÏÎËÉ \"%s\"" +msgid "cannot rewrite system relation \"%s\"" +msgstr "" + +#: commands/tablecmds.c:2229 +msgid "cannot rewrite temporary tables of other sessions" +msgstr "ÎÅÌØÚÑ ÐÅÒÅÚÁÐÉÓÙ×ÁÔØ ×ÒÅÍÅÎÎÙÅ ÔÁÂÌÉÃÙ ÄÒÕÇÉÈ ÓÅÓÓÉÊ" -#: commands/tablecmds.c:1711 +#: commands/tablecmds.c:2520 #, c-format -msgid "merging definition of column \"%s\" for child \"%s\"" -msgstr "ÓÌÉÑÎÉÅ ÏÐÒÅÄÅÌÅÎÉÅ ËÏÌÏÎËÉ \"%s\" ÄÌÑ ÎÁÓÌÅÄÎÉËÁ \"%s\"" +msgid "check constraint \"%s\" is violated by some row" +msgstr "" -#: commands/tablecmds.c:1743 -msgid "column must be added to child tables too" -msgstr "ËÏÌÏÎËÁ ÔÁËÖÅ ÄÏÌÖÎÁ ÂÙÔØ ÄÏÂÁ×ÌÅÎÁ Ë ÔÁÂÌÉÃÁÍ-ÎÁÓÌÅÄÎÉËÁÍ" +#: commands/tablecmds.c:2533 +#, c-format +msgid "column \"%s\" contains null values" +msgstr "ËÏÌÏÎËÁ \"%s\" ÓÏÄÅÒÖÉÔ ÚÎÁÞÅÎÉÑ NULL" -#: commands/tablecmds.c:1762 -msgid "adding columns with defaults is not implemented" -msgstr "ÄÏÂÁ×ÌÅÎÉÅ ËÏÌÏÎÏË ÓÏ ÚÎÁÞÅÎÉÑÍÉ-ÐÏ-ÕÍÏÌÞÁÎÉÀ ÎÅ ÒÅÁÌÉÚÏ×ÁÎÏ" +#: commands/tablecmds.c:2618 +#, c-format +msgid "\"%s\" is not a table or view" +msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÔÁÂÌÉÃÅÊ ÉÌÉ ÐÒÅÄÓÔÁ×ÌÅÎÉÅÍ" -#: commands/tablecmds.c:1763 -msgid "Add the column, then use ALTER TABLE SET DEFAULT." -msgstr "äÏÂÁ×ØÔÅ ËÏÌÏÎËÕ É ÚÁÔÅÍ ÉÓÐÏÌØÚÕÊÔÅ ALTER TABLE SET DEFAULT." +#: commands/tablecmds.c:2771 +#, c-format +msgid "cannot alter table \"%s\" because column \"%s\".\"%s\" uses its rowtype" +msgstr "" -#: commands/tablecmds.c:1768 -msgid "adding NOT NULL columns is not implemented" -msgstr "ÄÏÂÁ×ÌÅÎÉÅ ËÏÌÏÎÏË NOT NULL ÎÅ ÒÅÁÌÉÚÏ×ÁÎÏ" +#: commands/tablecmds.c:2837 +msgid "column must be added to child tables too" +msgstr "ËÏÌÏÎËÁ ÔÁËÖÅ ÄÏÌÖÎÁ ÂÙÔØ ÄÏÂÁ×ÌÅÎÁ Ë ÔÁÂÌÉÃÁÍ-ÎÁÓÌÅÄÎÉËÁÍ" -#: commands/tablecmds.c:1769 -msgid "Add the column, then use ALTER TABLE SET NOT NULL." -msgstr "äÏÂÁ×ØÔÅ ËÏÌÏÎËÕ É ÚÁÔÅÍ ÉÓÐÏÌØÚÕÊÔÅ ALTER TABLE SET NOT NULL." +#: commands/tablecmds.c:2880 +#, c-format +msgid "child table \"%s\" has different type for column \"%s\"" +msgstr "ÔÁÂÌÉÃÁ-ÎÁÓÌÅÄÎÉË \"%s\" ÉÍÅÅÔ ÏÔÌÉÞÎÙÊ ÔÉÐ ÄÌÑ ËÏÌÏÎËÉ \"%s\"" + +#: commands/tablecmds.c:2892 +#, c-format +msgid "merging definition of column \"%s\" for child \"%s\"" +msgstr "ÓÌÉÑÎÉÅ ÏÐÒÅÄÅÌÅÎÉÅ ËÏÌÏÎËÉ \"%s\" ÄÌÑ ÎÁÓÌÅÄÎÉËÁ \"%s\"" -#: commands/tablecmds.c:1982 -#: commands/tablecmds.c:2126 -#: commands/tablecmds.c:2254 -#: commands/tablecmds.c:2418 +#: commands/tablecmds.c:3109 +#: commands/tablecmds.c:3202 +#: commands/tablecmds.c:3252 +#: commands/tablecmds.c:3348 +#: commands/tablecmds.c:3409 +#: commands/tablecmds.c:4617 #, c-format msgid "cannot alter system column \"%s\"" msgstr "ÎÅÌØÚÑ ÐÏÍÅÎÑÔØ ÓÉÓÔÅÍÎÕÀ ËÏÌÏÎËÕ \"%s\"" -#: commands/tablecmds.c:2018 +#: commands/tablecmds.c:3145 #, c-format msgid "column \"%s\" is in a primary key" msgstr "ËÏÌÏÎËÁ \"%s\" ÎÁÈÏÄÉÔÓÑ × ÐÅÒ×ÉÞÎÏÍ ËÌÀÞÅ" -#: commands/tablecmds.c:2147 +#: commands/tablecmds.c:3295 +#: commands/tablecmds.c:5416 #, c-format -msgid "column \"%s\" contains null values" -msgstr "ËÏÌÏÎËÁ \"%s\" ÓÏÄÅÒÖÉÔ ÚÎÁÞÅÎÉÑ NULL" - -#: commands/tablecmds.c:2197 -#, c-format -msgid "\"%s\" is not a table or view" -msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÔÁÂÌÉÃÅÊ ÉÌÉ ×ÉÄÏÍ" +msgid "\"%s\" is not a table or index" +msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÔÁÂÌÉÃÅÊ ÉÌÉ ÉÎÄÅËÓÏÍ" -#: commands/tablecmds.c:2336 +#: commands/tablecmds.c:3322 #, c-format msgid "statistics target %d is too low" msgstr "" -#: commands/tablecmds.c:2344 +#: commands/tablecmds.c:3330 #, c-format msgid "lowering statistics target to %d" msgstr "" -#: commands/tablecmds.c:2367 +#: commands/tablecmds.c:3390 #, c-format msgid "invalid storage type \"%s\"" msgstr "" -#: commands/tablecmds.c:2437 +#: commands/tablecmds.c:3421 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "" -#: commands/tablecmds.c:2543 -msgid "ALTER TABLE WITH OIDS is not yet implemented" -msgstr "ALTER TABLE WITH OIDS ÅÝ£ ÎÅ ÒÅÁÌÉÚÏ×ÁÎÏ" - -#: commands/tablecmds.c:2624 +#: commands/tablecmds.c:3478 #, c-format msgid "cannot drop system column \"%s\"" msgstr "ÎÅÌØÚÑ ÕÄÁÌÉÔØ ÓÉÓÔÅÍÎÕÀ ËÏÌÏÎËÕ \"%s\"" -#: commands/tablecmds.c:2632 +#: commands/tablecmds.c:3485 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "ÎÅÌØÚÑ ÕÄÁÌÉÔØ ÎÁÓÌÅÄÏ×ÁÎÎÕÀ ËÏÌÏÎËÕ \"%s\"" -#: commands/tablecmds.c:2959 -#, c-format -msgid "check constraint may only reference relation \"%s\"" -msgstr "" - -#: commands/tablecmds.c:3023 -#, c-format -msgid "check constraint \"%s\" is violated by some row" -msgstr "" - -#: commands/tablecmds.c:3074 +#: commands/tablecmds.c:3786 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "ÓÓÙÌÁÅÍÏÅ ÏÔÎÏÛÅÎÉÅ \"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÔÁÂÌÉÃÅÊ" -#: commands/tablecmds.c:3108 +#: commands/tablecmds.c:3820 msgid "cannot reference temporary table from permanent table constraint" msgstr "" -#: commands/tablecmds.c:3115 +#: commands/tablecmds.c:3827 msgid "cannot reference permanent table from temporary table constraint" msgstr "" -#: commands/tablecmds.c:3157 -#: commands/tablecmds.c:3593 +#: commands/tablecmds.c:3872 +#: commands/tablecmds.c:4362 msgid "number of referencing and referenced columns for foreign key disagree" msgstr "" -#: commands/tablecmds.c:3239 +#: commands/tablecmds.c:3893 +#, c-format +msgid "foreign key constraint \"%s\" cannot be implemented" +msgstr "" + +#: commands/tablecmds.c:3896 +#, c-format +msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." +msgstr "" + +#: commands/tablecmds.c:3910 +#, c-format +msgid "foreign key constraint \"%s\" will require costly sequential scans" +msgstr "" + +#: commands/tablecmds.c:3913 +#, c-format +msgid "Key columns \"%s\" and \"%s\" are of different types: %s and %s." +msgstr "" + +#: commands/tablecmds.c:3998 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "" -#: commands/tablecmds.c:3244 +#: commands/tablecmds.c:4003 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "" -#: commands/tablecmds.c:3307 +#: commands/tablecmds.c:4072 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "" -#: commands/tablecmds.c:3421 +#: commands/tablecmds.c:4190 #, c-format msgid "there is no unique constraint matching given keys for referenced table \"%s\"" msgstr "" -#: commands/tablecmds.c:3843 -#: commands/trigger.c:2306 +#: commands/tablecmds.c:4574 +#: commands/trigger.c:2785 #, c-format msgid "constraint \"%s\" does not exist" msgstr "ËÏÎÓÔÒÅÊÎÔ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/tablecmds.c:3848 +#: commands/tablecmds.c:4579 #, c-format msgid "multiple constraints named \"%s\" were dropped" msgstr "" -#: commands/tablecmds.c:3890 +#: commands/tablecmds.c:4624 #, c-format -msgid "\"%s\" is not a table, TOAST table, index, view, or sequence" -msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÔÁÀÌÉÃÅÊ, TOAST-ÔÁÂÌÉÃÅÊ, ÉÎÄÅËÓÏÍ, ÐÒÅÄÓÔÁ×ÌÅÎÉÅÍ ÉÌÉ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØÀ" +msgid "cannot alter inherited column \"%s\"" +msgstr "ÎÅÌØÚÑ ÉÚÍÅÎÉÔØ ÎÁÓÌÅÄÏ×ÁÎÎÕÀ ËÏÌÏÎËÕ \"%s\"" -#: commands/tablecmds.c:4074 -msgid "shared tables cannot be toasted after initdb" -msgstr "" +#: commands/tablecmds.c:4664 +msgid "transform expression must not return a set" +msgstr "×ÙÒÁÖÅÎÉÅ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ ÎÅ ÍÏÖÅÔ ×ÏÚ×ÒÁÝÁÔØ ÍÎÏÖÅÓÔ×Ï" -#: commands/tablecmds.c:4089 -#, c-format -msgid "table \"%s\" already has a TOAST table" -msgstr "ÔÁÂÌÉÃÁ \"%s\" ÕÖÅ ÉÍÅÅÔ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÕÀ TOAST-ÔÁÂÌÉÃÕ" +#: commands/tablecmds.c:4670 +msgid "cannot use subquery in transform expression" +msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÏÄÚÁÐÒÏÓ × ×ÙÒÁÖÅÎÉÉ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ" -#: commands/tablecmds.c:4106 -#, c-format -msgid "table \"%s\" does not need a TOAST table" -msgstr "ÔÁÂÌÉÃÁ \"%s\" ÎÅ ÎÕÖÄÁÅÔÓÑ × ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ TOAST-ÔÁÂÌÉÃÅ" +#: commands/tablecmds.c:4674 +msgid "cannot use aggregate function in transform expression" +msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÁÇÒÅÇÁÔÎÕÀ ÆÕÎËÃÉÀ × ×ÙÒÁÖÅÎÉÉ ÐÒÅÏÂÒÁÚÏ×ÁÎÉÑ" -#: commands/operatorcmds.c:106 -#: commands/operatorcmds.c:114 -msgid "setof type not allowed for operator argument" +#: commands/tablecmds.c:4691 +#, c-format +msgid "column \"%s\" cannot be cast to type \"%s\"" msgstr "" -#: commands/operatorcmds.c:141 +#: commands/tablecmds.c:4717 #, c-format -msgid "operator attribute \"%s\" not recognized" -msgstr "ÁÔÒÉÂÕÔ ÏÐÅÒÁÔÏÒÁ \"%s\" ÎÅ ÒÁÓÐÏÚÎÁÎ" - -#: commands/operatorcmds.c:151 -msgid "operator procedure must be specified" -msgstr "ÄÏÌÖÎÁ ÂÙÔØ ÕËÁÚÁÎÁ ÐÒÏÃÅÄÕÒÁ ÏÐÅÒÁÔÏÒÁ" - -#: commands/portalcmds.c:54 -#: commands/portalcmds.c:164 -#: commands/portalcmds.c:209 -msgid "invalid cursor name: must not be empty" -msgstr "ÎÅ×ÅÒÎÏÅ ÉÍÑ ËÕÒÓÏÒÁ: ÉÍÑ ÎÅ ÄÏÌÖÎÏ ÂÙÔØ ÐÕÓÔÙÍ" +msgid "type of inherited column \"%s\" must be changed in child tables too" +msgstr "" -#: commands/portalcmds.c:80 -msgid "DECLARE CURSOR may not specify INTO" -msgstr "DECLARE CURSOR ÎÅ ÍÏÖÅÔ ÕËÁÚÙ×ÁÔØ INTO" +#: commands/tablecmds.c:4755 +#, c-format +msgid "cannot alter type of column \"%s\" twice" +msgstr "" -#: commands/portalcmds.c:84 -msgid "DECLARE CURSOR ... FOR UPDATE is not supported" -msgstr "DECLARE CURSOR ... FOR UPDATE ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" +#: commands/tablecmds.c:4789 +#, c-format +msgid "default for column \"%s\" cannot be cast to type \"%s\"" +msgstr "" -#: commands/portalcmds.c:85 -msgid "Cursors must be READ ONLY." -msgstr "ëÕÒÓÏÒÙ ÄÏÌÖÎÙ ÂÙÔØ READ ONLY." +#: commands/tablecmds.c:4889 +msgid "cannot alter type of a column used by a view or rule" +msgstr "" -#: commands/portalcmds.c:172 -#: commands/portalcmds.c:219 +#: commands/tablecmds.c:4890 #, c-format -msgid "cursor \"%s\" does not exist" -msgstr "ËÕÒÓÏÒ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" +msgid "%s depends on column \"%s\"" +msgstr "%s ÚÁ×ÉÓÉÔ ÏÔ ËÏÌÏÎËÉ \"%s\"" -#: commands/portalcmds.c:308 -#: tcop/pquery.c:430 -#: tcop/pquery.c:945 +#: commands/tablecmds.c:5206 #, c-format -msgid "portal \"%s\" already active" -msgstr "ÐÏÒÔÁÌ \"%s\" ÕÖÅ ÁËÔÉ×ÅÎ" +msgid "\"%s\" is not a table, TOAST table, index, view, or sequence" +msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÔÁÀÌÉÃÅÊ, TOAST-ÔÁÂÌÉÃÅÊ, ÉÎÄÅËÓÏÍ, ÐÒÅÄÓÔÁ×ÌÅÎÉÅÍ ÉÌÉ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØÀ" -#: commands/portalcmds.c:364 -msgid "could not reposition held cursor" +#: commands/tablecmds.c:5446 +msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "" -#: commands/prepare.c:61 -msgid "invalid statement name: must not be empty" -msgstr "ÎÅ×ÅÒÎÏÅ ÉÍÑ ËÏÍÁÎÄÙ: ÉÍÑ ÎÅ ÄÏÌÖÎÏ ÂÙÔØ ÐÕÓÔÙÍ" - -#: commands/prepare.c:80 -msgid "utility statements cannot be prepared" +#: commands/tablecmds.c:5476 +#, c-format +msgid "cannot move system relation \"%s\"" msgstr "" -# [SM]: TO REVIEW -#: commands/prepare.c:168 -#: commands/prepare.c:173 -#: commands/prepare.c:536 -msgid "prepared statement is not a SELECT" -msgstr "ÚÁÇÏÔÏ×ÌÅÎÎÁÑ ËÏÍÁÎÄÁ ÎÅ Ñ×ÌÑÅÔÓÑ SELECTÏÍ" +#: commands/tablecmds.c:5486 +msgid "cannot move temporary tables of other sessions" +msgstr "ÎÅÌØÚÑ ÐÅÒÅÍÅÝÁÔØ ×ÒÅÍÅÎÎÙÅ ÔÁÂÌÉÃÙ ÄÒÕÇÉÈ ÓÅÓÓÉÊ" -# [SM]: TO REVIEW -#: commands/prepare.c:308 +#: commands/tablecmds.c:5694 +msgid "shared tables cannot be toasted after initdb" +msgstr "" + +#: commands/tablecmds.c:5709 #, c-format -msgid "prepared statement \"%s\" already exists" -msgstr "ÚÁÇÏÔÏ×ÌÅÎÎÁÑ ËÏÍÁÎÄÁ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" +msgid "table \"%s\" already has a TOAST table" +msgstr "ÔÁÂÌÉÃÁ \"%s\" ÕÖÅ ÉÍÅÅÔ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÕÀ TOAST-ÔÁÂÌÉÃÕ" -# [SM]: TO REVIEW -#: commands/prepare.c:388 +#: commands/tablecmds.c:5726 #, c-format -msgid "prepared statement \"%s\" does not exist" -msgstr "ÚÁÇÏÔÏ×ÌÅÎÎÁÑ ËÏÍÁÎÄÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" +msgid "table \"%s\" does not need a TOAST table" +msgstr "ÔÁÂÌÉÃÁ \"%s\" ÎÅ ÎÕÖÄÁÅÔÓÑ × ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÊ TOAST-ÔÁÂÌÉÃÅ" #: commands/proclang.c:64 msgid "must be superuser to create procedural language" @@ -2861,8 +3600,8 @@ msgid "must be superuser to rename procedural language" msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÐÅÒÅÉÍÅÎÏ×ÁÎÉÑ ÐÒÏÃÅÄÕÒÎÏÇÏ ÑÚÙËÁ" #: commands/schemacmds.c:84 -#: commands/user.c:832 -#: commands/user.c:967 +#: commands/user.c:883 +#: commands/user.c:1018 msgid "permission denied" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅÝ£Î" @@ -2872,633 +3611,742 @@ msgid "\"%s\" is not a superuser, so cannot create a schema for \"%s\"" msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ, ÐÏÜÔÏÍÕ ÎÅ ÍÏÖÅÔ ÓÏÚÄÁÔØ ÓÈÅÍÕ ÄÌÑ \"%s\"" #: commands/schemacmds.c:100 -#: commands/schemacmds.c:272 +#: commands/schemacmds.c:268 #, c-format msgid "unacceptable schema name \"%s\"" msgstr "ÎÅÐÒÉÅÍÌÅÍÏÅ ÉÍÑ ÓÈÅÍÙ: \"%s\"" #: commands/schemacmds.c:101 -#: commands/schemacmds.c:273 +#: commands/schemacmds.c:269 msgid "The prefix \"pg_\" is reserved for system schemas." msgstr "ðÒÅÆÉËÓ \"pg_\" ÚÁÒÅÚÅÒ×ÉÒÏ×ÁÎ ÄÌÑ ÓÉÓÔÅÍÎÙÈ ÓÈÅÍ." -#: commands/sequence.c:400 -#: commands/sequence.c:592 -#: commands/sequence.c:635 +#: commands/sequence.c:399 +#: commands/sequence.c:591 +#: commands/sequence.c:634 #, c-format msgid "permission denied for sequence %s" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÄÌÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ %s" -#: commands/sequence.c:477 +#: commands/sequence.c:476 #, c-format msgid "nextval: reached maximum value of sequence \"%s\" (%s)" msgstr "nextval: ÄÏÓÔÉÇÎÕÔÏ ÍÁËÓÉÍÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ \"%s\" (%s)" -#: commands/sequence.c:500 +#: commands/sequence.c:499 #, c-format msgid "nextval: reached minimum value of sequence \"%s\" (%s)" msgstr "nextval: ÄÏÓÔÉÇÎÕÔÏ ÍÉÎÉÍÁÌØÎÏÅ ÚÎÁÞÅÎÉÅ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ \"%s\" (%s)" -#: commands/sequence.c:598 +#: commands/sequence.c:597 #, c-format msgid "currval of sequence \"%s\" is not yet defined in this session" msgstr "currval (ÔÅËÕÝÅÅ ÚÎÁÞÅÎÉÅ) ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ \"%s\" ÅÝ£ ÎÅ ÏÐÒÅÄÅÌÅÎÏ × ÜÔÏÊ ÓÅÓÓÉÉ" -#: commands/sequence.c:652 +#: commands/sequence.c:651 #, c-format msgid "setval: value %s is out of bounds for sequence \"%s\" (%s..%s)" msgstr "setval: ÚÎÁÞÅÎÉÅ %s ×ÎÅ ÐÒÅÄÅÌÏ× ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ \"%s\" (%s..%s)" -#: commands/sequence.c:799 -#: executor/execGrouping.c:328 -#: executor/execGrouping.c:388 -#: executor/nodeIndexscan.c:1043 -#: executor/spi.c:85 -#: executor/spi.c:167 -#: guc-file.l:151 -#: guc-file.l:277 -#: guc-file.l:314 +#: commands/sequence.c:794 +#: executor/execGrouping.c:384 #: lib/dllist.c:43 #: lib/dllist.c:88 -#: libpq/auth.c:633 -#: postmaster/pgstat.c:857 -#: postmaster/pgstat.c:874 -#: postmaster/pgstat.c:2271 -#: postmaster/pgstat.c:2334 -#: postmaster/pgstat.c:2379 +#: libpq/auth.c:640 #: postmaster/pgstat.c:2430 -#: postmaster/postmaster.c:1562 -#: postmaster/postmaster.c:2159 -#: postmaster/postmaster.c:2922 -#: storage/buffer/localbuf.c:129 -#: storage/file/fd.c:582 -#: storage/file/fd.c:615 -#: storage/file/fd.c:760 -#: storage/ipc/sinval.c:348 -#: storage/smgr/mm.c:191 +#: postmaster/pgstat.c:2497 +#: postmaster/postmaster.c:810 +#: postmaster/postmaster.c:1678 +#: postmaster/postmaster.c:2397 +#: storage/buffer/localbuf.c:139 +#: storage/file/fd.c:588 +#: storage/file/fd.c:621 +#: storage/file/fd.c:767 +#: storage/ipc/sinval.c:789 +#: storage/lmgr/lock.c:494 +#: storage/smgr/md.c:844 +#: storage/smgr/smgr.c:213 #: utils/adt/cash.c:297 #: utils/adt/cash.c:312 -#: utils/adt/regexp.c:190 -#: utils/adt/ri_triggers.c:3434 -#: utils/cache/relcache.c:172 -#: utils/cache/relcache.c:182 -#: utils/cache/relcache.c:196 -#: utils/cache/relcache.c:1218 -#: utils/cache/typcache.c:121 -#: utils/fmgr/dfmgr.c:119 -#: utils/init/miscinit.c:177 -#: utils/init/miscinit.c:198 -#: utils/init/miscinit.c:208 -#: utils/misc/guc.c:1660 -#: utils/misc/guc.c:1857 -#: utils/misc/guc.c:2830 -#: utils/misc/guc.c:2877 -#: utils/misc/guc.c:3763 -#: utils/misc/guc.c:3898 -#: utils/misc/guc.c:3963 -#: utils/misc/guc.c:3971 -#: utils/misc/guc.c:3980 -#: utils/mmgr/aset.c:335 -#: utils/mmgr/aset.c:501 -#: utils/mmgr/aset.c:698 -#: utils/mmgr/aset.c:891 -#: utils/mmgr/portalmem.c:75 +#: utils/adt/oracle_compat.c:73 +#: utils/adt/oracle_compat.c:125 +#: utils/adt/regexp.c:200 +#: utils/adt/ri_triggers.c:3472 +#: utils/cache/relcache.c:169 +#: utils/cache/relcache.c:183 +#: utils/cache/relcache.c:1135 +#: utils/cache/typcache.c:165 +#: utils/cache/typcache.c:487 +#: utils/fmgr/dfmgr.c:127 +#: utils/fmgr/fmgr.c:527 +#: utils/hash/dynahash.c:178 +#: utils/hash/dynahash.c:248 +#: utils/init/miscinit.c:213 +#: utils/init/miscinit.c:234 +#: utils/init/miscinit.c:244 +#: utils/misc/guc.c:1910 +#: utils/misc/guc.c:1923 +#: utils/misc/guc.c:1936 +#: utils/mmgr/aset.c:337 +#: utils/mmgr/aset.c:503 +#: utils/mmgr/aset.c:700 +#: utils/mmgr/aset.c:893 +#: utils/mmgr/portalmem.c:78 msgid "out of memory" msgstr "ÎÅ È×ÁÔÁÅÔ ÐÁÍÑÔÉ" -#: commands/sequence.c:940 +#: commands/sequence.c:956 msgid "INCREMENT must not be zero" msgstr "INCREMENT ÎÅ ÍÏÖÅÔ ÂÙÔØ ÎÕÌ£Í" -#: commands/sequence.c:990 +#: commands/sequence.c:1002 #, c-format msgid "MINVALUE (%s) must be less than MAXVALUE (%s)" msgstr "MINVALUE (%s) ÄÏÌÖÎÏ ÂÙÔØ ÍÅÎØÛÅ ÞÅÍ MAXVALUE (%s)" -#: commands/sequence.c:1021 +#: commands/sequence.c:1033 #, c-format msgid "START value (%s) can't be less than MINVALUE (%s)" msgstr "ÚÎÁÞÅÎÉÅ START (%s) ÎÅ ÍÏÖÅÔ ÂÙÔØ ÍÅÎØÛÅ ÞÅÍ MINVALUE (%s)" -#: commands/sequence.c:1033 +#: commands/sequence.c:1045 #, c-format msgid "START value (%s) can't be greater than MAXVALUE (%s)" msgstr "ÚÎÁÞÅÎÉÅ START (%s) ÎÅ ÍÏÖÅÔ ÂÙÔØ ÂÏÌØÛÅ ÞÅÍ MAXVALUE (%s)" -#: commands/sequence.c:1048 +#: commands/sequence.c:1060 #, c-format msgid "CACHE (%s) must be greater than zero" msgstr "CACHE (%s) ÄÏÌÖÎÏ ÂÙÔØ ÂÏÌØÛÅ ÎÕÌÑ" -#: commands/trigger.c:137 +#: commands/trigger.c:134 #, c-format msgid "could not determine referenced table for constraint \"%s\"" msgstr "" -#: commands/trigger.c:222 +#: commands/trigger.c:219 msgid "multiple INSERT events specified" msgstr "ÕËÁÚÁÎÙ ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ÓÏÂÙÔÉÑ INSERT" -#: commands/trigger.c:229 +#: commands/trigger.c:226 msgid "multiple DELETE events specified" msgstr "ÕËÁÚÁÎÙ ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ÓÏÂÙÔÉÑ DELETE" -#: commands/trigger.c:236 +#: commands/trigger.c:233 msgid "multiple UPDATE events specified" msgstr "ÕËÁÚÁÎÙ ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ÓÏÂÙÔÉÑ UPDATE" -#: commands/trigger.c:269 +#: commands/trigger.c:266 #: commands/trigger.c:654 #, c-format msgid "trigger \"%s\" for relation \"%s\" already exists" msgstr "ÔÒÉÇÇÅÒ \"%s\" ÄÌÑ Ó×ÑÚÉ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/trigger.c:290 +#: commands/trigger.c:287 #, c-format msgid "changing return type of function %s from \"opaque\" to \"trigger\"" msgstr "ÉÚÍÅÎÅÎÉÅ ÔÉÐÁ ×ÏÚ×ÒÁÔÁ ÆÕÎËÃÉÉ %s ÉÚ \"opaque\" ÎÁ \"trigger\"" -#: commands/trigger.c:297 +#: commands/trigger.c:294 #, c-format msgid "function %s must return type \"trigger\"" msgstr "ÆÕÎËÃÉÑ %s ÄÏÌÖÎÁ ×ÏÚ×ÒÁÝÁÔØ ÔÉÐ \"trigger\"" -#: commands/trigger.c:1161 +#: commands/trigger.c:1160 #, c-format msgid "trigger function %u returned null value" msgstr "" -#: commands/trigger.c:1213 -#: commands/trigger.c:1326 -#: commands/trigger.c:1455 +#: commands/trigger.c:1214 +#: commands/trigger.c:1331 +#: commands/trigger.c:1464 msgid "BEFORE STATEMENT trigger cannot return a value" msgstr "" -#: commands/trigger.c:1582 -#: executor/execMain.c:1194 -#: executor/execMain.c:1495 -#: executor/execMain.c:1631 +#: commands/trigger.c:1593 +#: executor/execMain.c:1151 +#: executor/execMain.c:1457 +#: executor/execMain.c:1598 msgid "could not serialize access due to concurrent update" msgstr "" -#: commands/trigger.c:2257 +#: commands/trigger.c:2731 msgid "unnamed constraints cannot be set explicitly" msgstr "" -#: commands/trigger.c:2290 +#: commands/trigger.c:2770 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "" -#: commands/typecmds.c:135 +#: ../port/copydir.c:47 +#: commands/tablespace.c:150 +#: commands/tablespace.c:158 +#: commands/tablespace.c:164 +#, c-format +msgid "could not create directory \"%s\": %m" +msgstr "" + +#: commands/tablespace.c:177 +#, c-format +msgid "could not stat directory \"%s\": %m" +msgstr "" + +#: commands/tablespace.c:186 +#, c-format +msgid "\"%s\" exists but is not a directory" +msgstr "\"%s\" ÓÕÝÅÓÔ×ÕÅÔ ÎÏ ÎÅ Ñ×ÌÑÅÔÓÑ ÄÉÒÅËÔÏÒÉÅÊ" + +#: commands/tablespace.c:223 +#, c-format +msgid "permission denied to create tablespace \"%s\"" +msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÐÏ ÓÏÚÄÁÎÉÀ tablespace \"%s\"" + +#: commands/tablespace.c:225 +msgid "Must be superuser to create a tablespace." +msgstr "îÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÓÏÚÄÁÎÉÑ tablespace." + +#: commands/tablespace.c:244 +msgid "tablespace location may not contain single quotes" +msgstr "" + +#: commands/tablespace.c:254 +msgid "tablespace location must be an absolute path" +msgstr "" + +#: commands/tablespace.c:264 +#, c-format +msgid "tablespace location \"%s\" is too long" +msgstr "" + +#: commands/tablespace.c:274 +#: commands/tablespace.c:766 +#, c-format +msgid "unacceptable tablespace name \"%s\"" +msgstr "ÎÅÐÒÉÅÍÌÅÍÏÅ ÉÍÑ tablespace: \"%s\"" + +#: commands/tablespace.c:276 +#: commands/tablespace.c:767 +msgid "The prefix \"pg_\" is reserved for system tablespaces." +msgstr "ðÒÅÆÉËÓ \"pg_\" ÚÁÒÅÚÅÒ×ÉÒÏ×ÁÎ ÄÌÑ ÓÉÓÔÅÍÎÙÈ tablespaces." + +#: commands/tablespace.c:286 +#: commands/tablespace.c:779 +#, c-format +msgid "tablespace \"%s\" already exists" +msgstr "tablespace \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" + +#: commands/tablespace.c:321 +#: commands/tablespace.c:1033 +#, c-format +msgid "could not set permissions on directory \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÓÔÁÎÏ×ÉÔØ ÐÒÁ×Á ÄÌÑ ÄÉÒÅËÔÏÒÉÉ \"%s\": %m" + +#: commands/tablespace.c:330 +#, c-format +msgid "directory \"%s\" is not empty" +msgstr "ÄÉÒÅËÔÏÒÉÑ \"%s\" ÎÅ ÐÕÓÔÁ" + +#: commands/tablespace.c:351 +#: commands/tablespace.c:1048 +#, c-format +msgid "could not create symbolic link \"%s\": %m" +msgstr "" + +#: commands/tablespace.c:382 +#: commands/tablespace.c:479 +msgid "tablespaces are not supported on this platform" +msgstr "tablespaces ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÎÁ ÜÔÏÊ ÐÌÁÔÆÏÒÍÅ" + +#: commands/tablespace.c:456 +#, c-format +msgid "tablespace \"%s\" is not empty" +msgstr "tablespace \"%s\" ÎÅ ÐÕÓÔ" + +#: commands/tablespace.c:555 +#, c-format +msgid "could not delete directory \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÄÁÌÉÔØ ÄÉÒÅËÔÏÒÉÀ \"%s\": %m" + +#: commands/tablespace.c:606 +#, c-format +msgid "could not remove directory \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÄÁÌÉÔØ ÄÉÒÅËÔÏÒÉÀ \"%s\": %m" + +#: commands/tablespace.c:614 +#, c-format +msgid "could not remove symbolic link \"%s\": %m" +msgstr "" + +#: commands/tablespace.c:1061 +#, c-format +msgid "tablespace %u is not empty" +msgstr "tablespace %u ÎÅ ÐÕÓÔ" + +#: commands/vacuum.c:286 +msgid "VACUUM FULL FREEZE is not supported" +msgstr "VACUUM FULL FREEZE ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" + +#: commands/vacuum.c:287 +msgid "Use VACUUM FULL, then VACUUM FREEZE." +msgstr "" + +#: commands/vacuum.c:607 +msgid "oldest xmin is far in the past" +msgstr "ÓÁÍÙÊ ÓÔÁÒÙÊ xmin ÄÁÌÅËÏ × ÐÒÏÛÌÏÍ" + +#: commands/vacuum.c:608 +msgid "Close open transactions soon to avoid wraparound problems." +msgstr "" + +#: commands/vacuum.c:825 +msgid "some databases have not been vacuumed in over 2 billion transactions" +msgstr "ÓÂÏÒËÁ ÍÕÓÏÒÁ ÎÅ ÂÙÌÁ ÐÒÏÉÚ×ÅÄÅÎÁ × ÎÅËÏÔÏÒÙÈ ÂÁÚÁÈ Ó ÂÏÌÅÅ 2 ÍÉÌÌÉÁÒÄÏ× ÔÒÁÎÚÁËÃÉÊ" + +#: commands/vacuum.c:826 +msgid "You may have already suffered transaction-wraparound data loss." +msgstr "" + +#: commands/vacuum.c:837 +msgid "some databases have not been vacuumed in over 1 billion transactions" +msgstr "ÓÂÏÒËÁ ÍÕÓÏÒÁ ÎÅ ÂÙÌÁ ÐÒÏÉÚ×ÅÄÅÎÁ × ÎÅËÏÔÏÒÙÈ ÂÁÚÁÈ Ó ÂÏÌÅÅ 1 ÍÉÌÌÉÁÒÄÁ ÔÒÁÎÚÁËÃÉÊ" + +#: commands/vacuum.c:838 +msgid "Better vacuum them soon, or you may have a wraparound failure." +msgstr "" + +#: commands/vacuum.c:845 +#, c-format +msgid "some databases have not been vacuumed in %d transactions" +msgstr "ÓÂÏÒËÁ ÍÕÓÏÒÁ ÎÅ ÂÙÌÁ ÐÒÏÉÚ×ÅÄÅÎÁ × ÎÅËÏÔÏÒÙÈ ÂÁÚÁÈ Ó ÞÉÓÌÏÍ ÔÒÁÎÚÁËÃÉÊ: %d" + +#: commands/vacuum.c:847 +#, c-format +msgid "Better vacuum them within %d transactions, or you may have a wraparound failure." +msgstr "" + +#: commands/vacuum.c:943 +#, c-format +msgid "skipping \"%s\" --- only table or database owner can vacuum it" +msgstr "ÐÒÏÐÕÓËÁÅÔÓÑ \"%s\" --- ÔÏÌØËÏ ×ÌÁÄÅÌÅà ÔÁÂÌÉÃÙ ÉÌÉ ÂÁÚÙ ÍÏÖÅÔ ÐÒÏÉÚ×ÏÄÉÔØ ÓÂÏÒËÕ ÍÕÓÏÒÁ × ÄÁÎÎÏÍ ÏÂßÅËÔÅ" + +#: commands/vacuum.c:958 +#, c-format +msgid "skipping \"%s\" --- cannot vacuum indexes, views, or special system tables" +msgstr "ÐÒÏÐÕÓËÁÅÔÓÑ \"%s\" --- ÎÅÌØÚÑ ÐÒÏÉÚ×ÏÄÉÔØ ÓÂÏÒËÕ ÍÕÓÏÒÁ ÄÌÑ ÉÎÄÅËÓÏ×, ÐÒÅÄÓÔÁ×ÌÅÎÉÊ ÉÌÉ ÓÐÅÃÉÁÌØÎÙÈ ÓÉÓÔÅÍÎÙÈ ÔÁÂÌÉÃ" + +#: commands/vacuum.c:1181 +#: commands/vacuumlazy.c:221 +#, c-format +msgid "vacuuming \"%s.%s\"" +msgstr "ÐÒÏÉÚ×ÏÄÉÔÓÑ ÓÂÏÒËÁ ÍÕÓÏÒÁ ÄÌÑ \"%s.%s\"" + +#: commands/vacuum.c:1229 +#: commands/vacuumlazy.c:293 +#, c-format +msgid "relation \"%s\" page %u is uninitialized --- fixing" +msgstr "ÏÔÎÏÛÅÎÉÅ: \"%s\", ÓÔÒÁÎÉÃÁ %u ÎÅ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎÁ --- ÉÓÐÒÁ×ÌÑÅÔÓÑ" + +#: commands/vacuum.c:1352 +#, c-format +msgid "relation \"%s\" TID %u/%u: InsertTransactionInProgress %u --- can't shrink relation" +msgstr "ÏÔÎÏÛÅÎÉÅ \"%s\" TID %u/%u: InsertTransactionInProgress %u --- ÎÅ × ÓÏÓÔÏÑÎÉÉ ÕÍÅÎØÛÉÔØ ÏÔÎÏÛÅÎÉÅ" + +#: commands/vacuum.c:1365 +#, c-format +msgid "relation \"%s\" TID %u/%u: DeleteTransactionInProgress %u --- can't shrink relation" +msgstr "ÏÔÎÏÛÅÎÉÅ \"%s\" TID %u/%u: DeleteTransactionInProgress %u --- ÎÅ × ÓÏÓÔÏÑÎÉÉ ÕÍÅÎØÛÉÔØ ÏÔÎÏÛÅÎÉÅ" + +#: commands/vacuum.c:1518 +#: commands/vacuumlazy.c:456 +#, c-format +msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages" +msgstr "\"%s\": ÎÁÊÄÅÎÏ %.0f ÕÄÁÌÑÍÙÈ, %.0f ÎÅÕÄÁÌÑÅÍÙÈ ×ÅÒÓÉÊ ÓÔÒÏËÉ × ÓÔÒÁÎÉÃÁÈ: %u" + +#: commands/vacuum.c:1521 +#, c-format +msgid "" +"%.0f dead row versions cannot be removed yet.\n" +"Nonremovable row versions range from %lu to %lu bytes long.\n" +"There were %.0f unused item pointers.\n" +"Total free space (including removable row versions) is %.0f bytes.\n" +"%u pages are or will become empty, including %u at the end of the table.\n" +"%u pages containing %.0f free bytes are potential move destinations.\n" +"%s" +msgstr "" + +#: commands/vacuum.c:2270 +#, c-format +msgid "\"%s\": moved %u row versions, truncated %u to %u pages" +msgstr "" + +#: commands/vacuum.c:2273 +#: commands/vacuumlazy.c:517 +#: commands/vacuumlazy.c:820 +#: nodes/print.c:86 +#: storage/lmgr/deadlock.c:888 +#: tcop/postgres.c:3341 +#, c-format +msgid "%s" +msgstr "%s" + +#: commands/vacuum.c:2812 +#: commands/vacuumlazy.c:817 +#, c-format +msgid "\"%s\": truncated %u to %u pages" +msgstr "" + +#: commands/vacuum.c:2902 +#: commands/vacuum.c:2969 +#: commands/vacuumlazy.c:630 +#: commands/vacuumlazy.c:705 +#, c-format +msgid "index \"%s\" now contains %.0f row versions in %u pages" +msgstr "ÉÎÄÅËÓ \"%s\" ÔÅÐÅÒØ ÓÏÄÅÒÖÉÔ ×ÅÒÓÉÊ ÓÔÒÏËÉ: %.0f, ÎÁ ÓÔÒÁÎÉÃÁÈ: %u" + +#: commands/vacuum.c:2906 +#: commands/vacuumlazy.c:634 +#, c-format +msgid "" +"%u index pages have been deleted, %u are currently reusable.\n" +"%s" +msgstr "" +"ÓÔÒÁÎÉà ÉÎÄÅËÓÁ ÕÄÁÌÅÎÏ: %u, ÇÏÔÏ×Ï Ë ÐÅÒÅÉÓÐÏÌØÚÏ×ÁÎÉÀ: %u.\n" +"%s" + +#: commands/vacuum.c:2920 +#: commands/vacuum.c:2989 +#, c-format +msgid "index \"%s\" contains %.0f row versions, but table contains %.0f row versions" +msgstr "ÉÎÄÅËÓ ÓÏÄÅÒÖÉÔ \"%s\" ÓÏÄÅÒÖÉÔ ×ÅÒÓÉÊ ÓÔÒÏËÉ: %.0f, Á ÔÁÂÌÉÃÁ ÓÏÄÅÒÖÉÔ: %.0f" + +#: commands/vacuum.c:2923 +#: commands/vacuum.c:2992 +msgid "Rebuild the index with REINDEX." +msgstr "ðÅÒÅÓÔÒÏÊÔÅ ÉÎÄÅËÓ Ó ÐÏÍÏÝØÀ REINDEX." + +#: commands/vacuum.c:2973 +#: commands/vacuumlazy.c:709 +#, c-format +msgid "" +"%.0f index row versions were removed.\n" +"%u index pages have been deleted, %u are currently reusable.\n" +"%s" +msgstr "" +"×ÅÒÓÉÊ ÔÒÏËÉ ÉÎÄÅËÓÁ ÕÄÁÌÅÎÏ: %.0f.\n" +"ÓÔÒÁÎÉà ÉÎÄÅËÓÁ ÕÄÁÌÅÎÏ: %u, ÓÔÒÁÎÉà ÇÏÔÏ×Ï Ë ÐÅÒÅÉÓÐÏÌØÚÏ×ÁÎÉÀ: %u.\n" +"%s" + +#: commands/typecmds.c:138 #, c-format msgid "type names must be %d characters or less" msgstr "ÉÍÅÎÁ ÔÉÐÏ× ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ %d ÉÌÉ ÍÅÎÅÅ ÓÉÍ×ÏÌÏ×" -#: commands/typecmds.c:167 +#: commands/typecmds.c:173 #, c-format msgid "array element type cannot be %s" msgstr "ÔÉÐ ÜÌÅÍÅÎÔÁ ÍÁÓÓÉ×Á ÎÅ ÍÏÖÅÔ ÂÙÔØ %s" -#: commands/typecmds.c:200 +#: commands/typecmds.c:206 #, c-format msgid "alignment \"%s\" not recognized" msgstr "" -#: commands/typecmds.c:217 +#: commands/typecmds.c:223 #, c-format msgid "storage \"%s\" not recognized" msgstr "" -#: commands/typecmds.c:222 +#: commands/typecmds.c:228 #, c-format msgid "type attribute \"%s\" not recognized" msgstr "ÁÔÒÉÂÕÔ ÔÉÐÁ \"%s\" ÎÅ ÒÁÓÐÏÚÎÁÎ" -#: commands/typecmds.c:232 +#: commands/typecmds.c:238 msgid "type input function must be specified" msgstr "" -#: commands/typecmds.c:236 +#: commands/typecmds.c:242 msgid "type output function must be specified" msgstr "" -#: commands/typecmds.c:275 +#: commands/typecmds.c:281 #, c-format msgid "changing return type of function %s from \"opaque\" to %s" msgstr "ÉÚÍÅÎÅÎÉÅ ÔÉÐÁ ×ÏÚ×ÒÁÔÁ ÆÕÎËÃÉÉ %s ÉÚ \"opaque\" ÎÁ %s" -#: commands/typecmds.c:282 +#: commands/typecmds.c:288 #, c-format msgid "type input function %s must return type %s" msgstr "ÆÕÎËÃÉÑ ÔÉÐÁ input %s ÄÏÖÎÁ ×ÏÚ×ÒÁÝÁÔØ ÔÉÐ %s" -#: commands/typecmds.c:292 +#: commands/typecmds.c:298 #, c-format msgid "changing return type of function %s from \"opaque\" to \"cstring\"" msgstr "ÉÚÍÅÎÅÎÉÅ ÔÉÐÁ ×ÏÚ×ÒÁÔÁ ÆÕÎËÃÉÉ %s ÉÚ \"opaque\" ÎÁ \"cstring\"" -#: commands/typecmds.c:299 +#: commands/typecmds.c:305 #, c-format msgid "type output function %s must return type \"cstring\"" msgstr "ÆÕÎËÃÉÑ ÔÉÐÁ output %s ÄÏÖÎÁ ×ÏÚ×ÒÁÝÁÔØ ÔÉÐ \"cstring\"" -#: commands/typecmds.c:308 +#: commands/typecmds.c:314 #, c-format msgid "type receive function %s must return type %s" msgstr "ÆÕÎËÃÉÑ ÔÉÐÁ receive %s ÄÏÖÎÁ ×ÏÚ×ÒÁÝÁÔØ ÔÉÐ %s" -#: commands/typecmds.c:317 +#: commands/typecmds.c:323 #, c-format msgid "type send function %s must return type \"bytea\"" msgstr "ÆÕÎËÃÉÑ ÔÉÐÁ send %s ÄÏÖÎÁ ×ÏÚ×ÒÁÝÁÔØ ÔÉÐ \"bytea\"" -#: commands/typecmds.c:520 +#: commands/typecmds.c:536 #, c-format msgid "domain names must be %d characters or less" msgstr "ÉÍÅÎÁ ÄÏÍÅÎÏ× ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ %d ÉÌÉ ÍÅÎÅÅ ÓÉÍ×ÏÌÏ×" -#: commands/typecmds.c:541 +#: commands/typecmds.c:557 #, c-format msgid "\"%s\" is not a valid base type for a domain" msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÙÍ ÂÁÚÏ×ÙÍ ÔÉÐÏÍ ÄÌÑ ÄÏÍÅÎÁ" -#: commands/typecmds.c:598 -#: commands/typecmds.c:1453 +#: commands/typecmds.c:617 +#: commands/typecmds.c:1504 msgid "foreign key constraints not possible for domains" -msgstr "×ÔÏÒÉÞÎÙÅ ËÌÀÞÉ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÄÌÑ ÄÏÍÅÎÏ×" +msgstr "×ÎÅÛÎÉÅ ËÌÀÞÉ ÎÅ ×ÏÚÍÏÖÎÙ ÄÌÑ ÄÏÍÅÎÏ×" -#: commands/typecmds.c:618 +#: commands/typecmds.c:637 msgid "multiple default expressions" msgstr "ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ×ÙÒÁÖÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ" -#: commands/typecmds.c:648 -#: commands/typecmds.c:657 +#: commands/typecmds.c:667 +#: commands/typecmds.c:676 msgid "conflicting NULL/NOT NULL constraints" msgstr "ËÏÎÆÌÉËÔÕÀÝÉÅ ËÏÎÓÔÒÅÊÎÔÙ NULL/NOT NULL" -#: commands/typecmds.c:676 -#: commands/typecmds.c:1471 +#: commands/typecmds.c:695 +#: commands/typecmds.c:1522 msgid "unique constraints not possible for domains" -msgstr "UNIQUE-ËÏÎÓÔÒÅÊÎÔÙ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÄÌÑ ÄÏÍÅÎÏ×" +msgstr "UNIQUE-ËÏÎÓÔÒÅÊÎÔÙ ÎÅ ×ÏÚÍÏÖÎÙ ÄÌÑ ÄÏÍÅÎÏ×" -#: commands/typecmds.c:682 -#: commands/typecmds.c:1477 +#: commands/typecmds.c:701 +#: commands/typecmds.c:1528 msgid "primary key constraints not possible for domains" -msgstr "ÐÅÒ×ÉÞÎÙÅ ËÌÀÞÉ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÄÌÑ ÄÏÍÅÎÏ×" +msgstr "ÐÅÒ×ÉÞÎÙÅ ËÌÀÞÉ ÎÅ ×ÏÚÍÏÖÎÙ ÄÌÑ ÄÏÍÅÎÏ×" -#: commands/typecmds.c:691 -#: commands/typecmds.c:1486 +#: commands/typecmds.c:710 +#: commands/typecmds.c:1537 msgid "specifying constraint deferrability not supported for domains" msgstr "" -#: commands/typecmds.c:808 -#: commands/typecmds.c:1720 -#: commands/typecmds.c:2031 +#: commands/typecmds.c:831 +#: commands/typecmds.c:1780 #, c-format msgid "\"%s\" is not a domain" msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÄÏÍÅÎÏÍ" -#: commands/typecmds.c:878 +#: commands/typecmds.c:901 #, c-format msgid "changing argument type of function %s from \"opaque\" to \"cstring\"" msgstr "ÉÚÍÅÎÅÎÉÅ ÔÉÐÁ ÁÒÇÕÍÅÎÔÁ ÆÕÎËÃÉÉ %s ÉÚ \"opaque\" ÎÁ \"cstring\"" -#: commands/typecmds.c:948 +#: commands/typecmds.c:971 #, c-format msgid "changing argument type of function %s from \"opaque\" to %s" msgstr "ÉÚÍÅÎÅÎÉÅ ÔÉÐÁ ÁÒÇÕÍÅÎÔÁ ÆÕÎËÃÉÉ %s ÉÚ \"opaque\" ÎÁ %s" -#: commands/typecmds.c:1059 +#: commands/typecmds.c:1083 +#, c-format +msgid "type analyze function %s must return type \"boolean\"" +msgstr "" + +#: commands/typecmds.c:1112 msgid "composite type must have at least one attribute" msgstr "" -#: commands/typecmds.c:1290 +#: commands/typecmds.c:1341 #, c-format msgid "column \"%s\" of table \"%s\" contains null values" msgstr "ËÏÌÏÎËÁ \"%s\" ÔÁÂÌÉÃÙ \"%s\" ÓÏÄÅÒÖÉÔ ÚÎÁÞÅÎÉÑ NULL" -#: commands/typecmds.c:1557 +#: commands/typecmds.c:1608 #, c-format msgid "column \"%s\" of table \"%s\" contains values that violate the new constraint" msgstr "" -#: commands/typecmds.c:1754 +#: commands/typecmds.c:1814 #, c-format msgid "constraint \"%s\" for domain \"%s\" already exists" msgstr "" -#: commands/typecmds.c:1794 -#: commands/typecmds.c:1803 +#: commands/typecmds.c:1855 +#: commands/typecmds.c:1864 msgid "cannot use table references in domain check constraint" msgstr "" -#: commands/typecmds.c:1815 +#: commands/typecmds.c:1876 msgid "cannot use aggregate in check constraint" msgstr "" -#: commands/user.c:149 -#: commands/user.c:248 -#: commands/user.c:297 -#: commands/user.c:379 +#: commands/typecmds.c:2090 +#, c-format +msgid "\"%s\" is a table's row type" +msgstr "" + +#: commands/user.c:174 +#: commands/user.c:272 +#: commands/user.c:321 +#: commands/user.c:402 #, c-format msgid "could not write to temporary file \"%s\": %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁÐÉÓÁÔØ ×Ï ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ \"%s\": %m" -#: commands/user.c:184 +#: commands/user.c:209 #, c-format msgid "invalid group name \"%s\"" msgstr "ÎÅ×ÅÒÎÏÅ ÉÍÑ ÇÒÕÐÐÙ \"%s\"" -#: commands/user.c:215 -#: commands/user.c:347 +#: commands/user.c:240 +#: commands/user.c:371 #, c-format msgid "invalid user name \"%s\"" msgstr "ÎÅ×ÅÒÎÏÅ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ \"%s\"" -#: commands/user.c:258 -#: commands/user.c:389 -#, c-format -msgid "could not rename file \"%s\" to \"%s\": %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÅÒÅÉÍÅÎÏ×ÁÔØ ÆÁÊÌ \"%s\" × \"%s\": %m" - -#: commands/user.c:354 +#: commands/user.c:378 #, c-format msgid "invalid user password \"%s\"" msgstr "ÎÅ×ÅÒÎÙÊ ÐÁÒÏÌØ \"%s\"" -#: commands/user.c:587 +#: commands/user.c:638 msgid "user ID must be positive" msgstr "ID ÐÏÌØÚÏ×ÁÔÅÌÑ ÄÏÌÖÅÎ ÂÙÔØ ÐÏÌÏÖÉÔÅÌØÎÙÍ" -#: commands/user.c:604 +#: commands/user.c:655 msgid "must be superuser to create users" msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÓÏÚÄÁÎÉÑ ÐÏÌØÚÏ×ÁÔÅÌÅÊ" -#: commands/user.c:609 +#: commands/user.c:660 #, c-format msgid "user name \"%s\" is reserved" msgstr "ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ \"%s\" ÚÁÒÅÚÅÒ×ÉÒÏ×ÁÎÏ" -#: commands/user.c:646 -#: commands/user.c:1191 +#: commands/user.c:697 +#: commands/user.c:1252 #, c-format msgid "user \"%s\" already exists" msgstr "ÐÏÌØÚÏ×ÁÔÅÌØ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/user.c:651 +#: commands/user.c:702 #, c-format msgid "user ID %d is already assigned" msgstr "ID ÐÏÌØÚÏ×ÁÔÅÌÑ %d ÕÖÅ ÐÒÉÓ×ÏÅÎÏ" -#: commands/user.c:848 -#: commands/user.c:961 -#: commands/user.c:1053 -#: commands/user.c:1172 -#: commands/variable.c:784 -#: utils/cache/lsyscache.c:1981 -#: utils/init/miscinit.c:310 +#: commands/user.c:899 +#: commands/user.c:1012 +#: commands/user.c:1104 +#: commands/user.c:1233 +#: commands/variable.c:664 +#: utils/cache/lsyscache.c:2044 +#: utils/init/miscinit.c:335 #, c-format msgid "user \"%s\" does not exist" msgstr "ÐÏÌØÚÏ×ÁÔÅÌØ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/user.c:1026 +#: commands/user.c:1077 msgid "must be superuser to drop users" msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÕÄÁÌÅÎÉÑ ÐÏÌØÚÏ×ÁÔÅÌÅÊ" -#: commands/user.c:1060 +#: commands/user.c:1111 msgid "current user cannot be dropped" msgstr "ÔÅËÕÝÉÊ ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÕÄÁÌ£Î" -#: commands/user.c:1064 +#: commands/user.c:1115 msgid "session user cannot be dropped" msgstr "ÐÏÌØÚÏ×ÁÔÅÌØ ÓÅÓÓÉÉ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÕÄÁÌ£Î" -#: commands/user.c:1090 +#: commands/user.c:1142 #, c-format msgid "user \"%s\" cannot be dropped" msgstr "ÐÏÌØÚÏ×ÁÔÅÌØ \"%s\" ÎÅ ÍÏÖÅÔ ÂÙÔØ ÕÄÁÌ£Î" -#: commands/user.c:1091 +#: commands/user.c:1143 #, c-format msgid "The user owns database \"%s\"." msgstr "ðÏÌØÚÏ×ÁÔÅÌØ ×ÌÁÄÅÅÔ ÂÁÚÏÊ \"%s\"." -#: commands/user.c:1183 +#: commands/user.c:1244 msgid "session user may not be renamed" msgstr "ÐÏÌØÚÏ×ÁÔÅÌØ ÓÅÓÓÉÉ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÐÅÒÅÉÍÅÎÏ×ÁÎ" -#: commands/user.c:1197 +#: commands/user.c:1258 msgid "must be superuser to rename users" msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÐÅÒÅÉÍÅÎÏ×ÁÎÉÑ ÐÏÌØÚÏ×ÁÔÅÌÅÊ" -#: commands/user.c:1230 +#: commands/user.c:1277 +msgid "MD5 password cleared because of user rename" +msgstr "" + +#: commands/user.c:1311 #, c-format msgid "before using passwords you must revoke privileges on %s" msgstr "ÐÅÒÅÄ ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÐÁÒÏÌÅÊ ×Ù ÄÏÌÖÎÙ ÕÄÁÌÉÔØ ÐÒÉ×ÉÌÅÇÉÉ ÎÁ %s" -#: commands/user.c:1232 +#: commands/user.c:1313 msgid "This restriction is to prevent unprivileged users from reading the passwords." msgstr "üÔÏ ÏÇÒÁÎÉÞÅÎÉÅ ××ÅÄÅÎÏ ÄÌÑ ÐÒÅÄÏÔ×ÒÁÝÅÎÉÑ ÞÔÅÎÉÑ ÐÁÒÏÌÅÊ ÎÅÐÒÉ×ÉÌÅÇÉÒÏ×ÁÎÎÙÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ." -#: commands/user.c:1233 +#: commands/user.c:1314 #, c-format msgid "Try REVOKE ALL ON \"%s\" FROM PUBLIC." msgstr "ðÏÐÒÏÂÕÊÔÅ REVOKE ALL ON \"%s\" FROM PUBLIC." -#: commands/user.c:1297 +#: commands/user.c:1378 msgid "group ID must be positive" msgstr "ID ÇÒÕÐÐÙ ÄÏÌÖÅÎ ÂÙÔØ ÐÏÌÏÖÉÔÅÌØÎÙÍ" -#: commands/user.c:1310 +#: commands/user.c:1391 msgid "must be superuser to create groups" msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÓÏÚÄÁÎÉÑ ÇÒÕÐÐ" -#: commands/user.c:1315 +#: commands/user.c:1396 #, c-format msgid "group name \"%s\" is reserved" msgstr "ÉÍÑ ÇÒÕÐÐÙ \"%s\" ÚÁÒÅÚÅÒ×ÉÒÏ×ÁÎÏ" -#: commands/user.c:1352 -#: commands/user.c:1734 +#: commands/user.c:1433 +#: commands/user.c:1815 #, c-format msgid "group \"%s\" already exists" msgstr "ÇÒÕÐÐÁ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: commands/user.c:1357 +#: commands/user.c:1438 #, c-format msgid "group ID %d is already assigned" msgstr "ID ÇÒÕÐÐÙ %d ÕÖÅ ÐÒÉÓ×ÏÅÎÏ" -#: commands/user.c:1437 +#: commands/user.c:1518 msgid "must be superuser to alter groups" msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÉÚÍÅÎÅÎÉÑ ÇÒÕÐÐ" -#: commands/user.c:1516 +#: commands/user.c:1597 #, c-format msgid "group \"%s\" does not have any members" msgstr "ÎÅÔ ÞÌÅÎÏ× × ÇÒÕÐÐÅ \"%s\"" -#: commands/user.c:1544 +#: commands/user.c:1625 #, c-format msgid "user \"%s\" is not in group \"%s\"" msgstr "ÐÏÌØÚÏ×ÁÔÅÌØ \"%s\" ÎÅ ÐÒÉÎÁÄÌÅÖÉÔ ÇÒÕÐÐÅ \"%s\"" -#: commands/user.c:1676 +#: commands/user.c:1757 msgid "must be superuser to drop groups" msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÕÄÁÌÅÎÉÑ ÇÒÕÐÐ" -#: commands/user.c:1740 +#: commands/user.c:1821 msgid "must be superuser to rename groups" msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÐÅÒÅÉÍÅÎÏ×ÁÎÉÑ ÇÒÕÐÐ" -#: commands/vacuum.c:466 -msgid "oldest xmin is far in the past" -msgstr "ÓÁÍÙÊ ÓÔÁÒÙÊ xmin ÄÁÌÅËÏ × ÐÒÏÛÌÏÍ" - -#: commands/vacuum.c:467 -msgid "Close open transactions soon to avoid wraparound problems." -msgstr "" - -#: commands/vacuum.c:684 -msgid "some databases have not been vacuumed in over 2 billion transactions" -msgstr "ÓÂÏÒËÁ ÍÕÓÏÒÁ ÎÅ ÂÙÌÁ ÐÒÏÉÚ×ÅÄÅÎÁ × ÎÅËÏÔÏÒÙÈ ÂÁÚÁÈ Ó ÂÏÌÅÅ 2 ÍÉÌÌÉÁÒÄÏ× ÔÒÁÎÚÁËÃÉÊ" - -#: commands/vacuum.c:685 -msgid "You may have already suffered transaction-wraparound data loss." -msgstr "" - -#: commands/vacuum.c:696 -msgid "some databases have not been vacuumed in over 1 billion transactions" -msgstr "ÓÂÏÒËÁ ÍÕÓÏÒÁ ÎÅ ÂÙÌÁ ÐÒÏÉÚ×ÅÄÅÎÁ × ÎÅËÏÔÏÒÙÈ ÂÁÚÁÈ Ó ÂÏÌÅÅ 1 ÍÉÌÌÉÁÒÄÁ ÔÒÁÎÚÁËÃÉÊ" - -#: commands/vacuum.c:697 -msgid "Better vacuum them soon, or you may have a wraparound failure." -msgstr "" - -#: commands/vacuum.c:704 -#, c-format -msgid "some databases have not been vacuumed in %d transactions" -msgstr "ÓÂÏÒËÁ ÍÕÓÏÒÁ ÎÅ ÂÙÌÁ ÐÒÏÉÚ×ÅÄÅÎÁ × ÎÅËÏÔÏÒÙÈ ÂÁÚÁÈ Ó ÞÉÓÌÏÍ ÔÒÁÎÚÁËÃÉÊ: %d" - -#: commands/vacuum.c:706 -#, c-format -msgid "Better vacuum them within %d transactions, or you may have a wraparound failure." -msgstr "" - -#: commands/vacuum.c:795 -#, c-format -msgid "skipping \"%s\" --- only table or database owner can vacuum it" -msgstr "ÐÒÏÐÕÓËÁÅÔÓÑ \"%s\" --- ÔÏÌØËÏ ×ÌÁÄÅÌÅà ÔÁÂÌÉÃÙ ÉÌÉ ÂÁÚÙ ÍÏÖÅÔ ÐÒÏÉÚ×ÏÄÉÔØ ÓÂÏÒËÕ ÍÕÓÏÒÁ × ÄÁÎÎÏÍ ÏÂßÅËÔÅ" - -#: commands/vacuum.c:809 -#, c-format -msgid "skipping \"%s\" --- cannot vacuum indexes, views, or special system tables" -msgstr "ÐÒÏÐÕÓËÁÅÔÓÑ \"%s\" --- ÎÅÌØÚÑ ÐÒÏÉÚ×ÏÄÉÔØ ÓÂÏÒËÕ ÍÕÓÏÒÁ ÄÌÑ ÉÎÄÅËÓÏ×, ×ÉÄÏ× ÉÌÉ ÓÐÅÃÉÁÌØÎÙÈ ÓÉÓÔÅÍÎÙÈ ÔÁÂÌÉÃ" - -#: commands/vacuum.c:1040 -#: commands/vacuumlazy.c:205 -#, c-format -msgid "vacuuming \"%s.%s\"" -msgstr "ÐÒÏÉÚ×ÏÄÉÔÓÑ ÓÂÏÒËÁ ÍÕÓÏÒÁ ÄÌÑ \"%s.%s\"" - -#: commands/vacuum.c:1075 -#: commands/vacuumlazy.c:263 -#, c-format -msgid "relation \"%s\" page %u is uninitialized --- fixing" -msgstr "ÏÔÎÏÛÅÎÉÅ: \"%s\", ÓÔÒÁÎÉÃÁ %u ÎÅ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎÁ --- ÉÓÐÒÁ×ÌÑÅÔÓÑ" - -#: commands/vacuum.c:1192 -#, c-format -msgid "relation \"%s\" TID %u/%u: InsertTransactionInProgress %u --- can't shrink relation" -msgstr "ÏÔÎÏÛÅÎÉÅ \"%s\" TID %u/%u: InsertTransactionInProgress %u --- ÎÅ × ÓÏÓÔÏÑÎÉÉ ÕÍÅÎØÛÉÔØ ÏÔÎÏÛÅÎÉÅ" - -#: commands/vacuum.c:1205 -#, c-format -msgid "relation \"%s\" TID %u/%u: DeleteTransactionInProgress %u --- can't shrink relation" -msgstr "ÏÔÎÏÛÅÎÉÅ \"%s\" TID %u/%u: DeleteTransactionInProgress %u --- ÎÅ × ÓÏÓÔÏÑÎÉÉ ÕÍÅÎØÛÉÔØ ÏÔÎÏÛÅÎÉÅ" - -#: commands/vacuum.c:1367 -#: commands/vacuumlazy.c:428 -#, c-format -msgid "\"%s\": found %.0f removable, %.0f nonremovable row versions in %u pages" -msgstr "\"%s\": ÎÁÊÄÅÎÏ %.0f ÕÄÁÌÑÍÙÈ, %.0f ÎÅÕÄÁÌÑÅÍÙÈ ×ÅÒÓÉÊ ÓÔÒÏËÉ × ÓÔÒÁÎÉÃÁÈ: %u" - -#: commands/vacuum.c:1370 -#, c-format -msgid "" -"%.0f dead row versions cannot be removed yet.\n" -"Nonremovable row versions range from %lu to %lu bytes long.\n" -"There were %.0f unused item pointers.\n" -"Total free space (including removable row versions) is %.0f bytes.\n" -"%u pages are or will become empty, including %u at the end of the table.\n" -"%u pages containing %.0f free bytes are potential move destinations.\n" -"%s" -msgstr "" - -#: commands/vacuum.c:2373 -#, c-format -msgid "\"%s\": moved %u row versions, truncated %u to %u pages" -msgstr "" - -#: commands/vacuum.c:2376 -#: commands/vacuumlazy.c:489 -#: commands/vacuumlazy.c:774 -#: nodes/print.c:87 -#: storage/lmgr/deadlock.c:888 -#: tcop/postgres.c:3202 -#, c-format -msgid "%s" -msgstr "%s" - -#: commands/vacuum.c:2560 -#: commands/vacuumlazy.c:771 -#, c-format -msgid "\"%s\": truncated %u to %u pages" -msgstr "" - -#: commands/vacuum.c:2652 -#: commands/vacuum.c:2719 -#: commands/vacuumlazy.c:597 -#: commands/vacuumlazy.c:657 -#, c-format -msgid "index \"%s\" now contains %.0f row versions in %u pages" -msgstr "ÉÎÄÅËÓ \"%s\" ÔÅÐÅÒØ ÓÏÄÅÒÖÉÔ ×ÅÒÓÉÊ ÓÔÒÏËÉ: %.0f, ÎÁ ÓÔÒÁÎÉÃÁÈ: %u" - -#: commands/vacuum.c:2656 -#: commands/vacuumlazy.c:601 -#, c-format -msgid "" -"%u index pages have been deleted, %u are currently reusable.\n" -"%s" -msgstr "" -"ÓÔÒÁÎÉà ÉÎÄÅËÓÁ ÕÄÁÌÅÎÏ: %u, ÇÏÔÏ×Ï Ë ÐÅÒÅÉÓÐÏÌØÚÏ×ÁÎÉÀ: %u.\n" -"%s" - -#: commands/vacuum.c:2670 -#: commands/vacuum.c:2739 -#, c-format -msgid "index \"%s\" contains %.0f row versions, but table contains %.0f row versions" -msgstr "ÉÎÄÅËÓ ÓÏÄÅÒÖÉÔ \"%s\" ÓÏÄÅÒÖÉÔ ×ÅÒÓÉÊ ÓÔÒÏËÉ: %.0f, Á ÔÁÂÌÉÃÁ ÓÏÄÅÒÖÉÔ: %.0f" - -#: commands/vacuum.c:2673 -#: commands/vacuum.c:2742 -msgid "Rebuild the index with REINDEX." -msgstr "ðÅÒÅÓÔÒÏÊÔÅ ÉÎÄÅËÓ Ó ÐÏÍÏÝØÀ REINDEX." - -#: commands/vacuum.c:2723 -#: commands/vacuumlazy.c:661 -#, c-format -msgid "" -"%.0f index row versions were removed.\n" -"%u index pages have been deleted, %u are currently reusable.\n" -"%s" -msgstr "" -"×ÅÒÓÉÊ ÔÒÏËÉ ÉÎÄÅËÓÁ ÕÄÁÌÅÎÏ: %.0f.\n" -"ÓÔÒÁÎÉà ÉÎÄÅËÓÁ ÕÄÁÌÅÎÏ: %u, ÓÔÒÁÎÉà ÇÏÔÏ×Ï Ë ÐÅÒÅÉÓÐÏÌØÚÏ×ÁÎÉÀ: %u.\n" -"%s" - -#: commands/vacuumlazy.c:431 +#: commands/vacuumlazy.c:459 #, c-format msgid "" "%.0f dead row versions cannot be removed yet.\n" @@ -3507,47 +4355,51 @@ msgid "" "%s" msgstr "" -#: commands/vacuumlazy.c:486 +#: commands/vacuumlazy.c:514 #, c-format msgid "\"%s\": removed %d row versions in %d pages" msgstr "\"%s\": ÕÄÁÌÅÎÏ ×ÅÒÓÉÊ ÓÔÒÏË: %d, × ÓÔÒÁÎÉÃÁÈ: %d" -#: commands/variable.c:75 +#: commands/variable.c:65 msgid "invalid list syntax for parameter \"datestyle\"" msgstr "" -#: commands/variable.c:161 +#: commands/variable.c:151 #, c-format msgid "unrecognized \"datestyle\" key word: \"%s\"" msgstr "" -#: commands/variable.c:179 +#: commands/variable.c:169 msgid "conflicting \"datestyle\" specifications" msgstr "" -#: commands/variable.c:450 +#: commands/variable.c:280 msgid "invalid interval value for time zone: month not allowed" msgstr "" -#: commands/variable.c:557 +#: commands/variable.c:403 #, c-format msgid "unrecognized time zone name: \"%s\"" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÏÅ ÉÍÑ ×ÒÅÍÅÎÎÏÊ ÚÏÎÙ: \"%s\"" -#: commands/variable.c:565 +#: commands/variable.c:411 #, c-format msgid "time zone \"%s\" appears to use leap seconds" msgstr "×ÒÅÍÅÎÎÁÑ ÚÏÎÁ \"%s\" ÐÏÈÏÖÅ ÉÓÐÏÌØÚÕÅÔ ×ÉÓÏËÏÓÎÙÅ ÓÅËÕÎÄÙ" -#: commands/variable.c:567 +#: commands/variable.c:413 msgid "PostgreSQL does not support leap seconds." msgstr "PostgreSQL ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ×ÉÓÏËÏÓÎÙÅ ÓÅËÕÎÄÙ." -#: commands/variable.c:636 +#: commands/variable.c:483 msgid "SET TRANSACTION ISOLATION LEVEL must be called before any query" msgstr "ËÏÍÁÎÄÁ SET TRANSACTION ISOLATION LEVEL ÄÏÌÖÎÁ ÂÙÔØ ×ÙÐÏÌÎÅÎÁ ÐÅÒÅÄ ÄÒÕÇÉÍÉ ÚÁÐÒÏÓÁÍÉ" -#: commands/variable.c:713 +#: commands/variable.c:493 +msgid "SET TRANSACTION ISOLATION LEVEL must not be called in a subtransaction" +msgstr "ËÏÍÁÎÄÁ SET TRANSACTION ISOLATION LEVEL ÎÅ ÄÏÌÖÎÁ ×ÙÚÙ×ÁÔØÓÑ × ÐÏÄÔÒÁÎÚÁËÃÉÉ" + +#: commands/variable.c:593 #: utils/mb/mbutils.c:188 #, c-format msgid "conversion between %s and %s is not supported" @@ -3557,266 +4409,327 @@ msgstr " msgid "view must have at least one column" msgstr "ÐÒÅÄÓÔÁ×ÌÅÎÉÅ ÄÏÌÖÎÏ ÉÍÅÔØ ËÁË ÍÉÎÉÍÕÍ ÏÄÎÕ ËÏÌÏÎËÕ" -#: commands/view.c:169 -#: commands/view.c:181 +#: commands/view.c:170 +#: commands/view.c:182 msgid "cannot change number of columns in view" msgstr "ÎÅÌØÚÑ ÉÚÍÅÎÉÔØ ÞÉÓÌÏ ËÏÌÏÎÏË × ÐÒÅÄÓÔÁ×ÌÅÎÉÉ" -#: commands/view.c:186 +#: commands/view.c:187 #, c-format msgid "cannot change name of view column \"%s\"" msgstr "ÎÅÌØÚÑ ÉÚÍÅÎÉÔØ ÉÍÑ ËÏÌÏÎËÉ \"%s\" × ÐÒÅÄÓÔÁ×ÌÅÎÉÉ" -#: commands/view.c:193 +#: commands/view.c:194 #, c-format msgid "cannot change data type of view column \"%s\"" msgstr "ÎÅÌØÚÑ ÐÏÍÅÎÑÔØ ÔÉÐ ËÏÌÏÎËÉ ÐÒÅÄÓÔÁ×ÌÅÎÉÑ \"%s\"" -#: executor/execMain.c:857 +#: executor/execMain.c:814 #, c-format msgid "cannot change sequence \"%s\"" msgstr "ÎÅÌØÚÑ ÉÚÍÅÎÉÔØ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ \"%s\"" -#: executor/execMain.c:863 +#: executor/execMain.c:820 #, c-format msgid "cannot change TOAST relation \"%s\"" -msgstr "ÎÅÌØÚÑ ÉÚÍÅÎÉÔØ TOAST-Ó×ÑÚØ \"%s\"" +msgstr "ÎÅÌØÚÑ ÉÚÍÅÎÉÔØ TOAST-ÏÔÎÏÛÅÎÉÅ \"%s\"" -#: executor/execMain.c:869 +#: executor/execMain.c:826 #, c-format msgid "cannot change view \"%s\"" -msgstr "ÎÅÌØÚÑ ÉÚÍÅÎÉÔØ ×ÉÄ \"%s\"" +msgstr "ÎÅÌØÚÑ ÉÚÍÅÎÉÔØ ÐÒÅÄÓÔÁ×ÌÅÎÉÅ \"%s\"" -#: executor/execMain.c:1763 +#: executor/execMain.c:1731 #, c-format msgid "null value in column \"%s\" violates not-null constraint" msgstr "" -#: executor/execMain.c:1775 +#: executor/execMain.c:1743 #, c-format msgid "new row for relation \"%s\" violates check constraint \"%s\"" msgstr "" -#: executor/execQual.c:180 -#: executor/execQual.c:204 -#: executor/execQual.c:1756 +#: executor/execQual.c:260 +#: executor/execQual.c:288 +#: executor/execQual.c:2138 #: utils/adt/array_userfuncs.c:362 -#: utils/adt/arrayfuncs.c:212 -#: utils/adt/arrayfuncs.c:378 -#: utils/adt/arrayfuncs.c:897 -#: utils/adt/arrayfuncs.c:2243 +#: utils/adt/arrayfuncs.c:216 +#: utils/adt/arrayfuncs.c:472 +#: utils/adt/arrayfuncs.c:1153 +#: utils/adt/arrayfuncs.c:2427 #, c-format msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" msgstr "ÞÉÓÌÏ ÒÁÚÍÅÒÎÏÓÔÅÊ ÍÁÓÓÉ×Á (%d) ÐÒÅ×ÙÛÁÅÔ ÌÉÍÉÔ (%d)" -#: executor/execQual.c:512 -#, c-format -msgid "no value found for parameter \"%s\"" -msgstr "ÚÎÁÞÅÎÉÅ ÎÅ ÎÁÊÄÅÎÏ ÄÌÑ ÐÁÒÁÍÅÔÒÁ \"%s\"" - -#: executor/execQual.c:517 -#, c-format -msgid "no value found for parameter %d" -msgstr "ÚÎÁÞÅÎÉÅ ÎÅ ÎÁÊÄÅÎÏ ÄÌÑ ÐÁÒÁÍÅÔÒÁ %d" - -#: executor/execQual.c:694 +#: executor/execQual.c:815 msgid "functions and operators can take at most one set argument" msgstr "ÆÕÎËÃÉÉ É ÏÐÅÒÁÔÏÒÙ ÐÒÉÎÉÍÁÀÔ ÔÏÌØËÏ ÏÄÉÎ ÁÒÇÕÍÅÎÔ-ÍÎÏÖÅÓÔ×Ï (set)" -#: executor/execQual.c:746 -#: executor/execQual.c:790 -#: executor/execQual.c:985 -#: executor/execQual.c:2996 -#: executor/functions.c:583 -#: executor/functions.c:622 -#: utils/adt/sets.c:207 +#: executor/execQual.c:870 +#: executor/execQual.c:914 +#: executor/execQual.c:1090 +#: executor/execQual.c:1215 +#: executor/execQual.c:3580 +#: executor/functions.c:666 +#: executor/functions.c:705 #: utils/fmgr/funcapi.c:39 msgid "set-valued function called in context that cannot accept a set" msgstr "" -#: executor/execQual.c:1096 -#: executor/execQual.c:1137 -msgid "function returning row cannot return null value" -msgstr "ÆÕÎËÃÉÑ ×ÏÚ×ÒÁÝÁÀÝÁÑ ÓÔÒÏËÕ ÎÅ ÍÏÖÅÔ ×ÏÚ×ÒÁÝÁÔØ ÚÎÁÞÅÎÉÅ NULL" - -#: executor/execQual.c:1101 -msgid "function returning row did not return a valid tuple slot" -msgstr "" +#: executor/execQual.c:1297 +msgid "function returning set of rows cannot return null value" +msgstr "ÆÕÎËÃÉÑ ×ÏÚ×ÒÁÝÁÀÝÁÑ ÍÎÏÖÅÓÔ×Ï ÎÅ ÍÏÖÅÔ ×ÏÚ×ÒÁÝÁÔØ ÚÎÁÞÅÎÉÅ NULL" -#: executor/execQual.c:1164 +#: executor/execQual.c:1381 msgid "table-function protocol for materialize mode was not followed" msgstr "" -#: executor/execQual.c:1171 +#: executor/execQual.c:1388 #, c-format msgid "unrecognized table-function returnMode: %d" msgstr "" -#: executor/execQual.c:1284 +#: executor/execQual.c:1534 msgid "IS DISTINCT FROM does not support set arguments" msgstr "IS DISTINCT FROM ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÁÒÇÕÍÅÎÔÙ-ÍÎÏÖÅÓÔ×Á" -#: executor/execQual.c:1352 +#: executor/execQual.c:1608 msgid "op ANY/ALL (array) does not support set arguments" msgstr "ÏÐÅÒÁÔÏÒÙ ANY/ALL (ÍÁÓÓÉ×) ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔ ÁÒÇÕÍÅÎÔÙ-ÍÎÏÖÅÓÔ×Á" -#: executor/execQual.c:1742 +#: executor/execQual.c:2124 msgid "cannot merge incompatible arrays" msgstr "" -#: executor/execQual.c:1743 +#: executor/execQual.c:2125 #, c-format msgid "Array with element type %s cannot be included in ARRAY construct with element type %s." msgstr "" -#: executor/execQual.c:1776 +#: executor/execQual.c:2158 +#: utils/adt/arrayfuncs.c:507 msgid "multidimensional arrays must have array expressions with matching dimensions" msgstr "" -#: executor/execQual.c:1886 +#: executor/execQual.c:2324 msgid "NULLIF does not support set arguments" msgstr "NULLIF ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÁÒÇÕÍÅÎÔÙ-ÍÎÏÖÅÓÔ×Á" -#: executor/execQual.c:2067 +#: executor/execQual.c:2505 #, c-format msgid "domain %s does not allow null values" msgstr "ÄÏÍÅÎ %s ÎÅ ÐÏÚ×ÏÌÑÅÔ ÎÕÌÅ×ÙÅ (null) ÚÎÁÞÅÎÉÑ" -#: executor/execQual.c:2097 +#: executor/execQual.c:2535 #, c-format msgid "value for domain %s violates check constraint \"%s\"" msgstr "" -#: executor/execQual.c:2454 -#: optimizer/util/clauses.c:411 +#: executor/execQual.c:2877 +#: optimizer/util/clauses.c:428 #: parser/parse_agg.c:74 msgid "aggregate function calls may not be nested" msgstr "×ÙÚÏ×Ù ÁÇÒÅÇÁÔÎÙÈ ÆÕÎËÃÉÊ ÎÅ ÍÏÇÕÔ ÂÙÔØ ×ÌÏÖÅÎÎÙÍÉ" -#: executor/functions.c:183 +#: executor/execQual.c:3201 +#, c-format +msgid "ROW() column has type %s instead of type %s" +msgstr "" + +#. translator: %s is a SQL statement name +#: executor/functions.c:117 +#, c-format +msgid "%s is not allowed in a SQL function" +msgstr "" + +#. translator: %s is a SQL statement name +#: executor/functions.c:124 +#: executor/spi.c:1404 +#, c-format +msgid "%s is not allowed in a non-volatile function" +msgstr "" + +#: executor/functions.c:190 #, c-format msgid "could not determine actual result type for function declared to return type %s" msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÐÒÅÄÅÌÉÔØ ÒÅÁÌØÎÙÊ ÔÉÐ ÒÅÚÕÌØÔÁÔÁ ÄÌÑ ÆÕÎËÃÉÉ ÚÁÄÅËÌÁÒÉÒÏ×ÁÎÎÏÊ ×ÏÚ×ÒÁÝÁÔØ ÔÉÐ %s" -#: executor/functions.c:254 +#: executor/functions.c:244 #, c-format msgid "could not determine actual type of argument declared %s" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÐÒÅÄÅÌÉÔØ ÎÁÓÔÏÑÝÉÊ ÔÉÐ ÁÒÇÕÍÅÎÔÁ ÚÁÄÅËÌÁÒÉÒÏ×ÁÎÎÏÇÏ ËÁË %s" -#: executor/functions.c:310 -msgid "cannot begin/end transactions in SQL functions" -msgstr "" - -#: executor/functions.c:678 +#: executor/functions.c:790 #, c-format msgid "SQL function \"%s\" statement %d" msgstr "SQL-ÆÕÎËÃÉÑ \"%s\" ÚÁÐÒÏÓ %d" -#: executor/functions.c:691 -#, c-format -msgid "SQL function \"%s\"" -msgstr "SQL-ÆÕÎËÃÉÑ \"%s\"" - -#: executor/functions.c:697 +#: executor/functions.c:809 #, c-format msgid "SQL function \"%s\" during startup" msgstr "SQL-ÆÕÎËÃÉÑ \"%s\" ÐÒÉ ÓÔÁÒÔÅ" +#: executor/functions.c:889 +#: executor/functions.c:910 +#: executor/functions.c:920 +#: executor/functions.c:944 +#: executor/functions.c:952 +#: executor/functions.c:1004 +#: executor/functions.c:1016 +#: executor/functions.c:1036 +#, c-format +msgid "return type mismatch in function declared to return %s" +msgstr "ÎÅÓÏ×ÐÁÄÅÎÉÅ ÔÉÐÁ ×ÏÚ×ÒÁÔÁ × ÆÕÎËÃÉÉ ÚÁÄÅËÌÁÒÉÒÏ×ÁÎÏÊ ËÁË ×ÏÚ×ÒÁÝÁÀÝÅÊ %s" + +#: executor/functions.c:891 +#: executor/functions.c:922 +msgid "Function's final statement must be a SELECT." +msgstr "ðÏÓÌÅÄÎÅÊ ËÏÍÁÎÄÏÊ ÆÕÎËÃÉÉ ÄÏÌÖÅÎ ÂÙÔØ SELECT." + +#: executor/functions.c:912 +msgid "Function's final statement must not be a SELECT." +msgstr "ðÏÓÌÅÄÎÅÊ ËÏÍÁÎÄÏÊ ÆÕÎËÃÉÉ ÄÏÌÖÅÎ ÂÙÔØ ÎÅ SELECT." + +#: executor/functions.c:946 +msgid "Final SELECT must return exactly one column." +msgstr "ðÏÓÌÅÄÎÉÊ SELECT ÄÏÌÖÅÎ ×ÏÚ×ÒÁÝÁÔØ ÔÏÌØËÏ ÏÄÎÕ ËÏÌÏÎËÕ." + +#: executor/functions.c:954 +#, c-format +msgid "Actual return type is %s." +msgstr "îÁ ÓÁÍÏÍ ÄÅÌÅ ÔÉÐ ×ÏÚ×ÒÁÔÁ: %s." + +#: executor/functions.c:1006 +msgid "Final SELECT returns too many columns." +msgstr "ðÏÓÌÅÄÎÉÊ SELECT ×ÏÚ×ÒÁÝÁÅÔ ÓÌÉÛËÏÍ ÍÎÏÇÏ ËÏÌÏÎÏË." + +#: executor/functions.c:1018 +#, c-format +msgid "Final SELECT returns %s instead of %s at column %d." +msgstr "ðÏÓÌÅÄÎÉÊ SELECT ×ÏÚ×ÒÁÝÁÅÔ %s ×ÍÅÓÔÏ %s ÄÌÑ ËÏÌÏÎËÉ %d." + +#: executor/functions.c:1038 +msgid "Final SELECT returns too few columns." +msgstr "ðÏÓÌÅÄÎÉÊ SELECT ×ÏÚ×ÒÁÝÁÅÔ ÓÌÉÛËÏÍ ÍÁÌÏ ËÏÌÏÎÏË." + +#: executor/functions.c:1088 +#, c-format +msgid "return type %s is not supported for SQL functions" +msgstr "ÔÉÐ ×ÏÚ×ÒÁÔÁ %s ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ ÄÌÑ SQL-ÆÕÎËÃÉÊ" + #: executor/nodeAgg.c:1330 #, c-format msgid "aggregate %u needs to have compatible input type and transition type" msgstr "" -#: executor/nodeFunctionscan.c:92 +#: executor/nodeFunctionscan.c:93 msgid "query-specified return row and actual function return row do not match" msgstr "" -#: executor/nodeHashjoin.c:561 #: executor/nodeHashjoin.c:571 +#: executor/nodeHashjoin.c:581 #, c-format msgid "could not read from hash-join temporary file: %m" msgstr "" -#: executor/nodeHashjoin.c:631 -#: executor/nodeHashjoin.c:638 +#: executor/nodeHashjoin.c:641 +#: executor/nodeHashjoin.c:648 #, c-format msgid "could not rewind hash-join temporary file: %m" msgstr "" -#: executor/nodeHashjoin.c:689 -#: executor/nodeHashjoin.c:694 +#: executor/nodeHashjoin.c:699 +#: executor/nodeHashjoin.c:704 #, c-format msgid "could not write to hash-join temporary file: %m" msgstr "" -#: executor/nodeMergejoin.c:1479 -msgid "RIGHT JOIN is only supported with merge-joinable join conditions" +#: executor/spi.c:190 +msgid "transaction left non-empty SPI stack" msgstr "" -#: executor/nodeMergejoin.c:1496 -#: optimizer/path/joinpath.c:839 -msgid "FULL JOIN is only supported with merge-joinable join conditions" +#: executor/spi.c:191 +#: executor/spi.c:255 +msgid "Check for missing \"SPI_finish\" calls." msgstr "" -#: executor/nodeSubplan.c:290 -#: executor/nodeSubplan.c:332 -#: executor/nodeSubplan.c:967 -msgid "more than one row returned by a subquery used as an expression" +#: executor/spi.c:254 +msgid "subtransaction left non-empty SPI stack" msgstr "" -#: executor/spi.c:756 +#: executor/spi.c:839 msgid "cannot open multi-query plan as cursor" msgstr "" -#: executor/spi.c:763 +#: executor/spi.c:846 msgid "cannot open non-SELECT query as cursor" msgstr "" -#: executor/spi.c:767 +#: executor/spi.c:850 msgid "cannot open SELECT INTO query as cursor" msgstr "" -#: libpq/be-fsstubs.c:124 -#: libpq/be-fsstubs.c:162 -#: libpq/be-fsstubs.c:186 -#: libpq/be-fsstubs.c:214 -#: libpq/be-fsstubs.c:271 +#: executor/spi.c:1582 +#, c-format +msgid "SQL statement \"%s\"" +msgstr "SQL-ËÏÍÁÎÄÁ: \"%s\"" + +#: executor/nodeMergejoin.c:1474 +msgid "RIGHT JOIN is only supported with merge-joinable join conditions" +msgstr "" + +#: executor/nodeMergejoin.c:1491 +#: optimizer/path/joinpath.c:839 +msgid "FULL JOIN is only supported with merge-joinable join conditions" +msgstr "" + +#: executor/nodeSubplan.c:294 +#: executor/nodeSubplan.c:336 +#: executor/nodeSubplan.c:972 +msgid "more than one row returned by a subquery used as an expression" +msgstr "" + +#: libpq/be-fsstubs.c:132 +#: libpq/be-fsstubs.c:170 +#: libpq/be-fsstubs.c:194 +#: libpq/be-fsstubs.c:222 +#: libpq/be-fsstubs.c:274 #, c-format msgid "invalid large-object descriptor: %d" msgstr "" -#: libpq/be-fsstubs.c:375 +#: libpq/be-fsstubs.c:378 msgid "must be superuser to use server-side lo_import()" msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ server-side lo_import()" -#: libpq/be-fsstubs.c:376 +#: libpq/be-fsstubs.c:379 msgid "Anyone can use the client-side lo_import() provided by libpq." msgstr "" -#: libpq/be-fsstubs.c:391 +#: libpq/be-fsstubs.c:400 #, c-format msgid "could not open server file \"%s\": %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÔÒÙÔØ ÆÁÊÌ ÓÅÒ×ÅÒÁ \"%s\": %m" -#: libpq/be-fsstubs.c:412 +#: libpq/be-fsstubs.c:421 #, c-format msgid "could not read server file \"%s\": %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÞÉÔÁÔØ ÆÁÊÌ ÓÅÒ×ÅÒÁ \"%s\": %m" -#: libpq/be-fsstubs.c:442 +#: libpq/be-fsstubs.c:451 msgid "must be superuser to use server-side lo_export()" msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ server-side lo_export()" -#: libpq/be-fsstubs.c:443 +#: libpq/be-fsstubs.c:452 msgid "Anyone can use the client-side lo_export() provided by libpq." msgstr "" -#: libpq/be-fsstubs.c:469 +#: libpq/be-fsstubs.c:484 #, c-format msgid "could not create server file \"%s\": %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÆÁÊÌ ÓÅÒ×ÅÒÁ \"%s\": %m" -#: libpq/be-fsstubs.c:481 +#: libpq/be-fsstubs.c:496 #, c-format msgid "could not write server file \"%s\": %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁÐÉÓÁÔØ ÆÁÊÌ ÓÅÒ×ÅÒÁ \"%s\": %m" @@ -3832,7 +4745,7 @@ msgid "unexpected Kerberos protocol version received from client (received \"%s\ msgstr "" #: libpq/auth.c:126 -#: libpq/auth.c:306 +#: libpq/auth.c:309 #, c-format msgid "unexpected Kerberos user name received from client (received \"%s\", expected \"%s\")" msgstr "" @@ -3841,214 +4754,270 @@ msgstr "" msgid "Kerberos 4 not implemented on this server" msgstr "Kerberos 4 ÎÅ ÒÅÁÌÉÚÏ×ÁÎ × ÜÔÏÍ ÓÅÒ×ÅÒÅ" -#: libpq/auth.c:201 +#: libpq/auth.c:204 #, c-format msgid "Kerberos initialization returned error %d" msgstr "ÏÛÉÂËÁ Kerberos ÐÒÉ ÉÎÉÃÉÁÌÉÚÁÃÉÉ: %d" -#: libpq/auth.c:211 +#: libpq/auth.c:214 #, c-format msgid "Kerberos keytab resolving returned error %d" msgstr "" -#: libpq/auth.c:224 +#: libpq/auth.c:227 #, c-format msgid "Kerberos sname_to_principal(\"%s\") returned error %d" msgstr "" -#: libpq/auth.c:269 +#: libpq/auth.c:272 #, c-format msgid "Kerberos recvauth returned error %d" msgstr "" -#: libpq/auth.c:294 +#: libpq/auth.c:297 #, c-format msgid "Kerberos unparse_name returned error %d" msgstr "" -#: libpq/auth.c:327 +#: libpq/auth.c:330 msgid "Kerberos 5 not implemented on this server" msgstr "Kerberos 5 ÎÅ ÒÅÁÌÉÚÏ×ÁÎ × ÜÔÏÍ ÓÅÒ×ÅÒÅ" +#: libpq/auth.c:369 +#, c-format +msgid "authentication failed for user \"%s\": host rejected" +msgstr "" + +#: libpq/auth.c:372 +#, c-format +msgid "Kerberos 4 authentication failed for user \"%s\"" +msgstr "" + +#: libpq/auth.c:375 +#, c-format +msgid "Kerberos 5 authentication failed for user \"%s\"" +msgstr "" + +#: libpq/auth.c:378 +#, c-format +msgid "\"trust\" authentication failed for user \"%s\"" +msgstr "" + +#: libpq/auth.c:381 +#, c-format +msgid "Ident authentication failed for user \"%s\"" +msgstr "" + +#: libpq/auth.c:386 +#, c-format +msgid "password authentication failed for user \"%s\"" +msgstr "" + +#: libpq/auth.c:390 +#, c-format +msgid "PAM authentication failed for user \"%s\"" +msgstr "" + #: libpq/auth.c:394 #, c-format -msgid "%s authentication failed for user \"%s\"" -msgstr "ÏÛÉÂËÁ ÐÒÉ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ %s ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ \"%s\"" +msgid "authentication failed for user \"%s\": invalid authentication method" +msgstr "ÏÛÉÂËÁ ÐÒÉ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ ÄÌÑ ÐÏÌØÚÏ×ÁÔÅÌÑ \"%s\": ÎÅ ×ÅÒÎÙÊ ÍÅÔÏÄ ÁÕÔÅÎÔÉÆÉËÁÃÉÉ" -#: libpq/auth.c:418 +#: libpq/auth.c:423 msgid "missing or erroneous pg_hba.conf file" msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÉÌÉ ÏÛÉÂÏÞÎÙÊ ÆÁÊÌ pg_hba.conf" -#: libpq/auth.c:419 +#: libpq/auth.c:424 msgid "See server log for details." msgstr "óÍÏÔÒÉÔÅ ÐÏÄÒÏÂÎÏÓÔÉ × ÖÕÒÎÁÌÅ ÓÅÒ×ÅÒÁ." -#: libpq/auth.c:445 +#: libpq/auth.c:450 #, c-format msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\", %s" msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÚÁÐÉÓØ × pg_hba.conf ÄÌÑ ÈÏÓÔÁ \"%s\", ÐÏÌØÚÏ×ÁÔÅÌÑ \"%s\", ÂÁÚÙ \"%s\", %s" -#: libpq/auth.c:447 +#: libpq/auth.c:452 msgid "SSL on" msgstr "SSL ×ËÌ." -#: libpq/auth.c:447 +#: libpq/auth.c:452 msgid "SSL off" msgstr "SSL ×ÙËÌ." -#: libpq/auth.c:451 +#: libpq/auth.c:456 #, c-format msgid "no pg_hba.conf entry for host \"%s\", user \"%s\", database \"%s\"" msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÚÁÐÉÓØ × pg_hba.conf ÄÌÑ ÈÏÓÔÁ \"%s\", ÐÏÌØÚÏ×ÁÔÅÌÑ \"%s\", ÂÁÚÙ \"%s\"" -#: libpq/auth.c:463 +#: libpq/auth.c:468 msgid "Kerberos 4 only supports IPv4 connections" msgstr "Kerberos 4 ÐÏÄÄÅÒÖÉ×ÁÅÔ ÔÏÌØËÏ ÐÏÄÓÏÅÄÉÎÅÎÉÑ IPv4" -#: libpq/auth.c:494 +#: libpq/auth.c:501 #, c-format msgid "could not enable credential reception: %m" msgstr "" -#: libpq/auth.c:581 +#: libpq/auth.c:588 #, c-format msgid "error from underlying PAM layer: %s" msgstr "" -#: libpq/auth.c:586 +#: libpq/auth.c:593 #, c-format msgid "unsupported PAM conversation %d/%s" msgstr "" -#: libpq/auth.c:618 +#: libpq/auth.c:625 msgid "empty password returned by client" msgstr "×ÏÚ×ÒÁÝ£Ô ÐÕÓÔÏÊ ÐÁÒÏÌØ ÏÔ ËÌÉÅÎÔÁ" -#: libpq/auth.c:678 +#: libpq/auth.c:685 #, c-format msgid "could not create PAM authenticator: %s" msgstr "ÎÅ ÕÄÁÌÏÓØ ÓÏÚÄÁÔØ ÁÕÔÅÎÔÉÆÉËÁÔÏÒ PAM: %s" -#: libpq/auth.c:689 +#: libpq/auth.c:696 #, c-format msgid "pam_set_item(PAM_USER) failed: %s" msgstr "ÏÛÉÂËÁ pam_set_item(PAM_USER): %s" -#: libpq/auth.c:700 +#: libpq/auth.c:707 #, c-format msgid "pam_set_item(PAM_CONV) failed: %s" msgstr "ÏÛÉÂËÁ pam_set_item(PAM_CONV): %s" -#: libpq/auth.c:711 +#: libpq/auth.c:718 #, c-format msgid "pam_authenticate failed: %s" msgstr "ÏÛÉÂËÁ pam_authenticate: %s" -#: libpq/auth.c:722 +#: libpq/auth.c:729 #, c-format msgid "pam_acct_mgmt failed: %s" msgstr "ÏÛÉÂËÁ pam_acct_mgmt: %s" -#: libpq/auth.c:733 +#: libpq/auth.c:740 #, c-format msgid "could not release PAM authenticator: %s" msgstr "ÎÅ ÕÄÁÌÏÓØ ÕÄÁÌÉÔØ ÁÕÔÅÎÔÉÆÉËÁÔÏÒ PAM: %s" -#: libpq/auth.c:771 +#: libpq/auth.c:778 #, c-format msgid "expected password response, got message type %d" msgstr "ÏÖÉÄÁÌÓÑ ÏÔ×ÅÔ Ó ÐÁÒÏÌÅÍ, ÎÏ ×ÍÅÓÔÏ ÎÅÇÏ ÐÏÌÕÞÅÎÏ ÓÏÏÂÝÅÎÉÅ ÔÉÐÁ %d" -#: libpq/auth.c:799 +#: libpq/auth.c:806 msgid "invalid password packet size" msgstr "ÎÅ×ÅÒÎÙÊ ÒÁÚÍÅÒ ÐÁËÅÔÁ Ó ÐÁÒÏÌÅÍ" -#: libpq/auth.c:803 +#: libpq/auth.c:810 msgid "received password packet" msgstr "ÐÏÌÕÞÅÎÔ ÐÁËÅÔ Ó ÐÁÒÏÌÅÍ" -#: libpq/be-secure.c:274 -#: libpq/be-secure.c:359 +#: libpq/be-secure.c:281 +#: libpq/be-secure.c:374 #, c-format msgid "SSL SYSCALL error: %m" msgstr "ÏÛÉÂËÁ SSL SYSCALL: %m" -#: libpq/be-secure.c:279 -#: libpq/be-secure.c:364 +#: libpq/be-secure.c:286 +#: libpq/be-secure.c:379 msgid "SSL SYSCALL error: EOF detected" msgstr "ÏÛÉÂËÁ SSL SYSCALL: ÏÂÎÁÒÕÖÅÎ ËÏÎÅà ÆÁÊÌÁ" -#: libpq/be-secure.c:287 -#: libpq/be-secure.c:372 +#: libpq/be-secure.c:294 +#: libpq/be-secure.c:387 #, c-format msgid "SSL error: %s" msgstr "ÏÛÉÂËÁ SSL: %s" -#: libpq/be-secure.c:296 -#: libpq/be-secure.c:381 +#: libpq/be-secure.c:303 +#: libpq/be-secure.c:396 +#: libpq/be-secure.c:813 #, c-format -msgid "unrecognized SSL error code %d" +msgid "unrecognized SSL error code: %d" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ËÏÄ ÏÛÉÂËÉ SSL: %d" -#: libpq/be-secure.c:327 -#: libpq/be-secure.c:331 -#: libpq/be-secure.c:341 +#: libpq/be-secure.c:336 +#: libpq/be-secure.c:340 +#: libpq/be-secure.c:350 msgid "SSL renegotiation failure" msgstr "" -#: libpq/be-secure.c:335 +#: libpq/be-secure.c:344 msgid "SSL failed to send renegotiation request" msgstr "" -#: libpq/be-secure.c:634 +#: libpq/be-secure.c:649 #, c-format msgid "could not create SSL context: %s" msgstr "ÎÅ ÕÄÁÌÏÓØ ÓÏÚÄÁÔØ ËÏÎÔÅËÓÔ SSL: %s" -#: libpq/be-secure.c:644 +#: libpq/be-secure.c:659 #, c-format msgid "could not load server certificate file \"%s\": %s" msgstr "ÎÅ ÕÄÁÌÏÓØ ÚÁÇÒÕÚÉÔØ ÓÅÒÔÉÆÉËÁÔ ÓÅÒ×ÅÒÁ \"%s\": %s" -#: libpq/be-secure.c:651 +#: libpq/be-secure.c:666 #, c-format msgid "could not access private key file \"%s\": %m" msgstr "" -#: libpq/be-secure.c:657 +#: libpq/be-secure.c:682 #, c-format msgid "unsafe permissions on private key file \"%s\"" msgstr "" -#: libpq/be-secure.c:659 +#: libpq/be-secure.c:684 msgid "File must be owned by the database user and must have no permissions for \"group\" or \"other\"." msgstr "" -#: libpq/be-secure.c:663 +#: libpq/be-secure.c:689 #, c-format msgid "could not load private key file \"%s\": %s" msgstr "" -#: libpq/be-secure.c:668 +#: libpq/be-secure.c:694 #, c-format msgid "check of private key failed: %s" msgstr "" -#: libpq/be-secure.c:686 +#: libpq/be-secure.c:714 #, c-format msgid "could not load root certificate file \"%s\": %s" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁÇÒÕÚÉÔØ ÆÁÊÌÁ ËÏÒÎÅ×ÙÈ ÓÅÒÔÉÆÉËÁÔÏ× \"%s\": %s" -#: libpq/be-secure.c:688 +#: libpq/be-secure.c:716 msgid "Will not verify client certificates." msgstr "" -#: libpq/be-secure.c:726 +#: libpq/be-secure.c:759 #, c-format msgid "could not initialize SSL connection: %s" msgstr "ÎÅ ÕÄÁÌÏÓØ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ SSL-ÐÏÄÓÏÅÄÉÎÅÎÉÅ: %s" -#: libpq/be-secure.c:750 +#: libpq/be-secure.c:768 +#, c-format +msgid "could not set SSL socket: %s" +msgstr "ÎÅ ÕÄÁÌÏÓØ ÓÏÚÄÁÔØ SSL-ÓÏËÅÔ: %s" + +#: libpq/be-secure.c:793 +#, c-format +msgid "could not accept SSL connection: %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÒÉÎÑÔØ SSL ÐÏÄÓÏÅÄÉÎÅÎÉÅ: %m" + +#: libpq/be-secure.c:797 +#: libpq/be-secure.c:808 +msgid "could not accept SSL connection: EOF detected" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÒÉÎÑÔØ SSL ÐÏÄÓÏÅÄÉÎÅÎÉÅ: ÏÂÎÁÒÕÖÅÎ ËÏÎÅà ÆÁÊÌÁ (EOF)" + +#: libpq/be-secure.c:802 +#, c-format +msgid "could not accept SSL connection: %s" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÒÉÎÑÔØ SSL ÐÏÄÓÏÅÄÉÎÅÎÉÅ: %s" + +#: libpq/be-secure.c:840 #, c-format msgid "SSL connection from \"%s\"" msgstr "SSL ÐÏÄÓÏÅÄÉÎÅÎÉÅ ÏÔ \"%s\"" @@ -4057,99 +5026,115 @@ msgstr "SSL msgid "cannot use authentication method \"crypt\" because password is MD5-encrypted" msgstr "" -#: libpq/hba.c:130 +#: libpq/hba.c:158 #, c-format msgid "authentication file token too long, skipping: \"%s\"" msgstr "" -#: libpq/hba.c:267 +#: libpq/hba.c:337 #, c-format msgid "could not open secondary authentication file \"@%s\" as \"%s\": %m" msgstr "" -#: libpq/hba.c:680 +#: libpq/hba.c:766 #, c-format -msgid "invalid IP address \"%s\" in pg_hba.conf file: %s" +msgid "invalid IP address \"%s\" in file \"%s\" line %d: %s" msgstr "" -#: libpq/hba.c:774 +#: libpq/hba.c:801 #, c-format -msgid "invalid entry in pg_hba.conf file at line %d, token \"%s\"" +msgid "invalid IP mask \"%s\" in file \"%s\" line %d: %s" msgstr "" -#: libpq/hba.c:779 +#: libpq/hba.c:816 #, c-format -msgid "missing field in pg_hba.conf file at end of line %d" +msgid "IP address and mask do not match in file \"%s\" line %d" msgstr "" -#: guc-file.l:164 -#: libpq/hba.c:975 +#: libpq/hba.c:874 +#: libpq/hba.c:1111 #, c-format -msgid "could not open configuration file \"%s\": %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÒÙÔØ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ \"%s\": %m" +msgid "invalid entry in file \"%s\" at line %d, token \"%s\"" +msgstr "" -#: libpq/hba.c:1037 +#: libpq/hba.c:880 #, c-format -msgid "invalid entry in pg_ident.conf file at line %d, token \"%s\"" +msgid "missing field in file \"%s\" at end of line %d" msgstr "" -#: libpq/hba.c:1042 +#: libpq/hba.c:1051 +#: guc-file.l:151 #, c-format -msgid "missing entry in pg_ident.conf file at end of line %d" +msgid "could not open configuration file \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÒÙÔØ ÆÁÊÌ ËÏÎÆÉÇÕÒÁÃÉÉ \"%s\": %m" + +#: libpq/hba.c:1117 +#, c-format +msgid "missing entry in file \"%s\" at end of line %d" msgstr "" -#: libpq/hba.c:1074 +#: libpq/hba.c:1148 msgid "cannot use Ident authentication without usermap field" msgstr "" -#: libpq/hba.c:1122 +#: libpq/hba.c:1193 #, c-format msgid "could not open Ident usermap file \"%s\": %m" msgstr "" -#: libpq/hba.c:1293 +#: libpq/hba.c:1371 #, c-format msgid "could not create socket for Ident connection: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÓÏËÅÔ ÄÌÑ Ident-ÐÏÄÓÏÅÄÉÎÅÎÉÑ: %m" -#: libpq/hba.c:1309 +#: libpq/hba.c:1387 #, c-format msgid "could not bind to local address \"%s\": %m" msgstr "" -#: libpq/hba.c:1321 +#: libpq/hba.c:1399 #, c-format msgid "could not connect to Ident server at address \"%s\", port %s: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÏÄÓÏÅÄÉÎÉÔØÓÑ Ë Ident-ÓÅÒ×ÅÒÕ Ó ÁÄÒÅÓÏÍ \"%s\", ÐÏÒÔ %s: %m" -#: libpq/hba.c:1341 +#: libpq/hba.c:1419 #, c-format msgid "could not send query to Ident server at address \"%s\", port %s: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔÐÒÁ×ÉÔØ ÚÁÐÒÏÓ Ë Ident-ÓÅÒ×ÅÒÕ Ó ÁÄÒÅÓÏÍ \"%s\", ÐÏÒÔ %s: %m" -#: libpq/hba.c:1356 +#: libpq/hba.c:1434 #, c-format msgid "could not receive response from Ident server at address \"%s\", port %s: %m" msgstr "" -#: libpq/hba.c:1397 -#: libpq/hba.c:1428 -#: libpq/hba.c:1496 +#: libpq/hba.c:1444 +#, c-format +msgid "invalidly formatted response from Ident server: \"%s\"" +msgstr "" + +#: libpq/hba.c:1479 +#: libpq/hba.c:1510 +#: libpq/hba.c:1578 #, c-format msgid "could not get peer credentials: %m" msgstr "" -#: libpq/hba.c:1406 -#: libpq/hba.c:1437 -#: libpq/hba.c:1507 +#: libpq/hba.c:1488 +#: libpq/hba.c:1519 +#: libpq/hba.c:1589 #, c-format msgid "local user with ID %d does not exist" msgstr "ÌÏËÁÌØÎÙÊ ÐÏÌØÚÏ×ÁÔÅÌØ Ó ID %d ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: libpq/hba.c:1519 +#: libpq/hba.c:1601 msgid "Ident authentication is not supported on local connections on this platform" msgstr "" +#: libpq/hba.c:1644 +#, c-format +msgid "Ident protocol identifies remote user as \"%s\"" +msgstr "" + #: libpq/pqcomm.c:271 #, c-format msgid "could not translate host name \"%s\", service \"%s\" to address: %s" @@ -4160,94 +5145,100 @@ msgstr " msgid "could not translate service \"%s\" to address: %s" msgstr "" -#: libpq/pqcomm.c:308 +#: libpq/pqcomm.c:302 +#, c-format +msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded" +msgstr "" + +#: libpq/pqcomm.c:311 msgid "IPv4" msgstr "IPv4" -#: libpq/pqcomm.c:312 +#: libpq/pqcomm.c:315 msgid "IPv6" msgstr "IPv6" -#: libpq/pqcomm.c:317 +#: libpq/pqcomm.c:320 msgid "Unix" msgstr "Unix" -#: libpq/pqcomm.c:322 +#: libpq/pqcomm.c:325 #, c-format msgid "unrecognized address family %d" msgstr "" #. translator: %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:333 +#: libpq/pqcomm.c:336 #, c-format msgid "could not create %s socket: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÓÏËÅÔ %s: %m" -#: libpq/pqcomm.c:345 +#: libpq/pqcomm.c:348 #, c-format msgid "setsockopt(SO_REUSEADDR) failed: %m" msgstr "setsockopt(SO_REUSEADDR) ÎÅ ÕÄÁÌÓÑ: %m" -#: libpq/pqcomm.c:359 +#: libpq/pqcomm.c:362 #, c-format msgid "setsockopt(IPV6_V6ONLY) failed: %m" msgstr "setsockopt(IPV6_V6ONLY) ÎÅ ÕÄÁÌÓÑ: %m" #. translator: %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:378 +#: libpq/pqcomm.c:381 #, c-format msgid "could not bind %s socket: %m" msgstr "" -#: libpq/pqcomm.c:381 +#: libpq/pqcomm.c:384 #, c-format msgid "Is another postmaster already running on port %d? If not, remove socket file \"%s\" and retry." msgstr "" -#: libpq/pqcomm.c:384 +#: libpq/pqcomm.c:387 #, c-format msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry." msgstr "" #. translator: %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:418 +#: libpq/pqcomm.c:421 #, c-format msgid "could not listen on %s socket: %m" msgstr "" -#: libpq/pqcomm.c:508 +#: libpq/pqcomm.c:511 #, c-format msgid "could not set group of file \"%s\": %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÓÔÁÎÏ×ÉÔØ ÇÒÕÐÐÕ ÆÁÊÌÁ \"%s\": %m" -#: libpq/pqcomm.c:519 +#: libpq/pqcomm.c:522 #, c-format msgid "could not set permissions of file \"%s\": %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÓÔÁÎÏ×ÉÔØ ÐÒÁ×Á ÄÏÓÔÕÐÁ ÄÌÑ ÆÁÊÌÁ \"%s\": %m" -#: libpq/pqcomm.c:549 +#: libpq/pqcomm.c:552 #, c-format msgid "could not accept new connection: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÒÉÎÑÔØ ÎÏ×ÏÅ ÐÏÄÓÏÅÄÉÎÅÎÉÅ: %m" -#: libpq/pqcomm.c:701 +#: libpq/pqcomm.c:704 #, c-format msgid "could not receive data from client: %m" msgstr "ÎÅ ÕÄÁÌÏÓØ ÐÏÌÕÞÉÔØ ÄÁÎÎÙÅ ÏÔ ËÌÉÅÎÔÁ: %m" -#: libpq/pqcomm.c:864 +#: libpq/pqcomm.c:897 msgid "unexpected EOF within message length word" msgstr "ÎÅÒÖÉÄÁÎÎÙÊ ËÏÎÅà ÆÁÊÌÁ (EOF) × ÓÌÏ×Å ÄÌÉÎÙ ÓÏÏÂÝÅÎÉÑ" -#: libpq/pqcomm.c:876 +#: libpq/pqcomm.c:908 msgid "invalid message length" msgstr "ÎÅ×ÅÒÎÁÑ ÄÌÉÎÁ ÓÏÏÂÝÅÎÉÑ" -#: libpq/pqcomm.c:890 +#: libpq/pqcomm.c:930 +#: libpq/pqcomm.c:940 msgid "incomplete message from client" msgstr "ÎÅÐÏÌÎÏÅ ÓÏÏÂÝÅÎÉÅ ÏÔ ËÌÉÅÎÔÁ" -#: libpq/pqcomm.c:1000 +#: libpq/pqcomm.c:1050 #, c-format msgid "could not send data to client: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÏÓÌÁÔØ ÄÁÎÎÙÅ ËÌÉÅÎÔÕ: %m" @@ -4259,7 +5250,8 @@ msgstr " #: libpq/pqformat.c:591 #: libpq/pqformat.c:609 #: libpq/pqformat.c:630 -#: utils/adt/arrayfuncs.c:1023 +#: utils/adt/arrayfuncs.c:1277 +#: utils/adt/rowtypes.c:523 msgid "insufficient data left in message" msgstr "ÎÅÄÏÓÔÁÔÏÞÎÏ ÄÁÎÎÙÈ ÏÓÔÁÌÏÓØ × ÓÏÏÂÝÅÎÉÉ" @@ -4271,12 +5263,17 @@ msgstr " msgid "invalid message format" msgstr "ÎÅ×ÅÒÎÙÊ ÆÏÒÍÁÔ ÓÏÏÂÝÅÎÉÑ" -#: main/main.c:84 +#: main/main.c:99 #, c-format msgid "%s: setsysinfo failed: %s\n" msgstr "%s: ÏÛÉÂËÁ setsysinfo: %s\n" -#: main/main.c:175 +#: main/main.c:117 +#, c-format +msgid "%s: WSAStartup failed: %d\n" +msgstr "%s: ÏÛÉÂËÁ WSAStartup: %d\n" + +#: main/main.c:217 msgid "" "\"root\" execution of the PostgreSQL server is not permitted.\n" "The server must be started under an unprivileged user ID to prevent\n" @@ -4284,27 +5281,46 @@ msgid "" "more information on how to properly start the server.\n" msgstr "" -#: main/main.c:196 +#: main/main.c:236 #, c-format msgid "%s: real and effective user IDs must match\n" msgstr "" -#: main/main.c:240 +#: main/main.c:243 +msgid "" +"Execution of PostgreSQL by a user with administrative permissions is not\n" +"permitted.\n" +"The server must be started under an unprivileged user ID to prevent\n" +"possible system security compromises. See the documentation for\n" +"more information on how to properly start the server.\n" +msgstr "" + +#: main/main.c:314 #, c-format msgid "%s: invalid effective UID: %d\n" msgstr "" -#: main/main.c:253 +#: main/main.c:327 #, c-format msgid "%s: could not determine user name (GetUserName failed)\n" msgstr "%s: ÎÅ ÕÄÁÌÏÓØ ÏÐÒÅÄÅÌÉÔØ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ (ÏÛÉÂËÁ GetUserName)\n" -#: optimizer/path/allpaths.c:214 +#: nodes/params.c:114 +#, c-format +msgid "no value found for parameter \"%s\"" +msgstr "ÚÎÁÞÅÎÉÅ ÎÅ ÎÁÊÄÅÎÏ ÄÌÑ ÐÁÒÁÍÅÔÒÁ \"%s\"" + +#: nodes/params.c:119 +#, c-format +msgid "no value found for parameter %d" +msgstr "ÚÎÁÞÅÎÉÅ ÎÅ ÎÁÊÄÅÎÏ ÄÌÑ ÐÁÒÁÍÅÔÒÁ %d" + +#: optimizer/path/allpaths.c:223 msgid "SELECT FOR UPDATE is not supported for inheritance queries" msgstr "" #: optimizer/plan/initsplan.c:282 -#: optimizer/prep/prepjointree.c:365 +#: optimizer/prep/prepjointree.c:366 msgid "UNION JOIN is not implemented" msgstr "UNION JOIN ÎÅ ÒÅÁÌÉÚÏ×ÁÎ" @@ -4312,362 +5328,343 @@ msgstr "UNION JOIN msgid "SELECT FOR UPDATE cannot be applied to the nullable side of an outer join" msgstr "" -#: optimizer/plan/initsplan.c:755 +#: optimizer/plan/initsplan.c:743 #, c-format msgid "could not identify an equality operator for types %s and %s" msgstr "" -#: optimizer/plan/initsplan.c:768 +#: optimizer/plan/initsplan.c:756 #, c-format msgid "equality operator for types %s and %s should be merge-joinable, but isn't" msgstr "" -#: optimizer/plan/planner.c:594 -#: parser/analyze.c:2102 -#: parser/analyze.c:2266 -#: parser/analyze.c:2821 +#: optimizer/plan/planner.c:641 +#: parser/analyze.c:1945 +#: parser/analyze.c:2111 +#: parser/analyze.c:2718 msgid "SELECT FOR UPDATE is not allowed with UNION/INTERSECT/EXCEPT" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ SELECT FOR UPDATE × UNION/INTERSECT/EXCEPT" -#: optimizer/plan/planner.c:660 +#: optimizer/plan/planner.c:698 msgid "SELECT FOR UPDATE is not allowed in subqueries" msgstr "SELECT FOR UPDATE ÎÅ ÐÏÚ×ÏÌÅÎ × ÐÏÄÚÁÐÒÏÓÁÈ" -#: optimizer/util/clauses.c:2047 +#: optimizer/util/clauses.c:2357 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "" -#: optimizer/util/clauses.c:2432 -#: optimizer/util/clauses.c:2909 -#: parser/parse_expr.c:1323 -#, c-format -msgid "relation reference \"%s\" cannot be used in an expression" -msgstr "" - -#: parser/parse_clause.c:336 +#: parser/parse_clause.c:363 #, c-format msgid "JOIN/ON clause refers to \"%s\", which is not part of JOIN" msgstr "×ÙÒÁÖÅÎÉÅ JOIN/ON ÓÓÙÌÁÅÔÓÑ ÎÁ \"%s\", ÞÔÏ ÎÅ Ñ×ÌÑÅÔÓÑ ÞÁÓÔØÀ JOIN" -#: gram.y:4765 -#: parser/parse_clause.c:396 +#: parser/parse_clause.c:423 +#: gram.y:5161 msgid "subquery in FROM must have an alias" msgstr "ÐÏÄÚÁÐÒÏÓ × FROM ÄÏÌÖÅÎ ÉÍÅÔØ ÁÌÉÁÓ" -#: parser/parse_clause.c:419 +#: parser/parse_clause.c:446 msgid "subquery in FROM may not have SELECT INTO" msgstr "ÐÏÄÚÁÐÒÏÓ × FROM ÎÅ ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ SELECT INTO" -#: parser/parse_clause.c:441 +#: parser/parse_clause.c:468 msgid "subquery in FROM may not refer to other relations of same query level" msgstr "ÐÏÚÁÐÒÏÓ ×Ï FROM ÎÅ ÍÏÖÅÔ ÓÓÙÌÁÔØÓÑ ÎÁ ÄÒÕÇÉÅ ÏÔÎÏÛÅÎÉÑ ÎÁ ÔÏÍ ÖÅ ÕÒÏ×ÎÅ ÚÁÐÒÏÓÁ" -#: parser/parse_clause.c:496 +#: parser/parse_clause.c:527 msgid "function expression in FROM may not refer to other relations of same query level" msgstr "ÆÕÎËÃÉÏÎÁÌØÎÏÅ ×ÙÒÁÖÅÎÉÅ ×Ï FROM ÎÅ ÍÏÖÅÔ ÓÓÙÌÁÔØÓÑ ÎÁ ÄÒÕÇÉÅ ÏÔÎÏÛÅÎÉÑ ÎÁ ÔÏÍ ÖÅ ÕÒÏ×ÎÅ ÚÁÐÒÏÓÁ" -#: parser/parse_clause.c:508 +#: parser/parse_clause.c:539 msgid "cannot use aggregate function in function expression in FROM" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÁÇÒÅÇÁÔÎÕÀ ÆÕÎÃÉÀ × ÆÕÎÃÉÏÎÁÌØÎÏÍ ×ÙÒÁÖÅÎÉÉ × FROM" -#: parser/parse_clause.c:728 +#: parser/parse_clause.c:759 #, c-format msgid "column name \"%s\" appears more than once in USING clause" msgstr "ÉÍÑ ËÏÌÏÎËÉ \"%s\" ÆÉÇÕÒÉÒÕÅÔ ÂÏÌØÛÅ ÏÄÎÏÇÏ ÒÁÚÁ × USING-×ÙÒÁÖÅÎÉÉ" -#: parser/parse_clause.c:743 +#: parser/parse_clause.c:774 #, c-format msgid "common column name \"%s\" appears more than once in left table" msgstr "ÏÂÝÅÅ ÉÍÑ ËÏÌÏÎËÉ \"%s\" ÆÉÇÕÒÉÒÕÅÔ ÂÏÌÅÅ ÏÄÎÏÇÏ ÒÁÚÁ × ÔÁÂÌÉÃÅ ÓÌÅ×Á" -#: parser/parse_clause.c:752 +#: parser/parse_clause.c:783 #, c-format msgid "column \"%s\" specified in USING clause does not exist in left table" msgstr "ËÏÌÏÎËÁ \"%s\" × USING-×ÙÒÁÖÅÎÉÉ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ × ÔÁÂÌÉÃÅ ÓÌÅ×Á" -#: parser/parse_clause.c:766 +#: parser/parse_clause.c:797 #, c-format msgid "common column name \"%s\" appears more than once in right table" msgstr "ÏÂÝÅÅ ÉÍÑ ËÏÌÏÎËÉ \"%s\" ÆÉÇÕÒÉÒÕÅÔ ÂÏÌÅÅ ÏÄÎÏÇÏ ÒÁÚÁ × ÔÁÂÌÉÃÅ ÓÐÒÁ×Á" -#: parser/parse_clause.c:775 +#: parser/parse_clause.c:806 #, c-format msgid "column \"%s\" specified in USING clause does not exist in right table" msgstr "ËÏÌÏÎËÁ \"%s\" × USING-×ÙÒÁÖÅÎÉÉ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ × ÔÁÂÌÉÃÅ ÓÐÒÁ×Á" -#: parser/parse_clause.c:827 +#: parser/parse_clause.c:858 #, c-format msgid "column alias list for \"%s\" has too many entries" msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ÚÁÐÉÓÅÊ × ÓÐÉÓËÅ ÁÌÉÁÓÏ× ËÏÌÏÎËÉ \"%s\"" #. translator: %s is name of a SQL construct, eg LIMIT -#: parser/parse_clause.c:1020 +#: parser/parse_clause.c:1051 #, c-format msgid "argument of %s must not contain variables" msgstr "ÁÒÇÕÍÅÎÔ Ë %s ÎÅ ÄÏÌÖÅÎ ÓÏÄÅÒÖÁÔØ ÐÅÒÅÍÅÎÎÙÅ" #. translator: %s is name of a SQL construct, eg LIMIT -#: parser/parse_clause.c:1028 +#: parser/parse_clause.c:1059 #, c-format msgid "argument of %s must not contain aggregates" msgstr "ÁÒÇÕÍÅÎÔ Ë %s ÎÅ ÄÏÌÖÅÎ ÓÏÄÅÒÖÁÔØ ÁÇÒÅÇÁÔÙ" #. translator: %s is name of a SQL construct, eg LIMIT -#: parser/parse_clause.c:1036 +#: parser/parse_clause.c:1067 #, c-format msgid "argument of %s must not contain subqueries" msgstr "ÁÒÇÕÍÅÎÔ Ë %s ÎÅ ÄÏÌÖÅÎ ÓÏÄÅÒÖÁÔØ ÐÏÄÚÁÐÒÏÓÙ" -#. translator: first %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:1146 +#: parser/parse_clause.c:1179 #, c-format msgid "%s \"%s\" is ambiguous" msgstr "×ÙÒÁÖÅÎÉÅ %s \"%s\" Ä×ÕÓÍÙÓÌÅÎÎÏ" #. translator: %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:1168 +#: parser/parse_clause.c:1201 #, c-format msgid "non-integer constant in %s" msgstr "ÎÅÃÅÌÏÞÉÓÌÅÎÎÁÑ ËÏÎÓÔÁÎÔÁ × %s" #. translator: %s is name of a SQL construct, eg ORDER BY -#: parser/parse_clause.c:1185 +#: parser/parse_clause.c:1218 #, c-format msgid "%s position %d is not in select list" msgstr "ÐÏÚÉÃÉÑ %s %d ÎÅ × ÓÐÉÓËÅ ×ÙÂÏÒËÉ" -#: parser/parse_clause.c:1370 +#: parser/parse_clause.c:1411 msgid "for SELECT DISTINCT, ORDER BY expressions must appear in select list" msgstr "ÄÌÑ SELECT DISTINCT, ×ÙÒÁÖÅÎÉÑ ORDER BY ÏÂÑÚÁÎÙ ÂÙÔØ × ÓÐÉÓËÅ ×ÙÂÏÒËÉ (SELECT)" -#: parser/parse_clause.c:1410 +#: parser/parse_clause.c:1451 msgid "SELECT DISTINCT ON expressions must match initial ORDER BY expressions" msgstr "÷ÙÒÁÖÅÎÉÑ SELECT DISTINCT ON ÄÏÌÖÎÙ ÓÏ×ÐÁÄÁÔØ Ó ÉÚÎÁÞÁÌØÎÙÍÉ ×ÙÒÁÖÅÎÉÑÍÉ ORDER BY" -#: parser/analyze.c:364 -msgid "CREATE VIEW specifies more column names than columns" -msgstr "CREATE VIEW ÕËÁÚÙ×ÁÅÔ ÂÏÌØÛÅ ÉͣΠËÏÌÏÎÏË ÞÅÍ ÒÅÁÌØÎÏ ÉÍÅÅÔÓÑ" - -#: parser/analyze.c:452 +#: parser/analyze.c:408 #, c-format msgid "target lists can have at most %d entries" msgstr "ÍÁËÓÉÍÁÌØÎÏÅ ÞÉÓÌÏ ÚÁÐÉÓÅÊ × ÓÐÉÓËÅ ÎÁÚÎÁÞÅÎÉÑ: %d" -#: parser/analyze.c:586 +#: parser/analyze.c:458 +msgid "CREATE VIEW specifies more column names than columns" +msgstr "CREATE VIEW ÕËÁÚÙ×ÁÅÔ ÂÏÌØÛÅ ÉͣΠËÏÌÏÎÏË ÞÅÍ ÒÅÁÌØÎÏ ÉÍÅÅÔÓÑ" + +#: parser/analyze.c:595 msgid "INSERT ... SELECT may not specify INTO" msgstr "INSERT ... SELECT ÎÅ ÍÏÇÕÔ ÕËÁÚÙ×ÁÔØ INTO" -#: parser/analyze.c:678 +#: parser/analyze.c:683 msgid "INSERT has more expressions than target columns" msgstr "INSERT ÓÏÄÅÒÖÉÔ ÂÏÌØÛÅ ×ÙÒÁÖÅÎÉÊ ÞÅÍ ËÏÌÏÎÏË ÎÁÚÎÁÞÅÎÉÑ" -#: parser/analyze.c:699 +#: parser/analyze.c:704 msgid "INSERT has more target columns than expressions" msgstr "INSERT ÓÏÄÅÒÖÉÔ ÂÏÌØÛÅ ËÏÌÏÎÏË ÎÁÚÎÁÞÅÎÉÑ ÞÅÍ ×ÙÒÁÖÅÎÉÊ" -#: parser/analyze.c:985 +#: parser/analyze.c:877 #, c-format -msgid "%s will create implicit sequence \"%s\" for \"serial\" column \"%s.%s\"" -msgstr "%s ÓÏÚÄÁÓÔ ÐÏÄÒÁÚÕÍÅ×ÁÅÍÕÀ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ \"%s\" ÄÌÑ ËÏÌÏÎËÉ \"%s.%s\" ÔÉÐÁ \"serial\"" +msgid "%s will create implicit sequence \"%s\" for serial column \"%s.%s\"" +msgstr "%s ÓÏÚÄÁÓÔ ÐÏÄÒÁÚÕÍÅ×ÁÅÍÕÀ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ \"%s\" ÄÌÑ serial-ËÏÌÏÎËÉ \"%s.%s\"" -#: parser/analyze.c:1069 -#: parser/analyze.c:1079 +#: parser/analyze.c:960 +#: parser/analyze.c:970 #, c-format msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "ËÏÎÆÌÉËÔÕÀÝÉÅ ÏÂßÑ×ÌÅÎÉÑ NULL/NOT NULL ÄÌÑ ËÏÌÏÎËÉ \"%s\" × ÔÁÂÌÉÃÅ \"%s\"" -#: parser/analyze.c:1089 +#: parser/analyze.c:980 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "ÕËÁÚÁÎÙ ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ÚÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÁÎÉÀ ÄÌÑ ËÏÌÏÎËÉ \"%s\" × ÔÁÂÌÉÃÅ \"%s\"" -#: parser/analyze.c:1334 -#, c-format -msgid "multiple primary keys for table \"%s\" are not allowed" -msgstr "ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ÐÅÒ×ÉÞÎÙÅ ËÌÀÞÉ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\" ÎÅ ÄÏÚ×ÏÌÅÎÙ" - -#: parser/analyze.c:1466 +#: parser/analyze.c:1323 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "ËÏÌÏÎËÁ \"%s\" ÆÉÇÕÒÉÒÕÅÔ Ä×ÁÖÄÙ × ÐÅÒ×ÉÞÎÏÍ ËÌÀÞÅ" -#: parser/analyze.c:1471 +#: parser/analyze.c:1328 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "ËÏÌÏÎËÁ \"%s\" ÆÉÇÕÒÉÒÕÅÔ Ä×ÁÖÄÙ × ËÏÎÓÔÒÅÊÎÔÅ UNIQUE" -#: parser/analyze.c:1565 -#, c-format -msgid "%s / %s%s will create implicit index \"%s\" for table \"%s\"" -msgstr "%s / %s%s ÓÏÚÄÁÓÔ ÐÏÄÒÁÚÕÍÅ×ÁÅÍÙÊ ÉÎÄÅËÓ \"%s\" ÄÌÑ ÔÁÂÌÉÃÙ \"%s\"" - -#: parser/analyze.c:1670 +#: parser/analyze.c:1511 msgid "index expression may not return a set" msgstr "ÉÄÅËÓÎÏÅ ×ÙÒÁÖÅÎÉÅ ÎÅ ÍÏÖÅÔ ×ÏÚ×ÒÁÝÁÔØ ÍÎÏÖÅÓÔ×Ï" -#: parser/analyze.c:1762 +#: parser/analyze.c:1603 msgid "rule WHERE condition may not contain references to other relations" msgstr "ÕÓÌÏ×ÉÅ ÐÒÁ×ÉÌÁ WHERE ÎÅ ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ ÓÓÙÌËÉ ÎÁ ÄÒÕÇÉÅ ÏÔÎÏÛÅÎÉÑ" -#: parser/analyze.c:1768 +#: parser/analyze.c:1609 msgid "rule WHERE condition may not contain aggregate functions" msgstr "ÕÓÌÏ×ÉÅ ÐÒÁ×ÉÌÁ WHERE ÎÅ ÍÏÖÅÔ ÓÏÄÅÒÖÁÔØ ÁÇÇÒÅÇÁÔÎÙÅ ÆÕÎËÃÉÉ" -#: parser/analyze.c:1839 +#: parser/analyze.c:1680 msgid "rules with WHERE conditions may only have SELECT, INSERT, UPDATE, or DELETE actions" msgstr "ÐÒÁ×ÉÌÁ Ó ÕÓÌÏ×ÉÑÍÉ WHERE ÍÏÇÕÔ ÓÏÄÅÒÖÁÔØ ÔÏÌØËÏ ÄÅÊÓÔ×ÉÑ SELECT, INSERT, UPDATE ÉÌÍ DELETE" -#: parser/analyze.c:1858 -#: parser/analyze.c:1930 -#: rewrite/rewriteHandler.c:174 -#: rewrite/rewriteManip.c:746 -#: rewrite/rewriteManip.c:802 +#: parser/analyze.c:1699 +#: parser/analyze.c:1771 +#: rewrite/rewriteHandler.c:177 +#: rewrite/rewriteManip.c:749 +#: rewrite/rewriteManip.c:805 msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "ÕÓÌÏ×ÎÙÅ ËÏÍÁÎÄÙ UNION/INTERSECT/EXCEPT ÎÅ ÒÅÁÌÉÚÏ×ÁÎÙ" -#: parser/analyze.c:1876 +#: parser/analyze.c:1717 msgid "ON SELECT rule may not use OLD" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ OLD × ÐÒÁ×ÉÌÅ ON SELECT" -#: parser/analyze.c:1880 +#: parser/analyze.c:1721 msgid "ON SELECT rule may not use NEW" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ NEW × ÐÒÁ×ÉÌÅ ON SELECT" -#: parser/analyze.c:1889 +#: parser/analyze.c:1730 msgid "ON INSERT rule may not use OLD" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ OLD × ÐÒÁ×ÉÌÅ ON INSERT" -#: parser/analyze.c:1895 +#: parser/analyze.c:1736 msgid "ON DELETE rule may not use NEW" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ NEW × ÐÒÁ×ÉÌÅ ON DELETE" -#: parser/analyze.c:2223 +#: parser/analyze.c:2068 msgid "ORDER BY on a UNION/INTERSECT/EXCEPT result must be on one of the result columns" msgstr "ORDER BY ÄÌÑ ÒÅÚÕÌØÔÁÔÁ UNION/INTERSECT/EXCEPT ÄÏÌÖÅÎ ÂÙÔØ ÐÏ ÏÄÎÏÊ ÉÚ ÒÅÚÕÌØÔÉÒÕÀÝÉÈ ËÏÌÏÎÏË" -#: parser/analyze.c:2261 +#: parser/analyze.c:2106 msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT" msgstr "INTO ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÏÌØËÏ × ÐÅÒ×ÏÍ SELECT'Å × UNION/INTERSECT/EXCEPT" -#: parser/analyze.c:2322 +#: parser/analyze.c:2167 msgid "UNION/INTERSECT/EXCEPT member statement may not refer to other relations of same query level" msgstr "ËÏÍÁÎÄÁ, ÓÏÓÔÏÑÝÁÑ × UNION/INTERSECT/EXCEPT ÎÅ ÍÏÖÅÔ ÓÓÙÌÁÔØÓÑ ÎÁ ÄÒÕÇÉÅ ÏÔÎÏÛÅÎÉÑ ÎÁ ÔÏÍ ÖÅ ÕÒÏ×ÎÅ ÚÁÐÒÏÓÏ×" -#: parser/analyze.c:2375 +#: parser/analyze.c:2222 #, c-format msgid "each %s query must have the same number of columns" msgstr "ËÁÖÄÙÊ ÚÁÐÒÏÓ %s ÄÏÌÖÅÎ ÉÍÅÔØ ÏÄÉÎÁËÏ×ÏÅ ÞÉÓÌÏ ËÏÌÏÎÏË" -#: parser/analyze.c:2445 +#: parser/analyze.c:2294 msgid "CREATE TABLE AS specifies too many column names" msgstr "CREATE TABLE AS ÕËÁÚÙ×ÁÅÔ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÉͣΠÄÌÑ ËÏÌÏÎËÉ" -#: parser/analyze.c:2678 +#: parser/analyze.c:2577 msgid "cannot specify both SCROLL and NO SCROLL" msgstr "ÎÅÌØÚÑ ÕËÁÚÙ×ÁÔØ ÏÂÁ SCROLL É NO SCROLL" -#: parser/analyze.c:2764 +#: parser/analyze.c:2664 #, c-format msgid "wrong number of parameters for prepared statement \"%s\"" msgstr "" -#: parser/analyze.c:2766 +#: parser/analyze.c:2666 #, c-format msgid "Expected %d parameters but got %d." msgstr "ïÖÉÄÁÌÏÓØ ÐÁÒÁÍÅÔÒÏ×: %d, ÎÏ ÂÙÌÏ ÐÏÌÕÞÅÎÏ: %d." -#: parser/analyze.c:2781 +#: parser/analyze.c:2681 msgid "cannot use subquery in EXECUTE parameter" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÐÏÄÚÁÐÒÏÓ × ÐÁÒÁÍÅÔÒÅ Ë EXECUTE" -#: parser/analyze.c:2785 +#: parser/analyze.c:2685 msgid "cannot use aggregate function in EXECUTE parameter" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÁÇÒÅÇÁÔÎÕÀ ÆÕÎËÃÉÀ × ÐÁÒÁÍÅÔÒÅ Ë EXECUTE" -#: parser/analyze.c:2798 +#: parser/analyze.c:2697 #, c-format msgid "parameter $%d of type %s cannot be coerced to the expected type %s" msgstr "" -#: parser/analyze.c:2825 +#: parser/analyze.c:2722 msgid "SELECT FOR UPDATE is not allowed with DISTINCT clause" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ SELECT FOR UPDATE Ó ×ÙÒÁÖÅÎÉÅÍ DISTINCT" -#: parser/analyze.c:2829 +#: parser/analyze.c:2726 msgid "SELECT FOR UPDATE is not allowed with GROUP BY clause" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ SELECT FOR UPDATE Ó ×ÙÒÁÖÅÎÉÅÍ GROUP BY" -#: parser/analyze.c:2833 +#: parser/analyze.c:2730 msgid "SELECT FOR UPDATE is not allowed with aggregate functions" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ SELECT FOR UPDATE Ó ÁÇÒÅÇÁÔÎÙÍÉ ÆÕÎËÃÉÑÍÉ" -#: parser/analyze.c:2913 +#: parser/analyze.c:2812 msgid "SELECT FOR UPDATE cannot be applied to a join" msgstr "ÎÅÌØÚÑ ÐÒÉÍÅÎÑÔØ SELECT FOR UPDATE Ë JOIN" -#: parser/analyze.c:2918 +#: parser/analyze.c:2817 msgid "SELECT FOR UPDATE cannot be applied to NEW or OLD" msgstr "ÎÅÌØÚÑ ÐÒÉÍÅÎÑÔØ SELECT FOR UPDATE Ë NEW ÉÌÉ OLD" -#: parser/analyze.c:2923 +#: parser/analyze.c:2822 msgid "SELECT FOR UPDATE cannot be applied to a function" msgstr "SELECT FOR UPDATE: ÎÅÌØÚÑ ÐÒÉÍÅÎÑÔØ Ë ÆÕÎËÃÉÉ" -#: parser/analyze.c:2936 +#: parser/analyze.c:2835 #, c-format msgid "relation \"%s\" in FOR UPDATE clause not found in FROM clause" msgstr "ÏÔÎÏÛÅÎÉÅ \"%s\" × ×ÙÒÁÖÅÎÉÉ FOR UPDATE ÎÅ ÎÁÊÄÅÎÏ × ×ÙÒÁÖÅÎÉÉ FROM" -#: parser/analyze.c:3028 +#: parser/analyze.c:2882 msgid "misplaced DEFERRABLE clause" msgstr "ÎÅÐÒÁ×ÉÌØÎÏ ÒÁÓÐÏÌÏÖÅÎÎÏÅ ×ÙÒÁÖÅÎÉÅ DEFERRABLE" -#: parser/analyze.c:3032 -#: parser/analyze.c:3045 +#: parser/analyze.c:2886 +#: parser/analyze.c:2899 msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ×ÙÒÁÖÅÎÉÑ DEFERRABLE/NOT DEFERRABLE ÎÅ ÄÏÚ×ÏÌÅÎÙ" -#: parser/analyze.c:3041 +#: parser/analyze.c:2895 msgid "misplaced NOT DEFERRABLE clause" msgstr "ÎÅÐÒÁ×ÉÌØÎÏ ÒÁÓÐÏÌÏÖÅÎÎÏÅ ×ÙÒÁÖÅÎÉÅ NOT DEFERRABLE" -#: gram.y:2193 -#: gram.y:2208 -#: parser/analyze.c:3052 -#: parser/analyze.c:3076 +#: parser/analyze.c:2906 +#: parser/analyze.c:2930 +#: gram.y:2368 +#: gram.y:2383 msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "ÏÇÒÁÎÉÞÅÎÉÅ ÚÁÄÅËÌÁÒÉÒÏ×ÁÎÎÏÅ ËÁË INITIALLY DEFERRED ÔÁËÖÅ ÄÏÌÖÎÏ ÂÙÔØ DEFERRABLE" -#: parser/analyze.c:3059 +#: parser/analyze.c:2913 msgid "misplaced INITIALLY DEFERRED clause" msgstr "ÎÅÐÒÁ×ÉÌØÎÏ ÒÁÓÐÏÌÏÖÅÎÎÏÅ ×ÙÒÁÖÅÎÉÅ INITIALLY DEFERRED" -#: parser/analyze.c:3063 -#: parser/analyze.c:3087 +#: parser/analyze.c:2917 +#: parser/analyze.c:2941 msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ×ÙÒÁÖÅÎÉÑ INITIALLY IMMEDIATE/DEFERRED ÎÅ ÄÏÚ×ÏÌÅÎÙ" -#: parser/analyze.c:3083 +#: parser/analyze.c:2937 msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "ÎÅÐÒÁ×ÉÌØÎÏ ÒÁÓÐÏÌÏÖÅÎÎÏÅ ×ÙÒÁÖÅÎÉÅ INITIALLY IMMEDIATE" -#: parser/analyze.c:3196 -#: parser/analyze.c:3217 +#: parser/analyze.c:2990 #, c-format msgid "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "CREATE ÕËÁÚÙ×ÁÅÔ ÓÈÅÍÕ (%s) ÏÔÌÉÞÎÕÀ ÏÔ ÓÏÚÄÁ×ÁÅÍÏÊ (%s)" -#: parser/analyze.c:3271 -#: parser/parse_coerce.c:245 -#: parser/parse_expr.c:137 -#: parser/parse_expr.c:143 +#: parser/analyze.c:3144 +#: parser/parse_coerce.c:221 +#: parser/parse_expr.c:116 +#: parser/parse_expr.c:122 #, c-format msgid "there is no parameter $%d" msgstr "ÐÁÒÁÍÅÔÒ $%d ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: parser/analyze.c:3276 -#: tcop/postgres.c:1142 +#: parser/analyze.c:3149 +#: tcop/postgres.c:1204 #, c-format msgid "could not determine data type of parameter $%d" msgstr "ÎÅ ÏÐÒÅÄÅÌÉÔØ ÔÉÐ ÄÁÎÎÙÚ ÐÁÒÁÍÅÔÒÁ $%d" @@ -4694,295 +5691,297 @@ msgstr " msgid "subquery uses ungrouped column \"%s.%s\" from outer query" msgstr "ÐÏÄÚÁÐÒÏÓ ÉÓÐÏÌØÚÕÅÔ ÎÅÓÇÒÕÐÐÉÒÏ×ÁÎÎÕÀ ËÏÌÏÎËÕ \"%s.%s\" ÉÚ ×ÎÅÛÎÅÇÏ ÚÁÐÒÏÓÁ" -#: parser/parse_relation.c:174 -#: parser/parse_relation.c:189 -#, c-format -msgid "table reference \"%s\" is ambiguous" -msgstr "ÓÓÙÌËÁ ÎÁ ÔÁÂÌÉÃÕ \"%s\" ÎÅÏÄÎÏÚÎÁÞÎÁ" - -#: parser/parse_relation.c:249 -#: parser/parse_relation.c:264 -#, c-format -msgid "table reference %u is ambiguous" -msgstr "ÓÓÙÌËÁ ÎÁ ÔÁÂÌÉÃÕ %u ÎÅÏÄÎÏÚÎÁÞÎÁ" - -#: parser/parse_relation.c:356 -#: parser/parse_relation.c:368 -#, c-format -msgid "table name \"%s\" specified more than once" -msgstr "ÉÍÑ ÔÁÂÌÉÃÙ \"%s\" ÕËÁÚÁÎÏ ÂÏÌØÛÅ ÏÄÎÏÇÏ ÒÁÚÁ" - -#: parser/parse_relation.c:477 -#: parser/parse_relation.c:574 +#: parser/parse_coerce.c:237 #, c-format -msgid "column reference \"%s\" is ambiguous" -msgstr "ÓÓÙÌËÁ ÎÁ ËÏÌÏÎËÕ \"%s\" ÎÅÏÄÎÏÚÎÁÞÎÁ" - -#: parser/parse_relation.c:669 -#: parser/parse_relation.c:764 -#: parser/parse_relation.c:859 -#: parser/parse_relation.c:979 -#, c-format -msgid "table \"%s\" has %d columns available but %d columns specified" -msgstr "Õ ÔÁÂÌÉÃÙ \"%s\" ËÏÌÏÎÏË ÄÏÓÔÕÐÎÏ: %d, ÎÏ ÕËÁÚÁÎÏ: %d" - -#: parser/parse_relation.c:936 -msgid "a column definition list is only allowed for functions returning \"record\"" -msgstr "" - -#: parser/parse_relation.c:947 -msgid "a column definition list is required for functions returning \"record\"" +msgid "inconsistent types deduced for parameter $%d" msgstr "" -#: parser/parse_relation.c:1008 +#: parser/parse_coerce.c:696 +#: parser/parse_coerce.c:723 +#: parser/parse_coerce.c:739 +#: parser/parse_coerce.c:753 +#: parser/parse_expr.c:1671 #, c-format -msgid "too many column aliases specified for function %s" -msgstr "ÕËÁÚÁÎÏ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÁÌÉÁÓÏ× ËÏÌÏÎËÉ ÄÌÑ ÆÕÎËÃÉÉ %s" - -#: parser/parse_relation.c:1031 -#, c-format -msgid "function \"%s\" in FROM has unsupported return type" -msgstr "ÆÕÎËÃÉÑ \"%s\" × FROM ÉÍÅÅÔ ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÔÉÐ ×ÏÚÒÁÔÁ" - -#: parser/parse_relation.c:1423 -#: parser/parse_relation.c:1667 -msgid "function in FROM has unsupported return type" -msgstr "ÆÕÎËÃÉÑ × FROM ÉÍÅÅÔ ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÔÉÐ ×ÏÚÒÁÔÁ" - -#: parser/parse_relation.c:1911 -#, c-format -msgid "missing FROM-clause entry in subquery for table \"%s\"" -msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÚÁÐÉÓØ Ï FROM-×ÙÒÁÖÅÎÉÉ × ÐÏÄÚÁÐÒÏÓÅ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\"" - -#: parser/parse_relation.c:1916 -#, c-format -msgid "missing FROM-clause entry for table \"%s\"" -msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÚÁÐÉÓØ Ï FROM-×ÙÒÁÖÅÎÉÉ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\"" +msgid "cannot cast type %s to %s" +msgstr "ÎÅÌØÚÑ ËÏÎ×ÅÒÔÉÒÏ×ÁÔØ ÔÉÐ %s × %s" -#: parser/parse_relation.c:1935 -#, c-format -msgid "adding missing FROM-clause entry in subquery for table \"%s\"" -msgstr "ÄÏÂÁ×ÌÅÎÉÅ ÏÔÓÕÔÓÔ×ÕÀÝÅÊ ÚÁÐÉÓÉ Ï FROM-×ÙÒÁÖÅÎÉÉ × ÐÏÄÚÁÐÒÏÓÅ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\"" +#: parser/parse_coerce.c:726 +msgid "Input has too few columns." +msgstr "" -#: parser/parse_relation.c:1940 +#: parser/parse_coerce.c:742 #, c-format -msgid "adding missing FROM-clause entry for table \"%s\"" -msgstr "ÄÏÂÁ×ÌÅÎÉÅ ÏÔÓÕÔÓÔ×ÕÀÝÅÊ ÚÁÐÉÓÉ Ï FROM-×ÙÒÁÖÅÎÉÉ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\"" +msgid "Cannot cast type %s to %s in column %d." +msgstr "" -#: parser/parse_coerce.c:261 -#, c-format -msgid "inconsistent types deduced for parameter $%d" +#: parser/parse_coerce.c:756 +msgid "Input has too many columns." msgstr "" #. translator: first %s is name of a SQL construct, eg WHERE -#: parser/parse_coerce.c:579 +#: parser/parse_coerce.c:790 #, c-format msgid "argument of %s must be type boolean, not type %s" msgstr "ÔÉÐ ÁÒÇÕÍÅÎÔÁ ËÏÎÓÔÒÕËÃÉÉ %s ÄÏÌÖÅÎ ÂÙÔØ boolean, Á ÎÅ %s" #. translator: %s is name of a SQL construct, eg WHERE -#: parser/parse_coerce.c:587 -#: parser/parse_coerce.c:626 +#: parser/parse_coerce.c:798 +#: parser/parse_coerce.c:837 #, c-format msgid "argument of %s must not return a set" msgstr "ÁÒÇÕÍÅÎÔ Ë %s ÎÅ ÄÏÌÖÎÅÎ ×ÏÚ×ÒÁÝÁÔØ ÍÎÏÖÅÓÔ×Ï" #. translator: first %s is name of a SQL construct, eg LIMIT -#: parser/parse_coerce.c:618 +#: parser/parse_coerce.c:829 #, c-format msgid "argument of %s must be type integer, not type %s" msgstr "ÔÉÐ ÁÒÇÕÍÅÎÔÁ ËÏÎÓÔÒÕËÃÉÉ %s ÄÏÌÖÅÎ ÂÙÔØ integer, Á ÎÅ %s" -#: parser/parse_coerce.c:679 +#: parser/parse_coerce.c:891 #, c-format msgid "%s types %s and %s cannot be matched" msgstr "%s ÔÉÐÙ %s É %s ÎÅ ÓÏ×ÐÁÄÁÀÔ" #. translator: first %s is name of a SQL construct, eg CASE -#: parser/parse_coerce.c:741 +#: parser/parse_coerce.c:953 #, c-format msgid "%s could not convert type %s to %s" msgstr "%s ÎÅ × ÓÏÓÔÏÑÎÉÉ ÓËÏÎ×ÅÒÔÉÒÏ×ÁÔØ ÔÉÐ %s × %s" -#: parser/parse_coerce.c:917 +#: parser/parse_coerce.c:1129 msgid "arguments declared \"anyelement\" are not all alike" msgstr "ÁÒÇÕÍÅÎÔÙ ÚÁÄÅËÌÁÒÉÒÏ×ÁÎÎÙÅ ËÁË \"anyelement\" ÎÅ ×ÓÅ ÏÄÉÎÁËÏ×ÙÅ" -#: parser/parse_coerce.c:934 +#: parser/parse_coerce.c:1146 msgid "arguments declared \"anyarray\" are not all alike" msgstr "ÁÒÇÕÍÅÎÔÙ ÚÁÄÅËÌÁÒÉÒÏ×ÁÎÎÙÅ ËÁË \"anyarray\" ÎÅ ×ÓÅ ÏÄÉÎÁËÏ×ÙÅ" -#: parser/parse_coerce.c:963 -#: parser/parse_coerce.c:1075 -#: parser/parse_coerce.c:1102 +#: parser/parse_coerce.c:1175 +#: parser/parse_coerce.c:1287 +#: parser/parse_coerce.c:1314 #, c-format msgid "argument declared \"anyarray\" is not an array but type %s" msgstr "ÁÒÇÕÍÅÎÔ ÚÁÄÅËÌÁÒÉÒÏ×ÁÎÎÙÊ ËÁË \"anyarray\" ÎÅ Ñ×ÌÑÅÔÓÑ ÍÁÓÓÉ×ÏÍ Á Ñ×ÌÑÅÔÓÑ ÔÉÐÏÍ %s" -#: parser/parse_coerce.c:980 +#: parser/parse_coerce.c:1192 msgid "argument declared \"anyarray\" is not consistent with argument declared \"anyelement\"" msgstr "" -#: parser/parse_coerce.c:991 +#: parser/parse_coerce.c:1203 msgid "could not determine anyarray/anyelement type because input has type \"unknown\"" msgstr "" -#: parser/parse_coerce.c:1016 -#: parser/parse_coerce.c:1033 -#: parser/parse_coerce.c:1087 -#: parser/parse_expr.c:796 -#: parser/parse_expr.c:1228 -#: parser/parse_expr.c:1267 +#: parser/parse_coerce.c:1228 +#: parser/parse_coerce.c:1245 +#: parser/parse_coerce.c:1299 +#: parser/parse_expr.c:807 +#: parser/parse_expr.c:1364 +#: parser/parse_expr.c:1403 #: parser/parse_oper.c:920 #, c-format msgid "could not find array type for data type %s" msgstr "ÔÉÐ ÍÁÓÓÉ×Á ÄÌÑ ÔÉÐÁ ÄÁÎÎÙÈ %s ÎÅ ÎÁÊÄÅÎ" -#: parser/parse_expr.c:105 -msgid "expression too complex" -msgstr "ÓÌÉÛËÏÍ ÓÌÏÖÎÏÅ ×ÙÒÁÖÅÎÉÅ" +#: parser/parse_relation.c:174 +#: parser/parse_relation.c:189 +#, c-format +msgid "table reference \"%s\" is ambiguous" +msgstr "ÓÓÙÌËÁ ÎÁ ÔÁÂÌÉÃÕ \"%s\" ÎÅÏÄÎÏÚÎÁÞÎÁ" -#: parser/parse_expr.c:106 +#: parser/parse_relation.c:249 +#: parser/parse_relation.c:264 #, c-format -msgid "Nesting depth exceeds maximum expression depth %d." -msgstr "çÌÕÂÉÎÁ ×ÌÏÖÅÎÎÏÓÔÉ ÐÒÅ×ÙÛÁÅÔ ÍÁËÓÉÍÁÌØÎÕÀ ÇÌÕÂÉÎÕ ×ÙÒÁÖÅÎÉÊ %d." +msgid "table reference %u is ambiguous" +msgstr "ÓÓÙÌËÁ ÎÁ ÔÁÂÌÉÃÕ %u ÎÅÏÄÎÏÚÎÁÞÎÁ" -#: parser/parse_expr.c:108 -msgid "Increase the configuration parameter \"max_expr_depth\"." -msgstr "õ×ÅÌÉÞÔÅ ÐÁÒÁÍÅÔÒ ËÏÎÆÉÇÕÒÁÃÉÉ \"max_expr_depth\"." +#: parser/parse_relation.c:356 +#: parser/parse_relation.c:368 +#, c-format +msgid "table name \"%s\" specified more than once" +msgstr "ÉÍÑ ÔÁÂÌÉÃÙ \"%s\" ÕËÁÚÁÎÏ ÂÏÌØÛÅ ÏÄÎÏÇÏ ÒÁÚÁ" -#: parser/parse_expr.c:352 -msgid "IS DISTINCT FROM requires = operator to yield boolean" -msgstr "IS DISTINCT FROM ÔÒÅÂÕÅÔ ÏÐÅÒÁÔÏÒ = ×ÏÚ×ÒÁÝÁÔØ ÂÕÌÅ×ÓËÏÅ ÚÎÁÞÅÎÉÅ" +#: parser/parse_relation.c:510 +#: parser/parse_relation.c:609 +#, c-format +msgid "column reference \"%s\" is ambiguous" +msgstr "ÓÓÙÌËÁ ÎÁ ËÏÌÏÎËÕ \"%s\" ÎÅÏÄÎÏÚÎÁÞÎÁ" + +#: parser/parse_relation.c:726 +#: parser/parse_relation.c:925 +#, c-format +msgid "table \"%s\" has %d columns available but %d columns specified" +msgstr "Õ ÔÁÂÌÉÃÙ \"%s\" ËÏÌÏÎÏË ÄÏÓÔÕÐÎÏ: %d, ÎÏ ÕËÁÚÁÎÏ: %d" + +#: parser/parse_relation.c:997 +msgid "a column definition list is only allowed for functions returning \"record\"" +msgstr "" + +#: parser/parse_relation.c:1008 +msgid "a column definition list is required for functions returning \"record\"" +msgstr "" + +#: parser/parse_relation.c:1047 +#, c-format +msgid "too many column aliases specified for function %s" +msgstr "ÕËÁÚÁÎÏ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÁÌÉÁÓÏ× ËÏÌÏÎËÉ ÄÌÑ ÆÕÎËÃÉÉ %s" + +#: parser/parse_relation.c:1071 +#, c-format +msgid "function \"%s\" in FROM has unsupported return type %s" +msgstr "ÆÕÎËÃÉÑ \"%s\" ÉÍÅÅÔ ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÔÉÐ ×ÏÚÒÁÔÁ %s × FROM" + +#: parser/parse_relation.c:2003 +#, c-format +msgid "missing FROM-clause entry in subquery for table \"%s\"" +msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÚÁÐÉÓØ Ï FROM-×ÙÒÁÖÅÎÉÉ × ÐÏÄÚÁÐÒÏÓÅ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\"" + +#: parser/parse_relation.c:2008 +#, c-format +msgid "missing FROM-clause entry for table \"%s\"" +msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÚÁÐÉÓØ Ï FROM-×ÙÒÁÖÅÎÉÉ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\"" + +#: parser/parse_relation.c:2027 +#, c-format +msgid "adding missing FROM-clause entry in subquery for table \"%s\"" +msgstr "ÄÏÂÁ×ÌÅÎÉÅ ÏÔÓÕÔÓÔ×ÕÀÝÅÊ ÚÁÐÉÓÉ Ï FROM-×ÙÒÁÖÅÎÉÉ × ÐÏÄÚÁÐÒÏÓÅ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\"" + +#: parser/parse_relation.c:2032 +#, c-format +msgid "adding missing FROM-clause entry for table \"%s\"" +msgstr "ÄÏÂÁ×ÌÅÎÉÅ ÏÔÓÕÔÓÔ×ÕÀÝÅÊ ÚÁÐÉÓÉ Ï FROM-×ÙÒÁÖÅÎÉÉ ÄÌÑ ÔÁÂÌÉÃÙ \"%s\"" -#: parser/parse_expr.c:375 +#: parser/parse_expr.c:361 msgid "NULLIF requires = operator to yield boolean" msgstr "NULLIF ÔÒÅÂÕÅÔ ÏÐÅÒÁÔÏÒ = ×ÏÚ×ÒÁÝÁÔØ ÂÕÌÅ×ÓËÏÅ ÚÎÁÞÅÎÉÅ" -#: parser/parse_expr.c:497 +#: parser/parse_expr.c:486 msgid "subquery must return a column" msgstr "ÐÏÄÚÁÐÒÏÓ ÄÏÌÖÅÎ ×ÅÒÎÕÔØ ËÏÌÏÎËÕ" -#: parser/parse_expr.c:503 +#: parser/parse_expr.c:492 msgid "subquery must return only one column" msgstr "ÐÏÄÚÁÐÒÏÓ ÄÏÌÖÅÎ ×ÅÒÎÕÔØ ÔÏÌØËÏ ÏÄÎÕ ËÏÌÏÎËÕ" -#: parser/parse_expr.c:559 +#: parser/parse_expr.c:549 #, c-format msgid "row comparison cannot use operator %s" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÐÅÒÁÔÏÒ %s ÐÒÉ ÓÒÁ×ÎÅÎÉÉ ÓÔÒÏË" -#: parser/parse_expr.c:586 +#: parser/parse_expr.c:576 msgid "subquery has too many columns" msgstr "ÓÌÉÛËÏÍ ÍÎÏÇÏ ËÏÌÏÎÏË × ÐÏÄÚÁÐÒÏÓÅ" -#: parser/parse_expr.c:604 +#: parser/parse_expr.c:594 #, c-format msgid "operator %s must return type boolean, not type %s" msgstr "ÏÐÅÒÁÔÏÒ %s ÄÏÌÖÅÎ ×ÏÚ×ÒÁÝÁÔØ ÔÉÐ boolean, Á ÎÅ %s" -#: parser/parse_expr.c:607 -#: parser/parse_expr.c:614 +#: parser/parse_expr.c:597 +#: parser/parse_expr.c:604 msgid "The operator of a quantified predicate subquery must return type boolean." msgstr "" -#: parser/parse_expr.c:612 +#: parser/parse_expr.c:602 #, c-format msgid "operator %s must not return a set" msgstr "ÏÐÅÒÁÔÏÒ %s ÎÅ ÄÏÌÖÅÎ ×ÏÚ×ÒÁÝÁÔØ ÍÎÏÖÅÓÔ×Ï" -#: parser/parse_expr.c:624 +#: parser/parse_expr.c:614 msgid "subquery has too few columns" msgstr "ÓÌÉÛËÏÍ ÍÁÌÏ ËÏÌÏÎÏË Á ÐÏÄÚÁÐÒÏÓÅ" -#: parser/parse_expr.c:1531 +#: parser/parse_expr.c:1705 +#: parser/parse_expr.c:1784 +msgid "unequal number of entries in row expression" +msgstr "" + +#: parser/parse_expr.c:1726 #, c-format -msgid "cannot cast type %s to %s" -msgstr "ÎÅÌØÚÑ ËÏÎ×ÅÒÔÉÒÏ×ÁÔØ ÔÉÐ %s × %s" +msgid "operator %s is not supported for row expressions" +msgstr "ÏÐÅÒÁÔÏÒ %s ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÓÔÒÏÞÎÙÅ ×ÙÒÁÖÅÎÉÑ" -#: parser/parse_func.c:89 +#: parser/parse_expr.c:1821 +msgid "IS DISTINCT FROM requires = operator to yield boolean" +msgstr "IS DISTINCT FROM ÔÒÅÂÕÅÔ ÏÐÅÒÁÔÏÒ = ×ÏÚ×ÒÁÝÁÔØ ÂÕÌÅ×ÓËÏÅ ÚÎÁÞÅÎÉÅ" + +#: parser/parse_func.c:88 #, c-format msgid "cannot pass more than %d arguments to a function" msgstr "ÞÉÓÌÏ ÁÒÇÕÍÅÎÔÏ× ÆÕÎËÃÉÉ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÂÏÌÅÅ %d" -#: parser/parse_func.c:224 -#, c-format -msgid "cannot pass result of subquery or join \"%s\" to a function" -msgstr "ÎÅÌØÚÑ ÐÅÒÅÄÁ×ÁÔØ ÒÅÚÕÌØÔÁÔ ÐÏÄÚÁÐÒÏÓÁ ÉÌÉ JOIN \"%s\" × ÆÕÎËÃÉÀ" - -#: parser/parse_func.c:265 +#: parser/parse_func.c:165 #, c-format msgid "%s(*) specified, but %s is not an aggregate function" msgstr "ÕËÁÚÁÎÏ: %s(*), ÎÏ %s ÎÅ Ñ×ÌÑÅÔÓÑ ÁÇÒÅÇÁÔÎÏÊ ÆÕÎËÃÉÅÊ" -#: parser/parse_func.c:271 +#: parser/parse_func.c:171 #, c-format msgid "DISTINCT specified, but %s is not an aggregate function" msgstr "DISTINCT ÕËÁÚÁÎ, ÎÏ %s ÎÅ Ñ×ÌÑÅÔÓÑ ÁÇÒÅÇÁÔÎÏÊ ÆÕÎËÃÉÅÊ" -#: parser/parse_func.c:296 -#, c-format -msgid "attribute notation .%s applied to type %s, which is not a complex type" -msgstr "" - -#: parser/parse_func.c:301 -#, c-format -msgid "attribute \"%s\" not found in data type %s" -msgstr "ÁÔÒÉÂÕÔ \"%s\" ÎÅ ÎÁÊÄÅÎ × ÔÉÐÅ ÄÁÎÎÙÈ %s" - -#: parser/parse_func.c:311 +#: parser/parse_func.c:195 #, c-format msgid "function %s is not unique" msgstr "ÆÕÎËÃÉÑ %s ÎÅ ÕÎÉËÁÌØÎÁ" -#: parser/parse_func.c:314 +#: parser/parse_func.c:198 msgid "Could not choose a best candidate function. You may need to add explicit type casts." msgstr "" -#: parser/parse_func.c:322 +#: parser/parse_func.c:206 msgid "No function matches the given name and argument types. You may need to add explicit type casts." msgstr "" -#: parser/parse_func.c:371 +#: parser/parse_func.c:255 msgid "aggregates may not return sets" msgstr "ÁÇÒÅÇÁÔÙ ÎÅ ÍÏÇÕÔ ×ÏÚ×ÒÁÝÁÔØ ÍÎÏÖÅÓÔ×Á" -#: parser/parse_func.c:1353 -#, c-format -msgid "column %s.%s.%s does not exist" -msgstr "ËÏÌÏÎËÁ %s.%s.%s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" - -#: parser/parse_func.c:1358 +#: parser/parse_func.c:1208 #, c-format msgid "column %s.%s does not exist" msgstr "ËÏÌÏÎËÁ %s.%s ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: parser/parse_func.c:1428 +#: parser/parse_func.c:1219 +#, c-format +msgid "column \"%s\" not found in data type %s" +msgstr "ËÏÌÏÎËÁ \"%s\" ÎÅ ÎÁÊÄÅÎ × ÔÉÐÅ ÄÁÎÎÙÈ %s" + +#: parser/parse_func.c:1224 +#, c-format +msgid "could not identify column \"%s\" in record data type" +msgstr "" + +#: parser/parse_func.c:1229 +#, c-format +msgid "column notation .%s applied to type %s, which is not a composite type" +msgstr "" + +#: parser/parse_func.c:1301 #, c-format msgid "aggregate %s(*) does not exist" msgstr "ÁÇÒÅÇÁÔ %s(*) ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: parser/parse_func.c:1433 +#: parser/parse_func.c:1306 #, c-format msgid "aggregate %s(%s) does not exist" msgstr "ÁÇÒÅÇÁÔ %s(%s) ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: parser/parse_func.c:1454 +#: parser/parse_func.c:1327 #, c-format msgid "function %s(%s) is not an aggregate" msgstr "ÆÕÎËÃÉÑ %s(%s) ÎÅ Ñ×ÌÑÅÔÓÑ ÁÇÒÅÇÁÔÏÍ" -#: parser/parse_node.c:124 +#: parser/parse_node.c:95 #, c-format msgid "cannot subscript type %s because it is not an array" msgstr "" -#: parser/parse_node.c:183 -#: parser/parse_node.c:206 +#: parser/parse_node.c:198 +#: parser/parse_node.c:221 msgid "array subscript must have type integer" msgstr "" -#: parser/parse_node.c:228 +#: parser/parse_node.c:243 #, c-format msgid "array assignment requires type %s but expression is of type %s" msgstr "" @@ -4997,8 +5996,8 @@ msgid "operator does not exist: %s" msgstr "ÏÐÅÒÁÔÏÒ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ: %s" #: parser/parse_oper.c:185 -#: utils/adt/arrayfuncs.c:2403 -#: utils/adt/ri_triggers.c:3604 +#: utils/adt/arrayfuncs.c:2582 +#: utils/adt/ri_triggers.c:3642 #, c-format msgid "could not identify an equality operator for type %s" msgstr "" @@ -5044,67 +6043,46 @@ msgstr " msgid "op ANY/ALL (array) requires operator not to return a set" msgstr "ÏÐÅÒÁÔÏÒÙ ANY/ALL (ÍÁÓÓÉ×) ÔÒÅÂÕÀÔ ÏÐÅÒÁÔÏÒ ÎÅ ×ÏÚ×ÒÁÝÁÔØ ÍÎÏÖÅÓÔ×Ï" -#: scan.l:296 -msgid "unterminated /* comment" -msgstr "ÎÅÚÁËÒÙÔÙÊ ËÏÍÍÅÎÔÁÒÉÊ /*" - -#: scan.l:324 -msgid "unterminated bit string literal" -msgstr "" - -#: scan.l:343 -msgid "unterminated hexadecimal string literal" -msgstr "" - -#: scan.l:389 -msgid "unterminated quoted string" -msgstr "" - -#: scan.l:402 -msgid "zero-length delimited identifier" -msgstr "" +#: parser/parse_target.c:273 +#: parser/parse_target.c:508 +#, c-format +msgid "cannot assign to system column \"%s\"" +msgstr "ÎÅÌØÚÑ ÐÒÉÓ×ÏÉÔØ ÚÎÁÞÅÎÉÅ ÓÉÓÔÅÍÎÏÊ ËÏÌÏÎËÅ \"%s\"" -#: scan.l:415 -msgid "unterminated quoted identifier" -msgstr "" +#: parser/parse_target.c:297 +msgid "cannot set an array element to DEFAULT" +msgstr "ÎÅÌØÚÑ ÕÓÔÁÎÏ×ÉÔØ ÜÌÅÍÅÎÔ ÍÁÓÓÉ×Á × DEFAULT" -#. translator: %s is typically "syntax error" -#: scan.l:564 -#, c-format -msgid "%s at end of input" -msgstr "%s × ËÏÎÃÅ ××ÏÄÁ" +#: parser/parse_target.c:301 +msgid "cannot set a subfield to DEFAULT" +msgstr "ÎÅÌØÚÑ ÕÓÔÁÎÏ×ÉÔØ ÐÏÄÐÏÌÅ × DEFAULT" -#. translator: first %s is typically "syntax error" -#: scan.l:572 +#: parser/parse_target.c:362 #, c-format -msgid "%s at or near \"%s\"" -msgstr "%s × ÉÌÉ ÒÑÄÏÍ \"%s\"" +msgid "column \"%s\" is of type %s but expression is of type %s" +msgstr "ËÏÌÏÎËÁ \"%s\" ÉÍÅÅÔ ÔÉÐ %s, ÎÏ ÔÉÐ ×ÙÒÁÖÅÎÉÑ: %s" -#: parser/parse_target.c:66 +#: parser/parse_target.c:494 #, c-format -msgid "relation reference \"%s\" cannot be used as a select-list entry" +msgid "cannot assign to field \"%s\" of column \"%s\" because its type %s is not a composite type" msgstr "" -#: parser/parse_target.c:68 +#: parser/parse_target.c:502 #, c-format -msgid "Write \"%s\".* to denote all the columns of the relation." +msgid "cannot assign to field \"%s\" of column \"%s\" because there is no such column in data type %s" msgstr "" -#: parser/parse_target.c:331 +#: parser/parse_target.c:572 #, c-format -msgid "cannot assign to system column \"%s\"" -msgstr "ÎÅÌØÚÑ ÐÒÉÓ×ÏÉÔØ ÚÎÁÞÅÎÉÅ ÓÉÓÔÅÍÎÏÊ ËÏÌÏÎËÅ \"%s\"" - -#: parser/parse_target.c:353 -msgid "cannot set an array element to DEFAULT" -msgstr "ÎÅÌØÚÑ ÕÓÔÁÎÏ×ÉÔØ ÜÌÅÍÅÎÔ ÍÁÓÓÉ×Á × DEFAULT" +msgid "array assignment to \"%s\" requires type %s but expression is of type %s" +msgstr "" -#: parser/parse_target.c:420 +#: parser/parse_target.c:581 #, c-format -msgid "column \"%s\" is of type %s but expression is of type %s" -msgstr "ËÏÌÏÎËÁ \"%s\" ÉÍÅÅÔ ÔÉÐ %s, ÎÏ ÔÉÐ ×ÙÒÁÖÅÎÉÑ: %s" +msgid "subfield \"%s\" is of type %s but expression is of type %s" +msgstr "" -#: parser/parse_target.c:555 +#: parser/parse_target.c:810 msgid "SELECT * with no tables specified is not valid" msgstr "SELECT * ÂÅÚ ÕËÁÚÁÎÉÑ ÔÁÂÌÉà Ñ×ÌÑÅÔÓÑ ÏÛÉÂËÏÊ" @@ -5125,284 +6103,318 @@ msgstr "" #: parser/parse_type.c:206 #: parser/parse_type.c:237 +#: utils/cache/typcache.c:155 #, c-format msgid "type \"%s\" is only a shell" msgstr "ÔÉÐ \"%s\" Ñ×ÌÑÅÔÓÑ ÔÏÌØËÏ ÏÂÏÌÏÞËÏÊ" -#: parser/parse_type.c:441 -#: parser/parse_type.c:529 +#: parser/parse_type.c:372 +#: parser/parse_type.c:469 #, c-format msgid "invalid type name \"%s\"" msgstr "ÎÅ×ÅÒÎÏÅ ÉÍÑ ÔÉÐÁ \"%s\"" -#: parser/scansup.c:181 +#: parser/scansup.c:182 #, c-format msgid "identifier \"%s\" will be truncated to \"%.*s\"" msgstr "" -#: y.tab.c:9086 +#: scan.l:312 +msgid "unterminated /* comment" +msgstr "ÎÅÚÁËÒÙÔÙÊ ËÏÍÍÅÎÔÁÒÉÊ /*" + +#: scan.l:339 +msgid "unterminated bit string literal" +msgstr "" + +#: scan.l:358 +msgid "unterminated hexadecimal string literal" +msgstr "" + +#: scan.l:407 +msgid "unterminated quoted string" +msgstr "" + +#: scan.l:441 +msgid "unterminated dollar-quoted string" +msgstr "" + +#: scan.l:453 +msgid "zero-length delimited identifier" +msgstr "" + +#: scan.l:466 +msgid "unterminated quoted identifier" +msgstr "" + +#. translator: %s is typically "syntax error" +#: scan.l:621 +#, c-format +msgid "%s at end of input" +msgstr "%s × ËÏÎÃÅ ××ÏÄÁ" + +#. translator: first %s is typically "syntax error" +#: scan.l:629 +#, c-format +msgid "%s at or near \"%s\"" +msgstr "%s × ÉÌÉ ÒÑÄÏÍ \"%s\"" + +#: y.tab.c:9499 msgid "syntax error: cannot back up" msgstr "ÏÛÉÂËÁ ÓÉÎÔÁËÓÉÓÁ: ÎÅÌØÚÑ ×ÅÒÎÕÔØÓÑ" -#: gram.y:961 -#: gram.y:987 +#: gram.y:989 +#: gram.y:1015 msgid "time zone interval must be HOUR or HOUR TO MINUTE" msgstr "ÉÎÔÅÒ×ÁÌ ×ÒÅÍÅÎÎÏÊ ÚÏÎÙ ÄÏÌÖÅÎ ÂÙÔØ HOUR ÉÌÉ HOUR TO MINUTE" -#: gram.y:972 -#: gram.y:5090 -#: gram.y:7188 +#: gram.y:1000 +#: gram.y:5469 +#: gram.y:7540 #, c-format msgid "INTERVAL(%d) precision must not be negative" msgstr "INTERVAL(%d): ÔÏÞÎÏÓÔØ ÄÏÌÖÎÁ ÂÙÔØ ÎÅÏÔÒÉÃÁÔÅÌØÎÁ" -#: gram.y:978 -#: gram.y:5096 -#: gram.y:7194 +#: gram.y:1006 +#: gram.y:5475 +#: gram.y:7546 #, c-format msgid "INTERVAL(%d) precision reduced to maximum allowed, %d" msgstr "INTERVAL(%d): ÔÏÞÎÏÓÔØ ÕÍÅÎØÛÅÎÁ ÄÏ ÄÏÚ×ÏÌÅÎÎÏÇÏ ÍÁËÓÉÍÕÍÁ: %d" -#: gram.y:1770 -#: utils/adt/ri_triggers.c:303 -#: utils/adt/ri_triggers.c:365 -#: utils/adt/ri_triggers.c:544 -#: utils/adt/ri_triggers.c:783 -#: utils/adt/ri_triggers.c:974 -#: utils/adt/ri_triggers.c:1135 -#: utils/adt/ri_triggers.c:1319 -#: utils/adt/ri_triggers.c:1488 -#: utils/adt/ri_triggers.c:1669 -#: utils/adt/ri_triggers.c:1839 -#: utils/adt/ri_triggers.c:2057 -#: utils/adt/ri_triggers.c:2237 -#: utils/adt/ri_triggers.c:2442 -#: utils/adt/ri_triggers.c:2538 +#: utils/adt/ri_triggers.c:302 +#: utils/adt/ri_triggers.c:364 +#: utils/adt/ri_triggers.c:543 +#: utils/adt/ri_triggers.c:782 +#: utils/adt/ri_triggers.c:973 +#: utils/adt/ri_triggers.c:1134 +#: utils/adt/ri_triggers.c:1318 +#: utils/adt/ri_triggers.c:1487 +#: utils/adt/ri_triggers.c:1668 +#: utils/adt/ri_triggers.c:1838 +#: utils/adt/ri_triggers.c:2056 +#: utils/adt/ri_triggers.c:2236 +#: utils/adt/ri_triggers.c:2441 +#: utils/adt/ri_triggers.c:2537 #: utils/adt/ri_triggers.c:2660 +#: gram.y:1886 msgid "MATCH PARTIAL not yet implemented" msgstr "×ÙÒÁÖÅÎÉÅ MATCH PARTIAL ÅÝ£ ÎÅ ÒÅÁÌÉÚÏ×ÁÎÏ" -#: gram.y:1852 +#: gram.y:1976 msgid "CREATE TABLE AS may not specify INTO" msgstr "CREATE TABLE AS ÎÅ ÍÏÖÅÔ ÕËÁÚÙ×ÁÔØ INTO" -#: gram.y:2260 +#: gram.y:2435 msgid "CREATE ASSERTION is not yet implemented" msgstr "×ÙÒÁÖÅÎÉÅ CREATE ASSERTION ÅÝ£ ÎÅ ÒÅÁÌÉÚÏ×ÁÎÏ" -#: gram.y:2276 +#: gram.y:2451 msgid "DROP ASSERTION is not yet implemented" msgstr "×ÙÒÁÖÅÎÉÅ DROP ASSERTION ÅÝ£ ÎÅ ÒÅÁÌÉÚÏ×ÁÎÏ" -#: gram.y:3086 +#: gram.y:3323 msgid "CREATE FUNCTION / OUT parameters are not implemented" msgstr "CREATE FUNCTION / OUT ÐÁÒÁÍÅÔÒÙ ÅÝ£ ÎÅ ÒÅÁÌÉÚÏ×ÁÎÙ" -#: gram.y:3093 +#: gram.y:3330 msgid "CREATE FUNCTION / INOUT parameters are not implemented" msgstr "CREATE FUNCTION / INOUT ÐÁÒÁÍÅÔÒÙ ÅÝ£ ÎÅ ÒÅÁÌÉÚÏ×ÁÎÙ" -#: gram.y:3247 #: utils/adt/regproc.c:639 +#: gram.y:3491 msgid "missing argument" msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÁÒÇÕÍÅÎÔ" -#: gram.y:3248 #: utils/adt/regproc.c:640 +#: gram.y:3492 msgid "Use NONE to denote the missing argument of a unary operator." msgstr "" -#: gram.y:4150 +#: gram.y:4540 msgid "column name list not allowed in CREATE TABLE / AS EXECUTE" msgstr "ÓÐÉÓÏË ÉͣΠËÏÌÏÎÏË ÎÅ ÄÏÚ×ÏÌÅÎ × CREATE TABLE / AS EXECUTE" -#: gram.y:4615 +#: gram.y:5011 msgid "LIMIT #,# syntax is not supported" msgstr "ÓÉÎÔÁËÓÉÓ LIMIT #,# ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" -#: gram.y:4616 +#: gram.y:5012 msgid "Use separate LIMIT and OFFSET clauses." msgstr "éÓÐÏÌØÚÕÊÔÅ ÏÔÄÅÌØÎÙÅ ×ÙÒÁÖÅÎÉÑ LIMIT É OFFSET." -#: gram.y:4766 +#: gram.y:5162 msgid "For example, FROM (SELECT ...) [AS] foo." msgstr "îÁÐÒÉÍÅÒ, FROM (SELECT ...) [AS] foo." -#: gram.y:5193 +#: gram.y:5572 msgid "precision for type float must be at least 1 bit" msgstr "ÔÏÞÎÏÓÔØ ÔÉÐÁ float ÄÏÌÖÎÁ ÂÙÔØ ÍÉÎÉÍÕÍ 1 ÂÉÔ" -#: gram.y:5201 +#: gram.y:5580 msgid "precision for type float must be less than 54 bits" msgstr "ÔÏÞÎÏÓÔØ ÔÉÐÁ float ÄÏÌÖÎÁ ÂÙÔØ ÍÅÎÅÅ 54 ÂÉÔ" -#: gram.y:5215 -#: gram.y:5230 +#: gram.y:5594 +#: gram.y:5609 #, c-format msgid "NUMERIC precision %d must be between 1 and %d" msgstr "ÔÏÞÎÏÓÔØ NUMERIC %d ÄÏÌÖÎÁ ÂÙÔØ ÍÅÖÄÕ 1 É %d" -#: gram.y:5220 +#: gram.y:5599 #, c-format msgid "NUMERIC scale %d must be between 0 and precision %d" msgstr "ÍÁÓÛÔÁ NUMERIC %d ÄÏÌÖÅÎ ÂÙÔØ ÍÅÖÄÕ 0 É ÔÏÞÎÏÓÔØÀ %d" -#: gram.y:5248 -#: gram.y:5263 +#: gram.y:5627 +#: gram.y:5642 #, c-format msgid "DECIMAL precision %d must be between 1 and %d" msgstr "ÔÏÞÎÏÓÔØ DECIMAL %d ÄÏÌÖÎÁ ÂÙÔØ ÍÅÖÄÕ 1 É %d" -#: gram.y:5253 +#: gram.y:5632 #, c-format msgid "DECIMAL scale %d must be between 0 and precision %d" msgstr "ÍÁÓÛÔÁ DECIMAL %d ÄÏÌÖÅÎ ÂÙÔØ ÍÅÖÄÕ 0 É ÔÏÞÎÏÓÔØÀ %d" -#: gram.y:5313 -#: gram.y:5391 +#: gram.y:5692 +#: gram.y:5770 #, c-format msgid "length for type %s must be at least 1" msgstr "ÄÌÉÎÁ ÔÉÐÁ %s ÄÏÌÖÎÁ ÂÙÔØ ËÁË ÍÉÎÉÍÕÍ 1" -#: gram.y:5318 -#: gram.y:5396 +#: gram.y:5697 +#: gram.y:5775 #, c-format msgid "length for type %s cannot exceed %d" msgstr "ÄÌÉÎÁ ÔÉÐÁ %s ÎÅ ÍÏÖÅÔ ÐÒÅ×ÙÛÁÔØ %d" -#: gram.y:5469 +#: gram.y:5848 #, c-format msgid "TIMESTAMP(%d)%s precision must not be negative" msgstr "TIMESTAMP(%d)%s: ÔÏÞÎÏÓÔØ ÄÏÌÖÎÁ ÂÙÔØ ÎÅÏÔÒÉÃÁÔÅÌØÎÁ" -#: gram.y:5475 +#: gram.y:5854 #, c-format msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d" msgstr "TIMESTAMP(%d)%s: ÔÏÞÎÏÓÔØ ÕÍÅÎØÛÅÎÁ ÄÏ ÄÏÚ×ÏÌÅÎÎÏÇÏ ÍÁËÓÉÍÕÍÁ: %d" -#: gram.y:5510 +#: gram.y:5889 #, c-format msgid "TIME(%d)%s precision must not be negative" msgstr "TIME(%d)%s: ÔÏÞÎÏÓÔØ ÄÏÌÖÎÁ ÂÙÔØ ÎÅÏÔÒÉÃÁÔÅÌØÎÁ" -#: gram.y:5516 +#: gram.y:5895 #, c-format msgid "TIME(%d)%s precision reduced to maximum allowed, %d" msgstr "TIME(%d)%s: ÔÏÞÎÏÓÔØ ÕÍÅÎØÛÅÎÁ ÄÏ ÄÏÚ×ÏÌÅÎÎÏÇÏ ÍÁËÓÉÍÕÍÁ: %d" -#: gram.y:5662 -#: gram.y:7766 -#: gram.y:7822 -msgid "unequal number of entries in row expression" -msgstr "" - -#: gram.y:6075 +#: gram.y:6349 msgid "UNIQUE predicate is not yet implemented" msgstr "ÐÒÅÄÉËÁÔ UNIQUE ÅÝ£ ÎÅ ÒÅÁÌÉÚÏ×ÁÎ" -#: gram.y:6317 +#: gram.y:6632 #, c-format msgid "CURRENT_TIME(%d) precision must not be negative" msgstr "CURRENT_TIME(%d): ÔÏÞÎÏÓÔØ ÄÏÌÖÎÁ ÂÙÔØ ÎÅÏÔÒÉÃÁÔÅÌØÎÁ" -#: gram.y:6323 +#: gram.y:6638 #, c-format msgid "CURRENT_TIME(%d) precision reduced to maximum allowed, %d" msgstr "CURRENT_TIME(%d): ÔÏÞÎÏÓÔØ ÕÍÅÎØÛÅÎÁ ÄÏ ÄÏÚ×ÏÌÅÎÎÏÇÏ ÍÁËÓÉÍÕÍÁ: %d" -#: gram.y:6371 +#: gram.y:6686 #, c-format msgid "CURRENT_TIMESTAMP(%d) precision must not be negative" msgstr "CURRENT_TIMESTAMP(%d): ÔÏÞÎÏÓÔØ ÄÏÌÖÎÁ ÂÙÔØ ÎÅÏÔÒÉÃÁÔÅÌØÎÁ" -#: gram.y:6377 +#: gram.y:6692 #, c-format msgid "CURRENT_TIMESTAMP(%d) precision reduced to maximum allowed, %d" msgstr "CURRENT_TIMESTAMP(%d): ÔÏÞÎÏÓÔØ ÕÍÅÎØÛÅÎÁ ÄÏ ÄÏÚ×ÏÌÅÎÎÏÇÏ ÍÁËÓÉÍÕÍÁ: %d" -#: gram.y:6424 +#: gram.y:6739 #, c-format msgid "LOCALTIME(%d) precision must not be negative" msgstr "LOCALTIME(%d): ÔÏÞÎÏÓÔØ ÄÏÌÖÎÁ ÂÙÔØ ÎÅÏÔÒÉÃÁÔÅÌØÎÁ" -#: gram.y:6430 +#: gram.y:6745 #, c-format msgid "LOCALTIME(%d) precision reduced to maximum allowed, %d" msgstr "LOCALTIME(%d): ÔÏÞÎÏÓÔØ ÕÍÅÎØÛÅÎÁ ÄÏ ÄÏÚ×ÏÌÅÎÎÏÇÏ ÍÁËÓÉÍÕÍÁ: %d" -#: gram.y:6478 +#: gram.y:6793 #, c-format msgid "LOCALTIMESTAMP(%d) precision must not be negative" msgstr "LOCALTIMESTAMP(%d): ÔÏÞÎÏÓÔØ ÄÏÌÖÎÁ ÂÙÔØ ÎÅÏÔÒÉÃÁÔÅÌØÎÁ" -#: gram.y:6484 +#: gram.y:6799 #, c-format msgid "LOCALTIMESTAMP(%d) precision reduced to maximum allowed, %d" msgstr "LOCALTIMESTAMP(%d): ÔÏÞÎÏÓÔØ ÕÍÅÎØÛÅÎÁ ÄÏ ÄÏÚ×ÏÌÅÎÎÏÇÏ ÍÁËÓÉÍÕÍÁ: %d" -#: gram.y:7635 +#: gram.y:7987 msgid "OLD used in query that is not in a rule" msgstr "OLD ÉÓÐÏÌØÚÏ×ÁÎ × ÚÁÐÒÏÓÅ ÎÅ Ñ×ÌÑÀÝÅÍÓÑ ÐÒÁ×ÉÌÏÍ" -#: gram.y:7644 +#: gram.y:7996 msgid "NEW used in query that is not in a rule" msgstr "NEW ÉÓÐÏÌØÚÏ×ÁÎ × ÚÁÐÒÏÓÅ ÎÅ Ñ×ÌÑÀÝÅÍÓÑ ÐÒÁ×ÉÌÏÍ" -#: y.tab.c:18246 +#: y.tab.c:19078 msgid "syntax error; also virtual memory exhausted" msgstr "ÏÛÉÂËÁ ÓÉÎÔÁËÓÉÓÁ; ÔÁËÖÅ ×ÉÒÔÕÁÌØÎÁÑ ÐÁÍÑÔØ ÉÓÞÅÒÐÁÎÁ" -#: y.tab.c:18250 +#: gram.y:8221 +#: gram.y:8223 +#: gram.y:8240 +#: gram.y:8242 +#: y.tab.c:19082 msgid "syntax error" msgstr "ÏÛÉÂËÁ ÓÉÎÔÁËÓÉÓÁ" -#: y.tab.c:18364 +#: y.tab.c:19196 msgid "parser stack overflow" msgstr "ÐÅÒÅÐÏÌÎÅÎÉÅ ÓÔÜËÁ ÐÁÒÓÅÒÁ" -#: gram.y:7802 -#, c-format -msgid "operator %s is not supported for row expressions" -msgstr "ÏÐÅÒÁÔÏÒ %s ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔ ÓÔÒÏÞÎÙÅ ×ÙÒÁÖÅÎÉÑ" - -#: gram.y:7879 +#: gram.y:8195 msgid "wrong number of parameters on left side of OVERLAPS expression" msgstr "ÎÅ×ÅÒÎÏÅ ÞÉÓÌÏ ÐÁÒÁÍÅÔÒÏ× ÓÌÅ×Á × ×ÙÒÁÖÅÎÉÉ OVERLAPS" -#: gram.y:7885 +#: gram.y:8201 msgid "wrong number of parameters on right side of OVERLAPS expression" msgstr "ÎÅ×ÅÒÎÏÅ ÞÉÓÌÏ ÐÁÒÁÍÅÔÒÏ× ÓÐÒÁ×Á × ×ÙÒÁÖÅÎÉÉ OVERLAPS" -#: gram.y:7923 +#: gram.y:8299 msgid "multiple ORDER BY clauses not allowed" msgstr "ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ×ÙÒÁÖÅÎÉÑ ORDER BY ÎÅ ÄÏÚ×ÏÌÅÎÙ" -#: gram.y:7931 +#: gram.y:8307 msgid "multiple FOR UPDATE clauses not allowed" msgstr "ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ×ÙÒÁÖÅÎÉÑ FOR UPDATE ÎÅ ÄÏÚ×ÏÌÅÎÙ" -#: gram.y:7939 +#: gram.y:8315 msgid "multiple OFFSET clauses not allowed" msgstr "ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ×ÙÒÁÖÅÎÉÑ OFFSET ÎÅ ÄÏÚ×ÏÌÅÎÙ" -#: gram.y:7947 +#: gram.y:8323 msgid "multiple LIMIT clauses not allowed" msgstr "ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ×ÙÒÁÖÅÎÉÑ LIMIT ÎÅ ÄÏÚ×ÏÌÅÎÙ" -#: port/pg_shmem.c:92 -#: port/sysv_shmem.c:92 +#: port/pg_shmem.c:101 +#: port/sysv_shmem.c:101 #, c-format msgid "could not create shared memory segment: %m" msgstr "" -#: port/pg_shmem.c:93 -#: port/sysv_shmem.c:93 +#: port/pg_shmem.c:102 +#: port/sysv_shmem.c:102 #, c-format -msgid "Failed system call was shmget(key=%d, size=%u, 0%o)." +msgid "Failed system call was shmget(key=%lu, size=%u, 0%o)." msgstr "" -#: port/pg_shmem.c:97 -#: port/sysv_shmem.c:97 +#: port/pg_shmem.c:106 +#: port/sysv_shmem.c:106 #, c-format msgid "" "This error usually means that PostgreSQL's request for a shared memory segment exceeded your kernel's SHMMAX parameter. You can either reduce the request size or reconfigure the kernel with larger SHMMAX. To reduce the request size (currently %u bytes), reduce PostgreSQL's shared_buffers parameter (currently %d) and/or its max_connections parameter (currently %d).\n" @@ -5410,22 +6422,58 @@ msgid "" "The PostgreSQL documentation contains more information about shared memory configuration." msgstr "" -#: port/pg_shmem.c:110 -#: port/sysv_shmem.c:110 +#: port/pg_shmem.c:119 +#: port/sysv_shmem.c:119 #, c-format msgid "" "This error usually means that PostgreSQL's request for a shared memory segment exceeded available memory or swap space. To reduce the request size (currently %u bytes), reduce PostgreSQL's shared_buffers parameter (currently %d) and/or its max_connections parameter (currently %d).\n" "The PostgreSQL documentation contains more information about shared memory configuration." msgstr "" -#: port/pg_shmem.c:119 -#: port/sysv_shmem.c:119 +#: port/pg_shmem.c:128 +#: port/sysv_shmem.c:128 #, c-format msgid "" "This error does *not* mean that you have run out of disk space. It occurs either if all available shared memory IDs have been taken, in which case you need to raise the SHMMNI parameter in your kernel, or because the system's overall limit for shared memory has been reached. If you cannot increase the shared memory limit, reduce PostgreSQL's shared memory request (currently %u bytes), by reducing its shared_buffers parameter (currently %d) and/or its max_connections parameter (currently %d).\n" "The PostgreSQL documentation contains more information about shared memory configuration." msgstr "" +#: port/pg_shmem.c:380 +#: port/sysv_shmem.c:380 +#, c-format +msgid "could not stat data directory \"%s\": %m" +msgstr "ÏÛÉÂËÁ ÐÒÉ stat ÄÌÑ ÄÉÒÅËÔÏÒÉÉ ÄÁÎÎÙÈ \"%s\": %m" + +#: port/win32/security.c:43 +#, c-format +msgid "could not open process token: error code %d\n" +msgstr "" + +#: port/win32/security.c:63 +#, c-format +msgid "could not get SID for Administrators group: error code %d\n" +msgstr "" + +#: port/win32/security.c:72 +#, c-format +msgid "could not get SID for PowerUsers group: error code %d\n" +msgstr "" + +#: port/win32/signal.c:173 +#, c-format +msgid "could not create signal listener pipe for pid %d: error code %d" +msgstr "" + +#: port/win32/signal.c:253 +#, c-format +msgid "could not create signal listener pipe: error code %d; retrying\n" +msgstr "" + +#: port/win32/signal.c:266 +#, c-format +msgid "could not create signal dispatch thread: error code %d\n" +msgstr "" + #: port/pg_sema.c:117 #: port/sysv_sema.c:117 #, c-format @@ -5435,7 +6483,7 @@ msgstr " #: port/pg_sema.c:118 #: port/sysv_sema.c:118 #, c-format -msgid "Failed system call was semget(%d, %d, 0%o)." +msgid "Failed system call was semget(%lu, %d, 0%o)." msgstr "" #: port/pg_sema.c:122 @@ -5453,98 +6501,105 @@ msgstr "" msgid "You possibly need to raise your kernel's SEMVMX value to be at least %d. Look into the PostgreSQL documentation for details." msgstr "" -#: postmaster/postmaster.c:327 +#: postmaster/postmaster.c:451 #, c-format -msgid "data directory \"%s\" does not exist" -msgstr "ÄÉÒÅËÔÏÒÉÑ ÄÁÎÎÙÈ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" +msgid "%s: assert checking is not compiled in\n" +msgstr "" -#: postmaster/postmaster.c:332 +#: postmaster/postmaster.c:567 +#: postmaster/postmaster.c:580 #, c-format -msgid "could not read permissions of directory \"%s\": %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÞÉÔÁÔØ ÐÒÁ×Á ÎÁ ÄÉÒÅËÔÏÒÉÀ \"%s\": %m" +msgid "Try \"%s --help\" for more information.\n" +msgstr "îÁÂÅÒÉÔÅ \"%s --help\" ÄÌÑ ÂÏÌÅÅ ÄÅÔÁÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n" -#: postmaster/postmaster.c:347 +#: postmaster/postmaster.c:578 #, c-format -msgid "data directory \"%s\" has group or world access" -msgstr "ÄÉÒÅËÔÏÒÉÑ ÄÁÎÎÙÈ \"%s\" ÉÍÅÅÔ ÄÏÓÔÕÐ ÄÌÑ ÇÒÕÐÐÙ ÉÌÉ ×ÓÅÈ" +msgid "%s: invalid argument: \"%s\"\n" +msgstr "%s: ÎÅ×ÅÒÎÙÊ ÁÒÇÕÍÅÎÔ: \"%s\"\n" -#: postmaster/postmaster.c:349 -msgid "Permissions should be u=rwx (0700)." -msgstr "ðÒÁ×Á ÄÏÌÖÎÙ ÂÙÔØ: u=rwx (0700)." +#: postmaster/postmaster.c:605 +#, c-format +msgid "%s: the number of buffers (-B) must be at least twice the number of allowed connections (-N) and at least 16\n" +msgstr "%s: ÞÉÓÌÏ ÂÕÆÅÒÏ× (-B) ÄÏÖÎÏ ÂÙÔØ ËÁË ÍÉÎÉÍÕÍ × Ä×Á ÒÁÚÁ ÂÏÌØÛÅ ÞÉÓÌÁ ÄÏÚ×ÏÌÅÎÎÙÈ ÐÏÄÓÏÅÄÉÎÅÎÉÊ (-N) É ËÁË ÍÉÎÉÍÕÍ 16\n" -#: postmaster/postmaster.c:361 +#: postmaster/postmaster.c:611 #, c-format -msgid "" -"%s: could not find the database system\n" -"Expected to find it in the directory \"%s\",\n" -"but could not open file \"%s\": %s\n" +msgid "%s: superuser_reserved_connections must be less than max_connections\n" msgstr "" -"%s: ÎÅ ÎÁÊÄÅÎÁ ÓÉÓÔÅÍÁ ÂÁÚ ÄÁÎÎÙÈ\n" -"ïÖÉÄÁÌÏÓØ ÎÁÊÔÉ Å£ × ÄÉÒÅËÔÏÒÉÉ \"%s\",\n" -"ÎÏ ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÒÙÔØ ÆÁÊÌ \"%s\": %s\n" -#: postmaster/postmaster.c:459 -#: tcop/postgres.c:2113 -msgid "assert checking is not compiled in" +#: postmaster/postmaster.c:620 +#, c-format +msgid "%s: invalid datetoken tables, please fix\n" msgstr "" -#: postmaster/postmaster.c:585 -#: postmaster/postmaster.c:598 +#: postmaster/postmaster.c:654 #, c-format -msgid "Try \"%s --help\" for more information.\n" -msgstr "îÁÂÅÒÉÔÅ \"%s --help\" ÄÌÑ ÂÏÌÅÅ ÄÅÔÁÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ.\n" +msgid "%s: could not locate matching postgres executable" +msgstr "%s: ÎÅ ÎÁÊÄÅÎ ÐÏÄÈÏÄÑÝÉÊ ×ÙÐÏÌÎÑÅÍÙÊ ÆÁÊÌ postgres" + +#: postmaster/postmaster.c:721 +msgid "invalid list syntax for \"listen_addresses\"" +msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ \"listen_addresses\"" -#: postmaster/postmaster.c:596 +#: postmaster/postmaster.c:740 #, c-format -msgid "invalid argument: \"%s\"" -msgstr "ÎÅ×ÅÒÎÙÊ ÁÒÇÕÍÅÎÔ: \"%s\"" +msgid "could not create listen socket for \"%s\"" +msgstr "" -#: postmaster/postmaster.c:624 -msgid "the number of buffers (-B) must be at least twice the number of allowed connections (-N) and at least 16" -msgstr "ÞÉÓÌÏ ÂÕÆÅÒÏ× (-B) ÄÏÖÎÏ ÂÙÔØ ËÁË ÍÉÎÉÍÕÍ × Ä×Á ÒÁÚÁ ÂÏÌØÛÅ ÞÉÓÌÁ ÄÏÚ×ÏÌÅÎÎÙÈ ÐÏÄÓÏÅÄÉÎÅÎÉÊ (-N) É ËÁË ÍÉÎÉÍÕÍ 16" +#: postmaster/postmaster.c:769 +msgid "could not create Unix-domain socket" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÓÏËÅÔ ÄÏÍÅÎÁ UNIX" -#: postmaster/postmaster.c:630 -msgid "superuser_reserved_connections must be less than max_connections" +#: postmaster/postmaster.c:777 +msgid "no socket created for listening" msgstr "" -#: postmaster/postmaster.c:639 -msgid "invalid datetoken tables, please fix" +#: postmaster/postmaster.c:854 +#, c-format +msgid "%s: could not write external PID file \"%s\": %s\n" msgstr "" -#: postmaster/postmaster.c:674 -#: tcop/postgres.c:2599 +#: postmaster/postmaster.c:947 #, c-format -msgid "%s: could not locate postgres executable" -msgstr "%s: ÎÅ ÎÁÊÄÅÎ ×ÙÐÏÌÎÑÅÍÙÊ ÆÁÊÌ postgres" +msgid "data directory \"%s\" does not exist" +msgstr "ÄÉÒÅËÔÏÒÉÑ ÄÁÎÎÙÈ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: postmaster/postmaster.c:683 -msgid "TCP/IP connections must be enabled for SSL" -msgstr "" +#: postmaster/postmaster.c:952 +#, c-format +msgid "could not read permissions of directory \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÞÉÔÁÔØ ÐÒÁ×Á ÎÁ ÄÉÒÅËÔÏÒÉÀ \"%s\": %m" -#: postmaster/postmaster.c:757 +#: postmaster/postmaster.c:967 #, c-format -msgid "could not create listen socket for \"%s\"" -msgstr "" +msgid "data directory \"%s\" has group or world access" +msgstr "ÄÉÒÅËÔÏÒÉÑ ÄÁÎÎÙÈ \"%s\" ÉÍÅÅÔ ÄÏÓÔÕÐ ÄÌÑ ÇÒÕÐÐÙ ÉÌÉ ×ÓÅÈ" -#: postmaster/postmaster.c:776 -msgid "could not create TCP/IP listen socket" -msgstr "" +#: postmaster/postmaster.c:969 +msgid "Permissions should be u=rwx (0700)." +msgstr "ðÒÁ×Á ÄÏÌÖÎÙ ÂÙÔØ: u=rwx (0700)." -#: postmaster/postmaster.c:800 -msgid "could not create Unix-domain socket" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÓÏËÅÔ ÄÏÍÅÎÁ UNIX" +#: postmaster/postmaster.c:980 +#, c-format +msgid "" +"%s: could not find the database system\n" +"Expected to find it in the directory \"%s\",\n" +"but could not open file \"%s\": %s\n" +msgstr "" +"%s: ÎÅ ÎÁÊÄÅÎÁ ÓÉÓÔÅÍÁ ÂÁÚ ÄÁÎÎÙÈ\n" +"ïÖÉÄÁÌÏÓØ ÎÁÊÔÉ Å£ × ÄÉÒÅËÔÏÒÉÉ \"%s\",\n" +"ÎÏ ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÒÙÔØ ÆÁÊÌ \"%s\": %s\n" -#: postmaster/postmaster.c:926 +#: postmaster/postmaster.c:1025 #, c-format -msgid "could not fork background process: %s" +msgid "%s: could not fork background process: %s\n" msgstr "" -#: postmaster/postmaster.c:948 +#: postmaster/postmaster.c:1047 #, c-format -msgid "could not dissociate from controlling TTY: %s" +msgid "%s: could not dissociate from controlling TTY: %s\n" msgstr "" -#: postmaster/postmaster.c:968 +#: postmaster/postmaster.c:1070 #, c-format msgid "" "%s is the PostgreSQL server.\n" @@ -5553,7 +6608,7 @@ msgstr "" "%s Ñ×ÌÑÅÔÓÑ PostgreSQL ÓÅÒ×ÅÒÏÍ.\n" "\n" -#: postmaster/postmaster.c:969 +#: postmaster/postmaster.c:1071 #, c-format msgid "" "Usage:\n" @@ -5564,84 +6619,84 @@ msgstr "" " %s [ïðãéñ]...\n" "\n" -#: postmaster/postmaster.c:970 -#: tcop/postgres.c:1976 +#: postmaster/postmaster.c:1072 +#: tcop/postgres.c:2125 msgid "Options:\n" msgstr "ïÐÃÉÉ:\n" -#: postmaster/postmaster.c:972 -#: tcop/postgres.c:1978 +#: postmaster/postmaster.c:1074 +#: tcop/postgres.c:2127 msgid " -A 1|0 enable/disable run-time assert checking\n" msgstr " -A 1|0 ×ËÌÀÞÉÔØ/×ÙËÌÀÞÉÔØ ÐÒÏ×ÅÒËÕ ÉÓËÌÀÞÉÔÅÌØÎÙÈ ÓÉÔÕÁÃÉÊ\n" -#: postmaster/postmaster.c:974 -#: tcop/postgres.c:1980 +#: postmaster/postmaster.c:1076 +#: tcop/postgres.c:2129 msgid " -B NBUFFERS number of shared buffers\n" msgstr " -B þâõæåòï÷ ÞÉÓÌÏ ÏÂÝÉÈ ÂÕÆÅÒÏ×\n" -#: postmaster/postmaster.c:975 -#: tcop/postgres.c:1981 +#: postmaster/postmaster.c:1077 +#: tcop/postgres.c:2130 msgid " -c NAME=VALUE set run-time parameter\n" msgstr " -c éíñ=úîáþ. ÕÓÔÁÎÏ×ÉÔØ ÐÁÒÁÍÅÔÒ ×ÙÐÏÌÎÅÎÉÑ (run-time)\n" -#: postmaster/postmaster.c:976 +#: postmaster/postmaster.c:1078 msgid " -d 1-5 debugging level\n" msgstr " -d 1-5 ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ\n" -#: postmaster/postmaster.c:977 -#: tcop/postgres.c:1983 +#: postmaster/postmaster.c:1079 +#: tcop/postgres.c:2132 msgid " -D DATADIR database directory\n" msgstr " -D äéòäáîîùè ÄÉÒÅËÔÏÒÉÑ Ó ÄÁÎÎÙÍÉ\n" -#: postmaster/postmaster.c:978 -#: tcop/postgres.c:1986 +#: postmaster/postmaster.c:1080 +#: tcop/postgres.c:2135 msgid " -F turn fsync off\n" msgstr " -F ×ÙÕËÌÀÞÉÔØ fsync\n" -#: postmaster/postmaster.c:979 +#: postmaster/postmaster.c:1081 msgid " -h HOSTNAME host name or IP address to listen on\n" msgstr " -h èïóô ÉÍÑ ÈÏÓÔÁ ÉÌÉ IP-ÁÄÒÅÓ ÄÌÑ ÐÒÏÓÌÕÛÉ×ÁÎÉÑ\n" -#: postmaster/postmaster.c:980 +#: postmaster/postmaster.c:1082 msgid " -i enable TCP/IP connections\n" msgstr " -i ÐÏÄËÌÀÞÉÔØ TCP/IP ÓÏÅÄÉÎÅÎÉÑ\n" -#: postmaster/postmaster.c:981 +#: postmaster/postmaster.c:1083 msgid " -k DIRECTORY Unix-domain socket location\n" msgstr " -k äéòåëôïòéñ íÅÓÔÏÎÁÈÏÖÄÅÎÉÅ unix-domain ÓÏËÅÔÏ×\n" -#: postmaster/postmaster.c:983 +#: postmaster/postmaster.c:1085 msgid " -l enable SSL connections\n" msgstr " -l ×ËÌÀÞÉÔØ SSL-ÐÏÄÓÏÅÄÉÎÅÎÉÑ\n" -#: postmaster/postmaster.c:985 +#: postmaster/postmaster.c:1087 msgid " -N MAX-CONNECT maximum number of allowed connections\n" msgstr " -N MAX-CONNECT ÍÁËÓÉÍÁÌØÎÏ ÄÏÓÔÕÐÎÏÅ ÞÉÓÌÏ ÐÏÄÓÏÅÄÉÎÅÎÉÊ\n" -#: postmaster/postmaster.c:986 +#: postmaster/postmaster.c:1088 msgid " -o OPTIONS pass \"OPTIONS\" to each server process\n" msgstr " -o ïðãéé ÐÅÒÅÄÁÔØ \"ïðãéé\" ËÁÖÄÏÍÕ ÐÒÏÃÅÓÓÕ-ÓÅÒ×ÅÒÕ\n" -#: postmaster/postmaster.c:987 +#: postmaster/postmaster.c:1089 msgid " -p PORT port number to listen on\n" msgstr " -p ðïòô ÎÏÍÅÒ ÐÏÒÔÁ ÄÌÑ ÐÒÏÓÌÕÛÉ×ÁÎÉÑ\n" -#: postmaster/postmaster.c:988 +#: postmaster/postmaster.c:1090 msgid " -S silent mode (start in background without logging output)\n" msgstr " -S ÔÉÈÉÊ ÒÅÖÉÍ (ÚÁÐÕÓÔÉÔØ ÎÁ ÚÁÄÎÅÍ ÐÌÁÎÅ ÂÅÚ ÌÏÇÏ× ÒÅÚÕÌØÔÁÔÏ×)\n" -#: postmaster/postmaster.c:989 -#: tcop/postgres.c:1993 +#: postmaster/postmaster.c:1091 +#: tcop/postgres.c:2142 msgid " --help show this help, then exit\n" msgstr " --help ÐÏËÁÚÁÔØ ÜÔÕ ÐÏÄÓËÁÚËÕ É ×ÙÊÔÉ\n" -#: postmaster/postmaster.c:990 -#: tcop/postgres.c:1994 +#: postmaster/postmaster.c:1092 +#: tcop/postgres.c:2143 msgid " --version output version information, then exit\n" msgstr " --version ÐÏËÁÚÁÔØ ×ÅÒÓÉÀ É ×ÙÊÔÉ\n" -#: postmaster/postmaster.c:992 -#: tcop/postgres.c:1995 +#: postmaster/postmaster.c:1094 +#: tcop/postgres.c:2144 msgid "" "\n" "Developer options:\n" @@ -5649,15 +6704,15 @@ msgstr "" "\n" "ïÐÃÉÉ ÒÁÚÒÁÂÏÔÞÉËÁ:\n" -#: postmaster/postmaster.c:993 +#: postmaster/postmaster.c:1095 msgid " -n do not reinitialize shared memory after abnormal exit\n" msgstr " -n ÎÅ ÐÅÒÅÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÔØ ÏÂÝÕÀ ÐÁÍÑÔØ ÐÏÓÌÅ ÎÅÎÏÒÍÁÌØÎÏÇÏ ÚÁ×ÅÒÛÅÎÉÑ\n" -#: postmaster/postmaster.c:994 +#: postmaster/postmaster.c:1096 msgid " -s send SIGSTOP to all backend servers if one dies\n" msgstr " -s ÐÏÓÌÁÔØ ÓÉÇÎÁÌ SIGSTOP ×ÓÅÍ ÂÜË-ÅÎÄÁÍ (ÓÅÒ×ÅÒÁÍ) ÅÓÌÉ ÏÄÉÎ ÉÚ ÎÉÈ ÐÁÄÁÅÔ\n" -#: postmaster/postmaster.c:996 +#: postmaster/postmaster.c:1098 msgid "" "\n" "Please read the documentation for the complete list of run-time\n" @@ -5667,584 +6722,717 @@ msgid "" "Report bugs to .\n" msgstr "" -#: postmaster/postmaster.c:1079 +#: postmaster/postmaster.c:1160 #, c-format msgid "select() failed in postmaster: %m" msgstr "select() ÎÅ ÕÄÁÌÓÑ × postmaster'Å: %m" -#: postmaster/postmaster.c:1196 -#: postmaster/postmaster.c:1227 +#: postmaster/postmaster.c:1311 +#: postmaster/postmaster.c:1342 msgid "incomplete startup packet" msgstr "" -#: postmaster/postmaster.c:1208 +#: postmaster/postmaster.c:1323 msgid "invalid length of startup packet" msgstr "ÎÅ×ÅÒÎÁÑ ÄÌÉÎÁ ÎÁÞÁÌØÎÏÇÏ ÐÁËÅÔÁ" -#: postmaster/postmaster.c:1260 +#: postmaster/postmaster.c:1375 #, c-format msgid "failed to send SSL negotiation response: %m" msgstr "" -#: postmaster/postmaster.c:1289 +#: postmaster/postmaster.c:1404 #, c-format msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" msgstr "" -#: postmaster/postmaster.c:1353 +#: postmaster/postmaster.c:1468 msgid "invalid startup packet layout: expected terminator as last byte" msgstr "" -#: postmaster/postmaster.c:1382 +#: postmaster/postmaster.c:1497 msgid "no PostgreSQL user name specified in startup packet" msgstr "" -#: postmaster/postmaster.c:1437 +#: postmaster/postmaster.c:1550 msgid "the database system is starting up" msgstr "ÓÉÓÔÅÍÁ ÂÁÚ ÄÁÎÎÙÈ ÓÔÁÒÔÕÅÔ" -#: postmaster/postmaster.c:1442 +#: postmaster/postmaster.c:1555 msgid "the database system is shutting down" msgstr "ÓÉÓÔÅÍÁ ÂÁÚ ÄÁÎÎÙÈ ÏÔËÌÀÞÁÅÔÓÑ" -#: postmaster/postmaster.c:1447 +#: postmaster/postmaster.c:1560 msgid "the database system is in recovery mode" msgstr "ÓÉÓÔÅÍÁ ÂÁÚ ÄÁÎÎÙÈ × ÒÅÖÉÍÅ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ" -#: postmaster/postmaster.c:1452 -#: storage/ipc/sinval.c:54 -#: storage/lmgr/proc.c:226 +#: postmaster/postmaster.c:1565 +#: storage/ipc/sinval.c:105 +#: storage/lmgr/proc.c:246 msgid "sorry, too many clients already" msgstr "ÉÚ×ÉÎÉÔÅ, ÕÖÅ ÓÌÉÛËÏÍ ÍÎÏÇÏ ËÌÉÅÎÔÏ×" -#: postmaster/postmaster.c:1661 +#: postmaster/postmaster.c:1790 msgid "received SIGHUP, reloading configuration files" msgstr "ÐÏÌÕÞÅÎ SIGHUP, ÐÅÒÅÚÁÇÒÕÚËÁ ÆÁÊÌÏ× ËÏÎÆÉÇÕÒÁÃÉÉ" -#: postmaster/postmaster.c:1705 +#: postmaster/postmaster.c:1842 msgid "received smart shutdown request" msgstr "ÐÏÌÕÞÅÎ ÚÁÐÒÏÓ Ï ÕÍÎÏÍ ÏÓÔÁÎÏ×Å" -#: postmaster/postmaster.c:1736 +#: postmaster/postmaster.c:1878 msgid "received fast shutdown request" msgstr "ÐÏÌÕÞÅÎ ÚÁÐÒÏÓ Ï ÂÙÓÔÒÏÍ ÏÓÔÁÎÏ×Å" -#: postmaster/postmaster.c:1743 +#: postmaster/postmaster.c:1885 msgid "aborting any active transactions" msgstr "ÏÔÍÅÎÁ ×ÓÅÈ ÁËÔÉ×ÎÙÈ ÔÒÁÎÚÁËÃÉÊ" -#: postmaster/postmaster.c:1780 +#: postmaster/postmaster.c:1923 msgid "received immediate shutdown request" msgstr "ÐÏÌÕÞÅÎ ÚÁÐÒÏÓ Ï ÎÅÍÅÄÌÅÎÎÏÍ ÏÓÔÁÎÏ×Å" -#: postmaster/postmaster.c:1837 -msgid "statistics collector process" -msgstr "ÐÒÏÃÅÓÓ ÓÂÏÒÁ ÓÔÁÔÉÓÔÉËÉ" - -#: postmaster/postmaster.c:1850 -msgid "shutdown process" -msgstr "ÐÒÏÃÅÓÓ ÚÁËÒÙÔÉÑ" - -#: postmaster/postmaster.c:1862 +#: postmaster/postmaster.c:1996 msgid "startup process" msgstr "ÐÒÏÃÅÓÓ ÚÁÐÕÓËÁ" -#: postmaster/postmaster.c:1865 +#: postmaster/postmaster.c:1999 msgid "aborting startup due to startup process failure" msgstr "" -#: postmaster/postmaster.c:1920 -msgid "all server processes terminated; reinitializing" -msgstr "×ÓÅ ÓÅÒ×ÅÒÎÙÅ ÐÒÏÃÅÓÓÙ ÚÁ×ÅÒÛÅÎÙ... ÐÅÒÅÉÎÉÃÉÁÌÉÚÁÃÉÑ" +#: postmaster/postmaster.c:2062 +msgid "background writer process" +msgstr "" -#: postmaster/postmaster.c:1958 -msgid "child process" -msgstr "ÐÒÏÃÅÓÓ-ÓÙÎ" +#: postmaster/postmaster.c:2075 +msgid "archiver process" +msgstr "ÐÒÏÃÅÓÓ-ÁÒÈÉ×ÁÔÏÒ" -#: postmaster/postmaster.c:2004 -msgid "checkpoint process" -msgstr "ÐÒÏÃÅÓÓ ËÏÎÔÒÏÌØÎÙÈ ÔÏÞÅË" +#: postmaster/postmaster.c:2092 +msgid "statistics collector process" +msgstr "ÐÒÏÃÅÓÓ ÓÂÏÒÁ ÓÔÁÔÉÓÔÉËÉ" -#: postmaster/postmaster.c:2005 +#: postmaster/postmaster.c:2106 +msgid "system logger process" +msgstr "ÌÏÇÇÅÒ-ÐÒÏÃÅÓÓ" + +#: postmaster/postmaster.c:2127 +msgid "all server processes terminated; reinitializing" +msgstr "×ÓÅ ÓÅÒ×ÅÒÎÙÅ ÐÒÏÃÅÓÓÙ ÚÁ×ÅÒÛÅÎÙ... ÐÅÒÅÉÎÉÃÉÁÌÉÚÁÃÉÑ" + +#: postmaster/postmaster.c:2173 +#: postmaster/postmaster.c:2183 msgid "server process" msgstr "ÐÒÏÃÅÓÓ ÓÅÒ×ÅÒÁ" -#: postmaster/postmaster.c:2008 +#: postmaster/postmaster.c:2228 msgid "terminating any other active server processes" msgstr "ÚÁ×ÅÒÛÅÎÉÅ ÌÀÂÙÈ ÄÒÕÇÉÈ ÁËÔÉ×ÎÙÈ ÓÅÒ×ÅÒÎÙÈ ÐÒÏÃÅÓÓÏ×" -#: postmaster/postmaster.c:2077 +#: postmaster/postmaster.c:2325 #, c-format msgid "%s (PID %d) exited with exit code %d" msgstr "%s (PID %d) ÚÁ×ÅÒÛÉÌÓÑ Ó ËÏÄÏÍ ×ÙÈÏÄÁ %d" -#: postmaster/postmaster.c:2086 +#: postmaster/postmaster.c:2334 #, c-format msgid "%s (PID %d) was terminated by signal %d" msgstr "%s (PID %d) ÂÙÌ ÚÁ×ÅÒۣΠÓÉÇÎÁÌÏÍ %d" -#: postmaster/postmaster.c:2095 +#: postmaster/postmaster.c:2343 #, c-format msgid "%s (PID %d) exited with unexpected status %d" msgstr "%s (PID %d) ÚÁ×ÅÒÛÉÌÓÑ Ó ÎÅÏÖÉÄÁÎÎÙÍ ÓÔÁÔÕÓÏÍ %d" -#: postmaster/postmaster.c:2211 -msgid "connection startup failed" -msgstr "ÏÛÉÂËÁ ÐÒÉ ÉÎÉÃÉÁÌÉÚÁÃÉÉ ÐÏÄÓÏÅÄÉÎÅÎÉÑ" - -#: postmaster/postmaster.c:2227 +#: postmaster/postmaster.c:2468 #, c-format msgid "could not fork new process for connection: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÔÁÒÔÏ×ÁÔØ ÎÏ×ÙÊ ÐÒÏÃÅÓÓ ÄÌÑ ÐÏÄÓÏÅÄÉÎÅÎÉÑ: %m" -#: postmaster/postmaster.c:2263 +#: postmaster/postmaster.c:2507 msgid "could not fork new process for connection: " msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÔÁÒÔÏ×ÁÔØ ÎÏ×ÙÊ ÐÒÏÃÅÓÓ ÄÌÑ ÐÏÄÓÏÅÄÉÎÅÎÉÑ:" -#: postmaster/postmaster.c:2394 +#: postmaster/postmaster.c:2646 +#, c-format +msgid "getnameinfo_all() failed: %s" +msgstr "ÏÛÉÂËÁ getnameinfo_all(): %s" + +#: postmaster/postmaster.c:2655 #, c-format msgid "connection received: host=%s port=%s" msgstr "ÐÏÌÕÞÅÎÏ ÐÏÄÓÏÅÄÉÎÅÎÉÅ: ÈÏÓÔ=%s ÐÏÒÔ=%s" -#: postmaster/postmaster.c:2456 +#: postmaster/postmaster.c:2727 #, c-format msgid "connection authorized: user=%s database=%s" msgstr "ÐÏÄÓÏÅÄÉÎÅÎÉÅ Á×ÔÏÒÉÚÉÒÏ×ÁÎÏ: ÐÏÌØÚÏ×ÁÔÅÌØ=%s ÂÁÚÁ=%s" -#: postmaster/postmaster.c:2616 +#: postmaster/postmaster.c:2945 +#, c-format +msgid "could not execute server process \"%s\": %m" +msgstr "" + +#: postmaster/postmaster.c:3551 +#, c-format +msgid "could not fork startup process: %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÔÁÒÔÏ×ÁÔØ ÐÒÏÃÅÓÓ ÚÁÇÒÕÚËÉ: %m" + +#: postmaster/postmaster.c:3555 +#, c-format +msgid "could not fork background writer process: %m" +msgstr "" + +#: postmaster/postmaster.c:3559 +#, c-format +msgid "could not fork process: %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÔÁÒÔÏ×ÁÔØ ÐÒÏÃÅÓÓ: %m" + +#: postmaster/postmaster.c:3733 +#, c-format +msgid "could not duplicate socket %d for use in backend: error code %d" +msgstr "" + +#: postmaster/postmaster.c:3762 +#, c-format +msgid "could not create inherited socket: error code %d\n" +msgstr "" + +#: postmaster/postmaster.c:3791 +#: postmaster/postmaster.c:3798 +#, c-format +msgid "could not read from backend variables file \"%s\": %s\n" +msgstr "" + +#: postmaster/postmaster.c:3807 +#, c-format +msgid "could not remove file \"%s\": %s\n" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÕÄÁÌÉÔØ ÆÁÊÌ \"%s\": %s\n" + +#: postmaster/postmaster.c:3820 +#, c-format +msgid "could not map view of backend variables: error code %d\n" +msgstr "" + +#: postmaster/postmaster.c:3829 +#, c-format +msgid "could not unmap view of backend variables: error code %d\n" +msgstr "" + +#: postmaster/postmaster.c:3836 +#, c-format +msgid "could not close handle to backend parameter variables: error code %d\n" +msgstr "" + +#: postmaster/postmaster.c:4078 +#, c-format +msgid "could not wait on child process handle: error code %d\n" +msgstr "" + +#: postmaster/bgwriter.c:336 #, c-format msgid "checkpoints are occurring too frequently (%d seconds apart)" msgstr "ËÏÎÔÒÏÌØÎÙÅ ÔÏÞËÉ ÐÒÏÉÓÈÏÄÑÔ ÓÌÉÛËÏÍ ÞÁÓÔÏ (ÓÅËÕÎÄ ÏÔ ÄÒÕÇÁ: %d)" -#: postmaster/postmaster.c:2618 +#: postmaster/bgwriter.c:338 msgid "Consider increasing the configuration parameter \"checkpoint_segments\"." msgstr "ðÏÄÕÍÁÊÔÅ Ï Õ×ÅÌÉÞÅÎÉÉ ÐÁÒÁÍÅÔÒÁ ËÏÎÆÉÇÕÒÁÃÉÉ \"checkpoint_segments\"." -#: postmaster/postmaster.c:2886 +#: postmaster/bgwriter.c:488 +msgid "not enough shared memory for background writer" +msgstr "" + +#: postmaster/bgwriter.c:553 +msgid "checkpoint request failed" +msgstr "" + +#: postmaster/bgwriter.c:554 +msgid "Consult the server log for details." +msgstr "óÍÏÔÒÉÔÅ ÐÏÄÒÏÂÎÏÓÔÉ × ÖÕÒÎÁÌÅ ÓÅÒ×ÅÒÁ." + +#: postmaster/pgarch.c:164 #, c-format -msgid "could not fork startup process: %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÔÁÒÔÏ×ÁÔØ ÐÒÏÃÅÓÓ ÚÁÇÒÕÚËÉ: %m" +msgid "could not fork archiver: %m" +msgstr "" -#: postmaster/postmaster.c:2890 +#: postmaster/pgarch.c:391 #, c-format -msgid "could not fork checkpoint process: %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÔÁÒÔÏ×ÁÔØ ÐÒÏÃÅÓÓ ËÏÎÔÒÏÌØÎÙÈ ÔÏÞÅË: %m" +msgid "transaction log file \"%s\" could not be archived: too many failures" +msgstr "" -#: postmaster/postmaster.c:2894 +#: postmaster/pgarch.c:474 #, c-format -msgid "could not fork shutdown process: %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÔÁÒÔÏ×ÁÔØ ÐÒÏÃÅÓÓ ÏÓÔÁÎÏ×ËÉ: %m" +msgid "archive command \"%s\" failed: return code %d" +msgstr "" -#: postmaster/postmaster.c:2898 +#: postmaster/pgarch.c:479 #, c-format -msgid "could not fork process: %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÔÁÒÔÏ×ÁÔØ ÐÒÏÃÅÓÓ: %m" +msgid "archived transaction log file \"%s\"" +msgstr "ÌÏÇÁ ÔÒÁÎÚÁËÃÉÊ \"%s\" ÚÁÁÒÈÉ×ÉÒÏ×ÁÎ" -#: postmaster/pgstat.c:201 +#: postmaster/pgarch.c:525 +#, c-format +msgid "could not open archive status directory \"%s\": %m" +msgstr "" + +#: postmaster/pgarch.c:564 +#, c-format +msgid "could not read archive status directory \"%s\": %m" +msgstr "" + +#: postmaster/pgstat.c:259 #, c-format msgid "could not resolve \"localhost\": %s" msgstr "" -#: postmaster/pgstat.c:228 +#: postmaster/pgstat.c:287 #, c-format msgid "could not create socket for statistics collector: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÓÏËÅÔ ÄÌÑ ÓÂÏÒÝÉËÁ ÓÔÁÔÉÓÔÉËÉ: %m" -#: postmaster/pgstat.c:240 +#: postmaster/pgstat.c:299 #, c-format msgid "could not bind socket for statistics collector: %m" msgstr "" -#: postmaster/pgstat.c:251 +#: postmaster/pgstat.c:310 #, c-format msgid "could not get address of socket for statistics collector: %m" msgstr "" -#: postmaster/pgstat.c:267 +#: postmaster/pgstat.c:326 #, c-format msgid "could not connect socket for statistics collector: %m" msgstr "" -#: postmaster/pgstat.c:282 -msgid "disabling statistics collector for lack of working socket" +#: postmaster/pgstat.c:343 +#, c-format +msgid "could not send test message on socket for statistics collector: %m" msgstr "" -#: postmaster/pgstat.c:296 +#: postmaster/pgstat.c:368 +#: postmaster/pgstat.c:1565 #, c-format -msgid "could not set statistics collector socket to nonblocking mode: %m" +msgid "select() failed in statistics collector: %m" +msgstr "select() ÎÅ ÕÄÁÌÓÑ × ÓÂÏÒÝÉËÅ ÓÔÁÔÉÓÔÉËÉ: %m" + +#: postmaster/pgstat.c:383 +msgid "test message did not get through on socket for statistics collector" +msgstr "" + +#: postmaster/pgstat.c:395 +#, c-format +msgid "could not receive test message on socket for statistics collector: %m" msgstr "" -#: postmaster/pgstat.c:307 +#: postmaster/pgstat.c:405 +msgid "incorrect test message transmission on socket for statistics collector" +msgstr "" + +#: postmaster/pgstat.c:429 #, c-format -msgid "could not create pipe for statistics collector: %m" +msgid "could not set statistics collector socket to nonblocking mode: %m" +msgstr "" + +#: postmaster/pgstat.c:439 +msgid "disabling statistics collector for lack of working socket" msgstr "" -#: postmaster/pgstat.c:370 +#: postmaster/pgstat.c:565 msgid "statistics collector startup skipped" msgstr "" -#: postmaster/pgstat.c:401 +#: postmaster/pgstat.c:599 #, c-format msgid "could not fork statistics buffer: %m" msgstr "" -#: postmaster/pgstat.c:814 +#: postmaster/pgstat.c:957 msgid "must be superuser to reset statistics counters" msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÓÂÒÏÓÁ ÓÞ£ÔÞÉËÏ× ÓÔÁÔÉÓÔÉËÉ" -#: postmaster/pgstat.c:1295 +#: postmaster/pgstat.c:1379 #, c-format msgid "could not create pipe for statistics buffer: %m" msgstr "" -#: postmaster/pgstat.c:1303 +#: postmaster/pgstat.c:1391 #, c-format msgid "could not fork statistics collector: %m" msgstr "" -#: postmaster/pgstat.c:1360 -#: postmaster/pgstat.c:1373 -#: postmaster/pgstat.c:1662 -#: postmaster/pgstat.c:1918 -#: postmaster/pgstat.c:1950 -#: postmaster/pgstat.c:2004 -#: postmaster/pgstat.c:2265 -#: postmaster/pgstat.c:2326 -#: postmaster/pgstat.c:2372 -#: postmaster/pgstat.c:2423 -#: postmaster/pgstat.c:2652 -#: postmaster/pgstat.c:2834 -msgid "out of memory in statistics collector --- abort" -msgstr "ÎÅÈ×ÁÔËÁ ÐÁÍÑÔÉ × ÓÂÏÒÝÉËÅ ÓÔÁÔÉÓÔÉËÉ --- ÏÔÂÏÊ" - -#: postmaster/pgstat.c:1439 -#, c-format -msgid "select() failed in statistics collector: %m" -msgstr "select() ÎÅ ÕÄÁÌÓÑ × ÓÂÏÒÝÉËÅ ÓÔÁÔÉÓÔÉËÉ: %m" - -#: postmaster/pgstat.c:1481 +#: postmaster/pgstat.c:1606 #, c-format msgid "could not read from statistics collector pipe: %m" msgstr "" -#: postmaster/pgstat.c:1500 +#: postmaster/pgstat.c:1627 msgid "invalid statistics message length" msgstr "ÎÅ×ÅÒÎÁÑ ÄÌÉÎÁ ÓÏÏÂÝÅÎÉÑ ÓÔÁÔÉÓÔÉËÉ" -#: postmaster/pgstat.c:1650 +#: postmaster/pgstat.c:1772 #, c-format msgid "could not set statistics collector pipe to nonblocking mode: %m" msgstr "" -#: postmaster/pgstat.c:1690 +#: postmaster/pgstat.c:1803 msgid "statistics buffer is full" msgstr "ÂÕÆÅÒ ÓÔÁÔÉÓÔÉËÉ ÐÏÌÏÎ" -#: postmaster/pgstat.c:1723 +#: postmaster/pgstat.c:1834 #, c-format msgid "select() failed in statistics buffer: %m" msgstr "select() ÎÅ ÕÄÁÌÓÑ × ÂÕÆÅÒÅ ÓÔÁÔÉÓÔÉËÉ: %m" -#: postmaster/pgstat.c:1739 +#: postmaster/pgstat.c:1848 #, c-format msgid "could not read statistics message: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÒÏÞÉÔÁÔØ ÓÏÏÂÝÅÎÉÅ ÓÔÁÔÉÓÔÉËÉ: %m" -#: postmaster/pgstat.c:1804 +#: postmaster/pgstat.c:1911 #, c-format msgid "could not write to statistics collector pipe: %m" msgstr "" -#: postmaster/pgstat.c:1858 +#: postmaster/pgstat.c:1986 #, c-format msgid "invalid server process ID %d" msgstr "ÎÅ×ÅÒÎÙÊ ID ÐÒÏÃÅÓÓÁ-ÓÅÒ×ÅÒÁ: %d" -#: postmaster/pgstat.c:2053 +#: postmaster/pgstat.c:2045 +#: postmaster/pgstat.c:2120 +#: postmaster/pgstat.c:2718 +msgid "out of memory in statistics collector --- abort" +msgstr "ÎÅÈ×ÁÔËÁ ÐÁÍÑÔÉ × ÓÂÏÒÝÉËÅ ÓÔÁÔÉÓÔÉËÉ --- ÏÔÂÏÊ" + +#: postmaster/pgstat.c:2168 #, c-format msgid "could not open temporary statistics file \"%s\": %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔËÒÙÔØ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ ÓÔÁÔÉÓÔÉËÉ \"%s\": %m" -#: postmaster/pgstat.c:2080 +#: postmaster/pgstat.c:2194 msgid "database hash table corrupted during cleanup --- abort" msgstr "" -#: postmaster/pgstat.c:2117 +#: postmaster/pgstat.c:2229 #, c-format msgid "tables hash table for database %u corrupted during cleanup --- abort" msgstr "" -#: postmaster/pgstat.c:2166 +#: postmaster/pgstat.c:2277 #, c-format msgid "could not close temporary statistics file \"%s\": %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁËÒÙÔØ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ ÓÔÁÔÉÓÔÉËÉ \"%s\": %m" -#: postmaster/pgstat.c:2175 +#: postmaster/pgstat.c:2286 #, c-format msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÅÒÅÉÍÅÎÏ×ÁÔØ ×ÒÅÍÅÎÎÙÊ ÆÁÊÌ ÓÔÁÔÉÓÔÉËÉ ÉÚ \"%s\" × \"%s\": %m" -#: postmaster/pgstat.c:2197 +#: postmaster/pgstat.c:2308 msgid "dead-server-process hash table corrupted during cleanup --- abort" msgstr "" -#: postmaster/pgstat.c:2308 -#: postmaster/pgstat.c:2340 -#: postmaster/pgstat.c:2403 -#: postmaster/pgstat.c:2436 -#: postmaster/pgstat.c:2457 -#: postmaster/pgstat.c:2503 -#: postmaster/pgstat.c:2536 +#: postmaster/pgstat.c:2415 +#: postmaster/pgstat.c:2435 +#: postmaster/pgstat.c:2481 +#: postmaster/pgstat.c:2502 +#: postmaster/pgstat.c:2519 +#: postmaster/pgstat.c:2553 +#: postmaster/pgstat.c:2582 msgid "corrupted pgstat.stat file" msgstr "" -#: rewrite/rewriteDefine.c:103 -#: rewrite/rewriteDefine.c:575 +#: postmaster/syslogger.c:317 +#, c-format +msgid "select() failed in logger process: %m" +msgstr "ÏÛÉÂËÁ select() × ÌÏÇÇÅÒÅ: %m" + +#: postmaster/syslogger.c:329 +#: postmaster/syslogger.c:734 +#, c-format +msgid "could not read from logger pipe: %m" +msgstr "" + +#: postmaster/syslogger.c:361 +msgid "logger shutting down" +msgstr "ÏÓÔÁÎÏ×ËÁ ÌÏÇÇÅÒÁ" + +#: postmaster/syslogger.c:405 +#: postmaster/syslogger.c:419 +#, c-format +msgid "could not create pipe for syslog: %m" +msgstr "" + +#: postmaster/syslogger.c:447 +#, c-format +msgid "could not create log file \"%s\": %m" +msgstr "" + +#: postmaster/syslogger.c:477 +#, c-format +msgid "could not fork system logger: %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÔÁÒÔÏ×ÁÔØ ÓÉÓÔÅÍÎÙÊ ÌÏÇÇÅÒ: %m" + +#: postmaster/syslogger.c:509 +#, c-format +msgid "could not redirect stdout: %m" +msgstr "" + +#: postmaster/syslogger.c:514 +#: postmaster/syslogger.c:527 +#, c-format +msgid "could not redirect stderr: %m" +msgstr "" + +#: postmaster/syslogger.c:703 +#, c-format +msgid "could not write to log file: %m" +msgstr "" + +#: postmaster/syslogger.c:790 +#, c-format +msgid "could not open new log file \"%s\": %m" +msgstr "" + +#: postmaster/syslogger.c:802 +msgid "disabling automatic rotation (use SIGHUP to reenable)" +msgstr "" + +#: rewrite/rewriteDefine.c:104 +#: rewrite/rewriteDefine.c:587 #, c-format msgid "rule \"%s\" for relation \"%s\" already exists" msgstr "ÐÒÁ×ÉÌÏ \"%s\" ÄÌÑ Ó×ÑÚÉ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: rewrite/rewriteDefine.c:233 +#: rewrite/rewriteDefine.c:234 msgid "rule actions on OLD are not implemented" msgstr "ÄÅÊÓÔ×ÉÑ ÐÒÁ×ÉÌ ÎÁ OLD ÎÅ ÒÅÁÌÉÚÏ×ÁÎÙ" -#: rewrite/rewriteDefine.c:234 +#: rewrite/rewriteDefine.c:235 msgid "Use views or triggers instead." msgstr "÷ÍÅÓÔÏ ÜÔÏÇÏ ÉÓÐÏÌØÚÕÊÔÅ ÐÒÅÄÓÔÁ×ÌÅÎÉÑ ÉÌÉ ÔÒÉÇÇÅÒÙ." -#: rewrite/rewriteDefine.c:238 +#: rewrite/rewriteDefine.c:239 msgid "rule actions on NEW are not implemented" msgstr "ÄÅÊÓÔ×ÉÑ ÐÒÁ×ÉÌ ÎÁ NEW ÎÅ ÒÅÁÌÉÚÏ×ÁÎÙ" -#: rewrite/rewriteDefine.c:239 +#: rewrite/rewriteDefine.c:240 msgid "Use triggers instead." msgstr "÷ÍÅÓÔÏ ÜÔÏÇÏ ÉÓÐÏÌØÚÕÊÔÅ ÔÒÉÇÇÅÒÙ." -#: rewrite/rewriteDefine.c:256 +#: rewrite/rewriteDefine.c:257 msgid "INSTEAD NOTHING rules on SELECT are not implemented" msgstr "ÐÒÁ×ÉÌÁ INSTEAD NOTHING ÄÌÑ SELECT ÎÅ ÒÅÁÌÉÚÏ×ÁÎÙ" -#: rewrite/rewriteDefine.c:257 +#: rewrite/rewriteDefine.c:258 msgid "Use views instead." msgstr "÷ÍÅÓÔÏ ÜÔÏÇÏ ÉÓÐÏÌØÚÕÊÔÅ ÐÒÅÄÓÔÁ×ÌÅÎÉÑ." -#: rewrite/rewriteDefine.c:265 +#: rewrite/rewriteDefine.c:266 msgid "multiple actions for rules on SELECT are not implemented" msgstr "" -#: rewrite/rewriteDefine.c:274 +#: rewrite/rewriteDefine.c:275 msgid "rules on SELECT must have action INSTEAD SELECT" msgstr "" -#: rewrite/rewriteDefine.c:282 +#: rewrite/rewriteDefine.c:283 msgid "event qualifications are not implemented for rules on SELECT" msgstr "" -#: rewrite/rewriteDefine.c:302 +#: rewrite/rewriteDefine.c:303 msgid "SELECT rule's target list has too many entries" msgstr "" -#: rewrite/rewriteDefine.c:318 +#: rewrite/rewriteDefine.c:319 msgid "cannot convert relation containing dropped columns to view" msgstr "" -#: rewrite/rewriteDefine.c:323 +#: rewrite/rewriteDefine.c:324 #, c-format msgid "SELECT rule's target entry %d has different column name from \"%s\"" msgstr "" -#: rewrite/rewriteDefine.c:328 +#: rewrite/rewriteDefine.c:329 #, c-format msgid "SELECT rule's target entry %d has different type from column \"%s\"" msgstr "" -#: rewrite/rewriteDefine.c:341 +#: rewrite/rewriteDefine.c:342 #, c-format msgid "SELECT rule's target entry %d has different size from column \"%s\"" msgstr "" -#: rewrite/rewriteDefine.c:347 +#: rewrite/rewriteDefine.c:348 msgid "SELECT rule's target list has too few entries" msgstr "" -#: rewrite/rewriteDefine.c:362 +#: rewrite/rewriteDefine.c:363 #, c-format msgid "\"%s\" is already a view" -msgstr "\"%s\" ÕÖÅ Ñ×ÌÑÅÔÓÑ ×ÉÄÏÍ" +msgstr "\"%s\" ÕÖÅ Ñ×ÌÑÅÔÓÑ ÐÒÅÄÓÔÁ×ÌÅÎÉÅÍ" -#: rewrite/rewriteDefine.c:386 +#: rewrite/rewriteDefine.c:387 #, c-format msgid "view rule for \"%s\" must be named \"%s\"" msgstr "" -#: rewrite/rewriteDefine.c:406 +#: rewrite/rewriteDefine.c:407 #, c-format msgid "could not convert table \"%s\" to a view because it is not empty" msgstr "" -#: rewrite/rewriteDefine.c:413 +#: rewrite/rewriteDefine.c:414 #, c-format msgid "could not convert table \"%s\" to a view because it has triggers" msgstr "" -#: rewrite/rewriteDefine.c:415 +#: rewrite/rewriteDefine.c:416 msgid "In particular, the table may not be involved in any foreign key relationships." msgstr "" -#: rewrite/rewriteDefine.c:420 +#: rewrite/rewriteDefine.c:421 #, c-format msgid "could not convert table \"%s\" to a view because it has indexes" msgstr "" -#: rewrite/rewriteDefine.c:426 +#: rewrite/rewriteDefine.c:427 #, c-format msgid "could not convert table \"%s\" to a view because it has child tables" msgstr "" -#: rewrite/rewriteDefine.c:568 -#: rewrite/rewriteRemove.c:59 -#, c-format -msgid "rule \"%s\" for relation \"%s\" does not exist" -msgstr "ÐÒÁ×ÉÌÏ \"%s\" ÄÌÑ Ó×ÑÚÉ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" - -#: rewrite/rewriteHandler.c:456 -#: rewrite/rewriteHandler.c:470 +#: rewrite/rewriteHandler.c:492 +#: rewrite/rewriteHandler.c:511 #, c-format msgid "multiple assignments to same column \"%s\"" msgstr "ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ÐÒÉÓ×ÏÅÎÉÑ Ë ÏÄÎÏÊ É ÔÏÖÅ ËÏÌÏÎËÅ \"%s\"" -#: rewrite/rewriteHandler.c:882 -#: rewrite/rewriteHandler.c:1164 +#: rewrite/rewriteHandler.c:968 +#: rewrite/rewriteHandler.c:1253 #, c-format msgid "infinite recursion detected in rules for relation \"%s\"" msgstr "ÏÂÎÁÒÕÖÅÎÁ ÂÅÓËÏÎÅÞÎÁÑ ÒÅËÕÒÓÉÑ × ÐÒÁ×ÉÌÁÈ ÄÌÑ ÏÔÎÏÛÅÎÉÑ \"%s\"" -#: rewrite/rewriteHandler.c:1274 +#: rewrite/rewriteHandler.c:1365 msgid "cannot insert into a view" -msgstr "ÎÅÌØÚÑ ×ÓÔÁ×ÌÑÔØ × ×ÉÄ" +msgstr "ÎÅÌØÚÑ ×ÓÔÁ×ÌÑÔØ × ÐÒÅÄÓÔÁ×ÌÅÎÉÅ" -#: rewrite/rewriteHandler.c:1275 +#: rewrite/rewriteHandler.c:1366 msgid "You need an unconditional ON INSERT DO INSTEAD rule." msgstr "÷ÁÍ ÎÕÖÎÏ ÂÅÚÕÓÌÏ×ÎÏÅ ÐÒÁ×ÉÌÏ ON INSERT DO INSTEAD." -#: rewrite/rewriteHandler.c:1280 +#: rewrite/rewriteHandler.c:1371 msgid "cannot update a view" -msgstr "ÎÅÌØÚÑ ÏÂÎÏ×ÉÔØ ×ÉÄ" +msgstr "ÎÅÌØÚÑ ÏÂÎÏ×ÉÔØ ÐÒÅÄÓÔÁ×ÌÅÎÉÅ" -#: rewrite/rewriteHandler.c:1281 +#: rewrite/rewriteHandler.c:1372 msgid "You need an unconditional ON UPDATE DO INSTEAD rule." msgstr "÷ÁÍ ÎÕÖÎÏ ÂÅÚÕÓÌÏ×ÎÏÅ ÐÒÁ×ÉÌÏ ON UPDATE DO INSTEAD." -#: rewrite/rewriteHandler.c:1286 +#: rewrite/rewriteHandler.c:1377 msgid "cannot delete from a view" -msgstr "ÎÅÌØÚÑ ÕÄÁÌÉÔØ ÉÚ ×ÉÄÁ" +msgstr "ÎÅÌØÚÑ ÕÄÁÌÉÔØ ÉÚ ÐÒÅÄÓÔÁ×ÌÅÎÉÑ" -#: rewrite/rewriteHandler.c:1287 +#: rewrite/rewriteHandler.c:1378 msgid "You need an unconditional ON DELETE DO INSTEAD rule." msgstr "÷ÁÍ ÎÕÖÎÏ ÂÅÚÕÓÌÏ×ÎÏÅ ÐÒÁ×ÉÌÏ ON DELETE DO INSTEAD." -#: rewrite/rewriteManip.c:734 -#: rewrite/rewriteManip.c:790 +#: rewrite/rewriteManip.c:737 +#: rewrite/rewriteManip.c:793 msgid "conditional utility statements are not implemented" msgstr "" -#: rewrite/rewriteManip.c:890 -msgid "cannot handle whole-row reference" -msgstr "" - -#: storage/buffer/buf_table.c:128 -#: storage/freespace/freespace.c:1005 -#: storage/ipc/shmem.c:170 -#: storage/ipc/shmem.c:229 -#: storage/ipc/shmem.c:349 -#: storage/lmgr/lock.c:479 -#: storage/lmgr/lock.c:527 -#: storage/lmgr/proc.c:154 -#: storage/lmgr/proc.c:170 -msgid "out of shared memory" -msgstr "ÎÅ ÏÂÝÅÊ È×ÁÔÁÅÔ ÐÁÍÑÔÉ" - -#: storage/buffer/bufmgr.c:240 +#: storage/buffer/bufmgr.c:216 #, c-format msgid "invalid page header in block %u of relation \"%s\"; zeroing out page" msgstr "" -#: storage/buffer/bufmgr.c:247 +#: storage/buffer/bufmgr.c:223 #, c-format msgid "invalid page header in block %u of relation \"%s\"" msgstr "" -#: storage/buffer/bufmgr.c:445 -#: storage/buffer/bufmgr.c:827 -#: storage/buffer/bufmgr.c:1518 -#: storage/buffer/bufmgr.c:2160 +#: storage/buffer/bufmgr.c:2013 #, c-format -msgid "could not write block %u of %u/%u" +msgid "could not write block %u of %u/%u/%u" msgstr "" -#: storage/buffer/bufmgr.c:2164 +#: storage/buffer/bufmgr.c:2018 msgid "Multiple failures --- write error may be permanent." msgstr "" -#: storage/buffer/bufmgr.c:2197 +#: storage/buffer/bufmgr.c:2036 #, c-format -msgid "writing block %u of relation %u/%u" -msgstr "ÚÁÐÉÓØ ÂÌÏËÁ %u ÏÔÎÏÛÅÎÉÑ %u/%u" +msgid "writing block %u of relation %u/%u/%u" +msgstr "ÚÁÐÉÓØ ÂÌÏËÁ %u ÏÔÎÏÛÅÎÉÑ %u/%u/%u" -#: storage/buffer/freelist.c:203 -msgid "out of free buffers" -msgstr "ÎÅÈ×ÁÔËÁ Ó×ÏÂÏÄÎÙÈ ÂÕÆÅÒÏ×" +#: storage/buffer/buf_table.c:93 +#: storage/freespace/freespace.c:1014 +#: storage/ipc/shmem.c:185 +#: storage/ipc/shmem.c:246 +#: storage/ipc/shmem.c:386 +#: storage/lmgr/lock.c:558 +#: storage/lmgr/lock.c:621 +#: storage/lmgr/proc.c:179 +msgid "out of shared memory" +msgstr "ÎÅ ÏÂÝÅÊ È×ÁÔÁÅÔ ÐÁÍÑÔÉ" -#: storage/buffer/localbuf.c:85 +#: storage/buffer/localbuf.c:103 msgid "no empty local buffer available" msgstr "" -#: storage/file/fd.c:351 +#: storage/file/fd.c:356 msgid "insufficient file descriptors available to start server process" msgstr "ÎÅ ÄÏÓÔÁÔÏÞÎÏ ÄÅÓËÒÉÐÔÏÒÏ× ÆÁÊÌÏ× ÄÌÑ ÚÁÐÕÓËÁ ÐÒÏÃÅÓÓÁ-ÓÅÒ×ÅÒÁ" -#: storage/file/fd.c:352 +#: storage/file/fd.c:357 #, c-format msgid "System allows %d, we need at least %d." msgstr "óÉÓÔÅÍÁ ÐÏÚ×ÏÌÑÅÔ: %d, ÎÁÍ ÎÕÖÎÏ ËÁË ÍÉÎÉÎÕÍ: %d." -#: storage/file/fd.c:393 -#: storage/file/fd.c:1133 -#: storage/file/fd.c:1206 +#: storage/file/fd.c:398 +#: storage/file/fd.c:1181 +#: storage/file/fd.c:1296 #, c-format msgid "out of file descriptors: %m; release and retry" msgstr "" -#: storage/freespace/freespace.c:274 -#: storage/freespace/freespace.c:291 -#: storage/freespace/freespace.c:306 +#: storage/freespace/freespace.c:276 +#: storage/freespace/freespace.c:294 +#: storage/freespace/freespace.c:313 msgid "insufficient shared memory for free space map" msgstr "" -#: storage/freespace/freespace.c:299 +#: storage/freespace/freespace.c:306 #, c-format msgid "max_fsm_pages must exceed max_fsm_relations * %d" msgstr "ÐÁÒÁÍÅÔÒ max_fsm_pages ÄÏÌÖÅÎ ÐÒÅ×ÙÛÁÔØ max_fsm_relations * %d" -#: storage/freespace/freespace.c:334 +#: storage/freespace/freespace.c:341 msgid "max_fsm_pages is too large" msgstr "ÐÁÒÁÍÅÔÒ max_fsm_pages ÓÌÉÛËÏÍ ×ÅÌÉË" -#: storage/freespace/freespace.c:705 +#: storage/freespace/freespace.c:709 #, c-format msgid "free space map: %d relations, %d pages stored; %.0f total pages needed" msgstr "" -#: storage/freespace/freespace.c:707 +#: storage/freespace/freespace.c:711 #, c-format msgid "Allocated FSM size: %d relations + %d pages = %.0f kB shared memory." msgstr "" -#: storage/ipc/shmem.c:383 +#: storage/ipc/shmem.c:420 #, c-format msgid "could not allocate shared memory segment \"%s\"" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ×ÙÄÅÌÉÔØ ÓÅÇÍÅÎÔ ÏÂÝÅÊ ÐÁÍÑÔÉ \"%s\"" +#: storage/lmgr/lock.c:559 +#: storage/lmgr/lock.c:622 +msgid "You may need to increase max_locks_per_transaction." +msgstr "÷ÁÍ ÓÌÅÄÕÅÔ Õ×ÅÌÉÞÉÔØ ÚÎÁÞÅÎÉÅ ÐÒÁÍÅÒÁ max_locks_per_transaction." + #: storage/lmgr/deadlock.c:867 #, c-format msgid "Process %d waits for %s on transaction %u; blocked by process %d." @@ -6259,197 +7447,194 @@ msgstr "" msgid "deadlock detected" msgstr "ÏÂÎÁÒÕÖÅÎÁ ÂÅÓËÏÎÅÞÎÁÑ ÂÌÏËÉÒÏ×ËÁ (deadlock)" -#: storage/lmgr/lock.c:480 -#: storage/lmgr/lock.c:528 -msgid "You may need to increase max_locks_per_transaction." -msgstr "÷ÁÍ ÓÌÅÄÕÅÔ Õ×ÅÌÉÞÉÔØ ÚÎÁÞÅÎÉÅ ÐÒÁÍÅÒÁ max_locks_per_transaction." - -#: storage/page/bufpage.c:137 -#: storage/page/bufpage.c:335 -#: storage/page/bufpage.c:474 +#: storage/page/bufpage.c:135 +#: storage/page/bufpage.c:334 +#: storage/page/bufpage.c:472 #, c-format msgid "corrupted page pointers: lower = %u, upper = %u, special = %u" msgstr "" -#: storage/page/bufpage.c:379 +#: storage/page/bufpage.c:377 #, c-format msgid "corrupted item pointer: %u" msgstr "" -#: storage/page/bufpage.c:394 +#: storage/page/bufpage.c:392 #, c-format msgid "corrupted item lengths: total %u, available space %u" msgstr "" -#: storage/page/bufpage.c:492 +#: storage/page/bufpage.c:490 #, c-format msgid "corrupted item pointer: offset = %u, size = %u" msgstr "" -#: storage/smgr/smgr.c:176 -#, c-format -msgid "could not create relation \"%s\": %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÏÔÎÏÛÅÎÉÅ \"%s\": %m" - -#: storage/smgr/smgr.c:251 +#: storage/smgr/md.c:363 #, c-format -msgid "could not extend relation \"%s\": %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÒÁÓÛÉÒÉÔØ ÏÔÎÏÛÅÎÉÅ \"%s\": %m" - -#: storage/smgr/smgr.c:253 -msgid "Check free disk space." -msgstr "ðÒÏ×ÅÒÔÅ Ó×ÏÂÏÄÎÏÅ ÍÅÓÔÏ ÎÁ ÄÉÓËÅ." - -#: storage/smgr/smgr.c:295 -#, c-format -msgid "could not close relation \"%s\": %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁËÒÙÔØ ÏÔÎÏÛÅÎÉÅ \"%s\": %m" +msgid "could not open relation %u/%u/%u: %m" +msgstr "" -#: storage/smgr/smgr.c:321 +#: storage/smgr/md.c:765 #, c-format -msgid "could not read block %d of relation \"%s\": %m" +msgid "could not fsync segment %u of relation %u/%u/%u: %m" msgstr "" -#: storage/smgr/smgr.c:347 +#: storage/smgr/md.c:955 #, c-format -msgid "could not write block %d of relation \"%s\": %m" +msgid "could not open segment %u of relation %u/%u/%u (target block %u): %m" msgstr "" -#: storage/smgr/smgr.c:378 +#: storage/smgr/smgr.c:261 #, c-format -msgid "could not write block %d of %u/%u blind: %m" -msgstr "" +msgid "could not close relation %u/%u/%u: %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁËÒÙÔØ ÏÔÎÏÛÅÎÉÅ %u/%u/%u: %m" -#: storage/smgr/smgr.c:407 +#: storage/smgr/smgr.c:361 #, c-format -msgid "could not count blocks of relation \"%s\": %m" -msgstr "" +msgid "could not create relation %u/%u/%u: %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÏÔÎÏÛÅÎÉÅ %u/%u/%u: %m" -#: storage/smgr/smgr.c:439 +#: storage/smgr/smgr.c:485 #, c-format -msgid "could not truncate relation \"%s\" to %u blocks: %m" +msgid "could not remove relation %u/%u/%u: %m" msgstr "" -#: storage/smgr/smgr.c:483 +#: storage/smgr/smgr.c:506 #, c-format -msgid "could not unlink %u/%u: %m" -msgstr "" +msgid "could not extend relation %u/%u/%u: %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÒÁÓÛÉÒÉÔØ ÏÔÎÏÛÅÎÉÅ %u/%u/%u: %m" -#: tcop/fastpath.c:106 -#: tcop/fastpath.c:450 -#: tcop/fastpath.c:573 +#: storage/smgr/smgr.c:510 +msgid "Check free disk space." +msgstr "ðÒÏ×ÅÒÔÅ Ó×ÏÂÏÄÎÏÅ ÍÅÓÔÏ ÎÁ ÄÉÓËÅ." + +#: storage/smgr/smgr.c:527 #, c-format -msgid "invalid argument size %d in function call message" +msgid "could not read block %u of relation %u/%u/%u: %m" msgstr "" -#: tcop/fastpath.c:305 -#: tcop/postgres.c:794 -#: tcop/postgres.c:1114 -#: tcop/postgres.c:1572 -msgid "current transaction is aborted, commands ignored until end of transaction block" +#: storage/smgr/smgr.c:552 +#, c-format +msgid "could not write block %u of relation %u/%u/%u: %m" msgstr "" -#: tcop/fastpath.c:420 -#: tcop/fastpath.c:543 +#: storage/smgr/smgr.c:582 #, c-format -msgid "function call message contains %d arguments but function requires %d" +msgid "could not count blocks of relation %u/%u/%u: %m" msgstr "" -#: tcop/fastpath.c:428 +#: storage/smgr/smgr.c:615 +#: storage/smgr/smgr.c:899 #, c-format -msgid "function call message contains %d argument formats but %d arguments" +msgid "could not truncate relation %u/%u/%u to %u blocks: %m" msgstr "" -#: tcop/fastpath.c:511 -#: tcop/fastpath.c:596 +#: storage/smgr/smgr.c:672 #, c-format -msgid "incorrect binary data format in function argument %d" +msgid "could not sync relation %u/%u/%u: %m" msgstr "" -#: tcop/postgres.c:331 -#: tcop/postgres.c:343 -#: tcop/postgres.c:354 -#: tcop/postgres.c:366 -#: tcop/postgres.c:3079 +#: tcop/postgres.c:337 +#: tcop/postgres.c:349 +#: tcop/postgres.c:360 +#: tcop/postgres.c:372 +#: tcop/postgres.c:3218 #, c-format msgid "invalid frontend message type %d" msgstr "" -#: tcop/postgres.c:464 +#: tcop/postgres.c:473 +#: tcop/postgres.c:510 +#: tcop/postgres.c:522 #, c-format msgid "statement: %s" msgstr "ËÏÍÁÎÄÁ: %s" -#: tcop/postgres.c:957 +#: tcop/fastpath.c:304 +#: tcop/postgres.c:854 +#: tcop/postgres.c:1176 +#: tcop/postgres.c:1660 +msgid "current transaction is aborted, commands ignored until end of transaction block" +msgstr "" + +#: tcop/postgres.c:1018 #, c-format msgid "duration: %ld.%03ld ms" msgstr "ÄÌÉÔÅÌØÎÏÓÔØ: %ld.%03ld ÍÓ" -#: tcop/postgres.c:970 +#: tcop/postgres.c:1031 #, c-format msgid "duration: %ld.%03ld ms statement: %s" msgstr "ÄÌÉÔÅÌØÎÏÓÔØ: %ld.%03ld ÍÓ ËÏÍÁÎÄÁ: %s" -#: tcop/postgres.c:1078 +#: tcop/postgres.c:1139 msgid "cannot insert multiple commands into a prepared statement" msgstr "" -#: tcop/postgres.c:1272 +#: tcop/postgres.c:1342 #, c-format msgid "bind message has %d parameter formats but %d parameters" msgstr "" # [SM]: TO REVIEW -#: tcop/postgres.c:1285 -#: tcop/postgres.c:1649 +#: tcop/postgres.c:1355 +#: tcop/postgres.c:1737 msgid "unnamed prepared statement does not exist" msgstr "ÂÅÚÙÍÑÎÎÁÑ ÚÁÇÏÔÏ×ÌÅÎÎÁÑ ËÏÍÁÎÄÁ ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: tcop/postgres.c:1291 +#: tcop/postgres.c:1361 #, c-format msgid "bind message supplies %d parameters, but prepared statement \"%s\" requires %d" msgstr "" -#: tcop/postgres.c:1421 +#: tcop/postgres.c:1483 #, c-format msgid "incorrect binary data format in bind parameter %d" msgstr "" -#: tcop/postgres.c:1504 -#: tcop/postgres.c:1702 +#: tcop/postgres.c:1591 +#: tcop/postgres.c:1790 #, c-format msgid "portal \"%s\" does not exist" msgstr "ÐÏÒÔÁÌ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: tcop/postgres.c:1799 +#: tcop/postgres.c:1884 msgid "terminating connection because of crash of another server process" msgstr "ÚÁËÒÙÔÉÅ ÐÏÄÓÏÅÄÉÎÅÎÉÑ ÐÏ ÐÒÉÞÉÎÅ ÕÐÁÄÁ ÄÒÕÇÏÇÏ ÓÅÒ×ÅÒÎÏÇÏ ÐÒÏÃÅÓÓÁ" -#: tcop/postgres.c:1800 +#: tcop/postgres.c:1885 msgid "The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory." msgstr "" -#: tcop/postgres.c:1804 +#: tcop/postgres.c:1889 msgid "In a moment you should be able to reconnect to the database and repeat your command." msgstr "" -#: tcop/postgres.c:1919 +#: tcop/postgres.c:2005 msgid "floating-point exception" msgstr "" -#: tcop/postgres.c:1920 +#: tcop/postgres.c:2006 msgid "An invalid floating-point operation was signaled. This probably means an out-of-range result or an invalid operation, such as division by zero." msgstr "" -#: tcop/postgres.c:1955 +#: tcop/postgres.c:2042 msgid "terminating connection due to administrator command" msgstr "ÚÁËÒÙÔÉÅ ÐÏÄÓÏÅÄÉÎÅÎÉÑ ÐÏ ËÏÍÁÎÄÅ ÁÄÍÉÎÉÓÔÒÁÔÏÒÁ" -#: tcop/postgres.c:1964 +#: tcop/postgres.c:2052 msgid "canceling query due to user request" msgstr "ÐÒÏÉÚ×ÏÄÉÔÓÑ ÏÔÍÅÎÁ ÚÁÐÒÏÓÁ ÐÏ ÚÁÐÒÏÓÕ ÐÏÌØÚÏ×ÁÔÅÌÑ" -#: tcop/postgres.c:1973 +#: tcop/postgres.c:2103 +msgid "stack depth limit exceeded" +msgstr "" + +#: tcop/postgres.c:2104 +msgid "Increase the configuration parameter \"max_stack_depth\"." +msgstr "õ×ÅÌÉÞÔÅ ÐÁÒÁÍÅÔÒ ËÏÎÆÉÇÕÒÁÃÉÉ \"max_stack_depth\"." + +#: tcop/postgres.c:2122 #, c-format msgid "" "%s is the PostgreSQL stand-alone backend. It is not\n" @@ -6460,7 +7645,7 @@ msgstr "" "ÐÒÅÄÐÏÌÁÇÁÅÔÓÑ ÄÌÑ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÏÂÙÞÎÙÍÉ ÐÏÌØÚÏ×ÁÔÅÌÑÍÉ.\n" "\n" -#: tcop/postgres.c:1975 +#: tcop/postgres.c:2124 #, c-format msgid "" "Usage:\n" @@ -6471,63 +7656,63 @@ msgstr "" " %s [ïðãéñ]... [éíñâä]\n" "\n" -#: tcop/postgres.c:1982 +#: tcop/postgres.c:2131 msgid " -d 0-5 debugging level (0 is off)\n" msgstr " -d 0-5 ÕÒÏ×ÅÎØ ÏÔÌÁÄËÉ (0 - ×ÙËÌÀÞÅÎ)\n" -#: tcop/postgres.c:1984 +#: tcop/postgres.c:2133 msgid " -e use European date input format (DMY)\n" msgstr " -e ÉÓÐÏÌØÚÏ×ÁÔØ Å×ÒÏÐÅÊÓËÉÊ ÆÏÒÍÁÔ ÄÁÔ (äíç)\n" -#: tcop/postgres.c:1985 +#: tcop/postgres.c:2134 msgid " -E echo query before execution\n" msgstr " -E ×Ù×ÏÄÉÔØ ÚÁÐÒÏÓ ÐÅÒÅÄ ×ÙÐÏÌÎÅÎÉÅÍ\n" -#: tcop/postgres.c:1987 +#: tcop/postgres.c:2136 msgid " -N do not use newline as interactive query delimiter\n" msgstr " -N ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ ËÏÎÅà ÓÔÒÏËÉ ËÁË ÉÎÔÅÒÁËÔÉ×ÎÙÊ ÒÁÚÄÅÌÉÔÅÌØ ÚÁÐÒÏÓÏ×\n" -#: tcop/postgres.c:1988 +#: tcop/postgres.c:2137 msgid " -o FILENAME send stdout and stderr to given file\n" msgstr " -o éíñæáêìá ÐÅÒÅÎÁÐÒÁ×ÉÔØ ÓÔÁÎÄÁÒÔÎÙÊ ×Ù×ÏÄ É ÏÛÉÂËÉ (STDOUT É STDERR) × ÕËÁÚÁÎÎÙÊ ÆÁÊÌ\n" -#: tcop/postgres.c:1989 +#: tcop/postgres.c:2138 msgid " -P disable system indexes\n" msgstr " -P ÏÔËÌÀÞÉÔØ ÓÉÓÔÅÍÎÙÅ ÉÎÄÅËÓÙ\n" -#: tcop/postgres.c:1990 +#: tcop/postgres.c:2139 msgid " -s show statistics after each query\n" msgstr " -s ÐÏËÁÚÙ×ÁÔØ ÓÔÁÔÉÓÔÉËÕ ÐÏÓÌÅ ËÁÖÄÏÇÏ ÚÁÐÒÏÓÁ\n" -#: tcop/postgres.c:1991 -msgid " -S SORT-MEM set amount of memory for sorts (in kbytes)\n" -msgstr " -S SORT-MEM ÕËÁÚÁÔØ ÏÂß£Í ÐÁÍÑÔÉ ÄÌÑ ÓÏÒÔÉÒÏ×ËÉ (× ËÉÌÏÂÁÊÔÁÈ)\n" +#: tcop/postgres.c:2140 +msgid " -S WORK-MEM set amount of memory for sorts (in kB)\n" +msgstr " -S WORK-MEM ÕËÁÚÁÔØ ÏÂß£Í ÐÁÍÑÔÉ ÄÌÑ ÓÏÒÔÉÒÏ×ËÉ (× ëÂ)\n" -#: tcop/postgres.c:1992 +#: tcop/postgres.c:2141 msgid " --describe-config describe configuration parameters, then exit\n" msgstr " --describe-config ÐÏËÁÚÁÔØ ÐÁÒÁÍÅÔÒÙ ËÏÎÆÉÇÕÒÁÃÉÉ É ×ÙÊÔÉ\n" -#: tcop/postgres.c:1996 +#: tcop/postgres.c:2145 msgid " -f s|i|n|m|h forbid use of some plan types\n" msgstr " -f s|i|n|m|h ÚÁÐÒÅÔÉÔØ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÎÅËÏÔÏÒÙÈ ÔÉÐÏ× ÐÌÁÎÏ×\n" -#: tcop/postgres.c:1997 +#: tcop/postgres.c:2146 msgid " -i do not execute queries\n" msgstr " -i ÎÅ ×ÙÐÏÌÎÑÔØ ÚÁÐÒÏÓÙ\n" -#: tcop/postgres.c:1998 +#: tcop/postgres.c:2147 msgid " -O allow system table structure changes\n" msgstr " -O ÐÏÚ×ÏÌÉÔØ ÉÚÍÅÎÅÎÉÅ ÓÔÒÕËÔÕÒÙ ÓÉÓÔÅÍÎÙÈ ÔÁÂÌÉÃ\n" -#: tcop/postgres.c:1999 +#: tcop/postgres.c:2148 msgid " -t pa|pl|ex show timings after each query\n" msgstr " -t pa|pl|ex ÐÏËÁÚÁÔØ ×ÒÅÍÑ ËÁÖÄÏÇÏ ÚÁÐÒÏÓÁ\n" -#: tcop/postgres.c:2000 +#: tcop/postgres.c:2149 msgid " -W NUM wait NUM seconds to allow attach from a debugger\n" msgstr " -W óåë ÖÄÁÔØ óåë ÓÅËÕÎÄ ÄÌÑ ÐÏÄËÌÀÞÅÎÉÑ ÉÚ ÏÔÌÁÄÞÉËÁ\n" -#: tcop/postgres.c:2001 +#: tcop/postgres.c:2150 msgid "" "\n" "Report bugs to .\n" @@ -6535,110 +7720,128 @@ msgstr "" "\n" "óÏÏÂÝÅÎÉÑ Ï ÏÛÉÂËÁÈ: .\n" -#: tcop/postgres.c:2475 -msgid "statement-level statistics are disabled because parser, planner, or executor statistics are on" +#: tcop/postgres.c:2314 +msgid "assert checking is not compiled in" msgstr "" -#: tcop/postgres.c:2564 +#: tcop/postgres.c:2652 msgid "invalid command-line arguments for server process" msgstr "ÎÅ×ÅÒÎÙÅ ÁÒÇÕÍÅÎÔÙ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ ÄÌÑ ÐÒÏÃÅÓÓÁ-ÓÅÒ×ÅÒÁ" -#: tcop/postgres.c:2565 -#: tcop/postgres.c:2581 +#: tcop/postgres.c:2653 +#: tcop/postgres.c:2669 #, c-format msgid "Try \"%s --help\" for more information." msgstr "îÁÂÅÒÉÔÅ \"%s --help\" ÄÌÑ ÂÏÌÅÅ ÄÅÔÁÌØÎÏÊ ÉÎÆÏÒÍÁÃÉÉ." -#: tcop/postgres.c:2579 +#: tcop/postgres.c:2667 #, c-format msgid "%s: invalid command-line arguments" msgstr "%s: ÎÅ×ÅÒÎÙÅ ÁÒÇÕÍÅÎÔÙ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ" -#: tcop/postgres.c:2589 +#: tcop/postgres.c:2677 #, c-format msgid "%s: no database nor user name specified" msgstr "%s: ÎÉ ÂÁÚÁ ÎÉ ÐÏÌØÚÏ×ÁÔÅÌØ ÎÅ ÕËÁÚÁÎÙ" -#: tcop/postgres.c:2992 +#: tcop/postgres.c:3131 #, c-format msgid "invalid CLOSE message subtype %d" msgstr "ÎÅ×ÅÒÎÙÊ ÐÏÄÔÉÐ ÓÏÏÂÝÅÎÉÑ CLOSE: %d" -#: tcop/postgres.c:3022 +#: tcop/postgres.c:3161 #, c-format msgid "invalid DESCRIBE message subtype %d" msgstr "ÎÅ×ÅÒÎÙÊ ÐÏÄÔÉÐ ÓÏÏÂÝÅÎÉÑ DESCRIBE: %d" -#: tcop/pquery.c:352 +#: tcop/postgres.c:3402 #, c-format -msgid "bind message has %d result formats but query has %d columns" +msgid "disconnection: session time: %s%s%s%s%s" +msgstr "" + +#: tcop/fastpath.c:106 +#: tcop/fastpath.c:444 +#: tcop/fastpath.c:567 +#, c-format +msgid "invalid argument size %d in function call message" +msgstr "" + +#: tcop/fastpath.c:414 +#: tcop/fastpath.c:537 +#, c-format +msgid "function call message contains %d arguments but function requires %d" +msgstr "" + +#: tcop/fastpath.c:422 +#, c-format +msgid "function call message contains %d argument formats but %d arguments" +msgstr "" + +#: tcop/fastpath.c:505 +#: tcop/fastpath.c:590 +#, c-format +msgid "incorrect binary data format in function argument %d" msgstr "" -#: tcop/pquery.c:426 -#: tcop/pquery.c:941 +#: tcop/pquery.c:448 #, c-format -msgid "portal \"%s\" cannot be run anymore" -msgstr "ÐÏÒÔÁÌ \"%s\" ÂÏÌØÛÅ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÚÁÐÕÝÅÎ" +msgid "bind message has %d result formats but query has %d columns" +msgstr "" -#: tcop/pquery.c:615 +#: tcop/pquery.c:771 msgid "cursor can only scan forward" msgstr "" -#: tcop/pquery.c:616 +#: tcop/pquery.c:772 msgid "Declare it with SCROLL option to enable backward scan." msgstr "" -#: tcop/utility.c:75 +#: tcop/utility.c:77 #, c-format msgid "table \"%s\" does not exist" msgstr "ÔÁÂÌÉÃÁ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: tcop/utility.c:77 +#: tcop/utility.c:79 msgid "Use DROP TABLE to remove a table." msgstr "éÓÐÏÌØÚÕÊÔÅ DROP TABLE ÄÌÑ ÕÄÁÌÅÎÉÑ ÔÁÂÌÉÃÙ." -#: tcop/utility.c:80 +#: tcop/utility.c:82 #, c-format msgid "sequence \"%s\" does not exist" msgstr "ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: tcop/utility.c:82 +#: tcop/utility.c:84 msgid "Use DROP SEQUENCE to remove a sequence." msgstr "éÓÐÏÌØÚÕÊÔÅ DROP SEQUENCE ÄÌÑ ÕÄÁÌÅÎÉÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔÉ." -#: tcop/utility.c:85 +#: tcop/utility.c:87 #, c-format msgid "view \"%s\" does not exist" -msgstr "×ÉÄ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" +msgstr "ÐÒÅÄÓÔÁ×ÌÅÎÉÅ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: tcop/utility.c:87 +#: tcop/utility.c:89 msgid "Use DROP VIEW to remove a view." -msgstr "éÓÐÏÌØÚÕÊÔÅ DROP VIEW ÄÌÑ ÕÄÁÌÅÎÉÑ ×ÉÄÁ." +msgstr "éÓÐÏÌØÚÕÊÔÅ DROP VIEW ÄÌÑ ÕÄÁÌÅÎÉÑ ÐÒÅÄÓÔÁ×ÌÅÎÉÑ." -#: tcop/utility.c:90 +#: tcop/utility.c:92 #, c-format msgid "index \"%s\" does not exist" msgstr "ÉÎÄÅËÓ \"%s\" ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: tcop/utility.c:92 +#: tcop/utility.c:94 msgid "Use DROP INDEX to remove an index." msgstr "éÓÐÏÌØÚÕÊÔÅ DROP INDEX ÄÌÑ ÕÄÁÌÅÎÉÑ ÉÎÄÅËÓÁ." -#: tcop/utility.c:96 +#: tcop/utility.c:98 #, c-format msgid "\"%s\" is not a type" msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÔÉÐÏÍ" -#: tcop/utility.c:97 +#: tcop/utility.c:99 msgid "Use DROP TYPE to remove a type." msgstr "éÓÐÏÌØÚÕÊÔÅ DROP TYPE ÄÌÑ ÕÄÁÌÅÎÉÑ ÔÉÐÁ." -#: tcop/utility.c:602 -#: tcop/utility.c:664 -msgid "must be superuser to alter owner" -msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÉÚÍÅÎÅÎÉÑ ×ÌÁÄÅÌØÃÅ×" - -#: tcop/utility.c:984 +#: tcop/utility.c:973 msgid "must be superuser to do CHECKPOINT" msgstr "ÎÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ×ÙÐÏÌÎÅÎÉÑ CHECKPOINT" @@ -6654,24 +7857,24 @@ msgstr " msgid "argument must be empty or one-dimensional array" msgstr "ÁÒÇÕÍÅÎÔ ÄÏÌÖÅÎ ÂÙÔØ ÐÕÓÔÏÊ ÉÌÉ ÏÄÎÏÍÅÒÎÙÊ ÍÁÓÓÉ×" -#: utils/adt/array_userfuncs.c:198 -#: utils/adt/array_userfuncs.c:210 +#: utils/adt/array_userfuncs.c:175 +#: utils/adt/array_userfuncs.c:214 #: utils/adt/array_userfuncs.c:247 #: utils/adt/array_userfuncs.c:280 #: utils/adt/array_userfuncs.c:308 msgid "cannot concatenate incompatible arrays" msgstr "ÎÅÌØÚÑ ÏÂßÅÄÅÎÉÔØ ÎÅÓÏ×ÍÅÓÔÉÍÙÅ ÍÁÓÓÉ×Ù" -#: utils/adt/array_userfuncs.c:199 -#, c-format -msgid "Arrays of %d and %d dimensions are not compatible for concatenation." -msgstr "íÁÓÓÉ×Ù ÒÁÚÍÅÒÎÏÓÔÑÍÉ %d É %d ÎÅ ÓÏ×ÍÅÓÔÉÍÙ ÄÌÑ ÓÏ×ÍÅÝÅÎÉÑ." - -#: utils/adt/array_userfuncs.c:211 +#: utils/adt/array_userfuncs.c:176 #, c-format msgid "Arrays with element types %s and %s are not compatible for concatenation." msgstr "íÁÓÓÉ×Ù ÔÉÐÁÍÉ ÜÌÅÍÅÎÔÏ× %s É %s ÎÅ ÓÏ×ÍÅÓÔÉÍÙ ÄÌÑ ÓÏ×ÍÅÝÅÎÉÑ." +#: utils/adt/array_userfuncs.c:215 +#, c-format +msgid "Arrays of %d and %d dimensions are not compatible for concatenation." +msgstr "íÁÓÓÉ×Ù ÒÁÚÍÅÒÎÏÓÔÑÍÉ %d É %d ÎÅ ÓÏ×ÍÅÓÔÉÍÙ ÄÌÑ ÓÏ×ÍÅÝÅÎÉÑ." + #: utils/adt/array_userfuncs.c:248 msgid "Arrays with differing element dimensions are not compatible for concatenation." msgstr "íÁÓÓÉ×Ù Ó ÏÔÌÉÞÎÙÍÉ ÒÁÚÍÅÒÎÏÓÔÑÍÉ ÜÌÅÍÅÎÔÏ× ÎÅ ÓÏ×ÍÅÓÔÉÍÙ ÄÌÑ ÓÏ×ÍÅÝÅÎÉÑ." @@ -6687,85 +7890,103 @@ msgid "invalid array element type OID: %u" msgstr "ÎÅ×ÅÒÎÙÊ OID ÔÉÐÁ ÜÌÅÍÅÎÔÏ× ÍÁÓÓÉ×Á: %u" #: utils/adt/array_userfuncs.c:358 -#: utils/adt/arrayfuncs.c:893 -#: utils/adt/arrayfuncs.c:2239 +#: utils/adt/arrayfuncs.c:1149 +#: utils/adt/arrayfuncs.c:2423 #, c-format msgid "invalid number of dimensions: %d" msgstr "ÎÅ×ÅÒÎÏÅ ÞÉÓÌÏ ÒÁÚÍÅÒÎÏÓÔÅÊ: %d" -#: utils/adt/acl.c:102 +#: utils/adt/acl.c:109 #: utils/adt/name.c:90 msgid "identifier too long" msgstr "ÉÄÅÎÔÉÆÉËÁÔÏÒ ÓÌÉÛËÏÍ ÄÌÉÎÅÎ" -#: utils/adt/acl.c:103 +#: utils/adt/acl.c:110 #: utils/adt/name.c:91 #, c-format msgid "Identifier must be less than %d characters." msgstr "éÄÅÎÔÉÆÉËÁÔÏÒ ÄÏÌÖÅÎ ÂÙÔØ ÍÅÎÎÅ ÞÅÍ %d ÓÉÍ×ÏÌÏ×." -#: utils/adt/acl.c:190 +#: utils/adt/acl.c:197 #, c-format msgid "unrecognized key word: \"%s\"" msgstr "ÎÅ ÒÁÓÐÏÚÎÁÎÎÏÅ ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï: \"%s\"" -#: utils/adt/acl.c:191 +#: utils/adt/acl.c:198 msgid "ACL key word must be \"group\" or \"user\"." msgstr "ëÌÀÞÅ×ÏÅ ÓÌÏ×Ï ACL ÄÏÌÖÎÏ ÂÙÔØ \"group\" ÉÌÉ \"user\"." -#: utils/adt/acl.c:196 +#: utils/adt/acl.c:203 msgid "missing name" msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÉÍÑ" -#: utils/adt/acl.c:197 +#: utils/adt/acl.c:204 msgid "A name must follow the \"group\" or \"user\" key word." msgstr "éÍÑ ÄÏÌÖÎÏ ÓÌÅÄÏ×ÁÔØ ÚÁ ËÌÀÞÅ×ÙÍÉ ÓÌÏ×ÁÍÉ \"group\" ÉÌÉ \"user\"." -#: utils/adt/acl.c:205 +#: utils/adt/acl.c:212 msgid "missing \"=\" sign" msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÚÎÁË \"=\"" -#: utils/adt/acl.c:252 +#: utils/adt/acl.c:259 #, c-format msgid "invalid mode character: must be one of \"%s\"" msgstr "ÎÅ×ÅÒÎÙÊ ÓÉÍ×ÏÌ ÒÅÖÉÍÁ: ÄÏÌÖÅÎ ÂÙÔØ ÏÄÉÎ ÉÚ \"%s\"" -#: utils/adt/acl.c:282 +#: utils/adt/acl.c:289 msgid "a name must follow the \"/\" sign" msgstr "ÉÍÑ ÄÏÌÖÎÏ ÓÌÅÄÏ×ÁÔØ ÚÁ ÚÎÁËÏÍ \"/\"" -#: utils/adt/acl.c:291 +#: utils/adt/acl.c:298 #, c-format msgid "defaulting grantor to user ID %u" msgstr "" -#: utils/adt/acl.c:350 +#: utils/adt/acl.c:357 msgid "extra garbage at the end of the ACL specification" msgstr "ÄÏÐÏÌÎÉÔÅÌØÎÙÊ ÍÕÓÏÒ × ËÏÎÃÅ ACL-ÓÐÅÃÉÆÉËÁÃÉÉ" -#: utils/adt/acl.c:717 +#: utils/adt/acl.c:895 +msgid "grant options cannot be granted back to your own grantor" +msgstr "" + +#: utils/adt/acl.c:954 msgid "dependent privileges exist" msgstr "ÓÕÝÅÓÔ×ÕÀÔ ÚÁ×ÉÓÉÍÙÅ ÐÒÉ×ÉÌÅÇÉÉ" -#: utils/adt/acl.c:718 +#: utils/adt/acl.c:955 msgid "Use CASCADE to revoke them too." msgstr "éÓÐÏÌØÚÕÊÔÅ CASCADE ÞÔÏÂÙ ÉÈ ÔÏÖÅ ÓÎÑÔØ." -#: utils/adt/acl.c:851 +#: utils/adt/acl.c:1124 +#, c-format +msgid "group with ID %u does not exist" +msgstr "ÇÒÕÐÐÁ Ó ID %u ÎÅ ÓÕÝÅÓÔ×ÕÅÔ" + +#: utils/adt/acl.c:1137 +msgid "aclinsert is no longer supported" +msgstr "smallint ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" + +#: utils/adt/acl.c:1147 +msgid "aclremove is no longer supported" +msgstr "" + +#: utils/adt/acl.c:1199 msgid "cannot specify both user and group" msgstr "ÎÅÌØÚÑ ÕËÁÚÙ×ÁÔØ ÏÂÁ ÐÏÌØÚÏ×ÁÔÅÌÑ É ÇÒÕÐÐÕ" -#: utils/adt/acl.c:912 -#: utils/adt/acl.c:1137 -#: utils/adt/acl.c:1349 -#: utils/adt/acl.c:1553 -#: utils/adt/acl.c:1757 -#: utils/adt/acl.c:1966 +#: utils/adt/acl.c:1261 +#: utils/adt/acl.c:1486 +#: utils/adt/acl.c:1698 +#: utils/adt/acl.c:1902 +#: utils/adt/acl.c:2106 +#: utils/adt/acl.c:2315 +#: utils/adt/acl.c:2516 #, c-format msgid "unrecognized privilege type: \"%s\"" msgstr "ÎÅÒÁÓÐÏÚÎÁÎÎÙÊ ÔÉÐ ÐÒÉ×ÉÌÅÇÉÊ: \"%s\"" -#: utils/adt/acl.c:1526 +#: utils/adt/acl.c:1875 #: utils/adt/regproc.c:117 #: utils/adt/regproc.c:138 #: utils/adt/regproc.c:290 @@ -6775,132 +7996,145 @@ msgstr " #: utils/adt/like.c:453 #: utils/adt/like_match.c:291 -#: utils/adt/regexp.c:460 +#: utils/adt/regexp.c:480 msgid "invalid escape string" msgstr "" #: utils/adt/like.c:454 #: utils/adt/like_match.c:292 -#: utils/adt/regexp.c:461 +#: utils/adt/regexp.c:481 msgid "Escape string must be empty or one character." msgstr "" -#: utils/adt/arrayfuncs.c:219 -#: utils/adt/arrayfuncs.c:231 +#: utils/adt/arrayfuncs.c:223 +#: utils/adt/arrayfuncs.c:235 msgid "missing dimension value" msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÚÎÁÞÅÎÉÅ ÒÁÚÍÅÒÎÏÓÔÉ" -#: utils/adt/arrayfuncs.c:241 +#: utils/adt/arrayfuncs.c:245 msgid "missing \"]\" in array dimensions" msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ \"]\" × ÒÁÚÍÅÒÎÏÓÔÑÈ ÍÁÓÓÉ×Á" -#: utils/adt/arrayfuncs.c:249 +#: utils/adt/arrayfuncs.c:253 msgid "upper bound cannot be less than lower bound" msgstr "×ÅÒÈÎÉÊ ÐÒÅÄÅÌ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÍÅÎØÛÅ ÎÉÖÎÅÇÏ ÐÒÅÄÅÌÁ" -#: utils/adt/arrayfuncs.c:261 +#: utils/adt/arrayfuncs.c:265 +#: utils/adt/arrayfuncs.c:291 msgid "array value must start with \"{\" or dimension information" msgstr "ÚÎÁÞÅÎÉÅ ÍÁÓÓÉ×Á ÄÏÌÖÎÏ ÎÁÞÉÎÁÔØÓÑ Ó \"{\" ÉÌÉ ÉÎÆÏÒÍÁÃÉÉ Ï ÒÁÚÍÅÒÎÏÓÔÉ" -#: utils/adt/arrayfuncs.c:272 +#: utils/adt/arrayfuncs.c:279 msgid "missing assignment operator" msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÏÐÅÒÁÔÏÒ ÐÒÉÓ×ÏÅÎÉÑ" -#: utils/adt/arrayfuncs.c:300 +#: utils/adt/arrayfuncs.c:296 +#: utils/adt/arrayfuncs.c:302 +msgid "array dimensions incompatible with array literal" +msgstr "" + +#: utils/adt/arrayfuncs.c:328 msgid "missing left brace" msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÌÅ×ÁÑ ÆÉÇÕÒÎÁÑ ÓËÏÂËÁ" -#: utils/adt/arrayfuncs.c:358 -#: utils/adt/arrayfuncs.c:367 -#: utils/adt/arrayfuncs.c:392 -#: utils/adt/arrayfuncs.c:486 -#: utils/adt/arrayfuncs.c:498 -#: utils/adt/arrayfuncs.c:519 -#: utils/adt/arrayfuncs.c:534 -#: utils/adt/arrayfuncs.c:572 +#: utils/adt/arrayfuncs.c:409 +#: utils/adt/arrayfuncs.c:424 +#: utils/adt/arrayfuncs.c:433 +#: utils/adt/arrayfuncs.c:447 +#: utils/adt/arrayfuncs.c:467 +#: utils/adt/arrayfuncs.c:495 +#: utils/adt/arrayfuncs.c:500 +#: utils/adt/arrayfuncs.c:540 +#: utils/adt/arrayfuncs.c:561 +#: utils/adt/arrayfuncs.c:580 +#: utils/adt/arrayfuncs.c:673 +#: utils/adt/arrayfuncs.c:682 +#: utils/adt/arrayfuncs.c:710 +#: utils/adt/arrayfuncs.c:725 +#: utils/adt/arrayfuncs.c:778 #, c-format msgid "malformed array literal: \"%s\"" msgstr "" -#: utils/adt/arrayfuncs.c:904 +#: utils/adt/arrayfuncs.c:1160 msgid "invalid array flags" msgstr "ÎÅ×ÅÒÎÙÅ ÆÌÁÇÉ ÍÁÓÓÉ×Á" -#: utils/adt/arrayfuncs.c:912 +#: utils/adt/arrayfuncs.c:1168 msgid "wrong element type" msgstr "ÎÅ×ÅÒÎÙÊ ÔÉÐ ÜÌÅÍÅÎÔÁ" -#: utils/adt/arrayfuncs.c:955 -#: utils/cache/lsyscache.c:1701 +#: utils/adt/arrayfuncs.c:1211 +#: utils/cache/lsyscache.c:1764 #, c-format msgid "no binary input function available for type %s" msgstr "" -#: utils/adt/arrayfuncs.c:1050 +#: utils/adt/arrayfuncs.c:1304 #, c-format msgid "improper binary format in array element %d" msgstr "" -#: utils/adt/arrayfuncs.c:1129 -#: utils/cache/lsyscache.c:1737 +#: utils/adt/arrayfuncs.c:1383 +#: utils/cache/lsyscache.c:1800 #, c-format msgid "no binary output function available for type %s" msgstr "" -#: utils/adt/arrayfuncs.c:1479 +#: utils/adt/arrayfuncs.c:1657 msgid "slices of fixed-length arrays not implemented" msgstr "" -#: utils/adt/arrayfuncs.c:1617 -#: utils/adt/arrayfuncs.c:1622 -#: utils/adt/arrayfuncs.c:1662 -#: utils/adt/arrayfuncs.c:1684 -#: utils/adt/arrayfuncs.c:1696 -#: utils/adt/arrayfuncs.c:1857 +#: utils/adt/arrayfuncs.c:1795 +#: utils/adt/arrayfuncs.c:1800 +#: utils/adt/arrayfuncs.c:1840 +#: utils/adt/arrayfuncs.c:1862 #: utils/adt/arrayfuncs.c:1874 -#: utils/adt/arrayfuncs.c:1885 -#: utils/adt/arrayfuncs.c:1894 -#: utils/adt/arrayfuncs.c:1905 +#: utils/adt/arrayfuncs.c:2035 +#: utils/adt/arrayfuncs.c:2052 +#: utils/adt/arrayfuncs.c:2063 +#: utils/adt/arrayfuncs.c:2072 +#: utils/adt/arrayfuncs.c:2083 msgid "invalid array subscripts" msgstr "" -#: utils/adt/arrayfuncs.c:1813 +#: utils/adt/arrayfuncs.c:1991 msgid "updates on slices of fixed-length arrays not implemented" msgstr "" -#: utils/adt/arrayfuncs.c:1848 -#: utils/adt/arrayfuncs.c:1917 +#: utils/adt/arrayfuncs.c:2026 +#: utils/adt/arrayfuncs.c:2095 msgid "source array too small" msgstr "ÉÓÈÏÄÎÙÊ ÍÁÓÓÉ× ÓÌÉÛËÏÍ ÍÁÌ" -#: utils/adt/arrayfuncs.c:2141 -#: utils/adt/arrayfuncs.c:3037 +#: utils/adt/arrayfuncs.c:2325 +#: utils/adt/arrayfuncs.c:3322 msgid "null array elements not supported" msgstr "ÚÎÁÞÅÎÉÑ NULL ËÁË ÜÌÅÍÅÎÔÙ ÍÁÓÓÉ×Á ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" -#: utils/adt/arrayfuncs.c:2381 -#: utils/adt/arrayfuncs.c:2536 +#: utils/adt/arrayfuncs.c:2560 +#: utils/adt/arrayfuncs.c:2715 msgid "cannot compare arrays of different element types" msgstr "ÎÅÌØÚÑ ÓÒÁ×ÎÉ×ÁÔØ ÍÁÓÓÉ×Ù Ó ÒÁÚÎÏÔÉÐÎÙÍÉ ÜÌÅÍÅÎÔÁÍÉ" -#: utils/adt/arrayfuncs.c:2553 +#: utils/adt/arrayfuncs.c:2732 #, c-format msgid "could not identify a comparison function for type %s" msgstr "ÎÅ × ÓÏÓÔÏÑÎÉÉ ÏÐÒÅÄÅÌÉÔØ ÆÕÎËÃÉÀ ÓÒÁ×ÎÅÎÉÑ ÄÌÑ ÔÉÐÁ %s" -#: utils/adt/arrayfuncs.c:2927 +#: utils/adt/arrayfuncs.c:3131 msgid "could not determine target array type" msgstr "" -#: utils/adt/arrayfuncs.c:2933 +#: utils/adt/arrayfuncs.c:3137 msgid "target type is not an array" msgstr "ÔÉÐ ÎÁÚÎÁÞÅÎÉÑ ÎÅ Ñ×ÌÑÅÔÓÑ ÍÁÓÓÉ×ÏÍ" -#: utils/adt/arrayfuncs.c:2945 +#: utils/adt/arrayfuncs.c:3149 msgid "array coercion to domain type elements not currently supported" msgstr "" -#: utils/adt/ascii.c:68 +#: utils/adt/ascii.c:76 #, c-format msgid "encoding conversion from %s to ASCII not supported" msgstr "ÐÒÅÏÂÒÁÚÏ×ÁÎÉÅ ËÏÄÉÒÏ×ËÉ ÉÚ %s × ASCII ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" @@ -6919,152 +8153,152 @@ msgstr " #: utils/adt/cash.c:548 #: utils/adt/cash.c:601 #: utils/adt/cash.c:653 -#: utils/adt/char.c:186 -#: utils/adt/float.c:571 -#: utils/adt/float.c:635 -#: utils/adt/float.c:1857 -#: utils/adt/float.c:1919 -#: utils/adt/geo_ops.c:3809 -#: utils/adt/int.c:644 -#: utils/adt/int.c:709 -#: utils/adt/int.c:750 -#: utils/adt/int.c:791 -#: utils/adt/int.c:805 -#: utils/adt/int.c:819 -#: utils/adt/int.c:833 -#: utils/adt/int.c:847 -#: utils/adt/int8.c:526 -#: utils/adt/int8.c:555 -#: utils/adt/int8.c:653 -#: utils/adt/int8.c:694 -#: utils/adt/numeric.c:3639 -#: utils/adt/timestamp.c:2006 +#: utils/adt/float.c:795 +#: utils/adt/float.c:859 +#: utils/adt/float.c:2117 +#: utils/adt/float.c:2179 +#: utils/adt/geo_ops.c:3832 +#: utils/adt/int.c:705 +#: utils/adt/int.c:830 +#: utils/adt/int.c:920 +#: utils/adt/int.c:1001 +#: utils/adt/int.c:1025 +#: utils/adt/int.c:1040 +#: utils/adt/int.c:1055 +#: utils/adt/int.c:1070 +#: utils/adt/int8.c:597 +#: utils/adt/int8.c:642 +#: utils/adt/int8.c:765 +#: utils/adt/int8.c:855 +#: utils/adt/numeric.c:3820 +#: utils/adt/timestamp.c:2196 msgid "division by zero" msgstr "ÄÅÌÅÎÉÅ ÎÁ ÎÏÌØ" +#: utils/adt/char.c:177 +msgid "\"char\" out of range" +msgstr "\"char\" ×ÎÅ ÄÉÁÐÁÚÏÎÁ" + #: utils/adt/date.c:87 -#: utils/adt/datetime.c:1309 -#: utils/adt/datetime.c:2061 +#: utils/adt/datetime.c:1313 +#: utils/adt/datetime.c:2078 msgid "date/time value \"current\" is no longer supported" msgstr "ÚÎÁÞÅÎÉÅ ÄÁÔÙ/×ÒÅÍÅÎÉ \"current\" ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" -#: utils/adt/date.c:367 -#: utils/adt/date.c:439 -#: utils/adt/date.c:1001 -#: utils/adt/date.c:1038 -#: utils/adt/date.c:1940 -#: utils/adt/formatting.c:2846 -#: utils/adt/formatting.c:2871 -#: utils/adt/formatting.c:2930 -#: utils/adt/nabstime.c:630 -#: utils/adt/nabstime.c:673 -#: utils/adt/nabstime.c:703 -#: utils/adt/nabstime.c:746 -#: utils/adt/timestamp.c:155 -#: utils/adt/timestamp.c:382 -#: utils/adt/timestamp.c:1739 -#: utils/adt/timestamp.c:1760 -#: utils/adt/timestamp.c:1817 -#: utils/adt/timestamp.c:1840 -#: utils/adt/timestamp.c:2222 -#: utils/adt/timestamp.c:2333 -#: utils/adt/timestamp.c:2567 -#: utils/adt/timestamp.c:2618 -#: utils/adt/timestamp.c:2675 -#: utils/adt/timestamp.c:2727 -#: utils/adt/timestamp.c:2973 -#: utils/adt/timestamp.c:3079 -#: utils/adt/timestamp.c:3086 -#: utils/adt/timestamp.c:3099 -#: utils/adt/timestamp.c:3107 -#: utils/adt/timestamp.c:3181 -#: utils/adt/timestamp.c:3300 -#: utils/adt/timestamp.c:3308 -#: utils/adt/timestamp.c:3587 -#: utils/adt/timestamp.c:3594 -#: utils/adt/timestamp.c:3621 -#: utils/adt/timestamp.c:3625 +#: utils/adt/date.c:732 +#: utils/adt/date.c:775 +#: utils/adt/date.c:1337 +#: utils/adt/date.c:1374 +#: utils/adt/date.c:2252 +#: utils/adt/formatting.c:2897 +#: utils/adt/formatting.c:2922 +#: utils/adt/formatting.c:2981 +#: utils/adt/nabstime.c:570 +#: utils/adt/nabstime.c:613 +#: utils/adt/nabstime.c:643 +#: utils/adt/nabstime.c:686 +#: utils/adt/timestamp.c:152 +#: utils/adt/timestamp.c:186 +#: utils/adt/timestamp.c:394 +#: utils/adt/timestamp.c:430 +#: utils/adt/timestamp.c:1928 +#: utils/adt/timestamp.c:1949 +#: utils/adt/timestamp.c:2007 +#: utils/adt/timestamp.c:2030 +#: utils/adt/timestamp.c:2412 +#: utils/adt/timestamp.c:2530 +#: utils/adt/timestamp.c:2752 +#: utils/adt/timestamp.c:2825 +#: utils/adt/timestamp.c:2872 +#: utils/adt/timestamp.c:2968 +#: utils/adt/timestamp.c:3251 +#: utils/adt/timestamp.c:3384 +#: utils/adt/timestamp.c:3391 +#: utils/adt/timestamp.c:3404 +#: utils/adt/timestamp.c:3412 +#: utils/adt/timestamp.c:3475 +#: utils/adt/timestamp.c:3610 +#: utils/adt/timestamp.c:3618 +#: utils/adt/timestamp.c:3885 +#: utils/adt/timestamp.c:3892 +#: utils/adt/timestamp.c:3920 +#: utils/adt/timestamp.c:3924 msgid "timestamp out of range" msgstr "timestamp ×ÎÅ ÄÉÁÐÁÚÏÎÁ" -#: utils/adt/date.c:466 +#: utils/adt/date.c:802 msgid "cannot convert reserved abstime value to date" msgstr "" -#: utils/adt/date.c:527 +#: utils/adt/date.c:863 #, c-format msgid "invalid input syntax for type date: \"%s\"" msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ date: \"%s\"" -#: utils/adt/date.c:1255 +#: utils/adt/date.c:1579 #, c-format msgid "invalid input syntax for type time: \"%s\"" msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ time: \"%s\"" -#: utils/adt/date.c:1289 -#: utils/adt/date.c:1359 -#: utils/adt/date.c:1378 +#: utils/adt/date.c:1671 +#: utils/adt/date.c:1690 #, c-format msgid "\"time\" units \"%s\" not recognized" msgstr "ÅÄÉÎÉÃÙ ÔÉÐÁ \"time\" -- \"%s\" -- ÎÅ ÒÁÓÐÏÚÎÁÎÙ" -#: utils/adt/date.c:2018 +#: utils/adt/date.c:2330 #, c-format msgid "invalid input syntax for type time with time zone: \"%s\"" msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ time with time zone: \"%s\"" -#: utils/adt/date.c:2052 -#: utils/adt/date.c:2136 -#: utils/adt/date.c:2155 +#: utils/adt/date.c:2436 +#: utils/adt/date.c:2455 #, c-format msgid "\"time with time zone\" units \"%s\" not recognized" msgstr "ÅÄÉÎÉÃÙ ÔÉÐÁ \"time with time zone\" -- \"%s\" -- ÎÅ ÒÁÓÐÏÚÎÁÎÙ" -#: utils/adt/date.c:2185 -#: utils/adt/date.c:2222 -#: utils/adt/timestamp.c:3501 -#: utils/adt/timestamp.c:3526 -#: utils/adt/timestamp.c:3653 -#: utils/adt/timestamp.c:3677 +#: utils/adt/date.c:2510 +#: utils/adt/timestamp.c:3816 +#: utils/adt/timestamp.c:3965 #, c-format msgid "time zone \"%s\" not recognized" msgstr "×ÒÅÍÅÎÎÁÑ ÚÏÎÁ \"%s\" ÎÅ ÒÁÓÐÏÚÎÁÎÁ" -#: utils/adt/date.c:2244 +#: utils/adt/date.c:2532 #, c-format msgid "\"interval\" time zone \"%s\" not valid" msgstr "" -#: utils/adt/datetime.c:1491 -#: utils/adt/datetime.c:2343 -#: utils/adt/formatting.c:3131 +#: utils/adt/datetime.c:1495 +#: utils/adt/datetime.c:2360 +#: utils/adt/formatting.c:3183 #, c-format msgid "inconsistent use of year %04d and \"BC\"" msgstr "" -#: utils/adt/datetime.c:3289 -#: utils/adt/datetime.c:3296 +#: utils/adt/datetime.c:3305 +#: utils/adt/datetime.c:3312 #, c-format msgid "date/time field value out of range: \"%s\"" msgstr "ÚÎÁÞÅÎÉÅ ÐÏÌÑ ÔÉÐÁ date/time ×ÎÅ ÄÉÁÐÁÚÏÎÁ: \"%s\"" -#: utils/adt/datetime.c:3298 +#: utils/adt/datetime.c:3314 msgid "Perhaps you need a different \"datestyle\" setting." msgstr "" -#: utils/adt/datetime.c:3303 +#: utils/adt/datetime.c:3319 #, c-format msgid "interval field value out of range: \"%s\"" msgstr "ÚÎÁÞÅÎÉÅ ÉÎÔÅÒ×ÁÌÁ ×ÎÅ ÄÉÁÐÁÚÏÎÁ: \"%s\"" -#: utils/adt/datetime.c:3309 +#: utils/adt/datetime.c:3325 #, c-format msgid "time zone displacement out of range: \"%s\"" msgstr "ÓÍÅÝÅÎÉÅ ×ÒÅÍÅÎÎÏÊ ÚÏÎÙ ×ÎÅ ÄÉÁÐÁÚÏÎÁ: \"%s\"" #. translator: first %s is inet or cidr -#: utils/adt/datetime.c:3316 -#: utils/adt/network.c:90 +#: utils/adt/datetime.c:3332 +#: utils/adt/network.c:93 #, c-format msgid "invalid input syntax for type %s: \"%s\"" msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ %s: \"%s\"" @@ -7108,174 +8342,214 @@ msgstr " msgid "invalid input syntax for type bytea" msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ bytea" -#: utils/adt/float.c:135 +#: utils/adt/float.c:219 msgid "type \"real\" value out of range: overflow" msgstr "ÚÎÁÞÅÎÉÑ ÔÉÐÁ \"real\" ×ÎÅ ÄÉÁÐÁÚÏÎÁ: ÐÅÒÅÐÏÌÎÅÎÉÅ" -#: utils/adt/float.c:139 +#: utils/adt/float.c:223 msgid "type \"real\" value out of range: underflow" msgstr "" -#: utils/adt/float.c:164 +#: utils/adt/float.c:238 msgid "type \"double precision\" value out of range: overflow" msgstr "ÚÎÁÞÅÎÉÑ ÔÉÐÁ \"double precision\" ×ÎÅ ÄÉÁÐÁÚÏÎÁ: ÐÅÒÅÐÏÌÎÅÎÉÅ" -#: utils/adt/float.c:168 +#: utils/adt/float.c:242 msgid "type \"double precision\" value out of range: underflow" msgstr "" -#: utils/adt/float.c:200 -#, c-format -msgid "invalid input syntax for type real: \"%s\"" -msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ real: \"%s\"" +#: utils/adt/float.c:280 +msgid "deprecated input syntax for type real: \"\"" +msgstr "" -#: utils/adt/float.c:208 +#: utils/adt/float.c:281 +#: utils/adt/float.c:458 +#: utils/adt/oid.c:46 +msgid "This input will be rejected in a future release of PostgreSQL." +msgstr "" + +#: utils/adt/float.c:320 #, c-format msgid "\"%s\" is out of range for type real" msgstr "\"%s\" ×ÎÅ ÄÉÁÐÁÚÏÎÁ ÄÌÑ ÔÉÐÁ real (×ÅÝÅÓÔ×ÅÎÎÙÅ ÞÉÓÌÁ)" -#: utils/adt/float.c:301 -#: utils/adt/numeric.c:3117 -#: utils/adt/numeric.c:3143 +#: utils/adt/float.c:325 +#: utils/adt/float.c:349 #, c-format -msgid "invalid input syntax for type double precision: \"%s\"" -msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ double, ÔÏÞÎÏÓÔØ: \"%s\"" +msgid "invalid input syntax for type real: \"%s\"" +msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ real: \"%s\"" + +#: utils/adt/float.c:457 +msgid "deprecated input syntax for type double precision: \"\"" +msgstr "" -#: utils/adt/float.c:309 +#: utils/adt/float.c:497 #, c-format msgid "\"%s\" is out of range for type double precision" msgstr "\"%s\" ×ÎÅ ÄÉÁÐÁÚÏÎÁ ÄÌÑ ÔÉÐÁ double (ÐÌÁ×ÁÀÝÁÑ ÚÁÐÑÔÁÑ, Ä×ÏÊÎÏÊ ÔÏÞÎÏÓÔÉ)" -#: utils/adt/float.c:887 -#: utils/adt/float.c:906 -#: utils/adt/float.c:953 -#: utils/adt/float.c:972 -#: utils/adt/int.c:286 -#: utils/adt/int8.c:103 -#: utils/adt/int8.c:786 -#: utils/adt/int8.c:811 -#: utils/adt/int8.c:849 -#: utils/adt/int8.c:888 -#: utils/adt/numeric.c:1601 -#: utils/adt/numeric.c:1612 -#: utils/adt/numeric.c:1657 -#: utils/adt/numeric.c:1705 -#: utils/adt/numeric.c:1716 -#: utils/adt/varbit.c:1210 -#: utils/adt/varbit.c:1275 +#: utils/adt/float.c:502 +#: utils/adt/float.c:526 +#: utils/adt/numeric.c:3298 +#: utils/adt/numeric.c:3324 +#, c-format +msgid "invalid input syntax for type double precision: \"%s\"" +msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ double, ÔÏÞÎÏÓÔØ: \"%s\"" + +#: utils/adt/float.c:1131 +#: utils/adt/float.c:1197 +#: utils/adt/int.c:614 +#: utils/adt/int.c:642 +#: utils/adt/int.c:662 +#: utils/adt/int.c:691 +#: utils/adt/int.c:716 +#: utils/adt/int.c:731 +#: utils/adt/int.c:861 +#: utils/adt/int.c:881 +#: utils/adt/int.c:907 +#: utils/adt/int.c:941 +#: utils/adt/int.c:961 +#: utils/adt/int.c:987 +#: utils/adt/int.c:1012 +#: utils/adt/int.c:1091 +#: utils/adt/int8.c:947 +#: utils/adt/numeric.c:1785 +#: utils/adt/numeric.c:1794 +#: utils/adt/varbit.c:1234 msgid "integer out of range" msgstr "ÃÅÌÏÅ ×ÎÅ ÄÉÁÐÁÚÏÎÁ" -#: utils/adt/float.c:1208 -#: utils/adt/numeric.c:4035 +#: utils/adt/float.c:1150 +#: utils/adt/float.c:1216 +#: utils/adt/int.c:297 +#: utils/adt/int.c:747 +#: utils/adt/int.c:775 +#: utils/adt/int.c:795 +#: utils/adt/int.c:815 +#: utils/adt/int.c:841 +#: utils/adt/int.c:1106 +#: utils/adt/int8.c:972 +#: utils/adt/numeric.c:1886 +#: utils/adt/numeric.c:1897 +msgid "smallint out of range" +msgstr "smallint ×ÎÅ ÄÉÁÐÁÚÏÎÁ" + +#: utils/adt/float.c:1452 +#: utils/adt/numeric.c:4220 msgid "cannot take square root of a negative number" msgstr "ÎÅÌØÚÑ ÂÒÁÔØ Ë×ÁÄÒÁÔÎÙÊ ËÏÒÅÎØ ÏÔÒÉÃÁÔÅÌØÎÏÇÏ ÞÉÓÌÁ" -#: utils/adt/float.c:1254 -#: utils/adt/float.c:1284 +#: utils/adt/float.c:1493 +#: utils/adt/numeric.c:1704 +msgid "invalid argument for power function" +msgstr "" + +#: utils/adt/float.c:1508 +#: utils/adt/float.c:1538 msgid "result is out of range" msgstr "ÒÅÚÕÌØÔÁÔ ×ÎÅ ÄÉÁÐÁÚÏÎÁ" -#: utils/adt/float.c:1304 -#: utils/adt/float.c:1330 +#: utils/adt/float.c:1561 +#: utils/adt/float.c:1591 +#: utils/adt/numeric.c:4439 msgid "cannot take logarithm of zero" msgstr "ÎÅÌØÚÑ ÂÒÁÔØ ÌÏÇÁÒÉÆÍ ÎÕÌÑ" -#: utils/adt/float.c:1309 -#: utils/adt/float.c:1335 -#: utils/adt/numeric.c:4252 +#: utils/adt/float.c:1565 +#: utils/adt/float.c:1595 +#: utils/adt/numeric.c:4443 msgid "cannot take logarithm of a negative number" msgstr "ÎÅÌØÚÑ ÂÒÁÔØ ÌÏÇÁÒÉÆÍ ÏÔÒÉÃÁÔÅÌØÎÏÇÏ ÞÉÓÌÁ" -#: utils/adt/float.c:1362 -#: utils/adt/float.c:1387 -#: utils/adt/float.c:1412 -#: utils/adt/float.c:1438 -#: utils/adt/float.c:1463 -#: utils/adt/float.c:1488 -#: utils/adt/float.c:1514 -#: utils/adt/float.c:1539 +#: utils/adt/float.c:1622 +#: utils/adt/float.c:1647 +#: utils/adt/float.c:1672 +#: utils/adt/float.c:1698 +#: utils/adt/float.c:1723 +#: utils/adt/float.c:1748 +#: utils/adt/float.c:1774 +#: utils/adt/float.c:1799 msgid "input is out of range" msgstr "××ÏÄ ×ÎÅ ÄÉÁÐÁÚÏÎÁ" -#: utils/adt/formatting.c:968 +#: utils/adt/formatting.c:986 msgid "\"9\" must be ahead of \"PR\"" msgstr "\"9\" ÄÏÌÖÎÁ ÂÙÔØ ÄÏ \"PR\"" -#: utils/adt/formatting.c:987 +#: utils/adt/formatting.c:1005 msgid "\"0\" must be ahead of \"PR\"" msgstr "\"0\" ÄÏÌÖÅÎ ÂÙÔØ ÄÏ \"PR\"" -#: utils/adt/formatting.c:1016 +#: utils/adt/formatting.c:1034 msgid "multiple decimal points" msgstr "ÍÎÏÇÏÞÉÓÌÅÎÎÙÅ ÄÅÓÑÔÉÞÎÙÅ ÚÁÐÑÔÙÅ" -#: utils/adt/formatting.c:1023 -#: utils/adt/formatting.c:1128 +#: utils/adt/formatting.c:1041 +#: utils/adt/formatting.c:1146 msgid "cannot use \"V\" and decimal point together" msgstr "" -#: utils/adt/formatting.c:1038 +#: utils/adt/formatting.c:1056 msgid "not unique \"S\"" msgstr "ÎÅÕÎÉËÁÌØÎÏÅ \"S\"" -#: utils/adt/formatting.c:1045 +#: utils/adt/formatting.c:1063 msgid "cannot use \"S\" and \"PL\"/\"MI\"/\"SG\"/\"PR\" together" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ \"S\" É \"PL\"/\"MI\"/\"SG\"/\"PR\" ×ÍÅÓÔÅ" -#: utils/adt/formatting.c:1069 +#: utils/adt/formatting.c:1087 msgid "cannot use \"S\" and \"MI\" together" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ \"S\" É \"MI\" ×ÍÅÓÔÅ" -#: utils/adt/formatting.c:1082 +#: utils/adt/formatting.c:1100 msgid "cannot use \"S\" and \"PL\" together" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ \"S\" É \"PL\" ×ÍÅÓÔÅ" -#: utils/adt/formatting.c:1095 +#: utils/adt/formatting.c:1113 msgid "cannot use \"S\" and \"SG\" together" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ \"S\" É \"SG\" ×ÍÅÓÔÅ" -#: utils/adt/formatting.c:1107 +#: utils/adt/formatting.c:1125 msgid "cannot use \"PR\" and \"S\"/\"PL\"/\"MI\"/\"SG\" together" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ \"S\" É \"S\"/\"PL\"/\"MI\"/\"SG\" ×ÍÅÓÔÅ" -#: utils/adt/formatting.c:1137 +#: utils/adt/formatting.c:1155 msgid "\"E\" is not supported" msgstr "\"E\" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" -#: utils/adt/formatting.c:1407 +#: utils/adt/formatting.c:1426 #, c-format msgid "\"%s\" is not a number" msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ÞÉÓÌÏÍ" -#: utils/adt/formatting.c:1670 +#: utils/adt/formatting.c:1691 msgid "invalid AM/PM string" msgstr "ÎÅ×ÅÒÎÁÑ AM/PM ÓÔÒÏËÁ" -#: utils/adt/formatting.c:2016 +#: utils/adt/formatting.c:2037 msgid "\"TZ\"/\"tz\" not supported" msgstr "\"TZ\"/\"tz\" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" -#: utils/adt/formatting.c:2026 +#: utils/adt/formatting.c:2047 #, c-format msgid "invalid value for %s" msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ %s" -#: utils/adt/formatting.c:3092 +#: utils/adt/formatting.c:3144 msgid "AM/PM hour must be between 1 and 12" msgstr "ÞÁÓ × AM/PM ÄÏÌÖÅÎ ÂÙÔØ ÍÅÖÄÕ 1 É 12" -#: utils/adt/formatting.c:3166 +#: utils/adt/formatting.c:3218 msgid "cannot calculate day of year without year information" msgstr "ÎÅÌØÚÑ ÒÁÓÞÉÔÁÔØ ÄÅÎØ ÇÏÄÁ ÂÅÚ ÉÎÆÏÒÍÁÃÉÉ Ï ÇÏÄÅ" -#: utils/adt/formatting.c:3943 +#: utils/adt/formatting.c:4084 msgid "\"RN\" not supported" msgstr "\"RN\" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" #: utils/adt/geo_ops.c:292 -#: utils/adt/geo_ops.c:3930 -#: utils/adt/geo_ops.c:4820 +#: utils/adt/geo_ops.c:3953 +#: utils/adt/geo_ops.c:4843 msgid "too many points requested" msgstr "ÚÁÐÒÏÝÅÎÏ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÔÏÞÅË" @@ -7300,107 +8574,150 @@ msgstr " msgid "type \"line\" not yet implemented" msgstr "ÔÉÐ \"line\" ÅÝ£ ÎÅ ÒÅÁÌÉÚÏ×ÁÎ" -#: utils/adt/geo_ops.c:1329 #: utils/adt/geo_ops.c:1352 +#: utils/adt/geo_ops.c:1375 #, c-format msgid "invalid input syntax for type path: \"%s\"" msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ path: \"%s\"" -#: utils/adt/geo_ops.c:1389 +#: utils/adt/geo_ops.c:1412 msgid "invalid number of points in external \"path\" value" msgstr "" -#: utils/adt/geo_ops.c:1730 +#: utils/adt/geo_ops.c:1753 #, c-format msgid "invalid input syntax for type point: \"%s\"" msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ point: \"%s\"" -#: utils/adt/geo_ops.c:1958 +#: utils/adt/geo_ops.c:1981 #, c-format msgid "invalid input syntax for type lseg: \"%s\"" msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ lseg: \"%s\"" -#: utils/adt/geo_ops.c:2550 +#: utils/adt/geo_ops.c:2573 msgid "function \"dist_lb\" not implemented" msgstr "ÆÕÎËÃÉÑ \"dist_lb\" ÎÅ ÒÅÁÌÉÚÏ×ÁÎÁ" -#: utils/adt/geo_ops.c:3063 +#: utils/adt/geo_ops.c:3086 msgid "function \"close_lb\" not implemented" msgstr "ÆÕÎËÃÉÑ \"close_lb\" ÎÅ ÒÅÁÌÉÚÏ×ÁÎÁ" -#: utils/adt/geo_ops.c:3342 +#: utils/adt/geo_ops.c:3365 msgid "cannot create bounding box for empty polygon" msgstr "" -#: utils/adt/geo_ops.c:3366 -#: utils/adt/geo_ops.c:3378 +#: utils/adt/geo_ops.c:3389 +#: utils/adt/geo_ops.c:3401 #, c-format msgid "invalid input syntax for type polygon: \"%s\"" msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ polygon: \"%s\"" -#: utils/adt/geo_ops.c:3418 +#: utils/adt/geo_ops.c:3441 msgid "invalid number of points in external \"polygon\" value" msgstr "" -#: utils/adt/geo_ops.c:3728 +#: utils/adt/geo_ops.c:3751 msgid "function \"poly_distance\" not implemented" msgstr "ÆÕÎËÃÉÑ \"poly_distance\" ÎÅ ÒÅÁÌÉÚÏ×ÁÎÁ" -#: utils/adt/geo_ops.c:4040 +#: utils/adt/geo_ops.c:4063 msgid "function \"path_center\" not implemented" msgstr "ÆÕÎËÃÉÑ \"path_center\" ÎÅ ÒÅÁÌÉÚÏ×ÁÎÁ" -#: utils/adt/geo_ops.c:4057 +#: utils/adt/geo_ops.c:4080 msgid "open path cannot be converted to polygon" msgstr "" -#: utils/adt/geo_ops.c:4224 -#: utils/adt/geo_ops.c:4234 -#: utils/adt/geo_ops.c:4249 -#: utils/adt/geo_ops.c:4255 +#: utils/adt/geo_ops.c:4247 +#: utils/adt/geo_ops.c:4257 +#: utils/adt/geo_ops.c:4272 +#: utils/adt/geo_ops.c:4278 #, c-format msgid "invalid input syntax for type circle: \"%s\"" msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ circle: \"%s\"" -#: utils/adt/geo_ops.c:4277 -#: utils/adt/geo_ops.c:4285 +#: utils/adt/geo_ops.c:4300 +#: utils/adt/geo_ops.c:4308 msgid "could not format \"circle\" value" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔÆÏÒÍÁÔÉÒÏ×ÁÔØ ÚÎÁÞÅÎÉÅ \"circle\"" -#: utils/adt/geo_ops.c:4312 +#: utils/adt/geo_ops.c:4335 msgid "invalid radius in external \"circle\" value" msgstr "" -#: utils/adt/geo_ops.c:4806 +#: utils/adt/geo_ops.c:4829 msgid "cannot convert circle with radius zero to polygon" msgstr "ÎÅÌØÚÑ ÓËÏÎ×ÅÒÔÉÒÏ×ÁÔØ ËÒÕÇ Ó ÎÕÌÅ×ÙÍ ÒÁÄÉÕÓÏÍ × ÐÏÌÉÇÏÎ" -#: utils/adt/geo_ops.c:4811 +#: utils/adt/geo_ops.c:4834 msgid "must request at least 2 points" msgstr "" -#: utils/adt/geo_ops.c:4855 #: utils/adt/geo_ops.c:4878 +#: utils/adt/geo_ops.c:4901 msgid "cannot convert empty polygon to circle" msgstr "ÎÅÌØÚÑ ÓËÏÎ×ÅÒÔÉÒÏ×ÁÔØ ÐÕÓÔÏÊ ÐÏÌÉÇÏÎ × ËÒÕÇ" -#: utils/adt/int.c:126 +#: utils/adt/int.c:137 msgid "int2vector has too many elements" msgstr "int2vector ÓÏÄÅÒÖÉÔ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÜÌÅÍÅÎÔÏ×" -#: utils/adt/int8.c:88 -#: utils/adt/int8.c:116 +#: utils/adt/int.c:1294 +#: utils/adt/int8.c:1151 +msgid "step size may not equal zero" +msgstr "" + +#: utils/adt/int8.c:101 +#: utils/adt/int8.c:136 +#: utils/adt/numutils.c:74 +#: utils/adt/numutils.c:84 +#: utils/adt/numutils.c:97 #, c-format -msgid "invalid input syntax for type bigint: \"%s\"" -msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ bigint: \"%s\"" +msgid "invalid input syntax for integer: \"%s\"" +msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ integer: \"%s\"" -#: utils/adt/int8.c:905 +#: utils/adt/int8.c:117 +#, c-format +msgid "value \"%s\" is out of range for type bigint" +msgstr "ÚÎÁÞÅÎÉÅ \"%s\" ×ÎÅ ÄÉÁÐÁÚÏÎÁ ÄÌÑ ÔÉÐÁ bigint" + +#: utils/adt/int8.c:506 +#: utils/adt/int8.c:534 +#: utils/adt/int8.c:554 +#: utils/adt/int8.c:583 +#: utils/adt/int8.c:608 +#: utils/adt/int8.c:626 +#: utils/adt/int8.c:660 +#: utils/adt/int8.c:705 +#: utils/adt/int8.c:725 +#: utils/adt/int8.c:751 +#: utils/adt/int8.c:776 +#: utils/adt/int8.c:796 +#: utils/adt/int8.c:816 +#: utils/adt/int8.c:842 +#: utils/adt/int8.c:1010 +#: utils/adt/int8.c:1049 +#: utils/adt/numeric.c:1838 +#: utils/adt/varbit.c:1313 +msgid "bigint out of range" +msgstr "bigint ×ÎÅ ÄÉÁÐÁÚÏÎÁ" + +#: utils/adt/int8.c:1066 msgid "OID out of range" msgstr "OID ×ÎÅ ÄÉÁÐÁÚÏÎÁ" -#: utils/adt/oracle_compat.c:206 -#: utils/adt/oracle_compat.c:303 -#: utils/adt/oracle_compat.c:927 +#: utils/adt/oracle_compat.c:99 +#: utils/adt/oracle_compat.c:139 +msgid "invalid multibyte character for locale" +msgstr "" + +#: utils/adt/oracle_compat.c:100 +msgid "The server's LC_CTYPE locale is probably incompatible with the database encoding." +msgstr "" + +#: utils/adt/oracle_compat.c:411 +#: utils/adt/oracle_compat.c:508 +#: utils/adt/oracle_compat.c:1132 msgid "requested length too large" msgstr "ÚÁÐÒÏÛÅÎÎÁÑ ÄÌÉÎÁ ÓÌÉÛËÏÍ ×ÅÌÉËÁ" @@ -7418,69 +8735,91 @@ msgstr "" msgid "text too long to convert to MAC address" msgstr "" +#: utils/adt/misc.c:81 +msgid "must be superuser to signal other server processes" +msgstr "" + +#: utils/adt/misc.c:90 +#, c-format +msgid "PID %d is not a PostgreSQL server process" +msgstr "PID %d ÎÅ Ñ×ÌÑÅÔÓÑ PostgreSQL ÓÅÒ×ÅÒÏÍ" + +#: utils/adt/misc.c:98 +#, c-format +msgid "could not send signal to process %d: %m" +msgstr "" + +#: utils/adt/misc.c:156 +msgid "global tablespace never has databases" +msgstr "" + +#: utils/adt/misc.c:177 +#, c-format +msgid "%u is not a tablespace OID" +msgstr "" + #: utils/adt/nabstime.c:244 -#: utils/adt/nabstime.c:280 #, c-format msgid "invalid time zone name: \"%s\"" msgstr "ÎÅ×ÅÒÎÏÅ ÉÍÑ ×ÒÅÍÅÎÎÏÊ ÚÏÎÙ: \"%s\"" -#: utils/adt/nabstime.c:656 -#: utils/adt/nabstime.c:729 +#: utils/adt/nabstime.c:596 +#: utils/adt/nabstime.c:669 msgid "cannot convert abstime \"invalid\" to timestamp" msgstr "" -#: utils/adt/nabstime.c:882 +#: utils/adt/nabstime.c:823 #, c-format msgid "invalid input syntax for type tinterval: \"%s\"" msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ tinterval: \"%s\"" -#: utils/adt/nabstime.c:945 +#: utils/adt/nabstime.c:888 msgid "invalid status in external \"tinterval\" value" msgstr "" -#: utils/adt/nabstime.c:1037 +#: utils/adt/nabstime.c:980 msgid "cannot convert reltime \"invalid\" to interval" msgstr "" -#: utils/adt/network.c:102 +#: utils/adt/network.c:105 #, c-format msgid "invalid cidr value: \"%s\"" msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ cidr: \"%s\"" -#: utils/adt/network.c:103 -#: utils/adt/network.c:229 +#: utils/adt/network.c:106 +#: utils/adt/network.c:233 msgid "Value has bits set to right of mask." msgstr "" -#: utils/adt/network.c:149 -#: utils/adt/network.c:503 -#: utils/adt/network.c:529 -#: utils/adt/network.c:565 +#: utils/adt/network.c:153 +#: utils/adt/network.c:528 +#: utils/adt/network.c:554 +#: utils/adt/network.c:590 #, c-format msgid "could not format inet value: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÏÔÆÏÒÍÁÔÉÒÏ×ÁÔØ ÚÎÁÞÅÎÉÅ inet: %m" -#: utils/adt/network.c:194 +#: utils/adt/network.c:198 msgid "invalid address family in external \"inet\" value" msgstr "" -#: utils/adt/network.c:199 +#: utils/adt/network.c:203 msgid "invalid bits in external \"inet\" value" msgstr "ÎÅ×ÅÒÎÙÅ ÂÉÔÙ ×Ï ×ÎÅÛÎÅÍ ÚÎÁÞÅÎÉÉ \"inet\"" -#: utils/adt/network.c:205 +#: utils/adt/network.c:209 msgid "invalid type in external \"inet\" value" msgstr "ÎÅ×ÅÒÎÙÊ ÔÉÐ ×Ï ×ÎÅÛÎÅÍ ÚÎÁÞÅÎÉÉ \"inet\"" -#: utils/adt/network.c:210 +#: utils/adt/network.c:214 msgid "invalid length in external \"inet\" value" msgstr "ÎÅ×ÅÒÎÁÑ ÄÌÉÎÁ ×Ï ×ÎÅÛÎÅÍ ÚÎÁÞÅÎÉÉ \"inet\"" -#: utils/adt/network.c:228 +#: utils/adt/network.c:232 msgid "invalid external \"cidr\" value" msgstr "ÎÅ×ÅÒÎÏÅ ×ÎÅÛÎÅÅ ÚÎÁÞÅÎÉÅ \"cidr\"" -#: utils/adt/network.c:315 +#: utils/adt/network.c:319 #, c-format msgid "invalid mask length: %d" msgstr "ÎÅ×ÅÒÎÁÑ ÄÌÉÎÁ ÍÁÓËÉ: %d" @@ -7488,8 +8827,8 @@ msgstr " #: utils/adt/not_in.c:64 #: utils/adt/regproc.c:1110 #: utils/adt/regproc.c:1115 -#: utils/adt/varlena.c:1622 -#: utils/adt/varlena.c:1627 +#: utils/adt/varlena.c:1636 +#: utils/adt/varlena.c:1641 msgid "invalid name syntax" msgstr "ÏÛÉÂËÁ ÓÉÎÔÁËÓÉÓÁ ÉÍÅÎÉ" @@ -7497,157 +8836,169 @@ msgstr " msgid "Must provide \"relationname.columnname\"." msgstr "îÕÖÎÏ ÐÒÅÄÏÓÔÁ×ÉÔØ \"ÉÍÑ_ÏÔÎÏÛÅÎÉÑ.ÉÍÑ_ËÏÌÏÎËÉ\"." -#: utils/adt/numeric.c:403 +#: utils/adt/numeric.c:397 msgid "invalid length in external \"numeric\" value" msgstr "ÎÅ×ÅÒÎÁÑ ÄÌÉÎÁ ×Ï ×ÎÅÛÎÅÍ ÚÎÁÞÅÎÉÉ \"numeric\"" -#: utils/adt/numeric.c:414 +#: utils/adt/numeric.c:408 msgid "invalid sign in external \"numeric\" value" msgstr "ÎÅ×ÅÒÎÙÊ ÚÎÁË ×Ï ×ÎÅÛÎÅÍ ÚÎÁÞÅÎÉÉ \"numeric\"" -#: utils/adt/numeric.c:424 +#: utils/adt/numeric.c:418 msgid "invalid digit in external \"numeric\" value" msgstr "ÎÅ×ÅÒÎÁÑ ÃÉÆÒÁ ×Ï ×ÎÅÛÎÅÍ ÚÎÁÞÅÎÉÉ \"numeric\"" -#: utils/adt/numeric.c:1592 -#: utils/adt/numeric.c:1648 -#: utils/adt/numeric.c:1696 +#: utils/adt/numeric.c:835 +msgid "count must be greater than zero" +msgstr "ÓÞ£ÔÞÉË ÄÏÌÖÅÎ ÂÙÔØ ÂÏÌØÛÅ ÎÕÌÑ" + +#: utils/adt/numeric.c:848 +msgid "lower bound cannot equal upper bound" +msgstr "ÎÉÖÎÉÊ ÐÒÅÄÅÌ ÎÅ ÍÏÖÅÔ ÂÙÔØ ÒÁ×ÅÎ ×ÅÒÈÎÅÍÕ" + +#: utils/adt/numeric.c:1761 msgid "cannot convert NaN to integer" msgstr "ÎÅÌØÚÑ ÐÒÅÏÂÒÁÚÏ×ÁÔØ NaN × integer" -#: utils/adt/numeric.c:2539 -#: utils/adt/numeric.c:2562 -#: utils/adt/numeric.c:2586 -#: utils/adt/numeric.c:2593 -#: utils/adt/numeric.c:2607 +#: utils/adt/numeric.c:1829 +msgid "cannot convert NaN to bigint" +msgstr "ÎÅÌØÚÑ ÐÒÅÏÂÒÁÚÏ×ÁÔØ NaN × bigint" + +#: utils/adt/numeric.c:1877 +msgid "cannot convert NaN to smallint" +msgstr "ÎÅÌØÚÑ ÐÒÅÏÂÒÁÚÏ×ÁÔØ NaN × smallint" + +#: utils/adt/numeric.c:2720 +#: utils/adt/numeric.c:2743 +#: utils/adt/numeric.c:2767 +#: utils/adt/numeric.c:2774 +#: utils/adt/numeric.c:2788 #, c-format msgid "invalid input syntax for type numeric: \"%s\"" msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ numeric: \"%s\"" -#: utils/adt/numeric.c:2905 +#: utils/adt/numeric.c:3086 msgid "value overflows numeric format" msgstr "ÚÎÁÞÅÎÉÅ ÐÅÒÅÐÏÌÎÑÅÔ ÆÏÒÍÁÔ numeric" -#: utils/adt/numeric.c:2975 +#: utils/adt/numeric.c:3156 msgid "numeric field overflow" msgstr "ÐÅÒÅÐÏÌÎÅÎÉÅ ÐÏÌÑ numeric" -#: utils/adt/numeric.c:2976 +#: utils/adt/numeric.c:3157 #, c-format msgid "The absolute value is greater than or equal to 10^%d for field with precision %d, scale %d." msgstr "" -#: utils/adt/numeric.c:4125 +#: utils/adt/numeric.c:4310 msgid "argument for function \"exp\" too big" msgstr "ÁÒÇÕÍÅÎÔ ÄÌÑ ÆÕÎËÃÉÉ \"exp\" ÓÌÉÛËÏÍ ×ÅÌÉË" -#: utils/adt/numeric.c:4501 +#: utils/adt/numeric.c:4692 msgid "zero raised to zero is undefined" msgstr "ÎÏÌØ × ÓÔÅÐÅÎÉ ÎÏÌØ ÎÅ ÏÐÒÅÄÅÌ£Î" -#: utils/adt/numutils.c:72 -#: utils/adt/numutils.c:86 -#: utils/adt/numutils.c:91 -#, c-format -msgid "invalid input syntax for integer: \"%s\"" -msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ integer: \"%s\"" - -#: utils/adt/numutils.c:105 +#: utils/adt/numutils.c:111 #, c-format msgid "value \"%s\" is out of range for type integer" msgstr "ÚÎÁÞÅÎÉÅ \"%s\" ×ÎÅ ÄÉÁÐÁÚÏÎÁ ÄÌÑ ÔÉÐÁ integer" -#: utils/adt/numutils.c:111 +#: utils/adt/numutils.c:117 #, c-format -msgid "value \"%s\" is out of range for type shortint" -msgstr "ÚÎÁÞÅÎÉÅ \"%s\" ×ÎÅ ÄÉÁÐÁÚÏÎÁ ÄÌÑ ÔÉÐÁ shortint" +msgid "value \"%s\" is out of range for type smallint" +msgstr "ÚÎÁÞÅÎÉÅ \"%s\" ×ÎÅ ÄÉÁÐÁÚÏÎÁ ÄÌÑ ÔÉÐÁ smallint" -#: utils/adt/numutils.c:117 +#: utils/adt/numutils.c:123 #, c-format msgid "value \"%s\" is out of range for 8-bit integer" msgstr "ÚÎÁÞÅÎÉÅ \"%s\" ×ÎÅ ÄÉÁÐÁÚÏÎÁ ÄÌÑ ÔÉÐÁ integer 8 ÂÉÔ" -#: utils/adt/oid.c:49 -#: utils/adt/oid.c:54 -#: utils/adt/oid.c:75 -#, c-format -msgid "invalid input syntax for type \"oid\": \"%s\"" -msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ \"oid\": \"%s\"" +#: utils/adt/oid.c:45 +msgid "deprecated input syntax for type oid: \"\"" +msgstr "ÕÓÔÁÒÅ×ÛÉÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ oid: \"\"" #: utils/adt/oid.c:60 -#: utils/adt/oid.c:98 +#: utils/adt/oid.c:66 +#: utils/adt/oid.c:87 +#, c-format +msgid "invalid input syntax for type oid: \"%s\"" +msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ oid: \"%s\"" + +#: utils/adt/oid.c:72 +#: utils/adt/oid.c:110 #, c-format -msgid "value \"%s\" is out of range for type \"oid\"" -msgstr "ÚÎÁÞÅÎÉÅ \"%s\" ×ÎÅ ÄÉÁÐÁÚÏÎÁ ÄÌÑ ÔÉÐÁ \"oid\"" +msgid "value \"%s\" is out of range for type oid" +msgstr "ÚÎÁÞÅÎÉÅ \"%s\" ×ÎÅ ÄÉÁÐÁÚÏÎÁ ÄÌÑ ÔÉÐÁ oid" -#: utils/adt/oid.c:176 +#: utils/adt/oid.c:188 msgid "oidvector has too many elements" msgstr "oidvector ÓÏÄÅÒÖÉÔ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÜÌÅÍÅÎÔÏ×" -#: utils/adt/pseudotypes.c:38 -#: utils/adt/pseudotypes.c:64 -msgid "cannot accept a value of type record" -msgstr "ÎÅ ÍÏÇÕ ÐÒÉÎÑÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ record" - -#: utils/adt/pseudotypes.c:51 -#: utils/adt/pseudotypes.c:77 -msgid "cannot display a value of type record" -msgstr "ÎÅ ÍÏÇÕ ÏÔÏÂÒÁÚÉÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ" +#: utils/adt/ruleutils.c:1615 +#, c-format +msgid "rule \"%s\" has unsupported event type %d" +msgstr "ÐÒÁ×ÉÌÏ \"%s\" ÉÍÅÅÔ ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÔÉÐ ÓÏÂÙÔÉÊ %d" -#: utils/adt/pseudotypes.c:147 +#: utils/adt/pseudotypes.c:94 msgid "cannot accept a value of type any" msgstr "ÎÅ ÍÏÇÕ ÐÒÉÎÑÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ any" -#: utils/adt/pseudotypes.c:160 +#: utils/adt/pseudotypes.c:107 msgid "cannot display a value of type any" msgstr "ÎÅ ÍÏÇÕ ÏÔÏÂÒÁÚÉÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ any" -#: utils/adt/pseudotypes.c:174 -#: utils/adt/pseudotypes.c:202 +#: utils/adt/pseudotypes.c:121 +#: utils/adt/pseudotypes.c:149 msgid "cannot accept a value of type anyarray" msgstr "ÎÅ ÍÏÇÕ ÐÒÉÎÑÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ anyarray" -#: utils/adt/pseudotypes.c:252 +#: utils/adt/pseudotypes.c:199 msgid "cannot accept a value of type trigger" msgstr "ÎÅ ÍÏÇÕ ÐÒÉÎÑÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ trigger" -#: utils/adt/pseudotypes.c:265 +#: utils/adt/pseudotypes.c:212 msgid "cannot display a value of type trigger" msgstr "ÎÅ ÍÏÇÕ ÏÔÏÂÒÁÚÉÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ trigger" -#: utils/adt/pseudotypes.c:279 +#: utils/adt/pseudotypes.c:226 msgid "cannot accept a value of type language_handler" msgstr "ÎÅ ÍÏÇÕ ÐÒÉÎÑÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ language_handler" -#: utils/adt/pseudotypes.c:292 +#: utils/adt/pseudotypes.c:239 msgid "cannot display a value of type language_handler" msgstr "ÎÅ ÍÏÇÕ ÏÔÏÂÒÁÚÉÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ language_handler" -#: utils/adt/pseudotypes.c:306 +#: utils/adt/pseudotypes.c:253 msgid "cannot accept a value of type internal" msgstr "ÎÅ ÍÏÇÕ ÐÒÉÎÑÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ internal" -#: utils/adt/pseudotypes.c:319 +#: utils/adt/pseudotypes.c:266 msgid "cannot display a value of type internal" msgstr "ÎÅ ÍÏÇÕ ÏÔÏÂÒÁÚÉÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ internal" -#: utils/adt/pseudotypes.c:333 +#: utils/adt/pseudotypes.c:280 msgid "cannot accept a value of type opaque" msgstr "ÎÅ ÍÏÇÕ ÐÒÉÎÑÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ opaque" -#: utils/adt/pseudotypes.c:346 +#: utils/adt/pseudotypes.c:293 msgid "cannot display a value of type opaque" msgstr "ÎÅ ÍÏÇÕ ÏÔÏÂÒÁÚÉÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ opaque" -#: utils/adt/pseudotypes.c:360 +#: utils/adt/pseudotypes.c:307 msgid "cannot accept a value of type anyelement" msgstr "ÎÅ ÍÏÇÕ ÐÒÉÎÑÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ anyelement" -#: utils/adt/pseudotypes.c:373 +#: utils/adt/pseudotypes.c:320 msgid "cannot display a value of type anyelement" msgstr "ÎÅ ÍÏÇÕ ÏÔÏÂÒÁÚÉÔØ ÚÎÁÞÅÎÉÅ ÔÉÐÁ anyelement" -#: utils/adt/regexp.c:177 +#: utils/adt/regexp.c:155 +#: utils/adt/regexp.c:241 +#, c-format +msgid "regular expression failed: %s" +msgstr "ÏÛÉÂËÁ × ÒÅÇÕÌÑÒÎÏÍ ×ÙÒÁÖÅÎÉÉ: %s" + +#: utils/adt/regexp.c:187 #, c-format msgid "invalid regular expression: %s" msgstr "ÎÅ×ÅÒÎÏÅ ÒÅÇÕÌÑÒÎÏÅ ×ÙÒÁÖÅÎÉÅ: %s" @@ -7689,227 +9040,267 @@ msgstr " msgid "improper type name" msgstr "ÎÅ×ÅÒÎÏÅ ÉÍÑ ÔÉÐÁ" -#: utils/adt/ri_triggers.c:339 -#: utils/adt/ri_triggers.c:2722 -#: utils/adt/ri_triggers.c:3211 -#: utils/adt/ri_triggers.c:3248 +#: utils/adt/ri_triggers.c:338 +#: utils/adt/ri_triggers.c:2744 +#: utils/adt/ri_triggers.c:3249 +#: utils/adt/ri_triggers.c:3286 #, c-format msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\"" msgstr "" -#: utils/adt/ri_triggers.c:342 -#: utils/adt/ri_triggers.c:2725 +#: utils/adt/ri_triggers.c:341 +#: utils/adt/ri_triggers.c:2747 msgid "MATCH FULL does not allow mixing of null and nonnull key values." msgstr "" -#: utils/adt/ri_triggers.c:2484 -#: utils/adt/ri_triggers.c:2940 +#: utils/adt/ri_triggers.c:2483 +#: utils/adt/ri_triggers.c:2972 #, c-format msgid "function \"%s\" called with wrong number of trigger arguments" msgstr "ÆÕÎËÃÉÑ \"%s\" ×ÙÚ×ÁÎÁ Ó ÎÅÐÒÁ×ÉÌØÎÙÍ ÞÉÓÌÏÍ ÔÒÉÇÇÅÒÎÙÈ ÁÒÇÕÍÅÎÔÏ×" -#: utils/adt/ri_triggers.c:2502 -#: utils/adt/ri_triggers.c:2950 +#: utils/adt/ri_triggers.c:2501 +#: utils/adt/ri_triggers.c:2982 #, c-format msgid "no target table given for trigger \"%s\" on table \"%s\"" msgstr "ÎÅ ÕËÁÚÁÎÁ ÔÁÂÌÉÃÁ ÎÁÚÎÁÞÅÎÉÑ ÄÌÑ ÔÒÉÇÇÅÒÁ \"%s\" ÄÌÑ ÔÁÂÌÉÃÙ \"%s\"" -#: utils/adt/ri_triggers.c:2505 -#: utils/adt/ri_triggers.c:2953 +#: utils/adt/ri_triggers.c:2504 +#: utils/adt/ri_triggers.c:2985 msgid "Remove this referential integrity trigger and its mates, then do ALTER TABLE ADD CONSTRAINT." msgstr "" -#: utils/adt/ri_triggers.c:2860 -#: utils/adt/ri_triggers.c:2870 -#: utils/adt/ri_triggers.c:3310 +#: utils/adt/ri_triggers.c:2892 +#: utils/adt/ri_triggers.c:2902 +#: utils/adt/ri_triggers.c:3348 #, c-format msgid "table \"%s\" does not have column \"%s\" referenced by constraint \"%s\"" msgstr "ÔÁÂÌÉÃÁ \"%s\" ÎÅ ÉÍÅÅÔ ËÏÌÏÎËÕ \"%s\" ÕËÁÚÁÎÎÕÀ ËÏÎÓÔÒÅÊÎÔÏÍ \"%s\"" -#: utils/adt/ri_triggers.c:2890 +#: utils/adt/ri_triggers.c:2922 #, c-format msgid "function \"%s\" was not called by trigger manager" msgstr "ÆÕÎËÃÉÑ \"%s\" ÎÅ ÂÙÌÁ ×ÙÚ×ÁÎÁ ÍÅÎÅÄÖÅÒÏÍ ÔÒÉÇÇÅÒÏ×" -#: utils/adt/ri_triggers.c:2899 +#: utils/adt/ri_triggers.c:2931 #, c-format msgid "function \"%s\" must be fired AFTER ROW" msgstr "ÆÕÎËÃÉÑ \"%s\" ÄÏÌÖÎÁ ÚÁÐÕÓËÁÔØÓÑ × AFTER ROW" -#: utils/adt/ri_triggers.c:2907 +#: utils/adt/ri_triggers.c:2939 #, c-format msgid "function \"%s\" must be fired for INSERT" msgstr "ÆÕÎËÃÉÑ \"%s\" ÄÏÌÖÎÁ ÚÁÐÕÓËÁÔØÓÑ ÄÌÑ INSERT" -#: utils/adt/ri_triggers.c:2913 +#: utils/adt/ri_triggers.c:2945 #, c-format msgid "function \"%s\" must be fired for UPDATE" msgstr "ÆÕÎËÃÉÑ \"%s\" ÄÏÌÖÎÁ ÚÁÐÕÓËÁÔØÓÑ ÄÌÑ UPDATE" -#: utils/adt/ri_triggers.c:2920 +#: utils/adt/ri_triggers.c:2952 #, c-format msgid "function \"%s\" must be fired for INSERT or UPDATE" msgstr "ÆÕÎËÃÉÑ \"%s\" ÄÏÌÖÎÁ ÚÁÐÕÓËÁÔØÓÑ ÄÌÑ INSERT ÉÌÉ UPDATE" -#: utils/adt/ri_triggers.c:2927 +#: utils/adt/ri_triggers.c:2959 #, c-format msgid "function \"%s\" must be fired for DELETE" msgstr "ÆÕÎËÃÉÑ \"%s\" ÄÏÌÖÎÁ ÚÁÐÕÓËÁÔØÓÑ ÄÌÑ DELETE" -#: utils/adt/ri_triggers.c:3178 +#: utils/adt/ri_triggers.c:3216 #, c-format msgid "referential integrity query on \"%s\" from constraint \"%s\" on \"%s\" gave unexpected result" msgstr "" -#: utils/adt/ri_triggers.c:3182 +#: utils/adt/ri_triggers.c:3220 msgid "This is most likely due to a rule having rewritten the query." msgstr "" -#: utils/adt/ri_triggers.c:3213 +#: utils/adt/ri_triggers.c:3251 #, c-format msgid "No rows were found in \"%s\"." msgstr "óÔÒÏË × \"%s\" ÎÅ ÎÁÊÄÅÎÏ." -#: utils/adt/ri_triggers.c:3250 +#: utils/adt/ri_triggers.c:3288 #, c-format msgid "Key (%s)=(%s) is not present in table \"%s\"." msgstr "ëÌÀÞ (%s)=(%s) ÏÔÓÕÔÓÔ×ÕÅÔ × ÔÁÂÌÉÃÅ \"%s\"." -#: utils/adt/ri_triggers.c:3256 +#: utils/adt/ri_triggers.c:3294 #, c-format msgid "update or delete on \"%s\" violates foreign key constraint \"%s\" on \"%s\"" msgstr "" -#: utils/adt/ri_triggers.c:3259 +#: utils/adt/ri_triggers.c:3297 #, c-format msgid "Key (%s)=(%s) is still referenced from table \"%s\"." msgstr "ëÌÀÞ (%s)=(%s) ×Ó£ ÅÝ£ ÓÓÙÌÁÅÔÓÑ ÉÚ ÔÁÂÌÉÃÙ \"%s\"." -#: utils/adt/ruleutils.c:1553 -#, c-format -msgid "rule \"%s\" has unsupported event type %d" -msgstr "ÐÒÁ×ÉÌÏ \"%s\" ÉÍÅÅÔ ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÊ ÔÉÐ ÓÏÂÙÔÉÊ %d" - -#: utils/adt/selfuncs.c:3129 -#: utils/adt/selfuncs.c:3512 -msgid "case insensitive matching not supported on type bytea" +#: utils/adt/rowtypes.c:78 +#: utils/adt/rowtypes.c:442 +msgid "input of anonymous composite types is not implemented" msgstr "" -#: utils/adt/selfuncs.c:3234 -#: utils/adt/selfuncs.c:3673 -msgid "regular-expression matching not supported on type bytea" +#: utils/adt/rowtypes.c:125 +#: utils/adt/rowtypes.c:152 +#: utils/adt/rowtypes.c:176 +#: utils/adt/rowtypes.c:184 +#: utils/adt/rowtypes.c:234 +#: utils/adt/rowtypes.c:242 +#, c-format +msgid "malformed record literal: \"%s\"" msgstr "" -#: utils/adt/tid.c:66 -#: utils/adt/tid.c:74 -#: utils/adt/tid.c:82 +#: utils/adt/rowtypes.c:126 +msgid "Missing left parenthesis." +msgstr "ïÔÓÕÔÓÔ×ÕÅÔ ÌÅ×ÁÑ ÓËÏÂËÁ." + +#: utils/adt/rowtypes.c:153 +msgid "Too few columns." +msgstr "óÌÉÛËÏÍ ÍÁÌÏ ËÏÌÏÎÏË." + +#: utils/adt/rowtypes.c:178 +#: utils/adt/rowtypes.c:186 +msgid "Unexpected end of input." +msgstr "îÅÏÖÉÄÁÎÎÙÊ ËÏÎÅà ××ÏÄÁ." + +#: utils/adt/rowtypes.c:235 +msgid "Too many columns." +msgstr "óÌÉÛËÏÍ ÍÎÏÇÏ ËÏÌÏÎÏË." + +#: utils/adt/rowtypes.c:243 +msgid "Junk after right parenthesis." +msgstr "íÕÓÏÒ ÐÏÓÌÅ ÐÒÁ×ÏÊ ÓËÏÂËÉ." + +#: utils/adt/rowtypes.c:491 #, c-format -msgid "invalid input syntax for type tid: \"%s\"" -msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ tid: \"%s\"" +msgid "wrong number of columns: %d, expected %d" +msgstr "ÎÅ×ÅÒÎÏÅ ÞÉÓÌÏ ËÏÌÏÎÏË: %d, ÏÖÉÄÁÌÏÓØ: %d" -#: utils/adt/timestamp.c:100 -#: utils/adt/timestamp.c:326 +#: utils/adt/rowtypes.c:515 +#, c-format +msgid "wrong data type: %u, expected %u" +msgstr "ÎÅ×ÅÒÎÙÊ ÔÉÐ ÄÁÎÎÙÈ: %u, ÏÖÉÄÁÌÓÑ %u" + +#: utils/adt/rowtypes.c:574 +#, c-format +msgid "improper binary format in record column %d" +msgstr "" + +#: utils/adt/timestamp.c:97 +#: utils/adt/timestamp.c:338 #, c-format msgid "timestamp out of range: \"%s\"" msgstr "timestamp ×ÎÅ ÄÉÁÐÁÚÏÎÁ: \"%s\"" -#: utils/adt/timestamp.c:118 -#: utils/adt/timestamp.c:344 -#: utils/adt/timestamp.c:506 +#: utils/adt/timestamp.c:115 +#: utils/adt/timestamp.c:356 +#: utils/adt/timestamp.c:535 #, c-format msgid "date/time value \"%s\" is no longer supported" msgstr "ÚÎÁÞÅÎÉÅ ÄÁÔÙ/×ÒÅÍÅÎÉ \"%s\" ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" -#: utils/adt/timestamp.c:258 +#: utils/adt/timestamp.c:270 #, c-format msgid "timestamp(%d) precision must be between %d and %d" msgstr "ÔÏÞÎÏÓÔØ timestamp(%d) ÄÏÌÖÎÁ ÂÙÔØ ÍÅÖÄÕ %d É %d" -#: utils/adt/timestamp.c:499 -#: utils/adt/timestamp.c:2217 -#: utils/adt/timestamp.c:2328 -#: utils/adt/timestamp.c:2827 +#: utils/adt/timestamp.c:528 +#: utils/adt/timestamp.c:2407 +#: utils/adt/timestamp.c:2525 +#: utils/adt/timestamp.c:3060 msgid "interval out of range" msgstr "interval ×ÎÅ ÄÉÁÐÁÚÏÎÁ" -#: utils/adt/timestamp.c:831 +#: utils/adt/timestamp.c:881 #, c-format msgid "interval(%d) precision must be between %d and %d" msgstr "ÔÏÞÎÏÓÔØ interval(%d) ÄÏÌÖÎÁ ÂÙÔØ ÍÅÖÄÕ %d É %d" -#: utils/adt/timestamp.c:1693 +#: utils/adt/timestamp.c:1881 msgid "cannot subtract infinite timestamps" msgstr "" -#: utils/adt/timestamp.c:2388 +#: utils/adt/timestamp.c:2585 #, c-format msgid "invalid input syntax for type timestamp: \"%s\"" msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ timestamp: \"%s\"" -#: utils/adt/timestamp.c:2448 +#: utils/adt/timestamp.c:2645 #, c-format msgid "invalid input syntax for type timestamp with time zone: \"%s\"" msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ timestamp with time zone: \"%s\"" -#: utils/adt/timestamp.c:2509 +#: utils/adt/timestamp.c:2706 #, c-format msgid "invalid input syntax for type interval: \"%s\"" msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ interval: \"%s\"" -#: utils/adt/timestamp.c:2547 -#: utils/adt/timestamp.c:2624 -#: utils/adt/timestamp.c:2949 -#: utils/adt/timestamp.c:3125 -#, c-format -msgid "timestamp units \"%s\" not recognized" -msgstr "ÅÄÉÎÉÃÙ timestamp \"%s\" ÎÅ ÒÁÓÐÏÚÎÁÎÙ" - -#: utils/adt/timestamp.c:2610 -#: utils/adt/timestamp.c:3058 -#: utils/adt/timestamp.c:3115 +#: utils/adt/timestamp.c:2817 +#: utils/adt/timestamp.c:3363 +#: utils/adt/timestamp.c:3420 #, c-format msgid "timestamp units \"%s\" not supported" msgstr "ÅÄÉÎÉÃÙ timestamp \"%s\" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ" -#: utils/adt/timestamp.c:2656 -#: utils/adt/timestamp.c:2733 -#: utils/adt/timestamp.c:3157 -#: utils/adt/timestamp.c:3325 +#: utils/adt/timestamp.c:2831 +#: utils/adt/timestamp.c:3430 #, c-format -msgid "timestamp with time zone units \"%s\" not recognized" -msgstr "ÅÄÉÎÉÃÙ timestamp with time zone \"%s\" ÎÅ ÒÁÓÐÏÚÎÁÎÙ" +msgid "timestamp units \"%s\" not recognized" +msgstr "ÅÄÉÎÉÃÙ timestamp \"%s\" ÎÅ ÒÁÓÐÏÚÎÁÎÙ" -#: utils/adt/timestamp.c:2717 -#: utils/adt/timestamp.c:3278 -#: utils/adt/timestamp.c:3316 +#: utils/adt/timestamp.c:2957 +#: utils/adt/timestamp.c:3588 +#: utils/adt/timestamp.c:3626 #, c-format msgid "timestamp with time zone units \"%s\" not supported" msgstr "ÅÄÉÎÉÃÙ timestamp with time zone \"%s\" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ" -#: utils/adt/timestamp.c:2765 -#: utils/adt/timestamp.c:2836 -#: utils/adt/timestamp.c:3357 -#: utils/adt/timestamp.c:3469 +#: utils/adt/timestamp.c:2974 +#: utils/adt/timestamp.c:3635 #, c-format -msgid "interval units \"%s\" not recognized" -msgstr "ÅÄÉÎÉÃÙ interval \"%s\" ÎÅ ÒÁÓÐÏÚÎÁÎÙ" +msgid "timestamp with time zone units \"%s\" not recognized" +msgstr "ÅÄÉÎÉÃÙ timestamp with time zone \"%s\" ÎÅ ÒÁÓÐÏÚÎÁÎÙ" -#: utils/adt/timestamp.c:2820 -#: utils/adt/timestamp.c:3439 +#: utils/adt/timestamp.c:3053 +#: utils/adt/timestamp.c:3741 #, c-format msgid "interval units \"%s\" not supported" msgstr "ÅÄÉÎÉÃÙ interval \"%s\" ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ" -#: utils/adt/timestamp.c:2860 +#: utils/adt/timestamp.c:3069 +#: utils/adt/timestamp.c:3771 +#, c-format +msgid "interval units \"%s\" not recognized" +msgstr "ÅÄÉÎÉÃÙ interval \"%s\" ÎÅ ÒÁÓÐÏÚÎÁÎÙ" + +#: utils/adt/timestamp.c:3093 msgid "cannot calculate week number without year information" msgstr "ÎÅÌØÚÑ ×ÙÞÉÓÌÉÔØ ÎÏÍÅÒ ÎÅÄÅÌÉ ÂÅÚ ÉÎÆÏÒÍÁÃÉÉ Ï ÇÏÄÅ" -#: utils/adt/timestamp.c:3552 -#: utils/adt/timestamp.c:3703 +#: utils/adt/timestamp.c:3842 +#: utils/adt/timestamp.c:3991 #, c-format msgid "interval time zone \"%s\" must not specify month" msgstr "" +#: utils/adt/selfuncs.c:3370 +#: utils/adt/selfuncs.c:3775 +msgid "case insensitive matching not supported on type bytea" +msgstr "" + +#: utils/adt/selfuncs.c:3477 +#: utils/adt/selfuncs.c:3936 +msgid "regular-expression matching not supported on type bytea" +msgstr "" + +#: utils/adt/tid.c:66 +#: utils/adt/tid.c:74 +#: utils/adt/tid.c:82 +#, c-format +msgid "invalid input syntax for type tid: \"%s\"" +msgstr "ÎÅ×ÅÒÎÙÊ ×ÈÏÄÎÏÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÔÉÐÁ tid: \"%s\"" + #: utils/adt/varbit.c:109 #: utils/adt/varbit.c:263 #, c-format @@ -7950,11 +9341,6 @@ msgstr " msgid "cannot XOR bit strings of different sizes" msgstr "ÎÅÌØÚÑ ÉÓÐÏÌØÚÏ×ÁÔØ \"üëóëìàúé÷îùã éìé\" (XOR) ÄÌÑ ÂÉÔÏ×ÙÈ ÓÔÒÏË ÒÁÚÎÏÊ ÄÌÉÎÙ" -#: utils/adt/varbit.c:1257 -#: utils/adt/varbit.c:1290 -msgid "64-bit integers not supported on this platform" -msgstr "64-ÂÉÔÎÙÅ ÃÅÌÙÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ ÎÁ ÜÔÏÊ ÐÌÁÔÆÏÒÍÅ" - #: utils/adt/varchar.c:105 #: utils/adt/varchar.c:225 #, c-format @@ -7967,172 +9353,208 @@ msgstr " msgid "value too long for type character varying(%d)" msgstr "ÚÎÁÞÅÎÉÅ ×ÅÌÉËÏ ÄÌÑ ÔÉÐÁ character varying(%d)" -#: utils/adt/varlena.c:580 -#: utils/adt/varlena.c:644 -#: utils/adt/varlena.c:1298 +#: utils/adt/varlena.c:582 +#: utils/adt/varlena.c:646 +#: utils/adt/varlena.c:1312 msgid "negative substring length not allowed" msgstr "" -#: utils/adt/varlena.c:1393 -#: utils/adt/varlena.c:1424 -#: utils/adt/varlena.c:1460 -#: utils/adt/varlena.c:1503 +#: utils/adt/varlena.c:1407 +#: utils/adt/varlena.c:1438 +#: utils/adt/varlena.c:1474 +#: utils/adt/varlena.c:1517 #, c-format msgid "index %d out of valid range, 0..%d" msgstr "ÉÎÄÅËÓ %d ×ÎÅ ÄÉÁÐÁÚÏÎÁ, 0..%d" -#: utils/adt/varlena.c:1515 +#: utils/adt/varlena.c:1529 msgid "new bit must be 0 or 1" msgstr "ÎÏ×ÙÊ ÂÉÔ ÄÏÌÖÅÎ ÂÙÔØ 0 ÉÌÉ 1" -#: utils/adt/varlena.c:2015 +#: utils/adt/varlena.c:2016 msgid "field position must be greater than zero" msgstr "ÐÏÚÉÃÉÑ ÐÏÌÑ ÄÏÌÖÎÁ ÂÙÔØ ÂÏÌØÛÅ ÎÕÌÑ" -#: utils/cache/lsyscache.c:1624 -#: utils/cache/lsyscache.c:1660 -#: utils/cache/lsyscache.c:1696 -#: utils/cache/lsyscache.c:1732 +#: utils/cache/lsyscache.c:1687 +#: utils/cache/lsyscache.c:1723 +#: utils/cache/lsyscache.c:1759 +#: utils/cache/lsyscache.c:1795 #, c-format msgid "type %s is only a shell" msgstr "ÔÉÐ %s Ñ×ÌÑÅÔÓÑ ÔÏÌØËÏ ÏÂÏÌÏÞËÏÊ" -#: utils/cache/lsyscache.c:1629 +#: utils/cache/lsyscache.c:1692 #, c-format msgid "no input function available for type %s" msgstr "" -#: utils/cache/lsyscache.c:1665 +#: utils/cache/lsyscache.c:1728 #, c-format msgid "no output function available for type %s" msgstr "" -#: utils/cache/relcache.c:3306 +#: utils/cache/relcache.c:3264 #, c-format msgid "could not create relation-cache initialization file \"%s\": %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÆÁÊÌ ÉÎÉÃÉÁÌÉÚÁÃÉÉ ÄÌÑ ËÜÛÁ ÏÔÎÏÛÅÎÉÊ \"%s\": %m" -#: utils/cache/relcache.c:3308 -#: utils/cache/relcache.c:3449 +#: utils/cache/relcache.c:3266 msgid "Continuing anyway, but there's something wrong." msgstr "ðÒÏÄÏÌÖÁÅÍ × ÌÀÂÏÍ ÓÌÕÞÁÅ, ÎÏ ÞÔÏ-ÔÏ ÎÅ ÔÁË." -#: utils/cache/relcache.c:3447 +#: utils/cache/typcache.c:414 #, c-format -msgid "could not rename relation-cache initialization file \"%s\" to \"%s\": %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÅÒÅÉÍÅÎÏ×ÁÔØ ÆÁÊÌ ÉÎÉÃÉÁÌÉÚÁÃÉÉ ÄÌÑ ËÜÛÁ ÏÔÎÏÛÅÎÉÊ \"%s\" × \"%s\": %m" +msgid "type %s is not composite" +msgstr "ÔÉÐ %s ÎÅ Ñ×ÌÑÅÔÓÑ ÓÌÏÖÎÏ-ÓÏÓÔÁ×ÎÙÍ" -#: utils/error/elog.c:459 -msgid "error during error recovery, giving up" -msgstr "ÏÛÉÂËÁ ×Ï ×ÒÅÍÑ ×ÏÓÓÔÁÎÏ×ÌÅÎÉÑ... ÓÄÁÀÓØ" +#: utils/cache/typcache.c:428 +msgid "record type has not been registered" +msgstr "" + +#: utils/error/assert.c:34 +msgid "TRAP: ExceptionalCondition: bad arguments\n" +msgstr "" -#: utils/error/elog.c:887 +#: utils/error/assert.c:37 +#, c-format +msgid "TRAP: %s(\"%s\", File: \"%s\", Line: %d)\n" +msgstr "TRAP: %s(\"%s\", æÁÊÌ: \"%s\", óÔÒÏËÁ: %d)\n" + +#: utils/error/elog.c:1128 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÅÒÅÏÔËÒÙÔØ ÆÁÊÌ \"%s\" ËÁË stderr: %m" -#: utils/error/elog.c:900 +#: utils/error/elog.c:1141 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÅÒÅÏÔËÒÙÔØ ÆÁÊÌ \"%s\" ËÁË stdout: %m" -#: utils/error/elog.c:1058 -#: utils/error/elog.c:1204 -#: utils/error/elog.c:1267 +#: utils/error/elog.c:1350 +#: utils/error/elog.c:1360 +msgid "[unknown]" +msgstr "" + +#: utils/error/elog.c:1488 +#: utils/error/elog.c:1681 +#: utils/error/elog.c:1757 msgid "missing error text" msgstr "ÏÔÓÕÔÓÔ×ÕÅÔ ÔÅËÓÔ ÏÛÉÂËÉ" -#: utils/error/elog.c:1061 -#: utils/error/elog.c:1270 +#: utils/error/elog.c:1491 +#: utils/error/elog.c:1494 +#: utils/error/elog.c:1760 +#: utils/error/elog.c:1763 #, c-format msgid " at character %d" msgstr " ÎÁ ÓÉÍ×ÏÌÅ %d" -#: utils/error/elog.c:1069 +#: utils/error/elog.c:1504 msgid "DETAIL: " msgstr "ðïäòïâîïóôé: " -#: utils/error/elog.c:1075 +#: utils/error/elog.c:1511 msgid "HINT: " msgstr "ðïäóëáúëá: " -#: utils/error/elog.c:1081 +#: utils/error/elog.c:1518 +msgid "QUERY: " +msgstr "úáðòïó: " + +#: utils/error/elog.c:1525 msgid "CONTEXT: " msgstr "ëïîôåëóô: " -#: utils/error/elog.c:1089 +#: utils/error/elog.c:1535 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "çäå: %s, %s:%d\n" -#: utils/error/elog.c:1093 +#: utils/error/elog.c:1542 #, c-format msgid "LOCATION: %s:%d\n" msgstr "çäå: %s:%d\n" -#: utils/error/elog.c:1103 +#: utils/error/elog.c:1555 msgid "STATEMENT: " msgstr "ëïíáîäá: " -#: utils/error/elog.c:1375 +#: utils/error/elog.c:1873 #, c-format msgid "operating system error %d" msgstr "ÏÛÉÂËÁ ÏÐÅÒÁÃÉÏÎÎÏÊ ÓÉÓÔÅÍÙ %d" -#: utils/error/elog.c:1398 +#: utils/error/elog.c:1896 msgid "DEBUG" msgstr "DEBUG" -#: utils/error/elog.c:1402 +#: utils/error/elog.c:1900 msgid "LOG" msgstr "LOG" -#: utils/error/elog.c:1405 +#: utils/error/elog.c:1903 msgid "INFO" msgstr "INFO" -#: utils/error/elog.c:1408 +#: utils/error/elog.c:1906 msgid "NOTICE" msgstr "NOTICE" -#: utils/error/elog.c:1411 +#: utils/error/elog.c:1909 msgid "WARNING" msgstr "WARNING" -#: utils/error/elog.c:1414 +#: utils/error/elog.c:1912 msgid "ERROR" msgstr "ERROR" -#: utils/error/elog.c:1417 +#: utils/error/elog.c:1915 msgid "FATAL" msgstr "FATAL" -#: utils/error/elog.c:1420 +#: utils/error/elog.c:1918 msgid "PANIC" msgstr "PANIC" -#: utils/fmgr/dfmgr.c:99 -#: utils/fmgr/dfmgr.c:199 -#: utils/fmgr/dfmgr.c:252 +#: utils/fmgr/fmgr.c:246 +#, c-format +msgid "internal function \"%s\" is not in internal lookup table" +msgstr "×ÎÕÔÒÅÎÎÑÑ ÆÕÎËÃÉÑ \"%s\" ÎÅ ×Ï ×ÎÕÔÒÅÎÎÅÊ ÐÏÉÓËÏ×ÏÊ ÔÁÂÌÉÃÅ" + +#: utils/fmgr/fmgr.c:448 +#, c-format +msgid "unrecognized API version %d reported by info function \"%s\"" +msgstr "" + +#: utils/fmgr/fmgr.c:759 +#: utils/fmgr/fmgr.c:1634 +#, c-format +msgid "function %u has too many arguments (%d, maximum is %d)" +msgstr "ÆÕÎËÃÉÑ %u ÓÏÄÅÒÖÉÔ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÁÒÇÕÍÅÎÔÏ× (%d, ÐÒÉ ÍÁËÓÉÍÕÍÅ %d)" + +#: utils/fmgr/dfmgr.c:107 +#: utils/fmgr/dfmgr.c:209 +#: utils/fmgr/dfmgr.c:263 #, c-format msgid "could not access file \"%s\": %m" msgstr "ÎÅÔ ÄÏÓÔÕÐÁ Ë ÆÁÊÌÕ \"%s\": %m" -#: utils/fmgr/dfmgr.c:135 +#: utils/fmgr/dfmgr.c:145 #, c-format msgid "could not load library \"%s\": %s" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÚÁÇÒÕÚÉÔØ ÂÉÂÌÉÏÔÅËÕ \"%s\": %s" -#: utils/fmgr/dfmgr.c:165 +#: utils/fmgr/dfmgr.c:175 #, c-format msgid "could not find function \"%s\" in file \"%s\"" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÎÁÊÔÉ ÆÕÎËÃÉÀ \"%s\" × ÆÁÊÌÅ \"%s\"" -#: utils/fmgr/dfmgr.c:353 -msgid "invalid macro name in dynamic library path" +#: utils/fmgr/dfmgr.c:354 +#, c-format +msgid "invalid macro name in dynamic library path: %s" msgstr "" -#: utils/fmgr/dfmgr.c:405 +#: utils/fmgr/dfmgr.c:398 msgid "zero-length component in parameter \"dynamic_library_path\"" msgstr "" @@ -8140,167 +9562,166 @@ msgstr "" msgid "component in parameter \"dynamic_library_path\" is not an absolute path" msgstr "" -#: utils/fmgr/fmgr.c:223 +#: utils/init/postinit.c:119 #, c-format -msgid "internal function \"%s\" is not in internal lookup table" -msgstr "×ÎÕÔÒÅÎÎÑÑ ÆÕÎËÃÉÑ \"%s\" ÎÅ ×Ï ×ÎÕÔÒÅÎÎÅÊ ÐÏÉÓËÏ×ÏÊ ÔÁÂÌÉÃÅ" +msgid "database \"%s\", OID %u, has disappeared from pg_database" +msgstr "ÂÁÚÁ \"%s\", OID %u, ÉÓÞÅÚÌÁ ÉÚ pg_database" -#: utils/fmgr/fmgr.c:403 +#: utils/init/postinit.c:130 #, c-format -msgid "unrecognized API version %d reported by info function \"%s\"" -msgstr "" +msgid "database \"%s\" is not currently accepting connections" +msgstr "ÂÁÚÁ \"%s\" ÎÅ ÐÒÉÎÉÍÁÅÔ ÐÏÄÓÏÅÄÉÎÅÎÉÑ × ÄÁÎÎÙÊ ÍÏÍÅÎÔ" -#: utils/fmgr/fmgr.c:622 -#: utils/fmgr/fmgr.c:1486 +#: utils/init/postinit.c:285 #, c-format -msgid "function %u has too many arguments (%d, maximum is %d)" -msgstr "ÆÕÎËÃÉÑ %u ÓÏÄÅÒÖÉÔ ÓÌÉÛËÏÍ ÍÎÏÇÏ ÁÒÇÕÍÅÎÔÏ× (%d, ÐÒÉ ÍÁËÓÉÍÕÍÅ %d)" +msgid "The database subdirectory \"%s\" is missing." +msgstr "ðÏÄÄÉÒÅËÔÏÒÉÑ ÂÁÚ ÄÁÎÎÙÈ \"%s\" ÏÔÓÕÔÓÔ×ÕÅÔ." -#: utils/init/miscinit.c:378 +#: utils/init/postinit.c:290 +#, c-format +msgid "could not access directory \"%s\": %m" +msgstr "ÏÛÉÂËÁ ÐÒÉ ÄÏÓÔÕÐÅ Ë ÄÉÒÅËÔÏÒÉÉ \"%s\": %m" + +#: utils/init/postinit.c:299 +#, c-format +msgid "could not change directory to \"%s\": %m" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÏÍÅÎÑÔØ ÄÉÒÅËÔÏÒÉÀ ÎÁ \"%s\": %m" + +#: utils/init/postinit.c:382 +msgid "no users are defined in this database system" +msgstr "ÐÏÌØÚÏ×ÁÔÅÌÉ ÎÅ ÏÐÒÅÄÅÌÅÎÙ × ÜÔÏÊ ÓÉÓÔÅÍÅ ÂÁÚ ÄÁÎÎÙÈ" + +#: utils/init/postinit.c:383 +#, c-format +msgid "You should immediately run CREATE USER \"%s\" WITH SYSID %d CREATEUSER;." +msgstr "÷Ù ÄÏÌÖÎÙ ÎÅÍÅÄÌÅÎÎÏ ×ÙÐÏÌÎÉÔØ CREATE USER \"%s\" WITH SYSID %d CREATEUSER;." + +#: utils/init/postinit.c:423 +msgid "connection limit exceeded for non-superusers" +msgstr "ÐÒÅ×ÙÛÅÎ ÌÉÍÉÔ ÐÏÄÓÏÅÄÉÎÅÎÉÊ ÄÌÑ ÏÂÙÞÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ" + +#: utils/init/miscinit.c:403 msgid "permission denied to set session authorization" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÐÏ ÕÓÔÁÎÏ×ËÅ Á×ÔÏÒÉÚÁÃÉÉ ÓÅÓÓÉÉ" -#: utils/init/miscinit.c:404 +#: utils/init/miscinit.c:429 #, c-format msgid "invalid user ID: %d" msgstr "ÎÅ×ÅÒÎÏÅ ID ÐÏÌØÚÏ×ÁÔÅÌÑ: %d" -#: utils/init/miscinit.c:494 +#: utils/init/miscinit.c:519 #, c-format msgid "could not create lock file \"%s\": %m" msgstr "ÎÅ ÕÄÁÌÏÓØ ÓÏÚÄÁÔØ ÆÁÊÌ ÂÌÏËÉÒÏ×ËÉ \"%s\": %m" -#: utils/init/miscinit.c:508 +#: utils/init/miscinit.c:533 #, c-format msgid "could not open lock file \"%s\": %m" msgstr "ÎÅ ÕÄÁÌÏÓØ ÏÔËÒÙÔØ ÆÁÊÌ ÂÌÏËÉÒÏ×ËÉ \"%s\": %m" -#: utils/init/miscinit.c:514 +#: utils/init/miscinit.c:539 #, c-format msgid "could not read lock file \"%s\": %m" msgstr "ÎÅ ÕÄÁÌÏÓØ ÓÞÉÔÁÔØ ÆÁÊÌ ÂÌÏËÉÒÏ×ËÉ \"%s\": %m" -#: utils/init/miscinit.c:545 +#: utils/init/miscinit.c:589 #, c-format msgid "lock file \"%s\" already exists" msgstr "ÆÁÊÌ ÂÌÏËÉÒÏ×ËÉ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: utils/init/miscinit.c:548 +#: utils/init/miscinit.c:593 +#, c-format +msgid "Is another postgres (PID %d) running in data directory \"%s\"?" +msgstr "÷ÙÐÏÌÎÑÅÔÓÑ ÌÉ ÄÒÕÇÏÊ postgres (PID %d) ÎÁ ÄÉÒÅËÔÏÒÉÉ ÄÁÎÎÙÈ \"%s\"?" + +#: utils/init/miscinit.c:595 +#, c-format +msgid "Is another postmaster (PID %d) running in data directory \"%s\"?" +msgstr "÷ÙÐÏÌÎÑÅÔÓÑ ÌÉ ÄÒÕÇÏÊ postmaster (PID %d) ÎÁ ÄÉÒÅËÔÏÒÉÉ ÄÁÎÎÙÈ \"%s\"?" + +#: utils/init/miscinit.c:598 #, c-format -msgid "Is another %s (PID %d) running in data directory \"%s\"?" -msgstr "÷ÙÐÏÌÎÑÅÔÓÑ ÌÉ ÄÒÕÇÏÊ %s (PID %d) ÎÁ ÄÉÒÅËÔÏÒÉÉ ÄÁÎÎÙÈ \"%s\"?" +msgid "Is another postgres (PID %d) using socket file \"%s\"?" +msgstr "éÓÐÏÌØÚÕÅÔ ÌÉ ÄÒÕÇÏÊ postgres (PID %d) ÆÁÊÌ ÓÏËÅÔÁ \"%s\"?" -#: utils/init/miscinit.c:551 +#: utils/init/miscinit.c:600 #, c-format -msgid "Is another %s (PID %d) using socket file \"%s\"?" -msgstr "éÓÐÏÌØÚÕÅÔ ÌÉ ÄÒÕÇÏÊ %s (PID %d) ÆÁÊÌ ÓÏËÅÔÁ \"%s\"?" +msgid "Is another postmaster (PID %d) using socket file \"%s\"?" +msgstr "éÓÐÏÌØÚÕÅÔ ÌÉ ÄÒÕÇÏÊ postmaster (PID %d) ÆÁÊÌ ÓÏËÅÔÁ \"%s\"?" -#: utils/init/miscinit.c:580 +#: utils/init/miscinit.c:628 #, c-format msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use" msgstr "" -#: utils/init/miscinit.c:583 +#: utils/init/miscinit.c:631 #, c-format msgid "If you're sure there are no old server processes still running, remove the shared memory block with the command \"ipcrm\", or just delete the file \"%s\"." msgstr "" -#: utils/init/miscinit.c:600 +#: utils/init/miscinit.c:648 #, c-format msgid "could not remove old lock file \"%s\": %m" msgstr "ÎÅ ÕÄÁÌÏÓØ ÕÄÁÌÉÔØ ÓÔÁÒÙÊ ÆÁÊÌ ÂÌÏËÉÒÏ×ËÉ \"%s\": %m" -#: utils/init/miscinit.c:602 +#: utils/init/miscinit.c:650 msgid "The file seems accidentally left over, but it could not be removed. Please remove the file by hand and try again." msgstr "" -#: utils/init/miscinit.c:624 +#: utils/init/miscinit.c:672 +#: utils/init/miscinit.c:682 #, c-format msgid "could not write lock file \"%s\": %m" msgstr "ÎÅ ÕÄÁÌÏÓØ ÚÁÐÉÓÁÔØ ÆÁÊÌ ÂÌÏËÉÒÏ×ËÉ \"%s\": %m" -#: utils/init/miscinit.c:735 -#: utils/misc/guc.c:3911 +#: utils/init/miscinit.c:792 +#: utils/misc/guc.c:4939 #, c-format msgid "could not read from file \"%s\": %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÞÉÔÁÔØ ÉÚ ÆÁÊÌÁ \"%s\": %m" -#: utils/init/miscinit.c:820 -#: utils/init/miscinit.c:833 +#: utils/init/miscinit.c:883 +#: utils/init/miscinit.c:896 #, c-format msgid "\"%s\" is not a valid data directory" msgstr "\"%s\" ÎÅ Ñ×ÌÑÅÔÓÑ ×ÅÒÎÏÊ ÄÉÒÅËÔÏÒÉÅÊ ÄÁÎÎÙÈ" -#: utils/init/miscinit.c:822 +#: utils/init/miscinit.c:885 #, c-format msgid "File \"%s\" is missing." msgstr "æÁÊÌ \"%s\" ÏÔÓÕÔÓÔ×ÕÅÔ." -#: utils/init/miscinit.c:835 +#: utils/init/miscinit.c:898 #, c-format msgid "File \"%s\" does not contain valid data." msgstr "æÁÊÌ \"%s\" ÎÅ ÓÏÄÅÒÖÉÔ ×ÅÒÎÙÅ ÄÁÎÎÙÅ." -#: utils/init/miscinit.c:837 +#: utils/init/miscinit.c:900 msgid "You may need to initdb." msgstr "÷ÁÍ ÎÁ×ÅÒÎÏÅ ÎÁÄÏ ×ÙÐÏÌÎÉÔØ initdb." -#: utils/init/miscinit.c:845 +#: utils/init/miscinit.c:908 #, c-format msgid "The data directory was initialized by PostgreSQL version %ld.%ld, which is not compatible with this version %s." msgstr "äÉÒÅËÔÏÒÉÑ ÄÁÎÎÙÈ ÂÙÌÁ ÉÎÉÃÉÁÌÉÚÉÒÏ×ÁÎÁ Ó ÐÏÍÏÝØÀ PostgreSQL, ×ÅÒÓÉÉ %ld.%ld, ËÏÔÏÒÁÑ ÎÅ ÓÏ×ÍÅÓÔÉÍÁ Ó ÜÔÏÊ ×ÅÒÓÉÅÊ: %s." -#: utils/init/miscinit.c:887 +#: utils/init/miscinit.c:945 msgid "invalid list syntax for parameter \"preload_libraries\"" msgstr "ÎÅ×ÅÒÎÙÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÐÁÒÁÍÅÔÒÁ \"preload_libraries\"" -#: utils/init/miscinit.c:932 +#: utils/init/miscinit.c:991 #, c-format msgid "preloaded library \"%s\" with initialization function \"%s\"" msgstr "ÐÏÄÚÁÇÒÕÖÅÎÎÁÑ ÂÉÂÌÉÏÔÅËÁ \"%s\" Ó ÆÕÎËÃÉÅÊ ÉÎÉÃÉÁÌÉÚÁÃÉÉ \"%s\"" -#: utils/init/miscinit.c:936 +#: utils/init/miscinit.c:995 #, c-format msgid "preloaded library \"%s\"" msgstr "ÐÏÄÚÁÇÒÕÖÅÎÎÁÑ ÂÉÂÌÉÏÔÅËÁ \"%s\"" -#: utils/init/postinit.c:116 -#, c-format -msgid "database \"%s\", OID %u, has disappeared from pg_database" -msgstr "ÂÁÚÁ \"%s\", OID %u, ÉÓÞÅÚÌÁ ÉÚ pg_database" - -#: utils/init/postinit.c:127 -#, c-format -msgid "database \"%s\" is not currently accepting connections" -msgstr "ÂÁÚÁ \"%s\" ÎÅ ÐÒÉÎÉÍÁÅÔ ÐÏÄÓÏÅÄÉÎÅÎÉÑ × ÄÁÎÎÙÊ ÍÏÍÅÎÔ" - -#: utils/init/postinit.c:275 -#, c-format -msgid "The database subdirectory \"%s\" is missing." -msgstr "ðÏÄÄÉÒÅËÔÏÒÉÑ ÂÁÚ ÄÁÎÎÙÈ \"%s\" ÏÔÓÕÔÓÔ×ÕÅÔ." - -#: utils/init/postinit.c:280 -#, c-format -msgid "could not access directory \"%s\": %m" -msgstr "ÏÛÉÂËÁ ÐÒÉ ÄÏÓÔÕÐÅ Ë ÄÉÒÅËÔÏÒÉÉ \"%s\": %m" - -#: utils/init/postinit.c:289 -#, c-format -msgid "could not change directory to \"%s\": %m" -msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÏÍÅÎÑÔØ ÄÉÒÅËÔÏÒÉÀ ÎÁ \"%s\": %m" - -#: utils/init/postinit.c:371 -msgid "no users are defined in this database system" -msgstr "ÐÏÌØÚÏ×ÁÔÅÌÉ ÎÅ ÏÐÒÅÄÅÌÅÎÙ × ÜÔÏÊ ÓÉÓÔÅÍÅ ÂÁÚ ÄÁÎÎÙÈ" - -#: utils/init/postinit.c:372 -#, c-format -msgid "You should immediately run CREATE USER \"%s\" WITH SYSID %d CREATEUSER;." -msgstr "÷Ù ÄÏÌÖÎÙ ÎÅÍÅÄÌÅÎÎÏ ×ÙÐÏÌÎÉÔØ CREATE USER \"%s\" WITH SYSID %d CREATEUSER;." - -#: utils/init/postinit.c:408 -msgid "connection limit exceeded for non-superusers" -msgstr "ÐÒÅ×ÙÛÅÎ ÌÉÍÉÔ ÐÏÄÓÏÅÄÉÎÅÎÉÊ ÄÌÑ ÏÂÙÞÎÙÈ ÐÏÌØÚÏ×ÁÔÅÌÅÊ" +#: utils/mb/encnames.c:445 +msgid "encoding name too long" +msgstr "ÓÌÉÛËÏÍ ÄÌÉÎÎÏÅ ÉÍÑ ËÏÄÉÒÏ×ËÉ" #: utils/mb/conv.c:376 #, c-format @@ -8317,9 +9738,14 @@ msgstr " msgid "ignoring unconvertible %s character 0x%04x" msgstr "" -#: utils/mb/encnames.c:445 -msgid "encoding name too long" -msgstr "ÓÌÉÛËÏÍ ÄÌÉÎÎÏÅ ÉÍÑ ËÏÄÉÒÏ×ËÉ" +#: utils/mb/wchar.c:832 +msgid "Unicode characters greater than or equal to 0x10000 are not supported" +msgstr "óÉÍ×ÏÌÙ Unicode ÂÏÌÅÅ ÉÌÉ ÒÁ×ÎÙÅ 0x10000 ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ" + +#: utils/mb/wchar.c:861 +#, c-format +msgid "invalid byte sequence for encoding \"%s\": 0x%s" +msgstr "ÎÅ×ÅÒÎÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÂÁÊÔ ÉÍÑ ËÏÄÉÒÏ×ËÉ \"%s\": 0x%s" #: utils/mb/mbutils.c:252 #, c-format @@ -8336,906 +9762,1106 @@ msgstr " msgid "invalid destination encoding name \"%s\"" msgstr "ÎÅ×ÅÒÎÏÅ ÉÍÑ ËÏÄÉÒÏ×ËÉ ÎÁÚÎÁÞÅÎÉÑ: \"%s\"" -#: utils/mb/wchar.c:640 -msgid "Unicode characters greater than or equal to 0x10000 are not supported" -msgstr "óÉÍ×ÏÌÙ Unicode ÂÏÌÅÅ ÉÌÉ ÒÁ×ÎÙÅ 0x10000 ÎÅ ÐÏÄÄÅÒÖÉ×ÁÀÔÓÑ" - -#: utils/mb/wchar.c:669 -#, c-format -msgid "invalid byte sequence for encoding \"%s\": 0x%s" -msgstr "ÎÅ×ÅÒÎÁÑ ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÂÁÊÔ ÉÍÑ ËÏÄÉÒÏ×ËÉ \"%s\": 0x%s" +#: utils/misc/help_config.c:125 +msgid "internal error: unrecognized run-time parameter type\n" +msgstr "" -#: utils/misc/guc.c:241 +#: utils/misc/guc.c:234 msgid "Ungrouped" msgstr "òÁÚÎÏÅ" -#: utils/misc/guc.c:243 +#: utils/misc/guc.c:236 +msgid "File Locations" +msgstr "íÅÓÔÏÎÁÈÏÖÄÅÎÉÅ ÆÁÊÌÏ×" + +#: utils/misc/guc.c:238 msgid "Connections and Authentication" msgstr "ðÏÄÓÏÅÄÉÎÅÎÉÑ É ÁÕÔÅÎÔÉÆÉËÁÃÉÑ" -#: utils/misc/guc.c:245 +#: utils/misc/guc.c:240 msgid "Connections and Authentication / Connection Settings" msgstr "ðÏÄÓÏÅÄÉÎÅÎÉÑ É ÁÕÔÅÎÔÉÆÉËÁÃÉÑ / îÁÓÔÒÏÊËÉ ÐÏÄÓÏÅÄÉÎÅÎÉÑ" -#: utils/misc/guc.c:247 +#: utils/misc/guc.c:242 msgid "Connections and Authentication / Security and Authentication" msgstr "ðÏÄÓÏÅÄÉÎÅÎÉÑ É ÁÕÔÅÎÔÉÆÉËÁÃÉÑ / âÅÚÏÐÁÓÎÏÓÔØ É ÁÕÔÅÎÔÉÆÉËÁÃÉÑ" -#: utils/misc/guc.c:249 +#: utils/misc/guc.c:244 msgid "Resource Usage" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ ÒÅÓÕÒÓÏ×" -#: utils/misc/guc.c:251 +#: utils/misc/guc.c:246 msgid "Resource Usage / Memory" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ ÒÅÓÕÒÓÏ× / ðÁÍÑÔØ" -#: utils/misc/guc.c:253 +#: utils/misc/guc.c:248 msgid "Resource Usage / Free Space Map" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ ÒÅÓÕÒÓÏ× / ëÁÒÔÁ Ó×ÏÂÏÄÎÏÇÏ ÐÒÏÓÔÒÁÎÓÔ×Á" -#: utils/misc/guc.c:255 +#: utils/misc/guc.c:250 msgid "Resource Usage / Kernel Resources" msgstr "éÓÐÏÌØÚÏ×ÁÎÉÅ ÒÅÓÕÒÓÏ× / òÅÓÕÒÓÙ ÑÄÒÁ" -#: utils/misc/guc.c:257 +#: utils/misc/guc.c:252 msgid "Write-Ahead Log" msgstr "Write-Ahead Log" -#: utils/misc/guc.c:259 +#: utils/misc/guc.c:254 msgid "Write-Ahead Log / Settings" msgstr "Write-Ahead Log / îÁÓÔÒÏÊËÉ" -#: utils/misc/guc.c:261 +#: utils/misc/guc.c:256 msgid "Write-Ahead Log / Checkpoints" msgstr "Write-Ahead Log / ëÏÎÔÒÏÌØÎÙÅ ÔÏÞËÉ" -#: utils/misc/guc.c:263 +#: utils/misc/guc.c:258 msgid "Query Tuning" msgstr "îÁÓÔÒÏÊËÁ ÚÁÐÒÏÓÏ×" -#: utils/misc/guc.c:265 -msgid "Query Tuning / Planner Method Enabling" -msgstr "îÁÓÔÒÏÊËÁ ÚÁÐÒÏÓÏ× / ÷ËÌÀÞÅÎÉÅ ÍÅÔÏÄÏ× ÐÌÁÎÎÅÒÁ" +#: utils/misc/guc.c:260 +msgid "Query Tuning / Planner Method Configuration" +msgstr "îÁÓÔÒÏÊËÁ ÚÁÐÒÏÓÏ× / ëÏÎÆÉÇÕÒÁÃÉÑ ÍÅÔÏÄÏ× ÐÌÁÎÅÒÁ" -#: utils/misc/guc.c:267 +#: utils/misc/guc.c:262 msgid "Query Tuning / Planner Cost Constants" msgstr "îÁÓÔÒÏÊËÁ ÚÁÐÒÏÓÏ× / ïÃÅÎÏÞÎÙÅ ËÏÎÓÔÁÎÔÙ ÐÌÁÎÎÅÒÁ" -#: utils/misc/guc.c:269 +#: utils/misc/guc.c:264 msgid "Query Tuning / Genetic Query Optimizer" msgstr "îÁÓÔÒÏÊËÁ ÚÁÐÒÏÓÏ× / ïÂÝÉÊ ÏÐÔÉÍÉÚÁÔÏÒ ÚÁÐÒÏÓÏ×" -#: utils/misc/guc.c:271 +#: utils/misc/guc.c:266 msgid "Query Tuning / Other Planner Options" msgstr "îÁÓÔÒÏÊËÁ ÚÁÐÒÏÓÏ× / äÒÕÇÉÅ ÏÐÃÉÉ ÐÌÁÎÎÅÒÁ" -#: utils/misc/guc.c:273 +#: utils/misc/guc.c:268 msgid "Reporting and Logging" msgstr "ïÔÞ£ÔÎÏÓÔØ É ÖÕÒÎÁÌÉÒÏ×ÁÎÉÅ" -#: utils/misc/guc.c:275 -msgid "Reporting and Logging / Syslog" -msgstr "ïÔÞ£ÔÎÏÓÔØ É ÖÕÒÎÁÌÉÒÏ×ÁÎÉÅ / Syslog" +#: utils/misc/guc.c:270 +msgid "Reporting and Logging / Where to Log" +msgstr "ïÔÞ£ÔÎÏÓÔØ É ÖÕÒÎÁÌÉÒÏ×ÁÎÉÅ / çÄÅ ×ÅÓÔÉ ÖÕÒÎÁÌ" -#: utils/misc/guc.c:277 +#: utils/misc/guc.c:272 msgid "Reporting and Logging / When to Log" msgstr "ïÔÞ£ÔÎÏÓÔØ É ÖÕÒÎÁÌÉÒÏ×ÁÎÉÅ / ëÏÇÄÁ ×ÅÓÔÉ ÖÕÒÎÁÌ" -#: utils/misc/guc.c:279 +#: utils/misc/guc.c:274 msgid "Reporting and Logging / What to Log" msgstr "ïÔÞ£ÔÎÏÓÔØ É ÖÕÒÎÁÌÉÒÏ×ÁÎÉÅ / þÔÏ ÐÉÓÁÔØ × ÖÕÒÎÁÌ" -#: utils/misc/guc.c:281 +#: utils/misc/guc.c:276 msgid "Statistics" msgstr "óÔÁÔÉÓÔÉËÁ" -#: utils/misc/guc.c:283 +#: utils/misc/guc.c:278 msgid "Statistics / Monitoring" msgstr "óÔÁÔÉÓÔÉËÁ / íÏÎÉÔÏÒÉÎÇ" -#: utils/misc/guc.c:285 +#: utils/misc/guc.c:280 msgid "Statistics / Query and Index Statistics Collector" msgstr "óÔÁÔÉÓÔÉËÁ / óÂÏÒÝÉË ÓÔÁÔÉÓÔÉËÉ ÚÁÐÒÏÓÏ× É ÉÎÄÅËÓÏ×" -#: utils/misc/guc.c:287 +#: utils/misc/guc.c:282 msgid "Client Connection Defaults" msgstr "úÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÎÁÎÉÀ ÐÏÄÓÏÅÄÉÎÅÎÉÑ ËÌÉÅÎÔÏ×" -#: utils/misc/guc.c:289 +#: utils/misc/guc.c:284 msgid "Client Connection Defaults / Statement Behavior" msgstr "úÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÎÁÎÉÀ ÐÏÄÓÏÅÄÉÎÅÎÉÑ ËÌÉÅÎÔÏ× / ðÏ×ÅÄÅÎÉÅ ËÏÍÁÎÄ" -#: utils/misc/guc.c:291 +#: utils/misc/guc.c:286 msgid "Client Connection Defaults / Locale and Formatting" msgstr "úÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÎÁÎÉÀ ÐÏÄÓÏÅÄÉÎÅÎÉÑ ËÌÉÅÎÔÏ× / ìÏËÁÌØ É ÆÏÒÍÁÔÉÒÏ×ÁÎÉÅ" -#: utils/misc/guc.c:293 +#: utils/misc/guc.c:288 msgid "Client Connection Defaults / Other Defaults" msgstr "úÎÁÞÅÎÉÑ ÐÏ ÕÍÏÌÞÎÁÎÉÀ ÐÏÄÓÏÅÄÉÎÅÎÉÑ ËÌÉÅÎÔÏ× / äÒÕÇÉÅ ÚÎÁÞÅÎÉÑ" -#: utils/misc/guc.c:295 +#: utils/misc/guc.c:290 msgid "Lock Management" msgstr "õÐÒÁ×ÌÅÎÉÅ ÂÌÏËÉÒÏ×ËÁÍÉ" -#: utils/misc/guc.c:297 +#: utils/misc/guc.c:292 msgid "Version and Platform Compatibility" msgstr "÷ÅÒÓÉÑ É ÓÏ×ÍÅÓÔÉÍÏÓÔØ ÐÌÁÔÆÏÒÍ" -#: utils/misc/guc.c:299 +#: utils/misc/guc.c:294 msgid "Version and Platform Compatibility / Previous PostgreSQL Versions" msgstr "÷ÅÒÓÉÑ É ÓÏ×ÍÅÓÔÉÍÏÓÔØ ÐÌÁÔÆÏÒÍ / ðÒÅÄÙÄÕÝÉÅ ×ÅÒÓÉÉ PostgreSQL" -#: utils/misc/guc.c:301 +#: utils/misc/guc.c:296 msgid "Version and Platform Compatibility / Other Platforms and Clients" msgstr "÷ÅÒÓÉÑ É ÓÏ×ÍÅÓÔÉÍÏÓÔØ ÐÌÁÔÆÏÒÍ / äÒÕÇÉÅ ÐÌÁÔÆÏÒÍÙ É ËÌÉÅÎÔÙ" -#: utils/misc/guc.c:303 +#: utils/misc/guc.c:298 +msgid "Preset Options" +msgstr "" + +#: utils/misc/guc.c:300 +msgid "Customized Options" +msgstr "" + +#: utils/misc/guc.c:302 msgid "Developer Options" msgstr "ïÐÃÉÉ ÒÁÚÒÁÂÏÔÞÉËÁ" -#: utils/misc/guc.c:354 +#: utils/misc/guc.c:357 msgid "Enables the planner's use of sequential-scan plans." msgstr "" -#: utils/misc/guc.c:362 +#: utils/misc/guc.c:365 msgid "Enables the planner's use of index-scan plans." msgstr "" -#: utils/misc/guc.c:370 +#: utils/misc/guc.c:373 msgid "Enables the planner's use of TID scan plans." msgstr "" -#: utils/misc/guc.c:378 +#: utils/misc/guc.c:381 msgid "Enables the planner's use of explicit sort steps." msgstr "" -#: utils/misc/guc.c:386 +#: utils/misc/guc.c:389 msgid "Enables the planner's use of hashed aggregation plans." msgstr "" -#: utils/misc/guc.c:394 +#: utils/misc/guc.c:397 msgid "Enables the planner's use of nested-loop join plans." msgstr "" -#: utils/misc/guc.c:402 +#: utils/misc/guc.c:405 msgid "Enables the planner's use of merge join plans." msgstr "" -#: utils/misc/guc.c:410 +#: utils/misc/guc.c:413 msgid "Enables the planner's use of hash join plans." msgstr "" -#: utils/misc/guc.c:418 +#: utils/misc/guc.c:421 msgid "Enables genetic query optimization." msgstr "" -#: utils/misc/guc.c:419 +#: utils/misc/guc.c:422 msgid "This algorithm attempts to do planning without exhaustive searching." msgstr "" -#: utils/misc/guc.c:428 +#: utils/misc/guc.c:431 msgid "Shows whether the current user is a superuser." msgstr "" -#: utils/misc/guc.c:437 -msgid "Makes the server accept TCP/IP connections." -msgstr "" - -#: utils/misc/guc.c:445 +#: utils/misc/guc.c:440 msgid "Enables SSL connections." msgstr "÷ËÌÀÞÁÅÔ SSL-ÐÏÄÓÏÅÄÉÎÅÎÉÑ." -#: utils/misc/guc.c:453 +#: utils/misc/guc.c:448 msgid "Forces synchronization of updates to disk." msgstr "" -#: utils/misc/guc.c:454 +#: utils/misc/guc.c:449 msgid "The server will use the fsync() system call in several places to make sure that updates are physically written to disk. This insures that a database cluster will recover to a consistent state after an operating system or hardware crash." msgstr "" -#: utils/misc/guc.c:464 +#: utils/misc/guc.c:459 msgid "Continues processing past damaged page headers." msgstr "" -#: utils/misc/guc.c:465 +#: utils/misc/guc.c:460 msgid "Detection of a damaged page header normally causes PostgreSQL to report an error, aborting the current transaction. Setting zero_damaged_pages to true causes the system to instead report a warning, zero out the damaged page, and continue processing. This behavior will destroy data, namely all the rows on the damaged page." msgstr "" -#: utils/misc/guc.c:477 +#: utils/misc/guc.c:472 msgid "Runs the server silently." msgstr "" -#: utils/misc/guc.c:478 +#: utils/misc/guc.c:473 msgid "If this parameter is set, the server will automatically run in the background and any controlling terminals are dissociated." msgstr "" -#: utils/misc/guc.c:486 +#: utils/misc/guc.c:481 msgid "Logs each successful connection." msgstr "" -#: utils/misc/guc.c:494 -msgid "Prefixes server log messages with a time stamp." +#: utils/misc/guc.c:489 +msgid "Logs end of a session, including duration." msgstr "" -#: utils/misc/guc.c:502 -msgid "Prefixes server log messages with the server PID." -msgstr "" - -#: utils/misc/guc.c:512 +#: utils/misc/guc.c:499 msgid "Turns on various assertion checks." msgstr "" -#: utils/misc/guc.c:513 +#: utils/misc/guc.c:500 msgid "This is a debugging aid." msgstr "" -#: utils/misc/guc.c:524 -#: utils/misc/guc.c:614 -#: utils/misc/guc.c:687 -#: utils/misc/guc.c:696 -#: utils/misc/guc.c:705 -#: utils/misc/guc.c:714 -#: utils/misc/guc.c:1019 -#: utils/misc/guc.c:1028 -#: utils/misc/guc.c:1096 +#: utils/misc/guc.c:511 +#: utils/misc/guc.c:593 +#: utils/misc/guc.c:666 +#: utils/misc/guc.c:675 +#: utils/misc/guc.c:684 +#: utils/misc/guc.c:693 +#: utils/misc/guc.c:1078 +#: utils/misc/guc.c:1087 +#: utils/misc/guc.c:1145 msgid "no description available" msgstr "ÏÐÉÓÁÎÉÑ ÎÅ ÉÍÅÅÔÓÑ" -#: utils/misc/guc.c:533 -msgid "Logs each SQL statement." -msgstr "" - -#: utils/misc/guc.c:541 -msgid "Logs the duration each completed SQL statement." +#: utils/misc/guc.c:520 +msgid "Logs the duration of each completed SQL statement." msgstr "" -#: utils/misc/guc.c:549 +#: utils/misc/guc.c:528 msgid "Prints the parse tree to the server log." msgstr "" -#: utils/misc/guc.c:557 +#: utils/misc/guc.c:536 msgid "Prints the parse tree after rewriting to server log." msgstr "" -#: utils/misc/guc.c:565 +#: utils/misc/guc.c:544 msgid "Prints the execution plan to server log." msgstr "" -#: utils/misc/guc.c:573 +#: utils/misc/guc.c:552 msgid "Indents parse and plan tree displays." msgstr "" -#: utils/misc/guc.c:581 +#: utils/misc/guc.c:560 msgid "Writes parser performance statistics to the server log." msgstr "" -#: utils/misc/guc.c:589 +#: utils/misc/guc.c:568 msgid "Writes planner performance statistics to the server log." msgstr "" -#: utils/misc/guc.c:597 +#: utils/misc/guc.c:576 msgid "Writes executor performance statistics to the server log." msgstr "" -#: utils/misc/guc.c:605 +#: utils/misc/guc.c:584 msgid "Writes cumulative performance statistics to the server log." msgstr "" -#: utils/misc/guc.c:625 +#: utils/misc/guc.c:604 msgid "Uses the indented output format for EXPLAIN VERBOSE." msgstr "" -#: utils/misc/guc.c:633 +#: utils/misc/guc.c:612 msgid "Starts the server statistics-collection subprocess." msgstr "úÁÐÕÓËÁÅÔ ÐÏÄÐÒÏÃÅÓÓ ÓÂÏÒÁ ÓÔÁÔÉÓÔÉËÉ." -#: utils/misc/guc.c:641 +#: utils/misc/guc.c:620 msgid "Zeroes collected statistics on server restart." msgstr "" -#: utils/misc/guc.c:649 +#: utils/misc/guc.c:628 msgid "Collects statistics about executing commands." msgstr "" -#: utils/misc/guc.c:650 +#: utils/misc/guc.c:629 msgid "Enables the collection of statistics on the currently executing command of each session, along with the time at which that command began execution." msgstr "" -#: utils/misc/guc.c:659 +#: utils/misc/guc.c:638 msgid "Collects row-level statistics on database activity." msgstr "" -#: utils/misc/guc.c:667 +#: utils/misc/guc.c:646 msgid "Collects block-level statistics on database activity." msgstr "" -#: utils/misc/guc.c:676 +#: utils/misc/guc.c:655 msgid "Generates debugging output for LISTEN and NOTIFY." msgstr "" -#: utils/misc/guc.c:725 +#: utils/misc/guc.c:704 msgid "Logs the host name in the connection logs." msgstr "" -#: utils/misc/guc.c:726 +#: utils/misc/guc.c:705 msgid "By default, connection logs only show the IP address of the connecting host. If you want them to show the host name you can turn this on, but depending on your host name resolution setup it might impose a non-negligible performance penalty." msgstr "" -#: utils/misc/guc.c:736 -msgid "Logs the outgoing port number of the connecting host." -msgstr "" - -#: utils/misc/guc.c:745 +#: utils/misc/guc.c:715 msgid "Causes subtables to be included by default in various commands." msgstr "" -#: utils/misc/guc.c:753 +#: utils/misc/guc.c:723 msgid "Interprets ACST, CST, EST, and SAT as Australian time zones." msgstr "" -#: utils/misc/guc.c:754 +#: utils/misc/guc.c:724 msgid "Otherwise they are interpreted as North/South American time zones and Saturday." msgstr "" -#: utils/misc/guc.c:762 +#: utils/misc/guc.c:732 msgid "Encrypt passwords." msgstr "ûÉÆÒÏ×ÁÔØ ÐÁÒÏÌÉ." -#: utils/misc/guc.c:763 +#: utils/misc/guc.c:733 msgid "When a password is specified in CREATE USER or ALTER USER without writing either ENCRYPTED or UNENCRYPTED, this parameter determines whether the password is to be encrypted." msgstr "" -#: utils/misc/guc.c:772 +#: utils/misc/guc.c:742 msgid "Treats \"expr=NULL\" as \"expr IS NULL\"." msgstr "" -#: utils/misc/guc.c:773 +#: utils/misc/guc.c:743 msgid "When turned on, expressions of the form expr = NULL (or NULL = expr) are treated as expr IS NULL, that is, they return true if expr evaluates to the null value, and false otherwise. The correct behavior of expr = NULL is to always return null (unknown)." msgstr "" -#: utils/misc/guc.c:784 +#: utils/misc/guc.c:754 msgid "Enables per-database user names." msgstr "" -#: utils/misc/guc.c:793 +#: utils/misc/guc.c:763 msgid "This parameter doesn't do anything." msgstr "" -#: utils/misc/guc.c:794 +#: utils/misc/guc.c:764 msgid "It's just here so that we won't choke on SET AUTOCOMMIT TO ON from 7.3-vintage clients." msgstr "" -#: utils/misc/guc.c:802 +#: utils/misc/guc.c:772 msgid "Sets the default read-only status of new transactions." msgstr "" -#: utils/misc/guc.c:810 -msgid "Shows the current transaction's read-only status." -msgstr "ðÏËÁÚÙ×ÁÅÔ ÓÔÁÔÕÓ \"ÔÏÌØËÏ ÄÌÑ ÞÔÅÎÉÑ\" ÔÅËÕÝÅÊ ÔÒÁÎÚÁËÃÉÉ." +#: utils/misc/guc.c:780 +msgid "Sets the current transaction's read-only status." +msgstr "" -#: utils/misc/guc.c:819 +#: utils/misc/guc.c:789 msgid "Automatically adds missing table references to FROM clauses." msgstr "" -#: utils/misc/guc.c:827 +#: utils/misc/guc.c:797 msgid "Check function bodies during CREATE FUNCTION." msgstr "" -#: utils/misc/guc.c:845 +#: utils/misc/guc.c:805 +msgid "By default, newly-created tables should have OIDs." +msgstr "" + +#: utils/misc/guc.c:813 +msgid "Start a subprocess to capture stderr output into log files." +msgstr "" + +#: utils/misc/guc.c:821 +msgid "Truncate existing log files of same name during log rotation." +msgstr "" + +#: utils/misc/guc.c:831 +msgid "Emit WAL-related debugging output." +msgstr "" + +#: utils/misc/guc.c:842 +msgid "Datetimes are integer based" +msgstr "" + +#: utils/misc/guc.c:865 msgid "Sets the default statistics target." msgstr "" -#: utils/misc/guc.c:846 +#: utils/misc/guc.c:866 msgid "This applies to table columns that have not had a column-specific target set via ALTER TABLE SET STATISTICS." msgstr "" -#: utils/misc/guc.c:854 +#: utils/misc/guc.c:874 msgid "Sets the FROM-list size beyond which subqueries are not collapsed." msgstr "" -#: utils/misc/guc.c:856 +#: utils/misc/guc.c:876 msgid "The planner will merge subqueries into upper queries if the resulting FROM list would have no more than this many items." msgstr "" -#: utils/misc/guc.c:865 +#: utils/misc/guc.c:885 msgid "Sets the FROM-list size beyond which JOIN constructs are not flattened." msgstr "" -#: utils/misc/guc.c:867 +#: utils/misc/guc.c:887 msgid "The planner will flatten explicit inner JOIN constructs into lists of FROM items whenever a list of no more than this many items would result." msgstr "" -#: utils/misc/guc.c:876 +#: utils/misc/guc.c:896 msgid "Sets the threshold of FROM items beyond which GEQO is used." msgstr "" -#: utils/misc/guc.c:884 -msgid "GEQO: number of individuals in one population." +#: utils/misc/guc.c:904 +msgid "GEQO: effort is used to set the default for other GEQO parameters." msgstr "" -#: utils/misc/guc.c:892 -msgid "GEQO: effort is used to calculate a default for generations." +#: utils/misc/guc.c:912 +msgid "GEQO: number of individuals in the population." msgstr "" -#: utils/misc/guc.c:900 -msgid "GEQO: number of iterations in the algorithm." +#: utils/misc/guc.c:913 +#: utils/misc/guc.c:921 +msgid "Zero selects a suitable default value." msgstr "" -#: utils/misc/guc.c:901 -msgid "The number must be a positive integer. If 0 is specified then effort * log2(poolsize) is used." +#: utils/misc/guc.c:920 +msgid "GEQO: number of iterations of the algorithm." msgstr "" -#: utils/misc/guc.c:910 +#: utils/misc/guc.c:929 msgid "The time in milliseconds to wait on lock before checking for deadlock." msgstr "" -#: utils/misc/guc.c:920 -msgid "Uses syslog for logging." -msgstr "éÓÐÏÌØÚÕÅÔ syslog ÄÌÑ ×ÅÄÅÎÉÑ ÖÕÒÎÁÌÁ." - -#: utils/misc/guc.c:921 -msgid "If this parameter is 1, messages go both to syslog and the standard output. A value of 2 sends output only to syslog. (Some messages will still go to the standard output/error.) The default is 0, which means syslog is off." -msgstr "" - -#: utils/misc/guc.c:940 +#: utils/misc/guc.c:945 msgid "Sets the maximum number of concurrent connections." msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÍÁËÓÉÍÁÌØÎÏ ÄÏÓÔÕÐÎÏÅ ÞÉÓÌÏ ÐÏÄÓÏÅÄÉÎÅÎÉÊ." -#: utils/misc/guc.c:949 +#: utils/misc/guc.c:954 msgid "Sets the number of connection slots reserved for superusers." msgstr "" -#: utils/misc/guc.c:958 +#: utils/misc/guc.c:963 msgid "Sets the number of shared memory buffers used by the server." msgstr "" -#: utils/misc/guc.c:967 +#: utils/misc/guc.c:972 msgid "Sets the TCP port the server listens on." msgstr "" -#: utils/misc/guc.c:976 +#: utils/misc/guc.c:981 msgid "Sets the access permissions of the Unix-domain socket." msgstr "" -#: utils/misc/guc.c:977 +#: utils/misc/guc.c:982 msgid "Unix-domain sockets use the usual Unix file system permission set. The parameter value is expected to be an numeric mode specification in the form accepted by the chmod and umask system calls. (To use the customary octal format the number must start with a 0 (zero).)" msgstr "" -#: utils/misc/guc.c:989 -msgid "Sets the maximum memory to be used for sorts and hash tables." +#: utils/misc/guc.c:994 +msgid "Sets the maximum memory to be used for query workspaces." msgstr "" -#: utils/misc/guc.c:990 -msgid "Specifies the amount of memory to be used by internal sort operations and hash tables before switching to temporary disk files" +#: utils/misc/guc.c:995 +msgid "This much memory may be used by each internal sort operation and hash table before switching to temporary disk files." msgstr "" -#: utils/misc/guc.c:1000 -msgid "Sets the maximum memory used to keep track of to-be-reclaimed rows." +#: utils/misc/guc.c:1005 +msgid "Sets the maximum memory to be used for maintenance operations." msgstr "" -#: utils/misc/guc.c:1009 -msgid "Sets the maximum number of simultaneously open files for each server process." +#: utils/misc/guc.c:1006 +msgid "This includes operations such as VACUUM and CREATE INDEX." +msgstr "" + +#: utils/misc/guc.c:1014 +msgid "Sets the maximum stack depth, in kilobytes." +msgstr "" + +#: utils/misc/guc.c:1023 +msgid "Vacuum cost for a page found in the buffer cache." +msgstr "" + +#: utils/misc/guc.c:1032 +msgid "Vacuum cost for a page not found in the buffer cache." +msgstr "" + +#: utils/misc/guc.c:1041 +msgid "Vacuum cost for a page dirtied by vacuum." +msgstr "" + +#: utils/misc/guc.c:1050 +msgid "Vacuum cost amount available before napping." +msgstr "" + +#: utils/misc/guc.c:1059 +msgid "Vacuum cost delay in milliseconds." msgstr "" -#: utils/misc/guc.c:1038 -msgid "Sets the maximum expression nesting depth." +#: utils/misc/guc.c:1068 +msgid "Sets the maximum number of simultaneously open files for each server process." msgstr "" -#: utils/misc/guc.c:1047 +#: utils/misc/guc.c:1098 msgid "Sets the maximum allowed duration (in milliseconds) of any statement." msgstr "" -#: utils/misc/guc.c:1048 +#: utils/misc/guc.c:1099 msgid "A value of 0 turns off the timeout." msgstr "" -#: utils/misc/guc.c:1056 +#: utils/misc/guc.c:1107 msgid "Sets the maximum number of tables and indexes for which free space is tracked." msgstr "" -#: utils/misc/guc.c:1065 +#: utils/misc/guc.c:1115 msgid "Sets the maximum number of disk pages for which free space is tracked." msgstr "" -#: utils/misc/guc.c:1075 +#: utils/misc/guc.c:1124 msgid "Sets the maximum number of locks per transaction." msgstr "" -#: utils/misc/guc.c:1076 +#: utils/misc/guc.c:1125 msgid "The shared lock table is sized on the assumption that at most max_locks_per_transaction * max_connections distinct objects will need to be locked at any one time." msgstr "" -#: utils/misc/guc.c:1086 +#: utils/misc/guc.c:1135 msgid "Sets the maximum time in seconds to complete client authentication." msgstr "" -#: utils/misc/guc.c:1106 +#: utils/misc/guc.c:1155 msgid "Sets the maximum distance in log segments between automatic WAL checkpoints." msgstr "" -#: utils/misc/guc.c:1115 +#: utils/misc/guc.c:1164 msgid "Sets the maximum time in seconds between automatic WAL checkpoints." msgstr "" -#: utils/misc/guc.c:1124 +#: utils/misc/guc.c:1173 msgid "Logs if filling of checkpoint segments happens more frequently than this (in seconds)." msgstr "" -#: utils/misc/guc.c:1126 +#: utils/misc/guc.c:1175 msgid "Write a message to the server log if checkpoints caused by the filling of checkpoint segment files happens more frequently than this number of seconds. Zero turns off the warning." msgstr "" -#: utils/misc/guc.c:1136 +#: utils/misc/guc.c:1185 msgid "Sets the number of disk-page buffers in shared memory for WAL." msgstr "" -#: utils/misc/guc.c:1145 -msgid "If nonzero, WAL-related debugging output is logged." -msgstr "" - -#: utils/misc/guc.c:1155 +#: utils/misc/guc.c:1194 msgid "Sets the delay in microseconds between transaction commit and flushing WAL to disk." msgstr "" -#: utils/misc/guc.c:1165 +#: utils/misc/guc.c:1204 msgid "Sets the minimum concurrent open transactions before performing commit_delay." msgstr "" -#: utils/misc/guc.c:1175 +#: utils/misc/guc.c:1214 msgid "Sets the number of digits displayed for floating-point values." msgstr "" -#: utils/misc/guc.c:1176 +#: utils/misc/guc.c:1215 msgid "This affects real, double precision, and geometric data types. The parameter value is added to the standard number of digits (FLT_DIG or DBL_DIG as appropriate)." msgstr "" -#: utils/misc/guc.c:1186 +#: utils/misc/guc.c:1225 msgid "Sets the minimum execution time in milliseconds above which statements will be logged." msgstr "" -#: utils/misc/guc.c:1188 +#: utils/misc/guc.c:1227 msgid "Zero prints all queries. The default is -1 (turning this feature off)." msgstr "" -#: utils/misc/guc.c:1205 +#: utils/misc/guc.c:1235 +msgid "Interval to report shared buffer status in seconds" +msgstr "" + +#: utils/misc/guc.c:1244 +msgid "Background writer sleep time between rounds in milliseconds" +msgstr "" + +#: utils/misc/guc.c:1253 +msgid "Background writer percentage of dirty buffers to flush per round" +msgstr "" + +#: utils/misc/guc.c:1262 +msgid "Background writer maximum number of pages to flush per round" +msgstr "" + +#: utils/misc/guc.c:1271 +msgid "Automatic log file rotation will occur after N minutes" +msgstr "" + +#: utils/misc/guc.c:1280 +msgid "Automatic log file rotation will occur after N kilobytes" +msgstr "" + +#: utils/misc/guc.c:1289 +msgid "Shows the maximum number of function arguments." +msgstr "ðÏËÁÚÙ×ÁÅÔ ÍÁËÓÉÍÁÌØÎÏ ÄÏÓÔÕÐÎÏÅ ÞÉÓÌÏ ÁÒÇÕÍÅÎÔÏ× ÆÕÎËÃÉÊ." + +#: utils/misc/guc.c:1299 +msgid "Shows the maximum number of index keys." +msgstr "ðÏËÁÚÙ×ÁÅÔ ÍÁËÓÉÍÁÌØÎÏ ÄÏÓÔÕÐÎÏÅ ÞÉÓÌÏ ÉÎÄÅËÓÎÙÈ ËÌÀÞÅÊ." + +#: utils/misc/guc.c:1309 +msgid "Shows the maximum identifier length" +msgstr "" + +#: utils/misc/guc.c:1319 +msgid "Shows size of a disk block" +msgstr "" + +#: utils/misc/guc.c:1338 msgid "Sets the planner's assumption about size of the disk cache." msgstr "" -#: utils/misc/guc.c:1206 +#: utils/misc/guc.c:1339 msgid "That is, the portion of the kernel's disk cache that will be used for PostgreSQL data files. This is measured in disk pages, which are normally 8 kB each." msgstr "" -#: utils/misc/guc.c:1215 +#: utils/misc/guc.c:1348 msgid "Sets the planner's estimate of the cost of a nonsequentially fetched disk page." msgstr "" -#: utils/misc/guc.c:1217 +#: utils/misc/guc.c:1350 msgid "This is measured as a multiple of the cost of a sequential page fetch. A higher value makes it more likely a sequential scan will be used, a lower value makes it more likely an index scan will be used." msgstr "" -#: utils/misc/guc.c:1227 +#: utils/misc/guc.c:1360 msgid "Sets the planner's estimate of the cost of processing each tuple (row)." msgstr "" -#: utils/misc/guc.c:1228 -#: utils/misc/guc.c:1238 -#: utils/misc/guc.c:1247 +#: utils/misc/guc.c:1361 +#: utils/misc/guc.c:1371 +#: utils/misc/guc.c:1380 msgid "This is measured as a fraction of the cost of a sequential page fetch." msgstr "" -#: utils/misc/guc.c:1236 +#: utils/misc/guc.c:1369 msgid "Sets the planner's estimate of processing cost for each index tuple (row) during index scan." msgstr "" -#: utils/misc/guc.c:1246 +#: utils/misc/guc.c:1379 msgid "Sets the planner's estimate of processing cost of each operator in WHERE." msgstr "" -#: utils/misc/guc.c:1256 +#: utils/misc/guc.c:1389 msgid "GEQO: selective pressure within the population." msgstr "" -#: utils/misc/guc.c:1266 +#: utils/misc/guc.c:1399 msgid "Sets the seed for random-number generation." msgstr "" -#: utils/misc/guc.c:1285 +#: utils/misc/guc.c:1418 +msgid "WAL archiving command." +msgstr "" + +#: utils/misc/guc.c:1419 +msgid "The shell command that will be called to archive a WAL file." +msgstr "" + +#: utils/misc/guc.c:1427 msgid "Sets the client's character set encoding." msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ËÏÄÉÒÏ×ËÕ ÓÉÍ×ÏÌÏ× ËÌÉÅÎÔÁ." -#: utils/misc/guc.c:1295 +#: utils/misc/guc.c:1437 msgid "Sets the message levels that are sent to the client." msgstr "" -#: utils/misc/guc.c:1296 +#: utils/misc/guc.c:1438 msgid "Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, LOG, NOTICE, WARNING, and ERROR. Each level includes all the levels that follow it. The later the level, the fewer messages are sent." msgstr "÷ÅÒÎÙÅ ÚÎÁÞÅÎÉÑ: DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, LOG, NOTICE, WARNING É ERROR. ëÁÖÄÙÊ ÕÒÏ×ÅÎØ ×ËÌÀÞÁÅÔ ×ÓÅ ÐÏÓÌÅÄÕÀÝÉÅ. îÁ ËÁÖÄÏÍ ÐÏÓÌÅÄÕÀÝÅÍ ÕÒÏ×ÎÅ ÍÅÎØÛÅ ÓÏÏÂÝÅÎÉÊ." -#: utils/misc/guc.c:1307 +#: utils/misc/guc.c:1449 msgid "Sets the message levels that are logged." msgstr "" -#: utils/misc/guc.c:1308 +#: utils/misc/guc.c:1450 msgid "Valid values are DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL, and PANIC. Each level includes all the levels that follow it." msgstr "÷ÅÒÎÙÅ ÚÎÁÞÅÎÉÑ: DEBUG5, DEBUG4, DEBUG3, DEBUG2, DEBUG1, INFO, NOTICE, WARNING, ERROR, LOG, FATAL É PANIC. ëÁÖÄÙÊ ÕÒÏ×ÅÎØ ×ËÌÀÞÁÅÔ ×ÓÅ ÐÏÓÌÅÄÕÀÝÉÅ." -#: utils/misc/guc.c:1318 +#: utils/misc/guc.c:1460 msgid "Sets the verbosity of logged messages." msgstr "" -#: utils/misc/guc.c:1319 +#: utils/misc/guc.c:1461 msgid "Valid values are \"terse\", \"default\", and \"verbose\"." msgstr "÷ÅÒÎÙÅ ÚÎÁÞÅÎÉÑ: \"terse\", \"default\" É \"verbose\"." -#: utils/misc/guc.c:1327 +#: utils/misc/guc.c:1468 +msgid "Sets the type of statements logged." +msgstr "" + +#: utils/misc/guc.c:1469 +msgid "Valid values are \"none\", \"ddl\", \"mod\", and \"all\"." +msgstr "÷ÅÒÎÙÅ ÚÎÁÞÅÎÉÑ: \"none\", \"ddl\", \"mod\" É \"all\"." + +#: utils/misc/guc.c:1477 msgid "Causes all statements generating error at or above this level to be logged." msgstr "" -#: utils/misc/guc.c:1328 +#: utils/misc/guc.c:1478 msgid "All SQL statements that cause an error of the specified level or a higher level are logged." msgstr "" -#: utils/misc/guc.c:1337 +#: utils/misc/guc.c:1487 +msgid "Controls information prefixed to each log line" +msgstr "" + +#: utils/misc/guc.c:1488 +msgid "if blank no prefix is used" +msgstr "" + +#: utils/misc/guc.c:1497 msgid "Sets the display format for date and time values." msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÆÏÒÍÁÔ ÏÔÏÂÒÁÖÅÎÉÑ ÄÌÑ ÄÁÔ É ×ÒÅÍÅÎÉ." -#: utils/misc/guc.c:1338 +#: utils/misc/guc.c:1498 msgid "Also controls interpretation of ambiguous date inputs." msgstr "" -#: utils/misc/guc.c:1348 +#: utils/misc/guc.c:1508 +msgid "Sets the default tablespace to create tables and indexes in." +msgstr "" + +#: utils/misc/guc.c:1509 +msgid "An empty string selects the database's default tablespace." +msgstr "" + +#: utils/misc/guc.c:1517 msgid "Sets the transaction isolation level of each new transaction." msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÕÒÏ×ÅÎØ ÉÚÏÌÑÃÉÉ ÔÒÁÎÚÁËÃÉÊ ËÁÖÄÏÊ ÎÏ×ÏÊ ÔÒÁÎÚÁËÃÉÉ." -#: utils/misc/guc.c:1349 -msgid "Each SQL transaction has an isolation level, which can be either \"read committed\" or \"serializable\"." -msgstr "ëÁÖÄÁÑ SQL-ÔÒÁÎÚÁËÃÉÑ ÉÍÅÅÔ ÕÒÏ×ÅÎØ ÉÚÏÌÑÃÉÉ, ËÏÔÏÒÙÊ ÍÏÖÅÔ ÂÙÔØ \"read committed\" ÉÌÉ \"serializable\"." +#: utils/misc/guc.c:1518 +msgid "Each SQL transaction has an isolation level, which can be either \"read uncommitted\", \"read committed\", \"repeatable read\", or \"serializable\"." +msgstr "ëÁÖÄÁÑ SQL-ÔÒÁÎÚÁËÃÉÑ ÉÍÅÅÔ ÕÒÏ×ÅÎØ ÉÚÏÌÑÃÉÉ, ËÏÔÏÒÙÊ ÍÏÖÅÔ ÂÙÔØ \"read uncommitted\", \"read committed\", \"repeatable read\" ÉÌÉ \"serializable\"." -#: utils/misc/guc.c:1358 +#: utils/misc/guc.c:1527 msgid "Sets the path for dynamically loadable modules." msgstr "" -#: utils/misc/guc.c:1359 +#: utils/misc/guc.c:1528 msgid "If a dynamically loadable module needs to be opened and the specified name does not have a directory component (i.e., the name does not contain a slash), the system will search this path for the specified file." msgstr "" -#: utils/misc/guc.c:1370 +#: utils/misc/guc.c:1540 msgid "Sets the location of the Kerberos server key file." msgstr "" -#: utils/misc/guc.c:1379 +#: utils/misc/guc.c:1550 msgid "Sets the Rendezvous broadcast service name." msgstr "" -#: utils/misc/guc.c:1390 +#: utils/misc/guc.c:1561 msgid "Shows the collation order locale." msgstr "" -#: utils/misc/guc.c:1400 +#: utils/misc/guc.c:1571 msgid "Shows the character classification and case conversion locale." msgstr "" -#: utils/misc/guc.c:1410 +#: utils/misc/guc.c:1581 msgid "Sets the language in which messages are displayed." msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÑÚÙË ÄÌÑ ÏÔÏÂÒÁÖÅÎÉÑ ÓÏÏÂÝÅÎÉÊ." -#: utils/misc/guc.c:1419 +#: utils/misc/guc.c:1590 msgid "Sets the locale for formatting monetary amounts." msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÌÏËÁÌØ ÄÌÑ ÆÏÒÍÁÔÉÒÏ×ÁÎÉÑ ÄÅÎÅÖÎÙÈ ÓÕÍÍ." -#: utils/misc/guc.c:1428 +#: utils/misc/guc.c:1599 msgid "Sets the locale for formatting numbers." msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÌÏËÁÌØ ÄÌÑ ÆÏÒÍÁÔÉÒÏ×ÁÎÉÑ ÞÉÓÅÌ." -#: utils/misc/guc.c:1437 +#: utils/misc/guc.c:1608 msgid "Sets the locale for formatting date and time values." msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÌÏËÁÌØ ÄÌÑ ÆÏÒÍÁÔÉÒÏ×ÁÎÉÑ ÚÎÁÞÅÎÉÊ ÄÁÔ É ×ÒÅÍÅÎÉ." -#: utils/misc/guc.c:1446 +#: utils/misc/guc.c:1617 msgid "Lists shared libraries to preload into server." msgstr "" -#: utils/misc/guc.c:1456 +#: utils/misc/guc.c:1627 msgid "Sets the regular expression \"flavor\"." msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÔÉÐ ÒÅÇÕÌÑÒÎÙÈ ×ÙÒÁÖÅÎÉÊ." -#: utils/misc/guc.c:1457 +#: utils/misc/guc.c:1628 msgid "This can be set to advanced, extended, or basic." msgstr "üÔÏ ÚÎÁÞÅÎÉÅ ÍÏÖÎÏ ÕÓÔÁÎÏ×ÉÔØ × advanced, extended ÉÌÉ basic." -#: utils/misc/guc.c:1465 +#: utils/misc/guc.c:1636 msgid "Sets the schema search order for names that are not schema-qualified." msgstr "" -#: utils/misc/guc.c:1476 +#: utils/misc/guc.c:1647 msgid "Sets the server (database) character set encoding." msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ËÏÄÉÒÏ×ËÕ ÓÉÍ×ÏÌÏ× ÓÅÒ×ÅÒÁ (ÂÁÚÙ ÄÁÎÎÙÈ)." -#: utils/misc/guc.c:1487 +#: utils/misc/guc.c:1658 msgid "Shows the server version." msgstr "ðÏËÁÚÙ×ÁÅÉ ×ÅÒÓÉÑ ÓÅÒ×ÅÒÁ." -#: utils/misc/guc.c:1498 -msgid "Shows the session user name." -msgstr "ðÏËÁÚÙ×ÁÅÔ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÓÅÓÓÉÉ." +#: utils/misc/guc.c:1669 +msgid "Sets the session user name." +msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÉÍÑ ÐÏÌØÚÏ×ÁÔÅÌÑ ÓÅÓÓÉÉ." -#: utils/misc/guc.c:1509 +#: utils/misc/guc.c:1679 +msgid "Sets the destination for server log output." +msgstr "" + +#: utils/misc/guc.c:1680 +msgid "Valid values are combinations of \"stderr\", \"syslog\", and \"eventlog\", depending on the platform." +msgstr "" + +#: utils/misc/guc.c:1689 +msgid "Sets the destination directory for log files." +msgstr "" + +#: utils/misc/guc.c:1690 +msgid "May be specified as relative to the data directory or as absolute path." +msgstr "" + +#: utils/misc/guc.c:1699 +msgid "Sets the file name pattern for log files." +msgstr "" + +#: utils/misc/guc.c:1710 msgid "Sets the syslog \"facility\" to be used when syslog enabled." msgstr "" -#: utils/misc/guc.c:1510 +#: utils/misc/guc.c:1711 msgid "Valid values are LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7." msgstr "÷ÅÒÎÙÅ ÚÎÁÞÅÎÉÑ: LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6 É LOCAL7." -#: utils/misc/guc.c:1518 +#: utils/misc/guc.c:1719 msgid "Sets the program name used to identify PostgreSQL messages in syslog." msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÉÍÑ ÐÒÏÇÒÁÍÍÙ ÄÌÑ ÉÄÅÎÔÉÆÉËÁÃÉÉ ÓÏÏÂÝÅÎÉÊ PostgreSQL × syslog." -#: utils/misc/guc.c:1529 +#: utils/misc/guc.c:1730 msgid "Sets the time zone for displaying and interpreting time stamps." msgstr "" -#: utils/misc/guc.c:1538 -msgid "Shows the current transaction's isolation level." -msgstr "ðÏËÁÚÙ×ÁÅÔ ÔÅËÕÝÉÊ ÕÒÏ×ÅÎØ ÉÚÏÌÑÃÉÉ ÔÒÁÎÚÁËÃÉÊ." +#: utils/misc/guc.c:1740 +msgid "Sets the current transaction's isolation level." +msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÔÅËÕÝÉÊ ÕÒÏ×ÅÎØ ÉÚÏÌÑÃÉÉ ÔÒÁÎÚÁËÃÉÊ." -#: utils/misc/guc.c:1548 +#: utils/misc/guc.c:1750 msgid "Sets the owning group of the Unix-domain socket." msgstr "" -#: utils/misc/guc.c:1549 +#: utils/misc/guc.c:1751 msgid "(The owning user of the socket is always the user that starts the server.)" msgstr "" -#: utils/misc/guc.c:1558 +#: utils/misc/guc.c:1760 msgid "Sets the directory where the Unix-domain socket will be created." msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÄÉÒÅËÔÏÒÉÀ ÄÌÑ ÓÏÚÄÁÎÉÑ Unix-domain ÓÏËÅÔÏ×." -#: utils/misc/guc.c:1567 -msgid "Sets the host name or IP address to listen to." -msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÉÍÑ ÈÏÓÔÁ ÉÌÉ IP-ÁÄÒÅÓ ÄÌÑ ÐÒÏÓÌÕÛÉ×ÁÎÉÑ." +#: utils/misc/guc.c:1770 +msgid "Sets the host name or IP address(es) to listen to." +msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÉÍÑ ÈÏÓÔÁ ÉÌÉ IP-ÁÄÒÅÓ(Á) ÄÌÑ ÐÒÏÓÌÕÛÉ×ÁÎÉÑ." -#: utils/misc/guc.c:1576 +#: utils/misc/guc.c:1780 msgid "Selects the method used for forcing WAL updates out to disk." msgstr "" -#: utils/misc/guc.c:2409 -#: utils/misc/guc.c:3014 -#: utils/misc/guc.c:3050 -#: utils/misc/guc.c:3106 -#: utils/misc/guc.c:3400 +#: utils/misc/guc.c:1789 +msgid "Sets the list of known custom variable classes." +msgstr "" + +#: utils/misc/guc.c:1799 +msgid "Sets the server's data directory." +msgstr "õÓÔÁÎÁ×ÌÉ×ÁÅÔ ÄÉÒÅËÔÏÒÉÀ ÄÁÎÎÙÈ ÓÅÒ×ÅÒÁ." + +#: utils/misc/guc.c:1809 +msgid "Sets the server's main configuration file." +msgstr "" + +#: utils/misc/guc.c:1819 +msgid "Sets the server's \"hba\" configuration file" +msgstr "" + +#: utils/misc/guc.c:1829 +msgid "Sets the server's \"ident\" configuration file" +msgstr "" + +#: utils/misc/guc.c:1839 +msgid "Writes the postmaster PID to the specified file." +msgstr "" + +#: utils/misc/guc.c:2478 +#, c-format +msgid "" +"%s does not know where to find the server configuration file.\n" +"You must specify the --config-file or -D invocation option or set the PGDATA environment variable.\n" +msgstr "" + +#: utils/misc/guc.c:2503 +#, c-format +msgid "%s cannot access the server configuration file \"%s\": %s\n" +msgstr "" + +#: utils/misc/guc.c:2523 +#, c-format +msgid "" +"%s does not know where to find the database system data.\n" +"This can be specified as \"data_directory\" in \"%s\", or by the -D invocation option, or by the PGDATA environment variable.\n" +msgstr "" + +#: utils/misc/guc.c:2546 +#, c-format +msgid "" +"%s does not know where to find the \"hba\" configuration file.\n" +"This can be specified as \"hba_file\" in \"%s\", or by the -D invocation option, or by the PGDATA environment variable.\n" +msgstr "" + +#: utils/misc/guc.c:2569 +#, c-format +msgid "" +"%s does not know where to find the \"ident\" configuration file.\n" +"This can be specified as \"ident_file\" in \"%s\", or by the -D invocation option, or by the PGDATA environment variable.\n" +msgstr "" + +#: utils/misc/guc.c:3275 +#: utils/misc/guc.c:3801 +#: utils/misc/guc.c:3841 +#: utils/misc/guc.c:3916 +#: utils/misc/guc.c:4252 +#: utils/misc/guc.c:4403 #, c-format msgid "unrecognized configuration parameter \"%s\"" msgstr "ÎÅ ÒÁÓÐÏÚÎÁÎÎÙÊ ÐÁÒÁÍÅÔÒ ËÏÎÆÉÇÕÒÁÃÉÉ: \"%s\"" -#: utils/misc/guc.c:2428 +#: utils/misc/guc.c:3294 #, c-format msgid "parameter \"%s\" cannot be changed" msgstr "ÐÁÒÁÍÅÔÒ \"%s\" ÎÅÌØÚÑ ÉÚÍÅÎÉÔØ" -#: utils/misc/guc.c:2440 +#: utils/misc/guc.c:3306 #, c-format msgid "parameter \"%s\" cannot be changed after server start" msgstr "ÎÅÌØÚÑ ÐÏÍÅÎÑÔØ ÐÁÒÁÍÅÔÒ \"%s\" ÐÏÓÌÅ ÚÁÐÕÓËÁ ÓÅÒ×ÅÒÁ" -#: utils/misc/guc.c:2450 +#: utils/misc/guc.c:3316 #, c-format msgid "parameter \"%s\" cannot be changed now" msgstr "ÎÅÌØÚÑ ÐÏÍÅÎÑÔØ ÐÁÒÁÍÅÔÒ \"%s\" ÓÅÊÞÁÓ" -#: utils/misc/guc.c:2480 +#: utils/misc/guc.c:3346 #, c-format msgid "parameter \"%s\" cannot be set after connection start" msgstr "ÎÅÌØÚÑ ÕÓÔÁÎÏ×ÉÔØ ÐÁÒÁÍÅÔÒ \"%s\" ÐÏÓÌÅ ÚÁÐÕÓËÁ ÐÏÄÓÏÅÄÉÎÅÎÉÑ" -#: utils/misc/guc.c:2490 -#: utils/misc/guc.c:2560 -#: utils/misc/guc.c:2657 -#: utils/misc/guc.c:2753 -#: utils/misc/guc.c:2852 +#: utils/misc/guc.c:3356 #, c-format msgid "permission denied to set parameter \"%s\"" msgstr "ÄÏÓÔÕÐ ÚÁÐÒÅݣΠÐÏ ÕÓÔÁÎÏ×ËÅ ÐÁÒÁÍÅÔÒÁ \"%s\"" -#: utils/misc/guc.c:2548 +#: utils/misc/guc.c:3407 #, c-format msgid "parameter \"%s\" requires a Boolean value" msgstr "ÐÁÒÁÍÅÔÒ \"%s\" ÔÒÅÂÕÅÔ ÂÕÌÅ×ÓËÏÅ ÚÎÁÞÅÎÉÅ" -#: utils/misc/guc.c:2562 -msgid "Must be superuser to change this value to false." -msgstr "îÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ ÉÚÍÅÎÅÎÉÑ ÜÔÏÇÏ ÚÎÁÞÅÎÉÑ ÎÁ false." - -#: utils/misc/guc.c:2584 -#: utils/misc/guc.c:2681 +#: utils/misc/guc.c:3423 +#: utils/misc/guc.c:3507 #, c-format msgid "invalid value for parameter \"%s\": %d" msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ ÐÁÒÁÍÅÔÒÁ \"%s\": %d" -#: utils/misc/guc.c:2636 +#: utils/misc/guc.c:3483 #, c-format msgid "parameter \"%s\" requires an integer value" msgstr "ÐÁÒÁÍÅÔÒ \"%s\" ÔÒÅÂÕÅÔ ÃÅÌÏÅ ÚÎÁÞÅÎÉÅ" -#: utils/misc/guc.c:2644 +#: utils/misc/guc.c:3491 #, c-format msgid "%d is outside the valid range for parameter \"%s\" (%d .. %d)" msgstr "%d ×ÎÅ ÄÉÁÐÁÚÏÎÁ ÄÌÑ ÐÁÒÁÍÅÔÒÁ \"%s\" (%d .. %d)" -#: utils/misc/guc.c:2659 -msgid "Must be superuser to increase this value or set it to zero." -msgstr "îÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ Õ×ÅÌÉÞÅÎÉÑ ÜÔÏÇÏ ÚÎÁÞÅÎÉÑ ÉÌÉ ÕÓÔÁÎÏ×ËÉ ÅÇÏ × ÎÏÌØ." - -#: utils/misc/guc.c:2733 +#: utils/misc/guc.c:3567 #, c-format msgid "parameter \"%s\" requires a numeric value" msgstr "ÐÁÒÁÍÅÔÒ \"%s\" ÔÒÅÂÕÅÔ ÞÉÓÌÏ×ÏÅ ÚÎÁÞÅÎÉÅ" -#: utils/misc/guc.c:2741 +#: utils/misc/guc.c:3575 #, c-format msgid "%g is outside the valid range for parameter \"%s\" (%g .. %g)" msgstr "%g ×ÎÅ ÄÉÁÐÁÚÏÎÁ ÄÌÑ ÐÁÒÁÍÅÔÒÁ \"%s\" (%g .. %g)" -#: utils/misc/guc.c:2755 -#: utils/misc/guc.c:2854 -msgid "Must be superuser to increase this value." -msgstr "îÕÖÎÏ ÂÙÔØ ÁÄÍÉÎÉÓÔÒÁÔÏÒÏÍ ÄÌÑ Õ×ÅÌÉÞÅÎÉÑ ÜÔÏÇÏ ÚÎÁÞÅÎÉÑ." - -#: utils/misc/guc.c:2777 +#: utils/misc/guc.c:3591 #, c-format msgid "invalid value for parameter \"%s\": %g" msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ ÐÁÒÁÍÅÔÒÁ \"%s\": %g" -#: utils/misc/guc.c:2908 +#: utils/misc/guc.c:3689 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "ÎÅ×ÅÒÎÏÅ ÚÎÁÞÅÎÉÅ ÄÌÑ ÐÁÒÁÍÅÔÒÁ \"%s\": \"%s\"" -#: utils/misc/guc.c:3115 +#: utils/misc/guc.c:3805 +#: utils/misc/guc.c:3845 +#: utils/misc/guc.c:4407 +#, c-format +msgid "must be superuser to examine \"%s\"" +msgstr "" + +#: utils/misc/guc.c:3925 #, c-format msgid "SET %s takes only one argument" msgstr "SET %s ÐÒÉÎÉÍÁÅÔ ÔÏÌØËÏ ÏÄÉÎ ÁÒÇÕÍÅÎÔ" -#: utils/misc/guc.c:3219 +#: utils/misc/guc.c:4029 msgid "SET requires parameter name" msgstr "SET ÔÒÅÂÕÅÔ ÉÍÑ ÐÁÒÁÍÅÔÒÁ" -#: utils/misc/guc.c:4030 +#: utils/misc/guc.c:4093 +#, c-format +msgid "attempt to redefine parameter \"%s\"" +msgstr "" + +#: utils/misc/guc.c:5050 #, c-format msgid "could not parse setting for parameter \"%s\"" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÒÏÁÎÁÌÉÚÉÒÏ×ÁÔØ ÕÓÔÁÎÏ×ËÉ ÄÌÑ ÐÁÒÁÍÅÔÒÁ \"%s\"" -#: utils/misc/guc.c:4377 +#: utils/misc/guc.c:5248 +msgid "invalid list syntax for parameter \"log_destination\"" +msgstr "ÎÅ×ÅÒÎÙÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ ÐÁÒÁÍÅÔÒÁ \"log_destination\"" + +#: utils/misc/guc.c:5271 +#, c-format +msgid "unrecognized \"log_destination\" key word: \"%s\"" +msgstr "ÎÅ ÒÁÓÐÏÚÎÁÎÎÏÅ ËÌÀÞÅ×ÏÅ ÓÌÏ×Ï \"log_destination\": \"%s\"" + +#: utils/misc/guc.c:5499 msgid "SET AUTOCOMMIT TO OFF is no longer supported" msgstr "SET AUTOCOMMIT TO OFF ÂÏÌØÛÅ ÎÅ ÐÏÄÄÅÒÖÉ×ÁÅÔÓÑ" -#: guc-file.l:267 +#: utils/misc/guc.c:5547 #, c-format -msgid "syntax error in file \"%s\" line %u, near token \"%s\"" -msgstr "ÏÛÉÂËÁ ÓÉÎÔÁËÓÉÓÁ × ÆÁÌÅ \"%s\" ÓÔÒÏËÁ %u, ÒÑÄÏÍ Ó \"%s\"" +msgid "invalid syntax for \"custom_variable_classes\": \"%s\"" +msgstr "ÎÅ×ÅÒÎÙÊ ÓÉÎÔÁËÓÉÓ ÄÌÑ \"custom_variable_classes\": \"%s\"" -#: utils/mmgr/aset.c:336 +#: utils/misc/guc.c:5576 +msgid "cannot enable parameter when \"log_statement_stats\" is true" +msgstr "" + +#: utils/misc/guc.c:5593 +msgid "cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true" +msgstr "" + +#: utils/misc/guc.c:5612 +msgid "cannot set transaction read-write mode inside a read-only transaction" +msgstr "" + +#: guc-file.l:271 #, c-format -msgid "Failed while creating memory context \"%s\"." -msgstr "ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ ËÏÎÔÅËÓÔÁ ÐÁÍÑÔÉ \"%s\"." +msgid "syntax error in file \"%s\" line %u, near end of line" +msgstr "ÏÛÉÂËÁ ÓÉÎÔÁËÓÉÓÁ × ÆÁÌÅ \"%s\" ÓÔÒÏËÁ %u, ÒÑÄÏÍ Ó ËÏÎÃÏÍ ÓÔÒÏËÉ" -#: utils/mmgr/aset.c:502 -#: utils/mmgr/aset.c:699 -#: utils/mmgr/aset.c:892 +#: guc-file.l:276 #, c-format -msgid "Failed on request of size %lu." -msgstr "ïÛÉÂËÁ ÐÒÉ ÚÁÐÒÏÓÅ ÒÁÚÍÅÒÁ %lu." +msgid "syntax error in file \"%s\" line %u, near token \"%s\"" +msgstr "ÏÛÉÂËÁ ÓÉÎÔÁËÓÉÓÁ × ÆÁÌÅ \"%s\" ÓÔÒÏËÁ %u, ÒÑÄÏÍ Ó \"%s\"" -#: utils/mmgr/portalmem.c:170 +#: utils/mmgr/portalmem.c:173 #, c-format msgid "cursor \"%s\" already exists" msgstr "ËÕÒÓÏÒ \"%s\" ÕÖÅ ÓÕÝÅÓÔ×ÕÅÔ" -#: utils/mmgr/portalmem.c:174 +#: utils/mmgr/portalmem.c:177 #, c-format msgid "closing existing cursor \"%s\"" msgstr "ÚÁËÒÙÔÉÅ ÓÕÝÅÓÔ×ÕÀÝÅÇÏ ËÕÒÓÏÒÁ \"%s\"" +#: utils/mmgr/aset.c:338 +#, c-format +msgid "Failed while creating memory context \"%s\"." +msgstr "ïÛÉÂËÁ ÐÒÉ ÓÏÚÄÁÎÉÉ ËÏÎÔÅËÓÔÁ ÐÁÍÑÔÉ \"%s\"." + +#: utils/mmgr/aset.c:504 +#: utils/mmgr/aset.c:701 +#: utils/mmgr/aset.c:894 +#, c-format +msgid "Failed on request of size %lu." +msgstr "ïÛÉÂËÁ ÐÒÉ ÚÁÐÒÏÓÅ ÒÁÚÍÅÒÁ %lu." + #: utils/sort/logtape.c:202 #, c-format msgid "could not write block %ld of temporary file: %m" @@ -9250,11 +10876,75 @@ msgstr " msgid "could not read block %ld of temporary file: %m" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÞÉÔÁÔØ ÂÌÏË %ld ×ÒÅÍÅÎÎÏÇÏ ÆÁÊÌÁ: %m" -#: utils/sort/tuplesort.c:2072 +#: utils/sort/tuplesort.c:2082 msgid "could not create unique index" msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÓÏÚÄÁÔØ ÕÎÉËÁÌØÎÙÊ ÉÎÄÅËÓ" -#: utils/sort/tuplesort.c:2073 +#: utils/sort/tuplesort.c:2083 msgid "Table contains duplicated values." msgstr "ôÁÂÌÉÃÁ ÓÏÄÅÒÖÉÔ ÄÕÂÌÉËÁÔÙ." +#: ../port/copydir.c:67 +#, c-format +msgid "could not copy file \"%s\": %m" +msgstr "" + +#: ../port/dirmod.c:75 +#: ../port/dirmod.c:88 +#: ../port/dirmod.c:101 +msgid "out of memory\n" +msgstr "ÎÅ È×ÁÔÁÅÔ ÐÁÍÑÔÉ\n" + +#: ../port/dirmod.c:283 +#, c-format +msgid "Error setting junction for %s: %s" +msgstr "" + +#: ../port/exec.c:194 +#: ../port/exec.c:308 +#: ../port/exec.c:351 +#, c-format +msgid "could not identify current directory: %s" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÉÄÅÎÔÉÆÉÃÉÒÏ×ÁÔØ ÄÉÒÅËÔÏÒÉÀ \"%s\"" + +#: ../port/exec.c:213 +#, c-format +msgid "invalid binary \"%s\"" +msgstr "" + +#: ../port/exec.c:262 +#, c-format +msgid "could not read binary \"%s\"" +msgstr "" + +#: ../port/exec.c:269 +#, c-format +msgid "could not find a \"%s\" to execute" +msgstr "" + +#: ../port/exec.c:324 +#: ../port/exec.c:360 +#, c-format +msgid "could not change directory to \"%s\"" +msgstr "ÎÅ ÐÏÌÕÞÉÌÏÓØ ÐÏÍÅÎÑÔØ ÄÉÒÅËÔÏÒÉÀ ÎÁ \"%s\"" + +#: ../port/exec.c:339 +#, c-format +msgid "could not read symbolic link \"%s\"" +msgstr "" + +#: ../port/exec.c:587 +#, c-format +msgid "child process exited with exit code %d" +msgstr "" + +#: ../port/exec.c:590 +#, c-format +msgid "child process was terminated by signal %d" +msgstr "" + +#: ../port/exec.c:593 +#, c-format +msgid "child process exited with unrecognized status %d" +msgstr "" + diff --git a/src/interfaces/ecpg/preproc/pgc.c b/src/interfaces/ecpg/preproc/pgc.c deleted file mode 100644 index 435ba94..0000000 --- a/src/interfaces/ecpg/preproc/pgc.c +++ /dev/null @@ -1,2887 +0,0 @@ -/* A lexical scanner generated by flex */ - -/* Scanner skeleton version: - * $Header$ - */ - -#define FLEX_SCANNER -#define YY_FLEX_MAJOR_VERSION 2 -#define YY_FLEX_MINOR_VERSION 5 - -#include - - -/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */ -#ifdef c_plusplus -#ifndef __cplusplus -#define __cplusplus -#endif -#endif - - -#ifdef __cplusplus - -#include -#include - -/* Use prototypes in function declarations. */ -#define YY_USE_PROTOS - -/* The "const" storage-class-modifier is valid. */ -#define YY_USE_CONST - -#else /* ! __cplusplus */ - -#if __STDC__ - -#define YY_USE_PROTOS -#define YY_USE_CONST - -#endif /* __STDC__ */ -#endif /* ! __cplusplus */ - -#ifdef __TURBOC__ - #pragma warn -rch - #pragma warn -use -#include -#include -#define YY_USE_CONST -#define YY_USE_PROTOS -#endif - -#ifdef YY_USE_CONST -#define yyconst const -#else -#define yyconst -#endif - - -#ifdef YY_USE_PROTOS -#define YY_PROTO(proto) proto -#else -#define YY_PROTO(proto) () -#endif - -/* Returned upon end-of-file. */ -#define YY_NULL 0 - -/* Promotes a possibly negative, possibly signed char to an unsigned - * integer for use as an array index. If the signed char is negative, - * we want to instead treat it as an 8-bit unsigned char, hence the - * double cast. - */ -#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) - -/* Enter a start condition. This macro really ought to take a parameter, - * but we do it the disgusting crufty way forced on us by the ()-less - * definition of BEGIN. - */ -#define BEGIN yy_start = 1 + 2 * - -/* Translate the current start state into a value that can be later handed - * to BEGIN to return to the state. The YYSTATE alias is for lex - * compatibility. - */ -#define YY_START ((yy_start - 1) / 2) -#define YYSTATE YY_START - -/* Action number for EOF rule of a given start state. */ -#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) - -/* Special action meaning "start processing a new file". */ -#define YY_NEW_FILE yyrestart( yyin ) - -#define YY_END_OF_BUFFER_CHAR 0 - -/* Size of default input buffer. */ -#define YY_BUF_SIZE 65536 - -typedef struct yy_buffer_state *YY_BUFFER_STATE; - -extern int yyleng; -extern FILE *yyin, *yyout; - -#define EOB_ACT_CONTINUE_SCAN 0 -#define EOB_ACT_END_OF_FILE 1 -#define EOB_ACT_LAST_MATCH 2 - -/* The funky do-while in the following #define is used to turn the definition - * int a single C statement (which needs a semi-colon terminator). This - * avoids problems with code like: - * - * if ( condition_holds ) - * yyless( 5 ); - * else - * do_something_else(); - * - * Prior to using the do-while the compiler would get upset at the - * "else" because it interpreted the "if" statement as being all - * done when it reached the ';' after the yyless() call. - */ - -/* Return all but the first 'n' matched characters back to the input stream. */ - -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - *yy_cp = yy_hold_char; \ - YY_RESTORE_YY_MORE_OFFSET \ - yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \ - YY_DO_BEFORE_ACTION; /* set up yytext again */ \ - } \ - while ( 0 ) - -#define unput(c) yyunput( c, yytext_ptr ) - -/* The following is because we cannot portably get our hands on size_t - * (without autoconf's help, which isn't available because we want - * flex-generated scanners to compile on their own). - */ -typedef unsigned int yy_size_t; - - -struct yy_buffer_state - { - FILE *yy_input_file; - - char *yy_ch_buf; /* input buffer */ - char *yy_buf_pos; /* current position in input buffer */ - - /* Size of input buffer in bytes, not including room for EOB - * characters. - */ - yy_size_t yy_buf_size; - - /* Number of characters read into yy_ch_buf, not including EOB - * characters. - */ - int yy_n_chars; - - /* Whether we "own" the buffer - i.e., we know we created it, - * and can realloc() it to grow it, and should free() it to - * delete it. - */ - int yy_is_our_buffer; - - /* Whether this is an "interactive" input source; if so, and - * if we're using stdio for input, then we want to use getc() - * instead of fread(), to make sure we stop fetching input after - * each newline. - */ - int yy_is_interactive; - - /* Whether we're considered to be at the beginning of a line. - * If so, '^' rules will be active on the next match, otherwise - * not. - */ - int yy_at_bol; - - /* Whether to try to fill the input buffer when we reach the - * end of it. - */ - int yy_fill_buffer; - - int yy_buffer_status; -#define YY_BUFFER_NEW 0 -#define YY_BUFFER_NORMAL 1 - /* When an EOF's been seen but there's still some text to process - * then we mark the buffer as YY_EOF_PENDING, to indicate that we - * shouldn't try reading from the input source any more. We might - * still have a bunch of tokens to match, though, because of - * possible backing-up. - * - * When we actually see the EOF, we change the status to "new" - * (via yyrestart()), so that the user can continue scanning by - * just pointing yyin at a new input file. - */ -#define YY_BUFFER_EOF_PENDING 2 - }; - -static YY_BUFFER_STATE yy_current_buffer = 0; - -/* We provide macros for accessing buffer states in case in the - * future we want to put the buffer states in a more general - * "scanner state". - */ -#define YY_CURRENT_BUFFER yy_current_buffer - - -/* yy_hold_char holds the character lost when yytext is formed. */ -static char yy_hold_char; - -static int yy_n_chars; /* number of characters read into yy_ch_buf */ - - -int yyleng; - -/* Points to current character in buffer. */ -static char *yy_c_buf_p = (char *) 0; -static int yy_init = 1; /* whether we need to initialize */ -static int yy_start = 0; /* start state number */ - -/* Flag which is used to allow yywrap()'s to do buffer switches - * instead of setting up a fresh yyin. A bit of a hack ... - */ -static int yy_did_buffer_switch_on_eof; - -void yyrestart YY_PROTO(( FILE *input_file )); - -void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer )); -void yy_load_buffer_state YY_PROTO(( void )); -YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size )); -void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b )); -void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file )); -void yy_flush_buffer YY_PROTO(( YY_BUFFER_STATE b )); -#define YY_FLUSH_BUFFER yy_flush_buffer( yy_current_buffer ) - -YY_BUFFER_STATE yy_scan_buffer YY_PROTO(( char *base, yy_size_t size )); -YY_BUFFER_STATE yy_scan_string YY_PROTO(( yyconst char *yy_str )); -YY_BUFFER_STATE yy_scan_bytes YY_PROTO(( yyconst char *bytes, int len )); - -static void *yy_flex_alloc YY_PROTO(( yy_size_t )); -static void *yy_flex_realloc YY_PROTO(( void *, yy_size_t )); -static void yy_flex_free YY_PROTO(( void * )); - -#define yy_new_buffer yy_create_buffer - -#define yy_set_interactive(is_interactive) \ - { \ - if ( ! yy_current_buffer ) \ - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ - yy_current_buffer->yy_is_interactive = is_interactive; \ - } - -#define yy_set_bol(at_bol) \ - { \ - if ( ! yy_current_buffer ) \ - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); \ - yy_current_buffer->yy_at_bol = at_bol; \ - } - -#define YY_AT_BOL() (yy_current_buffer->yy_at_bol) - - -#define YY_USES_REJECT -typedef unsigned char YY_CHAR; -FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0; -typedef int yy_state_type; -extern int yylineno; -int yylineno = 1; -extern char *yytext; -#define yytext_ptr yytext - -static yy_state_type yy_get_previous_state YY_PROTO(( void )); -static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state )); -static int yy_get_next_buffer YY_PROTO(( void )); -static void yy_fatal_error YY_PROTO(( yyconst char msg[] )); - -/* Done after the current pattern has been matched and before the - * corresponding action - sets up yytext. - */ -#define YY_DO_BEFORE_ACTION \ - yytext_ptr = yy_bp; \ - yyleng = (int) (yy_cp - yy_bp); \ - yy_hold_char = *yy_cp; \ - *yy_cp = '\0'; \ - yy_c_buf_p = yy_cp; - -#define YY_NUM_RULES 76 -#define YY_END_OF_BUFFER 77 -static yyconst short int yy_acclist[366] = - { 0, - 10, 10, 6, 6, 23, 23, 26, 26, 9, 9, - 27, 27, 18, 18, 77, 76, 24, 76, 76, 76, - 76, 76, 65, 76, 59, 65, 76, 59, 76, 24, - 65, 76, 48, 65, 76, 53, 65, 76, 57, 65, - 76, 58, 65, 76, 52, 65, 76, 55, 65, 76, - 51, 65, 76, 56, 65, 76, 65, 76, 54, 65, - 76, 39, 65, 76,16420, 50, 65, 76, 64, 65, - 76, 49, 65, 76, 49, 65, 76, 62, 65, 76, - 63, 65, 76, 60, 65, 76, 61, 65, 76, 45, - 76, 44, 45, 76, 44, 76, 33, 45, 76, 21, - - 24, 45, 76, 31, 33, 45, 76, 31, 33, 45, - 76, 15, 45, 76, 31, 45, 76, 31, 33, 45, - 76, 31, 45, 76, 31, 33, 45, 76, 39, 45, - 76,16420, 31, 33, 45, 76, 43, 45, 76,16419, - 43, 45, 76,16419, 43, 45, 76,16419, 74, 76, - 73, 76, 73, 74, 76, 24, 74, 76, 74, 76, - 74, 76, 74, 76, 74, 76, 74, 75, 76, 71, - 76, 69, 71, 76, 71, 76, 71, 76, 71, 76, - 71, 76, 70, 76, 67, 76, 68, 76, 10, 76, - 8, 76, 3, 6, 76, 3, 6, 76, 3, 76, - - 6, 76, 23, 76, 22, 76, 26, 76, 25, 76, - 26, 76, 9, 76, 14, 76, 27, 76, 28, 76, - 18, 76, 16, 76, 76, 40,16421, 4, 40,16421, - 48, 48, 48, 48, 39,16420, 40,16421, 40,16421, - 49, 49, 33, 33, 33, 34, 33, 33, 4, 33, - 33, 29, 33, 42, 43,16419, 7, 13, 74, 74, - 74, 40, 74,16421, 4, 74, 40, 74,16421, 68, - 10, 6, 6, 5, 23, 26, 26, 26, 9, 27, - 18, 17, 19, 4, 4, 40,16421, 48, 48, 47, - 8228, 40,16421, 41,16422, 49, 32, 30, 32, 30, - - 32, 34, 30, 1, 33, 33, 30, 32, 4, 33, - 4, 33, 4, 33, 42, 8227, 74, 74, 74, 4, - 74, 4, 74, 40, 74,16421, 12, 5, 11, 20, - 8229, 2, 4, 49, 32, 2, 4, 33, 32, 42, - 8229, 74, 74, 2, 4, 74, 2, 2, 2, 48, - 8230, 49, 42, 2, 74, 2, 74, 2, 49, 46, - 49, 46, 46, 66, 72 - } ; - -static yyconst short int yy_accept[273] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, - 20, 21, 22, 23, 25, 28, 30, 33, 36, 39, - 42, 45, 48, 51, 54, 57, 59, 62, 66, 69, - 72, 75, 78, 81, 84, 87, 90, 92, 95, 97, - 100, 104, 108, 112, 115, 118, 122, 125, 129, 133, - 137, 141, 145, 149, 151, 153, 156, 159, 161, 163, - 165, 167, 170, 172, 175, 177, 179, 181, 183, 185, - 187, 189, 191, 193, 196, 199, 201, 203, 205, 207, - - 209, 211, 213, 215, 217, 219, 221, 223, 225, 226, - 226, 226, 228, 229, 231, 231, 232, 233, 234, 235, - 235, 237, 239, 239, 239, 239, 241, 241, 242, 243, - 244, 245, 245, 246, 247, 248, 248, 249, 251, 252, - 254, 255, 255, 255, 257, 258, 259, 260, 261, 262, - 265, 267, 270, 271, 272, 272, 272, 273, 274, 274, - 274, 275, 276, 277, 278, 279, 280, 280, 280, 281, - 282, 282, 282, 283, 284, 284, 284, 284, 285, 286, - 288, 289, 290, 290, 291, 292, 294, 294, 296, 297, - 298, 300, 303, 304, 304, 305, 306, 307, 309, 311, - - 313, 315, 315, 315, 316, 317, 318, 319, 320, 322, - 324, 327, 327, 327, 328, 329, 329, 329, 330, 330, - 330, 331, 332, 332, 334, 334, 334, 334, 334, 335, - 336, 339, 340, 341, 343, 344, 347, 348, 349, 350, - 351, 352, 352, 353, 354, 356, 358, 359, 359, 359, - 360, 360, 360, 362, 362, 363, 364, 364, 364, 364, - 364, 364, 364, 364, 364, 364, 364, 364, 365, 365, - 366, 366 - } ; - -static yyconst int yy_ec[256] = - { 0, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, - 1, 4, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 5, 1, 1, - 1, 2, 5, 6, 7, 8, 9, 5, 10, 11, - 12, 13, 14, 15, 16, 17, 18, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 20, 21, 22, - 23, 24, 5, 5, 25, 26, 27, 28, 29, 30, - 25, 25, 31, 25, 25, 32, 25, 33, 25, 25, - 34, 25, 35, 25, 36, 25, 25, 37, 25, 25, - 38, 39, 40, 5, 25, 1, 25, 26, 27, 28, - - 29, 30, 25, 25, 31, 25, 25, 32, 25, 33, - 25, 25, 34, 25, 35, 25, 36, 25, 25, 37, - 25, 25, 41, 22, 42, 5, 1, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25, 25, 25, 25, 25, 25, - 25, 25, 25, 25, 25 - } ; - -static yyconst int yy_meta[43] = - { 0, - 1, 2, 3, 4, 5, 6, 5, 5, 5, 7, - 1, 1, 8, 5, 1, 9, 10, 5, 11, 5, - 1, 5, 5, 5, 12, 12, 12, 12, 12, 12, - 12, 12, 12, 12, 12, 12, 12, 1, 13, 1, - 1, 1 - } ; - -static yyconst short int yy_base[302] = - { 0, - 0, 4, 23, 0, 65, 0, 106, 126, 146, 166, - 186, 0, 597, 588, 219, 239, 589, 584, 107, 112, - 575, 570, 117, 137, 116, 121, 572, 1138, 1138, 97, - 552, 556, 98, 1138, 0, 154, 1138, 132, 1138, 1138, - 1138, 1138, 1138, 1138, 117, 549, 141, 262, 1138, 1138, - 0, 521, 1138, 1138, 1138, 1138, 1138, 1138, 1138, 540, - 1138, 175, 157, 1138, 193, 182, 266, 258, 0, 290, - 284, 326, 544, 0, 1138, 0, 0, 189, 533, 528, - 212, 0, 1138, 1138, 217, 518, 523, 221, 1138, 1138, - 0, 0, 9, 0, 338, 162, 0, 0, 1138, 495, - - 1138, 168, 0, 247, 329, 1138, 0, 361, 0, 510, - 237, 364, 379, 375, 337, 257, 270, 522, 346, 505, - 0, 402, 516, 406, 397, 421, 356, 0, 487, 495, - 318, 425, 288, 490, 336, 340, 448, 468, 490, 491, - 121, 430, 501, 495, 1138, 1138, 0, 477, 357, 519, - 537, 524, 0, 0, 440, 560, 0, 0, 168, 481, - 445, 0, 450, 219, 448, 0, 476, 563, 498, 0, - 529, 572, 1138, 1138, 575, 567, 472, 592, 465, 615, - 585, 590, 471, 1138, 1138, 619, 450, 623, 436, 1138, - 1138, 441, 1138, 456, 1138, 0, 379, 451, 0, 434, - - 398, 421, 0, 267, 1138, 641, 633, 288, 661, 420, - 657, 684, 687, 1138, 545, 696, 699, 1138, 708, 711, - 1138, 1138, 254, 600, 651, 720, 723, 714, 732, 417, - 738, 399, 365, 0, 417, 742, 745, 748, 751, 760, - 1138, 766, 373, 373, 769, 772, 775, 784, 366, 341, - 335, 306, 0, 279, 787, 1138, 408, 273, 256, 250, - 248, 214, 198, 177, 164, 164, 138, 1138, 82, 1138, - 1138, 819, 832, 845, 858, 871, 884, 897, 910, 923, - 936, 939, 947, 955, 967, 970, 982, 995, 1004, 1013, - 1026, 1039, 1052, 1064, 1077, 1090, 1103, 1108, 1120, 2, - - 1125 - } ; - -static yyconst short int yy_def[302] = - { 0, - 272, 272, 271, 3, 271, 5, 273, 273, 274, 274, - 272, 11, 275, 275, 276, 276, 277, 277, 278, 278, - 279, 279, 272, 272, 280, 280, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 281, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 282, 282, 271, 271, 271, 271, 271, 271, 271, 283, - 271, 283, 62, 271, 271, 62, 271, 62, 48, 271, - 284, 284, 72, 285, 271, 285, 285, 285, 285, 285, - 285, 285, 271, 271, 271, 271, 271, 271, 271, 271, - 286, 287, 271, 288, 288, 289, 95, 290, 271, 291, - - 271, 291, 292, 271, 271, 271, 293, 271, 294, 271, - 271, 271, 295, 271, 271, 281, 281, 271, 281, 271, - 48, 271, 296, 271, 271, 271, 271, 282, 282, 283, - 283, 271, 131, 271, 131, 271, 297, 295, 297, 283, - 298, 271, 271, 72, 271, 271, 285, 285, 285, 285, - 299, 285, 286, 287, 271, 271, 288, 95, 289, 289, - 289, 290, 291, 291, 291, 292, 271, 271, 271, 293, - 271, 271, 271, 271, 271, 271, 295, 295, 178, 271, - 281, 271, 296, 271, 271, 271, 271, 271, 282, 271, - 271, 271, 271, 297, 271, 139, 139, 297, 138, 138, - - 138, 271, 300, 298, 271, 285, 285, 299, 299, 209, - 285, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 295, 178, 271, 271, 271, 271, 282, 297, - 138, 295, 301, 285, 299, 209, 295, 295, 271, 271, - 271, 271, 282, 301, 299, 299, 271, 271, 271, 282, - 271, 271, 282, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 0, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - - 271 - } ; - -static yyconst short int yy_nxt[1181] = - { 0, - 271, 115, 115, 115, 271, 29, 116, 271, 271, 29, - 155, 156, 155, 233, 271, 30, 31, 32, 33, 30, - 31, 32, 33, 34, 35, 36, 35, 34, 37, 38, - 34, 39, 34, 40, 41, 42, 43, 44, 45, 46, - 47, 48, 34, 49, 34, 50, 34, 51, 51, 51, - 51, 52, 51, 51, 51, 51, 51, 51, 51, 51, - 53, 34, 54, 55, 56, 57, 58, 59, 58, 60, - 61, 60, 62, 63, 64, 65, 65, 63, 63, 65, - 66, 67, 68, 69, 70, 65, 63, 63, 63, 71, - 72, 71, 71, 71, 71, 71, 71, 71, 71, 71, - - 71, 73, 65, 57, 65, 57, 57, 75, 75, 76, - 270, 77, 101, 110, 114, 111, 111, 101, 105, 105, - 105, 78, 79, 80, 81, 108, 82, 75, 75, 76, - 108, 77, 106, 120, 118, 121, 202, 203, 105, 105, - 105, 78, 79, 80, 81, 102, 82, 84, 84, 84, - 102, 29, 106, 113, 109, 115, 115, 115, 123, 109, - 116, 85, 86, 87, 88, 269, 89, 84, 84, 84, - 119, 29, 135, 165, 159, 271, 132, 132, 132, 161, - 159, 85, 86, 87, 88, 161, 89, 90, 90, 90, - 133, 29, 268, 134, 132, 132, 132, 137, 120, 267, - - 121, 30, 31, 32, 33, 148, 164, 149, 136, 266, - 91, 91, 91, 91, 91, 91, 91, 91, 91, 91, - 91, 91, 91, 95, 165, 95, 95, 95, 152, 265, - 149, 96, 95, 110, 95, 111, 97, 114, 95, 111, - 95, 95, 95, 95, 264, 95, 95, 95, 167, 168, - 167, 96, 95, 114, 95, 111, 97, 164, 95, 118, - 95, 95, 95, 124, 124, 124, 223, 132, 132, 132, - 138, 237, 118, 135, 263, 139, 271, 125, 126, 262, - 121, 136, 202, 203, 122, 142, 142, 142, 261, 177, - 127, 132, 132, 132, 130, 119, 130, 130, 130, 143, - - 235, 260, 130, 130, 191, 135, 192, 130, 119, 140, - 256, 130, 130, 130, 141, 141, 141, 141, 141, 141, - 141, 141, 141, 141, 141, 141, 141, 142, 142, 142, - 169, 169, 169, 131, 190, 145, 190, 255, 115, 115, - 115, 143, 158, 116, 158, 158, 158, 181, 182, 181, - 159, 158, 191, 158, 191, 158, 193, 158, 193, 158, - 158, 158, 171, 172, 171, 175, 175, 175, 254, 187, - 173, 187, 253, 152, 188, 149, 175, 175, 175, 176, - 202, 203, 112, 178, 119, 178, 178, 178, 202, 203, - 176, 179, 178, 180, 178, 230, 178, 230, 178, 252, - - 178, 178, 178, 175, 175, 175, 250, 124, 124, 124, - 185, 223, 185, 185, 232, 185, 232, 176, 177, 195, - 122, 125, 175, 175, 175, 185, 132, 132, 132, 235, - 127, 142, 142, 142, 245, 258, 176, 236, 259, 186, - 136, 155, 156, 155, 203, 143, 215, 215, 215, 127, - 195, 231, 196, 195, 196, 196, 196, 159, 195, 134, - 196, 196, 229, 197, 198, 196, 198, 196, 188, 196, - 196, 196, 199, 184, 199, 199, 199, 167, 168, 167, - 200, 199, 224, 201, 223, 199, 164, 199, 164, 199, - 199, 199, 195, 159, 196, 150, 196, 196, 196, 169, - - 169, 169, 196, 196, 271, 197, 131, 196, 134, 196, - 131, 196, 196, 196, 205, 189, 205, 205, 184, 205, - 175, 175, 206, 122, 118, 175, 175, 206, 112, 205, - 171, 172, 171, 164, 207, 113, 112, 150, 177, 207, - 151, 209, 211, 209, 209, 209, 215, 215, 215, 210, - 209, 150, 209, 146, 209, 131, 209, 129, 209, 209, - 209, 212, 213, 212, 216, 217, 216, 122, 113, 214, - 112, 271, 218, 219, 220, 219, 175, 175, 175, 104, - 222, 221, 222, 222, 104, 222, 181, 182, 181, 99, - 176, 225, 182, 225, 99, 222, 178, 93, 178, 178, - - 178, 238, 239, 238, 179, 178, 93, 178, 271, 178, - 271, 178, 271, 178, 178, 178, 175, 175, 175, 271, - 175, 175, 175, 119, 227, 227, 227, 271, 226, 271, - 176, 271, 271, 180, 176, 271, 271, 186, 228, 271, - 271, 188, 175, 175, 206, 271, 234, 127, 234, 234, - 271, 234, 225, 240, 225, 271, 207, 271, 175, 175, - 206, 234, 177, 271, 271, 209, 271, 209, 209, 209, - 271, 271, 207, 210, 209, 211, 209, 271, 209, 271, - 209, 271, 209, 209, 209, 212, 213, 212, 212, 213, - 212, 271, 271, 214, 271, 271, 214, 216, 217, 216, - - 216, 217, 216, 271, 271, 218, 271, 271, 218, 219, - 220, 219, 219, 220, 219, 271, 271, 221, 271, 271, - 221, 225, 240, 225, 227, 227, 227, 241, 271, 241, - 241, 271, 241, 242, 242, 242, 271, 271, 228, 238, - 239, 238, 241, 238, 239, 246, 238, 239, 238, 238, - 239, 238, 247, 239, 247, 271, 271, 223, 271, 271, - 223, 225, 182, 225, 271, 271, 243, 248, 248, 248, - 238, 239, 246, 238, 239, 246, 247, 239, 247, 271, - 271, 235, 271, 271, 235, 248, 248, 248, 257, 257, - 257, 271, 271, 271, 271, 271, 271, 271, 226, 271, - - 249, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 251, 28, - 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, - 28, 28, 74, 74, 74, 74, 74, 74, 74, 74, - 74, 74, 74, 74, 74, 83, 83, 83, 83, 83, - 83, 83, 83, 83, 83, 83, 83, 83, 92, 92, - 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, - 92, 94, 94, 94, 94, 94, 94, 94, 94, 94, - 94, 94, 94, 94, 98, 98, 98, 98, 98, 98, - 98, 98, 98, 98, 98, 98, 98, 100, 100, 100, - - 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, - 103, 103, 103, 103, 103, 103, 103, 103, 103, 103, - 103, 103, 103, 107, 107, 107, 107, 107, 107, 107, - 107, 107, 107, 107, 107, 107, 117, 117, 117, 117, - 117, 117, 117, 117, 117, 117, 117, 117, 117, 128, - 128, 130, 271, 271, 130, 130, 144, 144, 144, 271, - 271, 271, 271, 144, 271, 144, 144, 147, 271, 271, - 147, 147, 147, 147, 147, 147, 147, 147, 147, 147, - 153, 153, 154, 154, 154, 154, 154, 154, 271, 154, - 154, 154, 154, 154, 154, 157, 157, 157, 157, 157, - - 157, 157, 271, 157, 157, 157, 157, 157, 160, 271, - 271, 160, 160, 162, 162, 162, 162, 162, 271, 162, - 162, 162, 162, 162, 162, 162, 163, 163, 163, 163, - 163, 271, 163, 163, 163, 163, 163, 163, 163, 166, - 166, 166, 166, 166, 166, 271, 166, 166, 166, 166, - 166, 166, 170, 170, 170, 170, 170, 170, 271, 170, - 170, 170, 170, 170, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 174, 174, 174, 174, 177, 177, 271, - 177, 177, 177, 177, 177, 177, 177, 177, 177, 177, - 183, 183, 183, 183, 183, 183, 183, 183, 183, 183, - - 183, 183, 183, 194, 194, 194, 194, 194, 194, 194, - 194, 194, 194, 194, 194, 194, 204, 204, 204, 204, - 208, 208, 271, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 244, 244, 244, 244, 27, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271 - } ; - -static yyconst short int yy_chk[1181] = - { 0, - 0, 35, 35, 35, 0, 1, 35, 0, 0, 2, - 93, 93, 93, 300, 0, 1, 1, 1, 1, 2, - 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - - 5, 5, 5, 5, 5, 5, 5, 7, 7, 7, - 269, 7, 19, 30, 33, 30, 33, 20, 23, 23, - 23, 7, 7, 7, 7, 25, 7, 8, 8, 8, - 26, 8, 23, 45, 38, 45, 141, 141, 24, 24, - 24, 8, 8, 8, 8, 19, 8, 9, 9, 9, - 20, 9, 24, 47, 25, 36, 36, 36, 47, 26, - 36, 9, 9, 9, 9, 267, 9, 10, 10, 10, - 38, 10, 63, 102, 96, 63, 62, 62, 62, 96, - 159, 10, 10, 10, 10, 159, 10, 11, 11, 11, - 62, 11, 266, 62, 65, 65, 65, 66, 66, 265, - - 66, 11, 11, 11, 11, 78, 102, 78, 65, 264, - 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, - 11, 11, 11, 15, 164, 15, 15, 15, 81, 263, - 81, 15, 15, 85, 15, 85, 15, 88, 15, 88, - 15, 15, 15, 16, 262, 16, 16, 16, 104, 104, - 104, 16, 16, 111, 16, 111, 16, 164, 16, 116, - 16, 16, 16, 48, 48, 48, 223, 67, 67, 67, - 68, 223, 117, 68, 261, 68, 68, 48, 48, 260, - 48, 67, 204, 204, 67, 71, 71, 71, 259, 208, - 48, 70, 70, 70, 70, 116, 70, 70, 70, 71, - - 208, 258, 70, 70, 133, 70, 133, 70, 117, 70, - 254, 70, 70, 70, 70, 70, 70, 70, 70, 70, - 70, 70, 70, 70, 70, 70, 70, 72, 72, 72, - 105, 105, 105, 131, 131, 72, 131, 252, 115, 115, - 115, 72, 95, 115, 95, 95, 95, 119, 119, 119, - 95, 95, 135, 95, 135, 95, 136, 95, 136, 95, - 95, 95, 108, 108, 108, 112, 112, 112, 251, 127, - 108, 127, 250, 149, 127, 149, 114, 114, 114, 112, - 233, 233, 112, 113, 119, 113, 113, 113, 244, 244, - 114, 113, 113, 114, 113, 197, 113, 197, 113, 249, - - 113, 113, 113, 122, 122, 122, 243, 124, 124, 124, - 125, 232, 125, 125, 201, 125, 201, 122, 235, 230, - 122, 124, 126, 126, 126, 125, 132, 132, 132, 235, - 122, 142, 142, 142, 235, 257, 126, 210, 257, 126, - 132, 155, 155, 155, 202, 142, 161, 161, 161, 126, - 137, 200, 137, 198, 137, 137, 137, 161, 194, 192, - 137, 137, 189, 137, 137, 137, 137, 137, 187, 137, - 137, 137, 138, 183, 138, 138, 138, 167, 167, 167, - 138, 138, 179, 138, 177, 138, 165, 138, 163, 138, - 138, 138, 139, 160, 139, 148, 139, 139, 139, 169, - - 169, 169, 139, 139, 144, 139, 140, 139, 134, 139, - 130, 139, 139, 139, 143, 129, 143, 143, 123, 143, - 150, 150, 150, 120, 118, 152, 152, 152, 110, 143, - 171, 171, 171, 100, 150, 87, 86, 150, 151, 152, - 80, 151, 152, 151, 151, 151, 215, 215, 215, 151, - 151, 79, 151, 73, 151, 60, 151, 52, 151, 151, - 151, 156, 156, 156, 168, 168, 168, 46, 32, 156, - 31, 27, 168, 172, 172, 172, 175, 175, 175, 22, - 176, 172, 176, 176, 21, 176, 181, 181, 181, 18, - 175, 182, 182, 182, 17, 176, 178, 14, 178, 178, - - 178, 224, 224, 224, 178, 178, 13, 178, 0, 178, - 0, 178, 0, 178, 178, 178, 180, 180, 180, 0, - 186, 186, 186, 181, 188, 188, 188, 0, 182, 0, - 180, 0, 0, 180, 186, 0, 0, 186, 188, 0, - 0, 188, 206, 206, 206, 0, 207, 186, 207, 207, - 0, 207, 225, 225, 225, 0, 206, 0, 211, 211, - 211, 207, 209, 0, 0, 209, 0, 209, 209, 209, - 0, 0, 211, 209, 209, 211, 209, 0, 209, 0, - 209, 0, 209, 209, 209, 212, 212, 212, 213, 213, - 213, 0, 0, 212, 0, 0, 213, 216, 216, 216, - - 217, 217, 217, 0, 0, 216, 0, 0, 217, 219, - 219, 219, 220, 220, 220, 0, 0, 219, 0, 0, - 220, 226, 226, 226, 227, 227, 227, 228, 0, 228, - 228, 0, 228, 229, 229, 229, 0, 0, 227, 231, - 231, 231, 228, 236, 236, 236, 237, 237, 237, 238, - 238, 238, 239, 239, 239, 0, 0, 237, 0, 0, - 238, 240, 240, 240, 0, 0, 229, 242, 242, 242, - 245, 245, 245, 246, 246, 246, 247, 247, 247, 0, - 0, 245, 0, 0, 246, 248, 248, 248, 255, 255, - 255, 0, 0, 0, 0, 0, 0, 0, 240, 0, - - 242, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 248, 272, - 272, 272, 272, 272, 272, 272, 272, 272, 272, 272, - 272, 272, 273, 273, 273, 273, 273, 273, 273, 273, - 273, 273, 273, 273, 273, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 275, 275, - 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, - 275, 276, 276, 276, 276, 276, 276, 276, 276, 276, - 276, 276, 276, 276, 277, 277, 277, 277, 277, 277, - 277, 277, 277, 277, 277, 277, 277, 278, 278, 278, - - 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 280, 280, 280, 280, 280, 280, 280, - 280, 280, 280, 280, 280, 280, 281, 281, 281, 281, - 281, 281, 281, 281, 281, 281, 281, 281, 281, 282, - 282, 283, 0, 0, 283, 283, 284, 284, 284, 0, - 0, 0, 0, 284, 0, 284, 284, 285, 0, 0, - 285, 285, 285, 285, 285, 285, 285, 285, 285, 285, - 286, 286, 287, 287, 287, 287, 287, 287, 0, 287, - 287, 287, 287, 287, 287, 288, 288, 288, 288, 288, - - 288, 288, 0, 288, 288, 288, 288, 288, 289, 0, - 0, 289, 289, 290, 290, 290, 290, 290, 0, 290, - 290, 290, 290, 290, 290, 290, 291, 291, 291, 291, - 291, 0, 291, 291, 291, 291, 291, 291, 291, 292, - 292, 292, 292, 292, 292, 0, 292, 292, 292, 292, - 292, 292, 293, 293, 293, 293, 293, 293, 0, 293, - 293, 293, 293, 293, 294, 294, 294, 294, 294, 294, - 294, 294, 294, 294, 294, 294, 294, 295, 295, 0, - 295, 295, 295, 295, 295, 295, 295, 295, 295, 295, - 296, 296, 296, 296, 296, 296, 296, 296, 296, 296, - - 296, 296, 296, 297, 297, 297, 297, 297, 297, 297, - 297, 297, 297, 297, 297, 297, 298, 298, 298, 298, - 299, 299, 0, 299, 299, 299, 299, 299, 299, 299, - 299, 299, 299, 301, 301, 301, 301, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271, - 271, 271, 271, 271, 271, 271, 271, 271, 271, 271 - } ; - -static yy_state_type yy_state_buf[YY_BUF_SIZE + 2], *yy_state_ptr; -static char *yy_full_match; -static int yy_lp; -static int yy_looking_for_trail_begin = 0; -static int yy_full_lp; -static int *yy_full_state; -#define YY_TRAILING_MASK 0x2000 -#define YY_TRAILING_HEAD_MASK 0x4000 -#define REJECT \ -{ \ -*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ \ -yy_cp = yy_full_match; /* restore poss. backed-over text */ \ -yy_lp = yy_full_lp; /* restore orig. accepting pos. */ \ -yy_state_ptr = yy_full_state; /* restore orig. state */ \ -yy_current_state = *yy_state_ptr; /* restore curr. state */ \ -++yy_lp; \ -goto find_rule; \ -} -#define yymore() yymore_used_but_not_detected -#define YY_MORE_ADJ 0 -#define YY_RESTORE_YY_MORE_OFFSET -char *yytext; -#line 1 "pgc.l" -#define INITIAL 0 -/* This is a modified version of src/backend/parser/scan.l */ -#line 3 "pgc.l" -#include "config.h" - -#include -#include -#include - -#ifndef PATH_MAX -#include -#define PATH_MAX MAXPATHLEN -#endif - -#if defined(HAVE_STRING_H) -#include -#else -#include -#endif -#include - -#include "postgres.h" -#include "miscadmin.h" -#include "nodes/pg_list.h" -#include "nodes/parsenodes.h" -#include "parser/gramparse.h" -#include "parser/scansup.h" -#include "extern.h" -#include "preproc.h" -#include "utils/builtins.h" - -#ifdef YY_READ_BUF_SIZE -#undef YY_READ_BUF_SIZE -#endif -#define YY_READ_BUF_SIZE MAX_PARSE_BUFFER - -/* some versions of lex define this as a macro */ -#if defined(yywrap) -#undef yywrap -#endif /* yywrap */ - -extern YYSTYPE yylval; -int llen; -char literal[MAX_PARSE_BUFFER]; -int before_comment; - -struct _yy_buffer { YY_BUFFER_STATE buffer; - long lineno; - char * filename; - struct _yy_buffer * next; - } *yy_buffer = NULL; - -struct _defines *defines = NULL; -static char *old; - -#define C 1 -#define SQL 2 -#define incl 3 -#define def 4 -#define def_ident 5 - -/* OK, here is a short description of lex/flex rules behavior. - * The longest pattern which matches an input string is always chosen. - * For equal-length patterns, the first occurring in the rules list is chosen. - * INITIAL is the starting condition, to which all non-conditional rules apply. - * When in an exclusive condition, only those rules defined for that condition apply. - * - * Exclusive states change parsing rules while the state is active. - * There are exclusive states for quoted strings, extended comments, - * and to eliminate parsing troubles for numeric strings. - * Exclusive states: - * binary numeric string - thomas 1997-11-16 - * extended C-style comments - tgl 1997-07-12 - * delimited identifiers (double-quoted identifiers) - tgl 1997-10-27 - * hexadecimal numeric string - thomas 1997-11-16 - * numeric strings with embedded minus sign - tgl 1997-09-05 - * quoted strings - tgl 1997-07-30 - * - * The "extended comment" syntax closely resembles allowable operator syntax. - * So, when in condition , only strings which would terminate the - * "extended comment" trigger any action other than "ignore". - * Be sure to match _any_ candidate comment, including those with appended - * operator-like symbols. - thomas 1997-07-14 - */ -#define xb 6 - -#define xc 7 - -#define xd 8 - -#define xdc 9 - -#define xh 10 - -#define xm 11 - -#define xq 12 - -/* Binary number - */ -/* Hexadecimal number - */ -/* Extended quote - * xqdouble implements SQL92 embedded quote - * xqcat allows strings to cross input lines - */ -/* Delimited quote - * Allows embedded spaces and other special characters into identifiers. - */ -/* Comments - * Ignored by the scanner and parser. - */ -/* -real [\-]?(((({digit}*\.{digit}+)|({digit}+\.{digit}*))([Ee][-+]?{digit}+)?)|({digit}+[Ee][-+]?{digit}+)) -*/ -/* some stuff needed for ecpg */ -/* DO NOT PUT ANY COMMENTS IN THE FOLLOWING SECTION. - * AT&T lex does not properly handle C-style comments in this second lex block. - * So, put comments here. tgl - 1997-09-08 - * - * Quoted strings must allow some special characters such as single-quote - * and newline. - * Embedded single-quotes are implemented both in the SQL/92-standard - * style of two adjacent single quotes "''" and in the Postgres/Java style - * of escaped-quote "\'". - * Other embedded escaped characters are matched explicitly and the leading - * backslash is dropped from the string. - thomas 1997-09-24 - */ -#line 904 "lex.yy.c" - -/* Macros after this point can all be overridden by user definitions in - * section 1. - */ - -#ifndef YY_SKIP_YYWRAP -#ifdef __cplusplus -extern "C" int yywrap YY_PROTO(( void )); -#else -extern int yywrap YY_PROTO(( void )); -#endif -#endif - -#ifndef YY_NO_UNPUT -static void yyunput YY_PROTO(( int c, char *buf_ptr )); -#endif - -#ifndef yytext_ptr -static void yy_flex_strncpy YY_PROTO(( char *, yyconst char *, int )); -#endif - -#ifdef YY_NEED_STRLEN -static int yy_flex_strlen YY_PROTO(( yyconst char * )); -#endif - -#ifndef YY_NO_INPUT -#ifdef __cplusplus -static int yyinput YY_PROTO(( void )); -#else -static int input YY_PROTO(( void )); -#endif -#endif - -#if YY_STACK_USED -static int yy_start_stack_ptr = 0; -static int yy_start_stack_depth = 0; -static int *yy_start_stack = 0; -#ifndef YY_NO_PUSH_STATE -static void yy_push_state YY_PROTO(( int new_state )); -#endif -#ifndef YY_NO_POP_STATE -static void yy_pop_state YY_PROTO(( void )); -#endif -#ifndef YY_NO_TOP_STATE -static int yy_top_state YY_PROTO(( void )); -#endif - -#else -#define YY_NO_PUSH_STATE 1 -#define YY_NO_POP_STATE 1 -#define YY_NO_TOP_STATE 1 -#endif - -#ifdef YY_MALLOC_DECL -YY_MALLOC_DECL -#else -#if __STDC__ -#ifndef __cplusplus -#include -#endif -#else -/* Just try to get by without declaring the routines. This will fail - * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int) - * or sizeof(void*) != sizeof(int). - */ -#endif -#endif - -/* Amount of stuff to slurp up with each read. */ -#ifndef YY_READ_BUF_SIZE -#define YY_READ_BUF_SIZE 8192 -#endif - -/* Copy whatever the last rule matched to the standard output. */ - -#ifndef ECHO -/* This used to be an fputs(), but since the string might contain NUL's, - * we now use fwrite(). - */ -#define ECHO (void) fwrite( yytext, yyleng, 1, yyout ) -#endif - -/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, - * is returned in "result". - */ -#ifndef YY_INPUT -#define YY_INPUT(buf,result,max_size) \ - if ( yy_current_buffer->yy_is_interactive ) \ - { \ - int c = '*', n; \ - for ( n = 0; n < max_size && \ - (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ - buf[n] = (char) c; \ - if ( c == '\n' ) \ - buf[n++] = (char) c; \ - if ( c == EOF && ferror( yyin ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); \ - result = n; \ - } \ - else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \ - && ferror( yyin ) ) \ - YY_FATAL_ERROR( "input in flex scanner failed" ); -#endif - -/* No semi-colon after return; correct usage is to write "yyterminate();" - - * we don't want an extra ';' after the "return" because that will cause - * some compilers to complain about unreachable statements. - */ -#ifndef yyterminate -#define yyterminate() return YY_NULL -#endif - -/* Number of entries by which start-condition stack grows. */ -#ifndef YY_START_STACK_INCR -#define YY_START_STACK_INCR 25 -#endif - -/* Report a fatal error. */ -#ifndef YY_FATAL_ERROR -#define YY_FATAL_ERROR(msg) yy_fatal_error( msg ) -#endif - -/* Default declaration of generated scanner - a define so the user can - * easily add parameters. - */ -#ifndef YY_DECL -#define YY_DECL int yylex YY_PROTO(( void )) -#endif - -/* Code executed at the beginning of each rule, after yytext and yyleng - * have been set up. - */ -#ifndef YY_USER_ACTION -#define YY_USER_ACTION -#endif - -/* Code executed at the end of each rule. */ -#ifndef YY_BREAK -#define YY_BREAK break; -#endif - -#define YY_RULE_SETUP \ - YY_USER_ACTION - -YY_DECL - { - register yy_state_type yy_current_state; - register char *yy_cp, *yy_bp; - register int yy_act; - -#line 186 "pgc.l" - -#line 1057 "lex.yy.c" - - if ( yy_init ) - { - yy_init = 0; - -#ifdef YY_USER_INIT - YY_USER_INIT; -#endif - - if ( ! yy_start ) - yy_start = 1; /* first start state */ - - if ( ! yyin ) - yyin = stdin; - - if ( ! yyout ) - yyout = stdout; - - if ( ! yy_current_buffer ) - yy_current_buffer = - yy_create_buffer( yyin, YY_BUF_SIZE ); - - yy_load_buffer_state(); - } - - while ( 1 ) /* loops until end-of-file is reached */ - { - yy_cp = yy_c_buf_p; - - /* Support of yytext. */ - *yy_cp = yy_hold_char; - - /* yy_bp points to the position in yy_ch_buf of the start of - * the current run. - */ - yy_bp = yy_cp; - - yy_current_state = yy_start; - yy_state_ptr = yy_state_buf; - *yy_state_ptr++ = yy_current_state; -yy_match: - do - { - register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; - 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 >= 272 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - *yy_state_ptr++ = yy_current_state; - ++yy_cp; - } - while ( yy_base[yy_current_state] != 1138 ); - -yy_find_action: - yy_current_state = *--yy_state_ptr; - yy_lp = yy_accept[yy_current_state]; -find_rule: /* we branch to this label when backing up */ - for ( ; ; ) /* until we find what rule we matched */ - { - if ( yy_lp && yy_lp < yy_accept[yy_current_state + 1] ) - { - yy_act = yy_acclist[yy_lp]; - if ( yy_act & YY_TRAILING_HEAD_MASK || - yy_looking_for_trail_begin ) - { - if ( yy_act == yy_looking_for_trail_begin ) - { - yy_looking_for_trail_begin = 0; - yy_act &= ~YY_TRAILING_HEAD_MASK; - break; - } - } - else if ( yy_act & YY_TRAILING_MASK ) - { - yy_looking_for_trail_begin = yy_act & ~YY_TRAILING_MASK; - yy_looking_for_trail_begin |= YY_TRAILING_HEAD_MASK; - yy_full_match = yy_cp; - yy_full_state = yy_state_ptr; - yy_full_lp = yy_lp; - } - else - { - yy_full_match = yy_cp; - yy_full_state = yy_state_ptr; - yy_full_lp = yy_lp; - break; - } - ++yy_lp; - goto find_rule; - } - --yy_cp; - yy_current_state = *--yy_state_ptr; - yy_lp = yy_accept[yy_current_state]; - } - - YY_DO_BEFORE_ACTION; - - if ( yy_act != YY_END_OF_BUFFER ) - { - int yyl; - for ( yyl = 0; yyl < yyleng; ++yyl ) - if ( yytext[yyl] == '\n' ) - ++yylineno; - } - -do_action: /* This label is used only to access EOF actions. */ - - - switch ( yy_act ) - { /* beginning of action switch */ -case 1: -YY_RULE_SETUP -#line 187 "pgc.l" -{ /* ignore */ } - YY_BREAK -case 2: -YY_RULE_SETUP -#line 189 "pgc.l" -{ ECHO; } - YY_BREAK -case 3: -YY_RULE_SETUP -#line 191 "pgc.l" -{ ECHO; } - YY_BREAK -case 4: -YY_RULE_SETUP -#line 192 "pgc.l" -{ - before_comment = YYSTATE; - ECHO; - BEGIN(xc); - } - YY_BREAK -case 5: -YY_RULE_SETUP -#line 198 "pgc.l" -{ ECHO; BEGIN(before_comment); } - YY_BREAK -case 6: -YY_RULE_SETUP -#line 200 "pgc.l" -{ ECHO; } - YY_BREAK -case 7: -YY_RULE_SETUP -#line 202 "pgc.l" -{ - BEGIN(xb); - llen = 0; - *literal = '\0'; - } - YY_BREAK -case 8: -YY_RULE_SETUP -#line 207 "pgc.l" -{ - char* endptr; - - BEGIN(SQL); - errno = 0; - yylval.ival = strtol((char *)literal,&endptr,2); - if (*endptr != '\0' || errno == ERANGE) - yyerror("ERROR: Bad binary integer input!"); - return ICONST; - } - YY_BREAK -case 9: -#line 218 "pgc.l" -case 10: -YY_RULE_SETUP -#line 218 "pgc.l" -{ - if ((llen+yyleng) > (MAX_PARSE_BUFFER - 1)) - yyerror("ERROR: quoted string parse buffer exceeded"); - memcpy(literal+llen, yytext, yyleng+1); - llen += yyleng; - } - YY_BREAK -case 11: -#line 225 "pgc.l" -case 12: -YY_RULE_SETUP -#line 225 "pgc.l" -{ - } - YY_BREAK -case 13: -YY_RULE_SETUP -#line 228 "pgc.l" -{ - BEGIN(xh); - llen = 0; - *literal = '\0'; - } - YY_BREAK -case 14: -YY_RULE_SETUP -#line 233 "pgc.l" -{ - char* endptr; - - BEGIN(SQL); - errno = 0; - yylval.ival = strtol((char *)literal,&endptr,16); - if (*endptr != '\0' || errno == ERANGE) - yyerror("ERROR: Bad hexadecimal integer input"); - return ICONST; - } - YY_BREAK -case 15: -YY_RULE_SETUP -#line 244 "pgc.l" -{ - BEGIN(xq); - llen = 0; - *literal = '\0'; - } - YY_BREAK -case 16: -YY_RULE_SETUP -#line 249 "pgc.l" -{ - BEGIN(SQL); - yylval.str = mm_strdup(scanstr(literal)); - return SCONST; - } - YY_BREAK -case 17: -#line 255 "pgc.l" -case 18: -#line 256 "pgc.l" -case 19: -YY_RULE_SETUP -#line 256 "pgc.l" -{ - if ((llen+yyleng) > (MAX_PARSE_BUFFER - 1)) - yyerror("ERROR: quoted string parse buffer exceeded"); - memcpy(literal+llen, yytext, yyleng+1); - llen += yyleng; - } - YY_BREAK -case 20: -YY_RULE_SETUP -#line 262 "pgc.l" -{ - } - YY_BREAK -case 21: -YY_RULE_SETUP -#line 266 "pgc.l" -{ - BEGIN(xd); - llen = 0; - *literal = '\0'; - } - YY_BREAK -case 22: -YY_RULE_SETUP -#line 271 "pgc.l" -{ - BEGIN(SQL); - yylval.str = mm_strdup(literal); - return CSTRING; - } - YY_BREAK -case 23: -YY_RULE_SETUP -#line 276 "pgc.l" -{ - if ((llen+yyleng) > (MAX_PARSE_BUFFER - 1)) - yyerror("ERROR: quoted string parse buffer exceeded"); - memcpy(literal+llen, yytext, yyleng+1); - llen += yyleng; - } - YY_BREAK -case 24: -YY_RULE_SETUP -#line 282 "pgc.l" -{ - BEGIN(xdc); - llen = 0; - *literal = '\0'; - } - YY_BREAK -case 25: -YY_RULE_SETUP -#line 287 "pgc.l" -{ - BEGIN(C); - yylval.str = mm_strdup(literal); - return CSTRING; - } - YY_BREAK -case 26: -YY_RULE_SETUP -#line 292 "pgc.l" -{ - if ((llen+yyleng) > (MAX_PARSE_BUFFER - 1)) - yyerror("ERROR: quoted string parse buffer exceeded"); - memcpy(literal+llen, yytext, yyleng+1); - llen += yyleng; - } - YY_BREAK -case 27: -YY_RULE_SETUP -#line 299 "pgc.l" -{ /* ignore */ } - YY_BREAK -case 28: -YY_RULE_SETUP -#line 300 "pgc.l" -{ - BEGIN(SQL); - return yytext[0]; - } - YY_BREAK -case 29: -YY_RULE_SETUP -#line 306 "pgc.l" -{ return TYPECAST; } - YY_BREAK -case 30: -*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ -yy_c_buf_p = yy_cp = yy_bp + 1; -YY_DO_BEFORE_ACTION; /* set up yytext again */ -YY_RULE_SETUP -#line 307 "pgc.l" -{ - BEGIN(xm); - return yytext[0]; - } - YY_BREAK -case 31: -YY_RULE_SETUP -#line 311 "pgc.l" -{ /* - * We may find a ';' inside a structure - * definition in a TYPE or VAR statement. - * This is not an EOL marker. - */ - if (yytext[0] == ';' && struct_level == 0) - BEGIN C; - return yytext[0]; - } - YY_BREAK -case 32: -*yy_cp = yy_hold_char; /* undo effects of setting up yytext */ -yy_c_buf_p = yy_cp -= 2; -YY_DO_BEFORE_ACTION; /* set up yytext again */ -YY_RULE_SETUP -#line 320 "pgc.l" -{ - yylval.str = mm_strdup((char*)yytext); - return Op; - } - YY_BREAK -case 33: -YY_RULE_SETUP -#line 324 "pgc.l" -{ - if (strcmp((char*)yytext,"!=") == 0) - yylval.str = mm_strdup("<>"); /* compatability */ - else - yylval.str = mm_strdup((char*)yytext); - return Op; - } - YY_BREAK -case 34: -YY_RULE_SETUP -#line 331 "pgc.l" -{ - yylval.ival = atoi((char*)&yytext[1]); - return PARAM; - } - YY_BREAK -case 35: -YY_RULE_SETUP -#line 335 "pgc.l" -{ - int i; - ScanKeyword *keyword; - char lower_text[NAMEDATALEN]; - - BEGIN(xm); - /* this should leave the last byte set to '\0' */ - strncpy(lower_text, yytext, NAMEDATALEN-1); - for(i = 0; lower_text[i]; i++) - if (isascii((unsigned char)lower_text[i]) && isupper(lower_text[i])) - lower_text[i] = tolower(lower_text[i]); - - keyword = ScanKeywordLookup((char*)lower_text); - if (keyword != NULL) { - return keyword->value; - } - else - { - keyword = ScanECPGKeywordLookup((char*)lower_text); - if (keyword != NULL) { - return keyword->value; - } - else - { - struct _defines *ptr; - - for (ptr = defines; ptr; ptr = ptr->next) - { - if (strcmp(yytext, ptr->old) == 0) - { - struct _yy_buffer *yb; - - yb = mm_alloc(sizeof(struct _yy_buffer)); - - yb->buffer = YY_CURRENT_BUFFER; - yb->lineno = yylineno; - yb->filename = mm_strdup(input_filename); - yb->next = yy_buffer; - - yy_buffer = yb; - - yy_scan_string(ptr->new); - break; - } - } - if (ptr == NULL) - { - yylval.str = mm_strdup((char*)yytext); - return IDENT; - } - } - } - } - YY_BREAK -case 36: -YY_RULE_SETUP -#line 388 "pgc.l" -{ - char* endptr; - - BEGIN(xm); - errno = 0; - yylval.ival = strtol((char *)yytext,&endptr,10); - if (*endptr != '\0' || errno == ERANGE) - { - errno = 0; -#if 0 - yylval.dval = strtod(((char *)yytext),&endptr); - if (*endptr != '\0' || errno == ERANGE) - yyerror("ERROR: Bad integer input"); - yyerror("WARNING: Integer input is out of range; promoted to float"); - return FCONST; -#endif - yylval.str = mm_strdup((char*)yytext); - return SCONST; - } - return ICONST; - } - YY_BREAK -case 37: -YY_RULE_SETUP -#line 409 "pgc.l" -{ - char* endptr; - - BEGIN(xm); - if (strlen((char *)yytext) <= 17) - { - errno = 0; - yylval.dval = strtod(((char *)yytext),&endptr); - if (*endptr != '\0' || errno == ERANGE) - yyerror("ERROR: Bad float8 input"); - return FCONST; - } - yylval.str = mm_strdup((char*)yytext); - return SCONST; - } - YY_BREAK -case 38: -YY_RULE_SETUP -#line 425 "pgc.l" -{ - char* endptr; - - BEGIN(xm); - errno = 0; - yylval.dval = strtod(((char *)yytext),&endptr); - if (*endptr != '\0' || errno == ERANGE) - yyerror("ERROR: Bad float8 input"); - return FCONST; - } - YY_BREAK -case 39: -YY_RULE_SETUP -#line 435 "pgc.l" -{ - char* endptr; - - errno = 0; - yylval.ival = strtol((char *)yytext,&endptr,10); - if (*endptr != '\0' || errno == ERANGE) - { - errno = 0; -#if 0 - yylval.dval = strtod(((char *)yytext),&endptr); - if (*endptr != '\0' || errno == ERANGE) - yyerror("ERROR: Bad integer input"); - yyerror("WARNING: Integer input is out of range; promoted to float"); - return FCONST; -#endif - yylval.str = mm_strdup((char*)yytext); - return SCONST; - } - return ICONST; - } - YY_BREAK -case 40: -YY_RULE_SETUP -#line 455 "pgc.l" -{ - char* endptr; - - if (strlen((char *)yytext) <= 17) - { - errno = 0; - yylval.dval = strtod((char *)yytext,&endptr); - if (*endptr != '\0' || errno == ERANGE) - yyerror("ERROR: Bad float8 input"); - return FCONST; - } - yylval.str = mm_strdup((char*)yytext); - return SCONST; - } - YY_BREAK -case 41: -YY_RULE_SETUP -#line 469 "pgc.l" -{ - char* endptr; - - errno = 0; - yylval.dval = strtod((char *)yytext,&endptr); - if (*endptr != '\0' || errno == ERANGE) - yyerror("ERROR: Bad float input"); - return FCONST; - } - YY_BREAK -case 42: -YY_RULE_SETUP -#line 478 "pgc.l" -{ - yylval.str = mm_strdup((char*)yytext+1); - return(CVARIABLE); - } - YY_BREAK -case 43: -YY_RULE_SETUP -#line 482 "pgc.l" -{ - int i; - ScanKeyword *keyword; - char lower_text[NAMEDATALEN]; - - /* this should leave the last byte set to '\0' */ - strncpy(lower_text, yytext, NAMEDATALEN-1); - for(i = 0; lower_text[i]; i++) - if (isascii((unsigned char)lower_text[i]) && isupper(lower_text[i])) - lower_text[i] = tolower(lower_text[i]); - - keyword = ScanKeywordLookup((char*)lower_text); - if (keyword != NULL) { - return keyword->value; - } - else - { - keyword = ScanECPGKeywordLookup((char*)lower_text); - if (keyword != NULL) { - return keyword->value; - } - else - { - struct _defines *ptr; - - for (ptr = defines; ptr; ptr = ptr->next) - { - if (strcmp(yytext, ptr->old) == 0) - { - struct _yy_buffer *yb; - - yb = mm_alloc(sizeof(struct _yy_buffer)); - - yb->buffer = YY_CURRENT_BUFFER; - yb->lineno = yylineno; - yb->filename = mm_strdup(input_filename); - yb->next = yy_buffer; - - yy_buffer = yb; - - yy_scan_string(ptr->new); - break; - } - } - if (ptr == NULL) - { - yylval.str = mm_strdup((char*)yytext); - return IDENT; - } - } - } - } - YY_BREAK -case 44: -YY_RULE_SETUP -#line 534 "pgc.l" -{ /* ignore */ } - YY_BREAK -case 45: -YY_RULE_SETUP -#line 535 "pgc.l" -{ return yytext[0]; } - YY_BREAK -case 46: -YY_RULE_SETUP -#line 536 "pgc.l" -{ BEGIN SQL; return SQL_START; } - YY_BREAK -case 47: -YY_RULE_SETUP -#line 537 "pgc.l" -{ /* ignore */ } - YY_BREAK -case 48: -YY_RULE_SETUP -#line 538 "pgc.l" -{ - yylval.str = mm_strdup((char*)yytext); - return(CPP_LINE); - } - YY_BREAK -case 49: -YY_RULE_SETUP -#line 542 "pgc.l" -{ - ScanKeyword *keyword; - - keyword = ScanCKeywordLookup((char*)yytext); - if (keyword != NULL) { - return keyword->value; - } - else - { - struct _defines *ptr; - - for (ptr = defines; ptr; ptr = ptr->next) - { - if (strcmp(yytext, ptr->old) == 0) - { - struct _yy_buffer *yb; - - yb = mm_alloc(sizeof(struct _yy_buffer)); - - yb->buffer = YY_CURRENT_BUFFER; - yb->lineno = yylineno; - yb->filename = mm_strdup(input_filename); - yb->next = yy_buffer; - - yy_buffer = yb; - - yy_scan_string(ptr->new); - break; - } - } - if (ptr == NULL) - { - yylval.str = mm_strdup((char*)yytext); - return IDENT; - } - } - } - YY_BREAK -case 50: -YY_RULE_SETUP -#line 579 "pgc.l" -{ return(';'); } - YY_BREAK -case 51: -YY_RULE_SETUP -#line 580 "pgc.l" -{ return(','); } - YY_BREAK -case 52: -YY_RULE_SETUP -#line 581 "pgc.l" -{ return('*'); } - YY_BREAK -case 53: -YY_RULE_SETUP -#line 582 "pgc.l" -{ return('%'); } - YY_BREAK -case 54: -YY_RULE_SETUP -#line 583 "pgc.l" -{ return('/'); } - YY_BREAK -case 55: -YY_RULE_SETUP -#line 584 "pgc.l" -{ return('+'); } - YY_BREAK -case 56: -YY_RULE_SETUP -#line 585 "pgc.l" -{ return('-'); } - YY_BREAK -case 57: -YY_RULE_SETUP -#line 586 "pgc.l" -{ return('('); } - YY_BREAK -case 58: -YY_RULE_SETUP -#line 587 "pgc.l" -{ return(')'); } - YY_BREAK -case 59: -YY_RULE_SETUP -#line 588 "pgc.l" -{ ECHO; } - YY_BREAK -case 60: -YY_RULE_SETUP -#line 589 "pgc.l" -{ return('{'); } - YY_BREAK -case 61: -YY_RULE_SETUP -#line 590 "pgc.l" -{ return('}'); } - YY_BREAK -case 62: -YY_RULE_SETUP -#line 591 "pgc.l" -{ return('['); } - YY_BREAK -case 63: -YY_RULE_SETUP -#line 592 "pgc.l" -{ return(']'); } - YY_BREAK -case 64: -YY_RULE_SETUP -#line 593 "pgc.l" -{ return('='); } - YY_BREAK -case 65: -YY_RULE_SETUP -#line 594 "pgc.l" -{ return S_ANYTHING; } - YY_BREAK -case 66: -YY_RULE_SETUP -#line 595 "pgc.l" -{BEGIN(def_ident);} - YY_BREAK -case 67: -YY_RULE_SETUP -#line 596 "pgc.l" -{} - YY_BREAK -case 68: -YY_RULE_SETUP -#line 597 "pgc.l" -{ - old = mm_strdup(yytext); - BEGIN(def); - llen = 0; - *literal = '\0'; - } - YY_BREAK -case 69: -YY_RULE_SETUP -#line 603 "pgc.l" -/* eat the whitespace */ - YY_BREAK -case 70: -YY_RULE_SETUP -#line 604 "pgc.l" -{ - struct _defines *ptr, *this; - - for (ptr = defines; ptr != NULL; ptr = ptr->next) - { - if (strcmp(old, ptr->old) == 0) - { - free(ptr->new); - ptr->new = mm_strdup(scanstr(literal)); - } - } - if (ptr == NULL) - { - this = (struct _defines *) mm_alloc(sizeof(struct _defines)); - - /* initial definition */ - this->old = old; - this->new = mm_strdup(scanstr(literal)); - this->next = defines; - defines = this; - } - - BEGIN(C); - } - YY_BREAK -case 71: -YY_RULE_SETUP -#line 628 "pgc.l" -{ - if ((llen+yyleng) > (MAX_PARSE_BUFFER - 1)) - yyerror("ERROR: define statement parse buffer exceeded"); - memcpy(literal+llen, yytext, yyleng+1); - llen += yyleng; - } - YY_BREAK -case 72: -YY_RULE_SETUP -#line 634 "pgc.l" -{ BEGIN(incl); } - YY_BREAK -case 73: -YY_RULE_SETUP -#line 635 "pgc.l" -/* eat the whitespace */ - YY_BREAK -case 74: -YY_RULE_SETUP -#line 636 "pgc.l" -{ /* got the include file name */ - struct _yy_buffer *yb; - struct _include_path *ip; - char inc_file[PATH_MAX]; - - yb = mm_alloc(sizeof(struct _yy_buffer)); - - yb->buffer = YY_CURRENT_BUFFER; - yb->lineno = yylineno; - yb->filename = input_filename; - yb->next = yy_buffer; - - yy_buffer = yb; - - if (yytext[strlen(yytext) - 1] == ';') - yytext[strlen(yytext) - 1] = '\0'; - - yyin = NULL; - for (ip = include_paths; yyin == NULL && ip != NULL; ip = ip->next) - { - if (strlen(ip->path) + strlen(yytext) + 3 > PATH_MAX) - { - fprintf(stderr, "Error: Path %s/%s is too long in line %d, skipping.\n", ip->path, yytext, yylineno); - continue; - } - sprintf (inc_file, "%s/%s", ip->path, yytext); - yyin = fopen( inc_file, "r" ); - if (!yyin) - { - if (strcmp(inc_file + strlen(inc_file) - 2, ".h")) - { - strcat(inc_file, ".h"); - yyin = fopen( inc_file, "r" ); - } - - } - } - if (!yyin) - { - fprintf(stderr, "Error: Cannot open include file %s in line %d\n", yytext, yylineno); - exit(NO_INCLUDE_FILE); - } - - input_filename = mm_strdup(inc_file); - yy_switch_to_buffer(yy_create_buffer(yyin,YY_BUF_SIZE )); - yylineno = 0; - output_line_number(); - - BEGIN C; - } - YY_BREAK -case 75: -YY_RULE_SETUP -#line 686 "pgc.l" -{ BEGIN C; } - YY_BREAK -case YY_STATE_EOF(INITIAL): -case YY_STATE_EOF(C): -case YY_STATE_EOF(SQL): -case YY_STATE_EOF(incl): -case YY_STATE_EOF(def): -case YY_STATE_EOF(def_ident): -case YY_STATE_EOF(xb): -case YY_STATE_EOF(xc): -case YY_STATE_EOF(xd): -case YY_STATE_EOF(xdc): -case YY_STATE_EOF(xh): -case YY_STATE_EOF(xm): -case YY_STATE_EOF(xq): -#line 687 "pgc.l" -{ if (yy_buffer == NULL) - yyterminate(); - else - { - struct _yy_buffer *yb = yy_buffer; - - if (yyin != NULL) - fclose(yyin); - - yy_delete_buffer( YY_CURRENT_BUFFER ); - yy_switch_to_buffer(yy_buffer->buffer); - - yylineno = yy_buffer->lineno; - - free(input_filename); - input_filename = yy_buffer->filename; - - yy_buffer = yy_buffer->next; - free(yb); - output_line_number(); - } - } - YY_BREAK -case 76: -YY_RULE_SETUP -#line 709 "pgc.l" -ECHO; - YY_BREAK -#line 1994 "lex.yy.c" - - case YY_END_OF_BUFFER: - { - /* Amount of text matched not including the EOB char. */ - int yy_amount_of_matched_text = (int) (yy_cp - yytext_ptr) - 1; - - /* Undo the effects of YY_DO_BEFORE_ACTION. */ - *yy_cp = yy_hold_char; - YY_RESTORE_YY_MORE_OFFSET - - if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW ) - { - /* We're scanning a new file or input source. It's - * possible that this happened because the user - * just pointed yyin at a new source and called - * yylex(). If so, then we have to assure - * consistency between yy_current_buffer and our - * globals. Here is the right place to do so, because - * this is the first action (other than possibly a - * back-up) that will match for the new input source. - */ - yy_n_chars = yy_current_buffer->yy_n_chars; - yy_current_buffer->yy_input_file = yyin; - yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL; - } - - /* Note that here we test for yy_c_buf_p "<=" to the position - * of the first EOB in the buffer, since yy_c_buf_p will - * already have been incremented past the NUL character - * (since all states make transitions on EOB to the - * end-of-buffer state). Contrast this with the test - * in input(). - */ - if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] ) - { /* This was really a NUL. */ - yy_state_type yy_next_state; - - yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state(); - - /* Okay, we're now positioned to make the NUL - * transition. We couldn't have - * yy_get_previous_state() go ahead and do it - * for us because it doesn't know how to deal - * with the possibility of jamming (and we don't - * want to build jamming into it because then it - * will run more slowly). - */ - - yy_next_state = yy_try_NUL_trans( yy_current_state ); - - yy_bp = yytext_ptr + YY_MORE_ADJ; - - if ( yy_next_state ) - { - /* Consume the NUL. */ - yy_cp = ++yy_c_buf_p; - yy_current_state = yy_next_state; - goto yy_match; - } - - else - { - yy_cp = yy_c_buf_p; - goto yy_find_action; - } - } - - else switch ( yy_get_next_buffer() ) - { - case EOB_ACT_END_OF_FILE: - { - yy_did_buffer_switch_on_eof = 0; - - if ( yywrap() ) - { - /* Note: because we've taken care in - * yy_get_next_buffer() to have set up - * yytext, we can now set up - * yy_c_buf_p so that if some total - * hoser (like flex itself) wants to - * call the scanner after we return the - * YY_NULL, it'll still work - another - * YY_NULL will get returned. - */ - yy_c_buf_p = yytext_ptr + YY_MORE_ADJ; - - yy_act = YY_STATE_EOF(YY_START); - goto do_action; - } - - else - { - if ( ! yy_did_buffer_switch_on_eof ) - YY_NEW_FILE; - } - break; - } - - case EOB_ACT_CONTINUE_SCAN: - yy_c_buf_p = - yytext_ptr + yy_amount_of_matched_text; - - yy_current_state = yy_get_previous_state(); - - yy_cp = yy_c_buf_p; - yy_bp = yytext_ptr + YY_MORE_ADJ; - goto yy_match; - - case EOB_ACT_LAST_MATCH: - yy_c_buf_p = - &yy_current_buffer->yy_ch_buf[yy_n_chars]; - - yy_current_state = yy_get_previous_state(); - - yy_cp = yy_c_buf_p; - yy_bp = yytext_ptr + YY_MORE_ADJ; - goto yy_find_action; - } - break; - } - - default: - YY_FATAL_ERROR( - "fatal flex scanner internal error--no action found" ); - } /* end of action switch */ - } /* end of scanning one token */ - } /* end of yylex */ - - -/* yy_get_next_buffer - try to read in a new buffer - * - * Returns a code representing an action: - * EOB_ACT_LAST_MATCH - - * EOB_ACT_CONTINUE_SCAN - continue scanning from current position - * EOB_ACT_END_OF_FILE - end of file - */ - -static int yy_get_next_buffer() - { - register char *dest = yy_current_buffer->yy_ch_buf; - register char *source = yytext_ptr; - register int number_to_move, i; - int ret_val; - - if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] ) - YY_FATAL_ERROR( - "fatal flex scanner internal error--end of buffer missed" ); - - if ( yy_current_buffer->yy_fill_buffer == 0 ) - { /* Don't try to fill the buffer, so this is an EOF. */ - if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 ) - { - /* We matched a single character, the EOB, so - * treat this as a final EOF. - */ - return EOB_ACT_END_OF_FILE; - } - - else - { - /* We matched some text prior to the EOB, first - * process it. - */ - return EOB_ACT_LAST_MATCH; - } - } - - /* Try to read more data. */ - - /* First move last chars to start of buffer. */ - number_to_move = (int) (yy_c_buf_p - yytext_ptr) - 1; - - for ( i = 0; i < number_to_move; ++i ) - *(dest++) = *(source++); - - if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING ) - /* don't do the read, it's not guaranteed to return an EOF, - * just force an EOF - */ - yy_current_buffer->yy_n_chars = yy_n_chars = 0; - - else - { - int num_to_read = - yy_current_buffer->yy_buf_size - number_to_move - 1; - - while ( num_to_read <= 0 ) - { /* Not enough room in the buffer - grow it. */ -#ifdef YY_USES_REJECT - YY_FATAL_ERROR( -"input buffer overflow, can't enlarge buffer because scanner uses REJECT" ); -#else - - /* just a shorter name for the current buffer */ - YY_BUFFER_STATE b = yy_current_buffer; - - int yy_c_buf_p_offset = - (int) (yy_c_buf_p - b->yy_ch_buf); - - if ( b->yy_is_our_buffer ) - { - int new_size = b->yy_buf_size * 2; - - if ( new_size <= 0 ) - b->yy_buf_size += b->yy_buf_size / 8; - else - b->yy_buf_size *= 2; - - b->yy_ch_buf = (char *) - /* Include room in for 2 EOB chars. */ - yy_flex_realloc( (void *) b->yy_ch_buf, - b->yy_buf_size + 2 ); - } - else - /* Can't grow it, we don't own it. */ - b->yy_ch_buf = 0; - - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( - "fatal error - scanner input buffer overflow" ); - - yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; - - num_to_read = yy_current_buffer->yy_buf_size - - number_to_move - 1; -#endif - } - - if ( num_to_read > YY_READ_BUF_SIZE ) - num_to_read = YY_READ_BUF_SIZE; - - /* Read in more data. */ - YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]), - yy_n_chars, num_to_read ); - - yy_current_buffer->yy_n_chars = yy_n_chars; - } - - if ( yy_n_chars == 0 ) - { - if ( number_to_move == YY_MORE_ADJ ) - { - ret_val = EOB_ACT_END_OF_FILE; - yyrestart( yyin ); - } - - else - { - ret_val = EOB_ACT_LAST_MATCH; - yy_current_buffer->yy_buffer_status = - YY_BUFFER_EOF_PENDING; - } - } - - else - ret_val = EOB_ACT_CONTINUE_SCAN; - - yy_n_chars += number_to_move; - yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR; - yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; - - yytext_ptr = &yy_current_buffer->yy_ch_buf[0]; - - return ret_val; - } - - -/* yy_get_previous_state - get the state just before the EOB char was reached */ - -static yy_state_type yy_get_previous_state() - { - register yy_state_type yy_current_state; - register char *yy_cp; - - yy_current_state = yy_start; - yy_state_ptr = yy_state_buf; - *yy_state_ptr++ = yy_current_state; - - for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp ) - { - register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); - 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 >= 272 ) - yy_c = yy_meta[(unsigned int) yy_c]; - } - yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - *yy_state_ptr++ = yy_current_state; - } - - return yy_current_state; - } - - -/* yy_try_NUL_trans - try to make a transition on the NUL character - * - * synopsis - * next_state = yy_try_NUL_trans( current_state ); - */ - -#ifdef YY_USE_PROTOS -static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state ) -#else -static yy_state_type yy_try_NUL_trans( yy_current_state ) -yy_state_type yy_current_state; -#endif - { - register int yy_is_jam; - - register YY_CHAR yy_c = 1; - 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 >= 272 ) - 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 == 271); - if ( ! yy_is_jam ) - *yy_state_ptr++ = yy_current_state; - - return yy_is_jam ? 0 : yy_current_state; - } - - -#ifndef YY_NO_UNPUT -#ifdef YY_USE_PROTOS -static void yyunput( int c, register char *yy_bp ) -#else -static void yyunput( c, yy_bp ) -int c; -register char *yy_bp; -#endif - { - register char *yy_cp = yy_c_buf_p; - - /* undo effects of setting up yytext */ - *yy_cp = yy_hold_char; - - if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) - { /* need to shift things up to make room */ - /* +2 for EOB chars. */ - register int number_to_move = yy_n_chars + 2; - register char *dest = &yy_current_buffer->yy_ch_buf[ - yy_current_buffer->yy_buf_size + 2]; - register char *source = - &yy_current_buffer->yy_ch_buf[number_to_move]; - - while ( source > yy_current_buffer->yy_ch_buf ) - *--dest = *--source; - - yy_cp += (int) (dest - source); - yy_bp += (int) (dest - source); - yy_current_buffer->yy_n_chars = - yy_n_chars = yy_current_buffer->yy_buf_size; - - if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 ) - YY_FATAL_ERROR( "flex scanner push-back overflow" ); - } - - *--yy_cp = (char) c; - - if ( c == '\n' ) - --yylineno; - - yytext_ptr = yy_bp; - yy_hold_char = *yy_cp; - yy_c_buf_p = yy_cp; - } -#endif /* ifndef YY_NO_UNPUT */ - - -#ifdef __cplusplus -static int yyinput() -#else -static int input() -#endif - { - int c; - - *yy_c_buf_p = yy_hold_char; - - if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) - { - /* yy_c_buf_p now points to the character we want to return. - * If this occurs *before* the EOB characters, then it's a - * valid NUL; if not, then we've hit the end of the buffer. - */ - if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] ) - /* This was really a NUL. */ - *yy_c_buf_p = '\0'; - - else - { /* need more input */ - int offset = yy_c_buf_p - yytext_ptr; - ++yy_c_buf_p; - - switch ( yy_get_next_buffer() ) - { - case EOB_ACT_LAST_MATCH: - /* This happens because yy_g_n_b() - * sees that we've accumulated a - * token and flags that we need to - * try matching the token before - * proceeding. But for input(), - * there's no matching to consider. - * So convert the EOB_ACT_LAST_MATCH - * to EOB_ACT_END_OF_FILE. - */ - - /* Reset buffer status. */ - yyrestart( yyin ); - - /* fall through */ - - case EOB_ACT_END_OF_FILE: - { - if ( yywrap() ) - return EOF; - - if ( ! yy_did_buffer_switch_on_eof ) - YY_NEW_FILE; -#ifdef __cplusplus - return yyinput(); -#else - return input(); -#endif - } - - case EOB_ACT_CONTINUE_SCAN: - yy_c_buf_p = yytext_ptr + offset; - break; - } - } - } - - c = *(unsigned char *) yy_c_buf_p; /* cast for 8-bit char's */ - *yy_c_buf_p = '\0'; /* preserve yytext */ - yy_hold_char = *++yy_c_buf_p; - - if ( c == '\n' ) - ++yylineno; - - return c; - } - - -#ifdef YY_USE_PROTOS -void yyrestart( FILE *input_file ) -#else -void yyrestart( input_file ) -FILE *input_file; -#endif - { - if ( ! yy_current_buffer ) - yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE ); - - yy_init_buffer( yy_current_buffer, input_file ); - yy_load_buffer_state(); - } - - -#ifdef YY_USE_PROTOS -void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer ) -#else -void yy_switch_to_buffer( new_buffer ) -YY_BUFFER_STATE new_buffer; -#endif - { - if ( yy_current_buffer == new_buffer ) - return; - - if ( yy_current_buffer ) - { - /* Flush out information for old buffer. */ - *yy_c_buf_p = yy_hold_char; - yy_current_buffer->yy_buf_pos = yy_c_buf_p; - yy_current_buffer->yy_n_chars = yy_n_chars; - } - - yy_current_buffer = new_buffer; - yy_load_buffer_state(); - - /* We don't actually know whether we did this switch during - * EOF (yywrap()) processing, but the only time this flag - * is looked at is after yywrap() is called, so it's safe - * to go ahead and always set it. - */ - yy_did_buffer_switch_on_eof = 1; - } - - -#ifdef YY_USE_PROTOS -void yy_load_buffer_state( void ) -#else -void yy_load_buffer_state() -#endif - { - yy_n_chars = yy_current_buffer->yy_n_chars; - yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos; - yyin = yy_current_buffer->yy_input_file; - yy_hold_char = *yy_c_buf_p; - } - - -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_create_buffer( FILE *file, int size ) -#else -YY_BUFFER_STATE yy_create_buffer( file, size ) -FILE *file; -int size; -#endif - { - YY_BUFFER_STATE b; - - b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - - b->yy_buf_size = size; - - /* yy_ch_buf has to be 2 characters longer than the size given because - * we need to put in 2 end-of-buffer characters. - */ - b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 ); - if ( ! b->yy_ch_buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" ); - - b->yy_is_our_buffer = 1; - - yy_init_buffer( b, file ); - - return b; - } - - -#ifdef YY_USE_PROTOS -void yy_delete_buffer( YY_BUFFER_STATE b ) -#else -void yy_delete_buffer( b ) -YY_BUFFER_STATE b; -#endif - { - if ( ! b ) - return; - - if ( b == yy_current_buffer ) - yy_current_buffer = (YY_BUFFER_STATE) 0; - - if ( b->yy_is_our_buffer ) - yy_flex_free( (void *) b->yy_ch_buf ); - - yy_flex_free( (void *) b ); - } - - -#ifndef YY_ALWAYS_INTERACTIVE -#ifndef YY_NEVER_INTERACTIVE -extern int isatty YY_PROTO(( int )); -#endif -#endif - -#ifdef YY_USE_PROTOS -void yy_init_buffer( YY_BUFFER_STATE b, FILE *file ) -#else -void yy_init_buffer( b, file ) -YY_BUFFER_STATE b; -FILE *file; -#endif - - - { - yy_flush_buffer( b ); - - b->yy_input_file = file; - b->yy_fill_buffer = 1; - -#if YY_ALWAYS_INTERACTIVE - b->yy_is_interactive = 1; -#else -#if YY_NEVER_INTERACTIVE - b->yy_is_interactive = 0; -#else - b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; -#endif -#endif - } - - -#ifdef YY_USE_PROTOS -void yy_flush_buffer( YY_BUFFER_STATE b ) -#else -void yy_flush_buffer( b ) -YY_BUFFER_STATE b; -#endif - - { - if ( ! b ) - return; - - b->yy_n_chars = 0; - - /* We always need two end-of-buffer characters. The first causes - * a transition to the end-of-buffer state. The second causes - * a jam in that state. - */ - b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; - b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; - - b->yy_buf_pos = &b->yy_ch_buf[0]; - - b->yy_at_bol = 1; - b->yy_buffer_status = YY_BUFFER_NEW; - - if ( b == yy_current_buffer ) - yy_load_buffer_state(); - } - - -#ifndef YY_NO_SCAN_BUFFER -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_buffer( char *base, yy_size_t size ) -#else -YY_BUFFER_STATE yy_scan_buffer( base, size ) -char *base; -yy_size_t size; -#endif - { - YY_BUFFER_STATE b; - - if ( size < 2 || - base[size-2] != YY_END_OF_BUFFER_CHAR || - base[size-1] != YY_END_OF_BUFFER_CHAR ) - /* They forgot to leave room for the EOB's. */ - return 0; - - b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) ); - if ( ! b ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" ); - - b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ - b->yy_buf_pos = b->yy_ch_buf = base; - b->yy_is_our_buffer = 0; - b->yy_input_file = 0; - b->yy_n_chars = b->yy_buf_size; - b->yy_is_interactive = 0; - b->yy_at_bol = 1; - b->yy_fill_buffer = 0; - b->yy_buffer_status = YY_BUFFER_NEW; - - yy_switch_to_buffer( b ); - - return b; - } -#endif - - -#ifndef YY_NO_SCAN_STRING -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_string( yyconst char *yy_str ) -#else -YY_BUFFER_STATE yy_scan_string( yy_str ) -yyconst char *yy_str; -#endif - { - int len; - for ( len = 0; yy_str[len]; ++len ) - ; - - return yy_scan_bytes( yy_str, len ); - } -#endif - - -#ifndef YY_NO_SCAN_BYTES -#ifdef YY_USE_PROTOS -YY_BUFFER_STATE yy_scan_bytes( yyconst char *bytes, int len ) -#else -YY_BUFFER_STATE yy_scan_bytes( bytes, len ) -yyconst char *bytes; -int len; -#endif - { - YY_BUFFER_STATE b; - char *buf; - yy_size_t n; - int i; - - /* Get memory for full buffer, including space for trailing EOB's. */ - n = len + 2; - buf = (char *) yy_flex_alloc( n ); - if ( ! buf ) - YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" ); - - for ( i = 0; i < len; ++i ) - buf[i] = bytes[i]; - - buf[len] = buf[len+1] = YY_END_OF_BUFFER_CHAR; - - b = yy_scan_buffer( buf, n ); - if ( ! b ) - YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" ); - - /* It's okay to grow etc. this buffer, and we should throw it - * away when we're done. - */ - b->yy_is_our_buffer = 1; - - return b; - } -#endif - - -#ifndef YY_NO_PUSH_STATE -#ifdef YY_USE_PROTOS -static void yy_push_state( int new_state ) -#else -static void yy_push_state( new_state ) -int new_state; -#endif - { - if ( yy_start_stack_ptr >= yy_start_stack_depth ) - { - yy_size_t new_size; - - yy_start_stack_depth += YY_START_STACK_INCR; - new_size = yy_start_stack_depth * sizeof( int ); - - if ( ! yy_start_stack ) - yy_start_stack = (int *) yy_flex_alloc( new_size ); - - else - yy_start_stack = (int *) yy_flex_realloc( - (void *) yy_start_stack, new_size ); - - if ( ! yy_start_stack ) - YY_FATAL_ERROR( - "out of memory expanding start-condition stack" ); - } - - yy_start_stack[yy_start_stack_ptr++] = YY_START; - - BEGIN(new_state); - } -#endif - - -#ifndef YY_NO_POP_STATE -static void yy_pop_state() - { - if ( --yy_start_stack_ptr < 0 ) - YY_FATAL_ERROR( "start-condition stack underflow" ); - - BEGIN(yy_start_stack[yy_start_stack_ptr]); - } -#endif - - -#ifndef YY_NO_TOP_STATE -static int yy_top_state() - { - return yy_start_stack[yy_start_stack_ptr - 1]; - } -#endif - -#ifndef YY_EXIT_FAILURE -#define YY_EXIT_FAILURE 2 -#endif - -#ifdef YY_USE_PROTOS -static void yy_fatal_error( yyconst char msg[] ) -#else -static void yy_fatal_error( msg ) -char msg[]; -#endif - { - (void) fprintf( stderr, "%s\n", msg ); - exit( YY_EXIT_FAILURE ); - } - - - -/* Redefine yyless() so it works in section 3 code. */ - -#undef yyless -#define yyless(n) \ - do \ - { \ - /* Undo effects of setting up yytext. */ \ - yytext[yyleng] = yy_hold_char; \ - yy_c_buf_p = yytext + n; \ - yy_hold_char = *yy_c_buf_p; \ - *yy_c_buf_p = '\0'; \ - yyleng = n; \ - } \ - while ( 0 ) - - -/* Internal utility routines. */ - -#ifndef yytext_ptr -#ifdef YY_USE_PROTOS -static void yy_flex_strncpy( char *s1, yyconst char *s2, int n ) -#else -static void yy_flex_strncpy( s1, s2, n ) -char *s1; -yyconst char *s2; -int n; -#endif - { - register int i; - for ( i = 0; i < n; ++i ) - s1[i] = s2[i]; - } -#endif - -#ifdef YY_NEED_STRLEN -#ifdef YY_USE_PROTOS -static int yy_flex_strlen( yyconst char *s ) -#else -static int yy_flex_strlen( s ) -yyconst char *s; -#endif - { - register int n; - for ( n = 0; s[n]; ++n ) - ; - - return n; - } -#endif - - -#ifdef YY_USE_PROTOS -static void *yy_flex_alloc( yy_size_t size ) -#else -static void *yy_flex_alloc( size ) -yy_size_t size; -#endif - { - return (void *) malloc( size ); - } - -#ifdef YY_USE_PROTOS -static void *yy_flex_realloc( void *ptr, yy_size_t size ) -#else -static void *yy_flex_realloc( ptr, size ) -void *ptr; -yy_size_t size; -#endif - { - /* The cast to (char *) in the following accommodates both - * implementations that use char* generic pointers, and those - * that use void* generic pointers. It works with the latter - * because both ANSI C and C++ allow castless assignment from - * any pointer type to void*, and deal with argument conversions - * as though doing an assignment. - */ - return (void *) realloc( (char *) ptr, size ); - } - -#ifdef YY_USE_PROTOS -static void yy_flex_free( void *ptr ) -#else -static void yy_flex_free( ptr ) -void *ptr; -#endif - { - free( ptr ); - } - -#if YY_MAIN -int main() - { - yylex(); - return 0; - } -#endif -#line 709 "pgc.l" - -void -lex_init(void) -{ - braces_open = 0; - BEGIN C; -} - -int yywrap(void) -{ - return 1; -} diff --git a/src/interfaces/ecpg/preproc/preproc.c b/src/interfaces/ecpg/preproc/preproc.c deleted file mode 100644 index 5b56ae8..0000000 --- a/src/interfaces/ecpg/preproc/preproc.c +++ /dev/null @@ -1,16988 +0,0 @@ - -/* A Bison parser, made from preproc.y - by GNU Bison version 1.25 - */ - -#define YYBISON 1 /* Identify Bison output. */ - -#define SQL_AT 258 -#define SQL_AUTOCOMMIT 259 -#define SQL_BOOL 260 -#define SQL_BREAK 261 -#define SQL_CALL 262 -#define SQL_CONNECT 263 -#define SQL_CONNECTION 264 -#define SQL_CONTINUE 265 -#define SQL_DEALLOCATE 266 -#define SQL_DISCONNECT 267 -#define SQL_ENUM 268 -#define SQL_FOUND 269 -#define SQL_FREE 270 -#define SQL_GO 271 -#define SQL_GOTO 272 -#define SQL_IDENTIFIED 273 -#define SQL_IMMEDIATE 274 -#define SQL_INDICATOR 275 -#define SQL_INT 276 -#define SQL_LONG 277 -#define SQL_OFF 278 -#define SQL_OPEN 279 -#define SQL_PREPARE 280 -#define SQL_RELEASE 281 -#define SQL_REFERENCE 282 -#define SQL_SECTION 283 -#define SQL_SHORT 284 -#define SQL_SIGNED 285 -#define SQL_SQLERROR 286 -#define SQL_SQLPRINT 287 -#define SQL_SQLWARNING 288 -#define SQL_START 289 -#define SQL_STOP 290 -#define SQL_STRUCT 291 -#define SQL_UNSIGNED 292 -#define SQL_VAR 293 -#define SQL_WHENEVER 294 -#define S_ANYTHING 295 -#define S_AUTO 296 -#define S_BOOL 297 -#define S_CHAR 298 -#define S_CONST 299 -#define S_DOUBLE 300 -#define S_ENUM 301 -#define S_EXTERN 302 -#define S_FLOAT 303 -#define S_INT 304 -#define S 305 -#define S_LONG 306 -#define S_REGISTER 307 -#define S_SHORT 308 -#define S_SIGNED 309 -#define S_STATIC 310 -#define S_STRUCT 311 -#define S_UNION 312 -#define S_UNSIGNED 313 -#define S_VARCHAR 314 -#define TYPECAST 315 -#define ABSOLUTE 316 -#define ACTION 317 -#define ADD 318 -#define ALL 319 -#define ALTER 320 -#define AND 321 -#define ANY 322 -#define AS 323 -#define ASC 324 -#define BEGIN_TRANS 325 -#define BETWEEN 326 -#define BOTH 327 -#define BY 328 -#define CASCADE 329 -#define CASE 330 -#define CAST 331 -#define CHAR 332 -#define CHARACTER 333 -#define CHECK 334 -#define CLOSE 335 -#define COALESCE 336 -#define COLLATE 337 -#define COLUMN 338 -#define COMMIT 339 -#define CONSTRAINT 340 -#define CREATE 341 -#define CROSS 342 -#define CURRENT 343 -#define CURRENT_DATE 344 -#define CURRENT_TIME 345 -#define CURRENT_TIMESTAMP 346 -#define CURRENT_USER 347 -#define CURSOR 348 -#define DAY_P 349 -#define DECIMAL 350 -#define DECLARE 351 -#define DEFAULT 352 -#define DELETE 353 -#define DESC 354 -#define DISTINCT 355 -#define DOUBLE 356 -#define DROP 357 -#define ELSE 358 -#define END_TRANS 359 -#define EXCEPT 360 -#define EXECUTE 361 -#define EXISTS 362 -#define EXTRACT 363 -#define FALSE_P 364 -#define FETCH 365 -#define FLOAT 366 -#define FOR 367 -#define FOREIGN 368 -#define FROM 369 -#define FULL 370 -#define GLOBAL 371 -#define GRANT 372 -#define GROUP 373 -#define HAVING 374 -#define HOUR_P 375 -#define IN 376 -#define INNER_P 377 -#define INSENSITIVE 378 -#define INSERT 379 -#define INTERSECT 380 -#define INTERVAL 381 -#define INTO 382 -#define IS 383 -#define ISOLATION 384 -#define JOIN 385 -#define KEY 386 -#define LANGUAGE 387 -#define LEADING 388 -#define LEFT 389 -#define LEVEL 390 -#define LIKE 391 -#define LOCAL 392 -#define MATCH 393 -#define MINUTE_P 394 -#define MONTH_P 395 -#define NAMES 396 -#define NATIONAL 397 -#define NATURAL 398 -#define NCHAR 399 -#define NEXT 400 -#define NO 401 -#define NOT 402 -#define NULLIF 403 -#define NULL_P 404 -#define NUMERIC 405 -#define OF 406 -#define ON 407 -#define ONLY 408 -#define OPTION 409 -#define OR 410 -#define ORDER 411 -#define OUTER_P 412 -#define PARTIAL 413 -#define POSITION 414 -#define PRECISION 415 -#define PRIMARY 416 -#define PRIOR 417 -#define PRIVILEGES 418 -#define PROCEDURE 419 -#define PUBLIC 420 -#define READ 421 -#define REFERENCES 422 -#define RELATIVE 423 -#define REVOKE 424 -#define RIGHT 425 -#define ROLLBACK 426 -#define SCROLL 427 -#define SECOND_P 428 -#define SELECT 429 -#define SET 430 -#define SUBSTRING 431 -#define TABLE 432 -#define TEMP 433 -#define TEMPORARY 434 -#define THEN 435 -#define TIME 436 -#define TIMESTAMP 437 -#define TIMEZONE_HOUR 438 -#define TIMEZONE_MINUTE 439 -#define TO 440 -#define TRAILING 441 -#define TRANSACTION 442 -#define TRIM 443 -#define TRUE_P 444 -#define UNION 445 -#define UNIQUE 446 -#define UPDATE 447 -#define USER 448 -#define USING 449 -#define VALUES 450 -#define VARCHAR 451 -#define VARYING 452 -#define VIEW 453 -#define WHEN 454 -#define WHERE 455 -#define WITH 456 -#define WORK 457 -#define YEAR_P 458 -#define ZONE 459 -#define TRIGGER 460 -#define COMMITTED 461 -#define SERIALIZABLE 462 -#define TYPE_P 463 -#define ABORT_TRANS 464 -#define ACCESS 465 -#define AFTER 466 -#define AGGREGATE 467 -#define ANALYZE 468 -#define BACKWARD 469 -#define BEFORE 470 -#define BINARY 471 -#define CACHE 472 -#define CLUSTER 473 -#define COPY 474 -#define CREATEDB 475 -#define CREATEUSER 476 -#define CYCLE 477 -#define DATABASE 478 -#define DELIMITERS 479 -#define DO 480 -#define EACH 481 -#define ENCODING 482 -#define EXCLUSIVE 483 -#define EXPLAIN 484 -#define EXTEND 485 -#define FORWARD 486 -#define FUNCTION 487 -#define HANDLER 488 -#define INCREMENT 489 -#define INDEX 490 -#define INHERITS 491 -#define INSTEAD 492 -#define ISNULL 493 -#define LANCOMPILER 494 -#define LIMIT 495 -#define LISTEN 496 -#define UNLISTEN 497 -#define LOAD 498 -#define LOCATION 499 -#define LOCK_P 500 -#define MAXVALUE 501 -#define MINVALUE 502 -#define MODE 503 -#define MOVE 504 -#define NEW 505 -#define NOCREATEDB 506 -#define NOCREATEUSER 507 -#define NONE 508 -#define NOTHING 509 -#define NOTIFY 510 -#define NOTNULL 511 -#define OFFSET 512 -#define OIDS 513 -#define OPERATOR 514 -#define PASSWORD 515 -#define PROCEDURAL 516 -#define RENAME 517 -#define RESET 518 -#define RETURNS 519 -#define ROW 520 -#define RULE 521 -#define SERIAL 522 -#define SEQUENCE 523 -#define SETOF 524 -#define SHARE 525 -#define SHOW 526 -#define START 527 -#define STATEMENT 528 -#define STDIN 529 -#define STDOUT 530 -#define TRUSTED 531 -#define UNTIL 532 -#define VACUUM 533 -#define VALID 534 -#define VERBOSE 535 -#define VERSION 536 -#define IDENT 537 -#define SCONST 538 -#define Op 539 -#define CSTRING 540 -#define CVARIABLE 541 -#define CPP_LINE 542 -#define ICONST 543 -#define PARAM 544 -#define FCONST 545 -#define OP 546 -#define UMINUS 547 - -#line 2 "preproc.y" - -#include -#include -#include -#include "catalog/catname.h" -#include "utils/numeric.h" - -#include "extern.h" - -#ifdef MULTIBYTE -#include "mb/pg_wchar.h" -#endif - -#define STRUCT_DEPTH 128 - -/* - * Variables containing simple states. - */ -int struct_level = 0; -char errortext[128]; -static char *connection = NULL; -static int QueryIsRule = 0, ForUpdateNotAllowed = 0; -static struct this_type actual_type[STRUCT_DEPTH]; -static char *actual_storage[STRUCT_DEPTH]; - -/* temporarily store struct members while creating the data structure */ -struct ECPGstruct_member *struct_member_list[STRUCT_DEPTH] = { NULL }; - -struct ECPGtype ecpg_no_indicator = {ECPGt_NO_INDICATOR, 0L, {NULL}}; -struct variable no_indicator = {"no_indicator", &ecpg_no_indicator, 0, NULL}; - -struct ECPGtype ecpg_query = {ECPGt_char_variable, 0L, {NULL}}; - -/* - * Handle the filename and line numbering. - */ -char * input_filename = NULL; - -void -output_line_number() -{ - if (input_filename) - fprintf(yyout, "\n#line %d \"%s\"\n", yylineno + 1, input_filename); -} - -static void -output_simple_statement(char *cmd) -{ - fputs(cmd, yyout); - output_line_number(); - free(cmd); -} - -/* - * store the whenever action here - */ -static struct when when_error, when_nf, when_warn; - -static void -print_action(struct when *w) -{ - switch (w->code) - { - case W_SQLPRINT: fprintf(yyout, "sqlprint();"); - break; - case W_GOTO: fprintf(yyout, "goto %s;", w->command); - break; - case W_DO: fprintf(yyout, "%s;", w->command); - break; - case W_STOP: fprintf(yyout, "exit (1);"); - break; - case W_BREAK: fprintf(yyout, "break;"); - break; - default: fprintf(yyout, "{/* %d not implemented yet */}", w->code); - break; - } -} - -static void -whenever_action(int mode) -{ - if ((mode&1) == 1 && when_nf.code != W_NOTHING) - { - output_line_number(); - fprintf(yyout, "\nif (sqlca.sqlcode == ECPG_NOT_FOUND) "); - print_action(&when_nf); - } - if (when_warn.code != W_NOTHING) - { - output_line_number(); - fprintf(yyout, "\nif (sqlca.sqlwarn[0] == 'W') "); - print_action(&when_warn); - } - if (when_error.code != W_NOTHING) - { - output_line_number(); - fprintf(yyout, "\nif (sqlca.sqlcode < 0) "); - print_action(&when_error); - } - if ((mode&2) == 2) - fputc('}', yyout); - output_line_number(); -} - -/* - * Handling of variables. - */ - -/* - * brace level counter - */ -int braces_open; - -static struct variable * allvariables = NULL; - -static struct variable * -new_variable(const char * name, struct ECPGtype * type) -{ - struct variable * p = (struct variable*) mm_alloc(sizeof(struct variable)); - - p->name = mm_strdup(name); - p->type = type; - p->brace_level = braces_open; - - p->next = allvariables; - allvariables = p; - - return(p); -} - -static struct variable * find_variable(char * name); - -static struct variable * -find_struct_member(char *name, char *str, struct ECPGstruct_member *members) -{ - char *next = strchr(++str, '.'), c = '\0'; - - if (next != NULL) - { - c = *next; - *next = '\0'; - } - - for (; members; members = members->next) - { - if (strcmp(members->name, str) == 0) - { - if (c == '\0') - { - /* found the end */ - switch (members->typ->typ) - { - case ECPGt_array: - return(new_variable(name, ECPGmake_array_type(members->typ->u.element, members->typ->size))); - case ECPGt_struct: - case ECPGt_union: - return(new_variable(name, ECPGmake_struct_type(members->typ->u.members, members->typ->typ))); - default: - return(new_variable(name, ECPGmake_simple_type(members->typ->typ, members->typ->size))); - } - } - else - { - *next = c; - if (c == '-') - { - next++; - return(find_struct_member(name, next, members->typ->u.element->u.members)); - } - else return(find_struct_member(name, next, members->typ->u.members)); - } - } - } - - return(NULL); -} - -static struct variable * -find_struct(char * name, char *next) -{ - struct variable * p; - char c = *next; - - /* first get the mother structure entry */ - *next = '\0'; - p = find_variable(name); - - if (c == '-') - { - if (p->type->typ != ECPGt_struct && p->type->typ != ECPGt_union) - { - sprintf(errortext, "variable %s is not a pointer", name); - yyerror (errortext); - } - - if (p->type->u.element->typ != ECPGt_struct && p->type->u.element->typ != ECPGt_union) - { - sprintf(errortext, "variable %s is not a pointer to a structure or a union", name); - yyerror (errortext); - } - - /* restore the name, we will need it later on */ - *next = c; - next++; - - return find_struct_member(name, next, p->type->u.element->u.members); - } - else - { - if (p->type->typ != ECPGt_struct && p->type->typ != ECPGt_union) - { - sprintf(errortext, "variable %s is neither a structure nor a union", name); - yyerror (errortext); - } - - /* restore the name, we will need it later on */ - *next = c; - - return find_struct_member(name, next, p->type->u.members); - } -} - -static struct variable * -find_simple(char * name) -{ - struct variable * p; - - for (p = allvariables; p; p = p->next) - { - if (strcmp(p->name, name) == 0) - return p; - } - - return(NULL); -} - -/* Note that this function will end the program in case of an unknown */ -/* variable */ -static struct variable * -find_variable(char * name) -{ - char * next; - struct variable * p; - - if ((next = strchr(name, '.')) != NULL) - p = find_struct(name, next); - else if ((next = strstr(name, "->")) != NULL) - p = find_struct(name, next); - else - p = find_simple(name); - - if (p == NULL) - { - sprintf(errortext, "The variable %s is not declared", name); - yyerror(errortext); - } - - return(p); -} - -static void -remove_variables(int brace_level) -{ - struct variable * p, *prev; - - for (p = prev = allvariables; p; p = p ? p->next : NULL) - { - if (p->brace_level >= brace_level) - { - /* remove it */ - if (p == allvariables) - prev = allvariables = p->next; - else - prev->next = p->next; - - ECPGfree_type(p->type); - free(p->name); - free(p); - p = prev; - } - else - prev = p; - } -} - - -/* - * Here are the variables that need to be handled on every request. - * These are of two kinds: input and output. - * I will make two lists for them. - */ - -struct arguments * argsinsert = NULL; -struct arguments * argsresult = NULL; - -static void -reset_variables(void) -{ - argsinsert = NULL; - argsresult = NULL; -} - - -/* Add a variable to a request. */ -static void -add_variable(struct arguments ** list, struct variable * var, struct variable * ind) -{ - struct arguments * p = (struct arguments *)mm_alloc(sizeof(struct arguments)); - p->variable = var; - p->indicator = ind; - p->next = *list; - *list = p; -} - - -/* Dump out a list of all the variable on this list. - This is a recursive function that works from the end of the list and - deletes the list as we go on. - */ -static void -dump_variables(struct arguments * list, int mode) -{ - if (list == NULL) - { - return; - } - - /* The list is build up from the beginning so lets first dump the - end of the list: - */ - - dump_variables(list->next, mode); - - /* Then the current element and its indicator */ - ECPGdump_a_type(yyout, list->variable->name, list->variable->type, - (list->indicator->type->typ != ECPGt_NO_INDICATOR) ? list->indicator->name : NULL, - (list->indicator->type->typ != ECPGt_NO_INDICATOR) ? list->indicator->type : NULL, NULL, NULL); - - /* Then release the list element. */ - if (mode != 0) - free(list); -} - -static void -check_indicator(struct ECPGtype *var) -{ - /* make sure this is a valid indicator variable */ - switch (var->typ) - { - struct ECPGstruct_member *p; - - case ECPGt_short: - case ECPGt_int: - case ECPGt_long: - case ECPGt_unsigned_short: - case ECPGt_unsigned_int: - case ECPGt_unsigned_long: - break; - - case ECPGt_struct: - case ECPGt_union: - for (p = var->u.members; p; p = p->next) - check_indicator(p->typ); - break; - - case ECPGt_array: - check_indicator(var->u.element); - break; - default: - yyerror ("indicator variable must be integer type"); - break; - } -} - -static char * -make1_str(const char *str) -{ - char * res_str = (char *)mm_alloc(strlen(str) + 1); - - strcpy(res_str, str); - return res_str; -} - -static char * -make2_str(char *str1, char *str2) -{ - char * res_str = (char *)mm_alloc(strlen(str1) + strlen(str2) + 1); - - strcpy(res_str, str1); - strcat(res_str, str2); - free(str1); - free(str2); - return(res_str); -} - -static char * -cat2_str(char *str1, char *str2) -{ - char * res_str = (char *)mm_alloc(strlen(str1) + strlen(str2) + 2); - - strcpy(res_str, str1); - strcat(res_str, " "); - strcat(res_str, str2); - free(str1); - free(str2); - return(res_str); -} - -static char * -make3_str(char *str1, char *str2, char * str3) -{ - char * res_str = (char *)mm_alloc(strlen(str1) + strlen(str2) + strlen(str3) + 1); - - strcpy(res_str, str1); - strcat(res_str, str2); - strcat(res_str, str3); - free(str1); - free(str2); - free(str3); - return(res_str); -} - -static char * -cat3_str(char *str1, char *str2, char * str3) -{ - char * res_str = (char *)mm_alloc(strlen(str1) + strlen(str2) + strlen(str3) + 3); - - strcpy(res_str, str1); - strcat(res_str, " "); - strcat(res_str, str2); - strcat(res_str, " "); - strcat(res_str, str3); - free(str1); - free(str2); - free(str3); - return(res_str); -} - -static char * -make4_str(char *str1, char *str2, char *str3, char *str4) -{ - char * res_str = (char *)mm_alloc(strlen(str1) + strlen(str2) + strlen(str3) + strlen(str4) + 1); - - strcpy(res_str, str1); - strcat(res_str, str2); - strcat(res_str, str3); - strcat(res_str, str4); - free(str1); - free(str2); - free(str3); - free(str4); - return(res_str); -} - -static char * -cat4_str(char *str1, char *str2, char *str3, char *str4) -{ - char * res_str = (char *)mm_alloc(strlen(str1) + strlen(str2) + strlen(str3) + strlen(str4) + 4); - - strcpy(res_str, str1); - strcat(res_str, " "); - strcat(res_str, str2); - strcat(res_str, " "); - strcat(res_str, str3); - strcat(res_str, " "); - strcat(res_str, str4); - free(str1); - free(str2); - free(str3); - free(str4); - return(res_str); -} - -static char * -make5_str(char *str1, char *str2, char *str3, char *str4, char *str5) -{ - char * res_str = (char *)mm_alloc(strlen(str1) + strlen(str2) + strlen(str3) + strlen(str4) + strlen(str5) + 1); - - strcpy(res_str, str1); - strcat(res_str, str2); - strcat(res_str, str3); - strcat(res_str, str4); - strcat(res_str, str5); - free(str1); - free(str2); - free(str3); - free(str4); - free(str5); - return(res_str); -} - -static char * -cat5_str(char *str1, char *str2, char *str3, char *str4, char *str5) -{ - char * res_str = (char *)mm_alloc(strlen(str1) + strlen(str2) + strlen(str3) + strlen(str4) + strlen(str5) + 5); - - strcpy(res_str, str1); - strcat(res_str, " "); - strcat(res_str, str2); - strcat(res_str, " "); - strcat(res_str, str3); - strcat(res_str, " "); - strcat(res_str, str4); - strcat(res_str, " "); - strcat(res_str, str5); - free(str1); - free(str2); - free(str3); - free(str4); - free(str5); - return(res_str); -} - -static char * -make_name(void) -{ - char * name = (char *)mm_alloc(yyleng + 1); - - strncpy(name, yytext, yyleng); - name[yyleng] = '\0'; - return(name); -} - -static void -output_statement(char * stmt, int mode) -{ - int i, j=strlen(stmt); - - fprintf(yyout, "{ ECPGdo(__LINE__, %s, \"", connection ? connection : "NULL"); - - /* do this char by char as we have to filter '\"' */ - for (i = 0;i < j; i++) - if (stmt[i] != '\"') - fputc(stmt[i], yyout); - fputs("\", ", yyout); - - /* dump variables to C file*/ - dump_variables(argsinsert, 1); - fputs("ECPGt_EOIT, ", yyout); - dump_variables(argsresult, 1); - fputs("ECPGt_EORT);", yyout); - mode |= 2; - whenever_action(mode); - free(stmt); - if (connection != NULL) - free(connection); -} - -static struct typedefs * -get_typedef(char *name) -{ - struct typedefs *this; - - for (this = types; this && strcmp(this->name, name); this = this->next); - if (!this) - { - sprintf(errortext, "invalid datatype '%s'", name); - yyerror(errortext); - } - - return(this); -} - -static void -adjust_array(enum ECPGttype type_enum, int *dimension, int *length, int type_dimension, int type_index, bool pointer) -{ - if (type_index >= 0) - { - if (*length >= 0) - yyerror("No multi-dimensional array support"); - - *length = type_index; - } - - if (type_dimension >= 0) - { - if (*dimension >= 0 && *length >= 0) - yyerror("No multi-dimensional array support"); - - if (*dimension >= 0) - *length = *dimension; - - *dimension = type_dimension; - } - - if (*length >= 0 && *dimension >= 0 && pointer) - yyerror("No multi-dimensional array support"); - - switch (type_enum) - { - case ECPGt_struct: - case ECPGt_union: - /* pointer has to get dimension 0 */ - if (pointer) - { - *length = *dimension; - *dimension = 0; - } - - if (*length >= 0) - yyerror("No multi-dimensional array support for structures"); - - break; - case ECPGt_varchar: - /* pointer has to get dimension 0 */ - if (pointer) - *dimension = 0; - - /* one index is the string length */ - if (*length < 0) - { - *length = *dimension; - *dimension = -1; - } - - break; - case ECPGt_char: - case ECPGt_unsigned_char: - /* pointer has to get length 0 */ - if (pointer) - *length=0; - - /* one index is the string length */ - if (*length < 0) - { - *length = (*dimension < 0) ? 1 : *dimension; - *dimension = -1; - } - - break; - default: - /* a pointer has dimension = 0 */ - if (pointer) { - *length = *dimension; - *dimension = 0; - } - - if (*length >= 0) - yyerror("No multi-dimensional array support for simple data types"); - - break; - } -} - - -#line 648 "preproc.y" -typedef union { - double dval; - int ival; - char * str; - struct when action; - struct index index; - int tagname; - struct this_type type; - enum ECPGttype type_enum; -} YYSTYPE; -#include - -#ifndef __cplusplus -#ifndef __STDC__ -#define const -#endif -#endif - - - -#define YYFINAL 2494 -#define YYFLAG -32768 -#define YYNTBASE 313 - -#define YYTRANSLATE(x) ((unsigned)(x) <= 548 ? yytranslate[x] : 683) - -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, 2, 2, 2, 2, 299, 2, 2, 308, - 309, 297, 295, 307, 296, 304, 298, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 301, 302, 293, - 292, 294, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 305, 2, 306, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 310, 300, 311, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, - 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, - 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, - 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, - 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, - 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, - 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, - 176, 177, 178, 179, 180, 181, 182, 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, 208, 209, 210, 211, 212, 213, 214, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, - 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, - 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, - 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, - 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, - 286, 287, 288, 289, 290, 291, 303, 312 -}; - -#if YYDEBUG != 0 -static const short yyprhs[] = { 0, - 0, 2, 3, 6, 11, 15, 17, 19, 21, 23, - 25, 28, 30, 32, 34, 36, 38, 40, 42, 44, - 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, - 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, - 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, - 106, 108, 110, 112, 114, 116, 118, 120, 122, 124, - 126, 128, 130, 132, 134, 136, 138, 140, 142, 151, - 160, 164, 168, 169, 171, 173, 174, 176, 178, 179, - 183, 185, 189, 190, 194, 195, 200, 205, 210, 216, - 220, 223, 225, 227, 229, 231, 233, 235, 238, 242, - 247, 250, 254, 259, 265, 269, 274, 278, 285, 291, - 294, 297, 305, 307, 309, 311, 313, 315, 317, 318, - 321, 322, 326, 327, 336, 338, 341, 343, 345, 346, - 348, 350, 354, 356, 357, 359, 361, 365, 369, 371, - 372, 375, 377, 380, 381, 385, 387, 392, 395, 398, - 401, 403, 406, 412, 416, 418, 420, 423, 427, 431, - 435, 439, 443, 447, 451, 455, 458, 461, 465, 472, - 476, 480, 485, 489, 492, 495, 497, 499, 504, 506, - 511, 513, 515, 519, 521, 526, 531, 537, 548, 552, - 554, 556, 558, 560, 563, 567, 571, 575, 579, 583, - 587, 591, 595, 598, 601, 605, 612, 616, 620, 625, - 629, 633, 638, 642, 646, 649, 652, 655, 658, 662, - 665, 670, 674, 678, 683, 688, 694, 701, 707, 714, - 718, 720, 722, 725, 728, 729, 732, 734, 735, 739, - 743, 746, 748, 751, 754, 759, 760, 768, 772, 773, - 777, 779, 781, 786, 789, 790, 793, 795, 798, 801, - 804, 807, 809, 811, 813, 816, 818, 821, 831, 833, - 834, 839, 854, 856, 858, 860, 864, 870, 872, 874, - 876, 880, 882, 883, 885, 887, 889, 893, 894, 896, - 898, 900, 902, 908, 912, 915, 917, 919, 921, 923, - 925, 927, 929, 931, 935, 937, 941, 945, 947, 951, - 953, 955, 957, 959, 962, 966, 970, 977, 982, 984, - 986, 988, 990, 991, 993, 996, 998, 1000, 1002, 1003, - 1006, 1009, 1010, 1018, 1021, 1023, 1025, 1027, 1031, 1033, - 1035, 1037, 1039, 1041, 1043, 1046, 1048, 1052, 1053, 1060, - 1072, 1074, 1075, 1078, 1079, 1081, 1083, 1087, 1089, 1096, - 1100, 1103, 1106, 1107, 1109, 1112, 1113, 1118, 1130, 1133, - 1134, 1138, 1141, 1143, 1147, 1150, 1152, 1153, 1157, 1159, - 1161, 1163, 1165, 1170, 1172, 1174, 1179, 1186, 1188, 1190, - 1192, 1194, 1196, 1198, 1200, 1202, 1204, 1206, 1208, 1212, - 1216, 1220, 1230, 1232, 1233, 1235, 1236, 1237, 1251, 1253, - 1255, 1257, 1261, 1265, 1267, 1269, 1272, 1276, 1279, 1281, - 1283, 1285, 1287, 1291, 1293, 1295, 1297, 1299, 1301, 1303, - 1304, 1307, 1310, 1313, 1316, 1319, 1322, 1325, 1328, 1331, - 1333, 1335, 1336, 1342, 1345, 1352, 1356, 1360, 1361, 1365, - 1366, 1368, 1370, 1371, 1373, 1375, 1376, 1380, 1385, 1389, - 1395, 1397, 1398, 1400, 1401, 1405, 1406, 1408, 1412, 1416, - 1418, 1420, 1422, 1424, 1426, 1428, 1433, 1438, 1441, 1443, - 1451, 1456, 1460, 1461, 1465, 1467, 1470, 1475, 1480, 1484, - 1485, 1489, 1492, 1495, 1497, 1499, 1501, 1508, 1509, 1517, - 1519, 1521, 1523, 1526, 1527, 1532, 1536, 1538, 1542, 1547, - 1552, 1561, 1566, 1569, 1570, 1572, 1573, 1575, 1576, 1578, - 1582, 1584, 1585, 1589, 1590, 1592, 1596, 1599, 1602, 1605, - 1608, 1610, 1612, 1613, 1618, 1623, 1626, 1631, 1634, 1635, - 1637, 1639, 1641, 1643, 1645, 1647, 1648, 1650, 1652, 1656, - 1660, 1661, 1664, 1665, 1669, 1673, 1674, 1677, 1678, 1681, - 1682, 1686, 1688, 1690, 1694, 1696, 1700, 1703, 1705, 1707, - 1712, 1715, 1718, 1720, 1725, 1730, 1734, 1737, 1740, 1743, - 1745, 1747, 1748, 1750, 1751, 1756, 1759, 1763, 1765, 1767, - 1770, 1771, 1773, 1776, 1780, 1785, 1786, 1790, 1795, 1796, - 1798, 1802, 1806, 1810, 1814, 1818, 1822, 1825, 1828, 1830, - 1832, 1834, 1836, 1838, 1840, 1842, 1844, 1846, 1848, 1850, - 1852, 1854, 1856, 1858, 1860, 1862, 1864, 1866, 1868, 1870, - 1872, 1874, 1876, 1878, 1880, 1882, 1884, 1886, 1888, 1890, - 1892, 1894, 1896, 1898, 1900, 1902, 1904, 1906, 1908, 1911, - 1914, 1917, 1920, 1922, 1925, 1927, 1929, 1933, 1934, 1940, - 1944, 1945, 1951, 1955, 1956, 1961, 1963, 1968, 1971, 1973, - 1977, 1980, 1982, 1983, 1987, 1988, 1991, 1992, 1994, 1997, - 1999, 2002, 2004, 2006, 2008, 2010, 2012, 2014, 2018, 2019, - 2021, 2025, 2029, 2033, 2037, 2041, 2045, 2049, 2050, 2052, - 2054, 2062, 2071, 2080, 2088, 2096, 2100, 2102, 2104, 2106, - 2108, 2110, 2112, 2114, 2116, 2118, 2120, 2122, 2126, 2128, - 2131, 2133, 2135, 2137, 2140, 2143, 2146, 2150, 2154, 2158, - 2162, 2166, 2170, 2174, 2178, 2182, 2186, 2189, 2192, 2196, - 2203, 2207, 2211, 2215, 2220, 2223, 2226, 2231, 2235, 2240, - 2242, 2244, 2249, 2251, 2256, 2258, 2260, 2265, 2270, 2275, - 2280, 2286, 2292, 2298, 2303, 2306, 2310, 2313, 2318, 2322, - 2327, 2331, 2336, 2342, 2349, 2355, 2362, 2368, 2374, 2380, - 2386, 2392, 2398, 2404, 2410, 2416, 2423, 2430, 2437, 2444, - 2451, 2458, 2465, 2472, 2479, 2486, 2493, 2500, 2507, 2514, - 2521, 2528, 2535, 2542, 2546, 2550, 2553, 2555, 2557, 2560, - 2562, 2564, 2567, 2570, 2573, 2577, 2581, 2585, 2589, 2593, - 2596, 2599, 2603, 2610, 2614, 2618, 2621, 2624, 2628, 2633, - 2635, 2637, 2642, 2644, 2649, 2651, 2653, 2658, 2663, 2669, - 2675, 2681, 2686, 2688, 2693, 2700, 2701, 2703, 2707, 2711, - 2715, 2716, 2718, 2720, 2722, 2724, 2728, 2729, 2732, 2734, - 2737, 2741, 2745, 2749, 2753, 2757, 2760, 2764, 2771, 2775, - 2779, 2782, 2785, 2787, 2791, 2796, 2801, 2806, 2812, 2818, - 2824, 2829, 2833, 2834, 2837, 2838, 2841, 2842, 2846, 2849, - 2851, 2853, 2855, 2857, 2861, 2863, 2865, 2867, 2871, 2877, - 2884, 2889, 2892, 2894, 2899, 2902, 2903, 2906, 2908, 2909, - 2913, 2917, 2919, 2923, 2927, 2931, 2933, 2935, 2940, 2943, - 2947, 2951, 2953, 2957, 2959, 2963, 2965, 2967, 2968, 2970, - 2972, 2974, 2976, 2978, 2980, 2982, 2984, 2986, 2988, 2990, - 2992, 2994, 2997, 2999, 3001, 3003, 3006, 3008, 3010, 3012, - 3014, 3016, 3018, 3020, 3022, 3024, 3026, 3028, 3030, 3032, - 3034, 3036, 3038, 3040, 3042, 3044, 3046, 3048, 3050, 3052, - 3054, 3056, 3058, 3060, 3062, 3064, 3066, 3068, 3070, 3072, - 3074, 3076, 3078, 3080, 3082, 3084, 3086, 3088, 3090, 3092, - 3094, 3096, 3098, 3100, 3102, 3104, 3106, 3108, 3110, 3112, - 3114, 3116, 3118, 3120, 3122, 3124, 3126, 3128, 3130, 3132, - 3134, 3136, 3138, 3140, 3142, 3144, 3146, 3148, 3150, 3152, - 3154, 3156, 3158, 3160, 3162, 3164, 3166, 3168, 3170, 3172, - 3174, 3176, 3178, 3180, 3182, 3184, 3186, 3188, 3190, 3192, - 3194, 3196, 3198, 3200, 3202, 3204, 3206, 3208, 3210, 3212, - 3214, 3216, 3218, 3220, 3222, 3224, 3226, 3228, 3230, 3232, - 3234, 3236, 3238, 3240, 3242, 3244, 3246, 3248, 3250, 3252, - 3254, 3256, 3258, 3260, 3262, 3264, 3266, 3268, 3270, 3272, - 3274, 3276, 3278, 3280, 3282, 3284, 3286, 3288, 3290, 3292, - 3294, 3296, 3298, 3300, 3302, 3304, 3306, 3308, 3310, 3312, - 3314, 3320, 3324, 3327, 3331, 3338, 3340, 3342, 3345, 3348, - 3350, 3351, 3353, 3357, 3360, 3361, 3364, 3365, 3368, 3369, - 3371, 3375, 3380, 3384, 3386, 3388, 3390, 3392, 3395, 3396, - 3403, 3407, 3408, 3413, 3419, 3425, 3426, 3429, 3430, 3431, - 3438, 3440, 3442, 3444, 3446, 3448, 3450, 3451, 3453, 3455, - 3457, 3459, 3461, 3463, 3468, 3471, 3476, 3481, 3484, 3487, - 3488, 3490, 3492, 3495, 3497, 3500, 3502, 3505, 3507, 3509, - 3511, 3513, 3516, 3518, 3520, 3524, 3529, 3530, 3533, 3534, - 3536, 3540, 3543, 3545, 3547, 3549, 3550, 3552, 3554, 3558, - 3559, 3564, 3566, 3568, 3571, 3575, 3576, 3579, 3581, 3585, - 3590, 3593, 3598, 3600, 3602, 3604, 3606, 3611, 3618, 3622, - 3626, 3631, 3636, 3637, 3641, 3645, 3650, 3655, 3656, 3658, - 3659, 3661, 3663, 3665, 3667, 3670, 3672, 3675, 3678, 3680, - 3683, 3686, 3689, 3690, 3696, 3697, 3703, 3705, 3707, 3708, - 3709, 3712, 3713, 3718, 3720, 3724, 3728, 3735, 3739, 3744, - 3748, 3750, 3752, 3754, 3757, 3761, 3767, 3770, 3776, 3779, - 3781, 3783, 3785, 3788, 3791, 3794, 3798, 3802, 3806, 3810, - 3814, 3818, 3822, 3826, 3830, 3834, 3837, 3840, 3844, 3851, - 3855, 3859, 3863, 3868, 3871, 3874, 3879, 3883, 3888, 3890, - 3892, 3897, 3899, 3904, 3906, 3908, 3913, 3918, 3923, 3928, - 3934, 3940, 3946, 3951, 3954, 3958, 3961, 3966, 3970, 3975, - 3979, 3984, 3990, 3997, 4003, 4010, 4016, 4022, 4028, 4034, - 4040, 4046, 4052, 4058, 4064, 4071, 4078, 4085, 4092, 4099, - 4106, 4113, 4120, 4127, 4134, 4141, 4148, 4155, 4162, 4169, - 4176, 4183, 4190, 4194, 4198, 4201, 4203, 4205, 4207, 4211, - 4213, 4214, 4217, 4219, 4222, 4225, 4228, 4230, 4232, 4233, - 4235, 4238, 4241, 4243, 4245, 4247, 4249, 4251, 4254, 4256, - 4258, 4260, 4262, 4264, 4266, 4268, 4270, 4272, 4274, 4276, - 4278, 4280, 4282, 4284, 4286, 4288, 4290, 4292, 4294, 4296, - 4298, 4300, 4302, 4304, 4306, 4308, 4310, 4312, 4314, 4316, - 4318, 4320, 4322, 4324, 4326, 4328, 4330, 4332, 4334, 4336, - 4338, 4340, 4342, 4344, 4348, 4350 -}; - -static const short yyrhs[] = { 314, - 0, 0, 314, 315, 0, 665, 316, 317, 302, 0, - 665, 317, 302, 0, 607, 0, 677, 0, 675, 0, - 681, 0, 682, 0, 3, 593, 0, 333, 0, 319, - 0, 335, 0, 336, 0, 342, 0, 367, 0, 371, - 0, 377, 0, 380, 0, 318, 0, 460, 0, 390, - 0, 398, 0, 379, 0, 389, 0, 320, 0, 419, - 0, 466, 0, 399, 0, 403, 0, 410, 0, 448, - 0, 449, 0, 474, 0, 420, 0, 428, 0, 431, - 0, 430, 0, 426, 0, 435, 0, 409, 0, 467, - 0, 438, 0, 450, 0, 452, 0, 453, 0, 454, - 0, 459, 0, 461, 0, 327, 0, 331, 0, 332, - 0, 592, 0, 605, 0, 606, 0, 630, 0, 631, - 0, 634, 0, 637, 0, 638, 0, 641, 0, 642, - 0, 643, 0, 646, 0, 647, 0, 660, 0, 661, - 0, 86, 193, 587, 321, 322, 323, 325, 326, 0, - 65, 193, 587, 321, 322, 323, 325, 326, 0, 102, - 193, 587, 0, 201, 260, 587, 0, 0, 220, 0, - 251, 0, 0, 221, 0, 252, 0, 0, 324, 307, - 587, 0, 587, 0, 121, 118, 324, 0, 0, 279, - 277, 586, 0, 0, 175, 589, 185, 329, 0, 175, - 589, 292, 329, 0, 175, 181, 204, 330, 0, 175, - 187, 129, 135, 328, 0, 175, 141, 458, 0, 166, - 206, 0, 207, 0, 586, 0, 97, 0, 586, 0, - 97, 0, 137, 0, 271, 589, 0, 271, 181, 204, - 0, 271, 187, 129, 135, 0, 263, 589, 0, 263, - 181, 204, 0, 263, 187, 129, 135, 0, 65, 177, - 573, 496, 334, 0, 63, 437, 348, 0, 63, 308, - 346, 309, 0, 102, 437, 589, 0, 65, 437, 589, - 175, 97, 355, 0, 65, 437, 589, 102, 97, 0, - 63, 357, 0, 80, 572, 0, 219, 339, 573, 340, - 337, 338, 341, 0, 185, 0, 114, 0, 586, 0, - 274, 0, 275, 0, 216, 0, 0, 201, 258, 0, - 0, 194, 224, 586, 0, 0, 86, 343, 177, 573, - 308, 346, 309, 366, 0, 344, 0, 345, 344, 0, - 178, 0, 179, 0, 0, 116, 0, 137, 0, 346, - 307, 347, 0, 347, 0, 0, 348, 0, 356, 0, - 589, 521, 349, 0, 589, 267, 351, 0, 350, 0, - 0, 350, 352, 0, 352, 0, 161, 131, 0, 0, - 85, 579, 353, 0, 353, 0, 79, 308, 359, 309, - 0, 97, 149, 0, 97, 355, 0, 147, 149, 0, - 191, 0, 161, 131, 0, 167, 589, 470, 362, 363, - 0, 354, 307, 355, 0, 355, 0, 582, 0, 296, - 355, 0, 355, 295, 355, 0, 355, 296, 355, 0, - 355, 298, 355, 0, 355, 299, 355, 0, 355, 297, - 355, 0, 355, 292, 355, 0, 355, 293, 355, 0, - 355, 294, 355, 0, 302, 355, 0, 300, 355, 0, - 355, 60, 521, 0, 76, 308, 355, 68, 521, 309, - 0, 308, 355, 309, 0, 580, 308, 309, 0, 580, - 308, 354, 309, 0, 355, 284, 355, 0, 284, 355, - 0, 355, 284, 0, 89, 0, 90, 0, 90, 308, - 584, 309, 0, 91, 0, 91, 308, 584, 309, 0, - 92, 0, 193, 0, 85, 579, 357, 0, 357, 0, - 79, 308, 359, 309, 0, 191, 308, 471, 309, 0, - 161, 131, 308, 471, 309, 0, 113, 131, 308, 471, - 309, 167, 589, 470, 362, 363, 0, 358, 307, 359, - 0, 359, 0, 582, 0, 149, 0, 589, 0, 296, - 359, 0, 359, 295, 359, 0, 359, 296, 359, 0, - 359, 298, 359, 0, 359, 299, 359, 0, 359, 297, - 359, 0, 359, 292, 359, 0, 359, 293, 359, 0, - 359, 294, 359, 0, 302, 359, 0, 300, 359, 0, - 359, 60, 521, 0, 76, 308, 359, 68, 521, 309, - 0, 308, 359, 309, 0, 580, 308, 309, 0, 580, - 308, 358, 309, 0, 359, 284, 359, 0, 359, 136, - 359, 0, 359, 147, 136, 359, 0, 359, 66, 359, - 0, 359, 155, 359, 0, 147, 359, 0, 284, 359, - 0, 359, 284, 0, 359, 238, 0, 359, 128, 149, - 0, 359, 256, 0, 359, 128, 147, 149, 0, 359, - 128, 189, 0, 359, 128, 109, 0, 359, 128, 147, - 189, 0, 359, 128, 147, 109, 0, 359, 121, 308, - 360, 309, 0, 359, 147, 121, 308, 360, 309, 0, - 359, 71, 361, 66, 361, 0, 359, 147, 71, 361, - 66, 361, 0, 360, 307, 361, 0, 361, 0, 582, - 0, 138, 115, 0, 138, 158, 0, 0, 364, 364, - 0, 364, 0, 0, 152, 98, 365, 0, 152, 192, - 365, 0, 146, 62, 0, 74, 0, 175, 97, 0, - 175, 149, 0, 236, 308, 497, 309, 0, 0, 86, - 343, 177, 573, 368, 68, 484, 0, 308, 369, 309, - 0, 0, 369, 307, 370, 0, 370, 0, 589, 0, - 86, 268, 573, 372, 0, 372, 373, 0, 0, 217, - 376, 0, 222, 0, 234, 376, 0, 246, 376, 0, - 247, 376, 0, 272, 376, 0, 375, 0, 376, 0, - 585, 0, 296, 585, 0, 584, 0, 296, 584, 0, - 86, 378, 261, 132, 586, 233, 393, 239, 586, 0, - 276, 0, 0, 102, 261, 132, 586, 0, 86, 205, - 579, 381, 382, 152, 573, 384, 106, 164, 579, 308, - 387, 309, 0, 215, 0, 211, 0, 383, 0, 383, - 155, 383, 0, 383, 155, 383, 155, 383, 0, 124, - 0, 98, 0, 192, 0, 112, 385, 386, 0, 226, - 0, 0, 265, 0, 273, 0, 388, 0, 387, 307, - 388, 0, 0, 584, 0, 585, 0, 586, 0, 673, - 0, 102, 205, 579, 152, 573, 0, 86, 392, 391, - 0, 393, 394, 0, 259, 0, 208, 0, 212, 0, - 164, 0, 130, 0, 589, 0, 433, 0, 284, 0, - 308, 395, 309, 0, 396, 0, 395, 307, 396, 0, - 393, 292, 397, 0, 393, 0, 97, 292, 397, 0, - 589, 0, 432, 0, 374, 0, 586, 0, 269, 589, - 0, 102, 177, 497, 0, 102, 268, 497, 0, 110, - 400, 401, 402, 127, 664, 0, 249, 400, 401, 402, - 0, 231, 0, 214, 0, 168, 0, 61, 0, 0, - 584, 0, 296, 584, 0, 64, 0, 145, 0, 162, - 0, 0, 121, 579, 0, 114, 579, 0, 0, 117, - 404, 152, 497, 185, 407, 408, 0, 64, 163, 0, - 64, 0, 405, 0, 406, 0, 405, 307, 406, 0, - 174, 0, 124, 0, 192, 0, 98, 0, 266, 0, - 165, 0, 118, 589, 0, 589, 0, 201, 117, 154, - 0, 0, 169, 404, 152, 497, 114, 407, 0, 86, - 411, 235, 578, 152, 573, 412, 308, 413, 309, 421, - 0, 191, 0, 0, 194, 575, 0, 0, 414, 0, - 415, 0, 414, 307, 416, 0, 416, 0, 580, 308, - 498, 309, 417, 418, 0, 576, 417, 418, 0, 301, - 521, 0, 112, 521, 0, 0, 577, 0, 194, 577, - 0, 0, 230, 235, 578, 516, 0, 86, 232, 580, - 422, 264, 424, 421, 68, 586, 132, 586, 0, 201, - 394, 0, 0, 308, 423, 309, 0, 308, 309, 0, - 588, 0, 423, 307, 588, 0, 425, 588, 0, 269, - 0, 0, 102, 427, 579, 0, 208, 0, 235, 0, - 266, 0, 198, 0, 102, 212, 579, 429, 0, 579, - 0, 297, 0, 102, 232, 580, 422, 0, 102, 259, - 432, 308, 434, 309, 0, 284, 0, 433, 0, 295, - 0, 296, 0, 297, 0, 299, 0, 298, 0, 293, - 0, 294, 0, 292, 0, 579, 0, 579, 307, 579, - 0, 253, 307, 579, 0, 579, 307, 253, 0, 65, - 177, 573, 496, 262, 437, 436, 185, 579, 0, 579, - 0, 0, 83, 0, 0, 0, 86, 266, 579, 68, - 439, 152, 445, 185, 444, 516, 225, 446, 440, 0, - 254, 0, 482, 0, 443, 0, 305, 441, 306, 0, - 308, 441, 309, 0, 442, 0, 443, 0, 442, 443, - 0, 442, 443, 302, 0, 443, 302, 0, 468, 0, - 478, 0, 473, 0, 447, 0, 573, 304, 576, 0, - 573, 0, 174, 0, 192, 0, 98, 0, 124, 0, - 237, 0, 0, 255, 573, 0, 241, 573, 0, 242, - 573, 0, 242, 297, 0, 209, 451, 0, 70, 451, - 0, 84, 451, 0, 104, 451, 0, 171, 451, 0, - 202, 0, 187, 0, 0, 86, 198, 579, 68, 482, - 0, 243, 581, 0, 86, 223, 574, 201, 455, 456, - 0, 86, 223, 574, 0, 244, 292, 457, 0, 0, - 227, 292, 458, 0, 0, 586, 0, 97, 0, 0, - 586, 0, 97, 0, 0, 102, 223, 574, 0, 218, - 578, 152, 573, 0, 278, 462, 463, 0, 278, 462, - 463, 573, 464, 0, 280, 0, 0, 213, 0, 0, - 308, 465, 309, 0, 0, 579, 0, 465, 307, 579, - 0, 229, 462, 467, 0, 482, 0, 479, 0, 478, - 0, 468, 0, 447, 0, 473, 0, 124, 127, 573, - 469, 0, 195, 308, 570, 309, 0, 97, 195, 0, - 482, 0, 308, 471, 309, 195, 308, 570, 309, 0, - 308, 471, 309, 482, 0, 308, 471, 309, 0, 0, - 471, 307, 472, 0, 472, 0, 589, 547, 0, 98, - 114, 573, 516, 0, 245, 486, 573, 475, 0, 121, - 476, 248, 0, 0, 270, 265, 228, 0, 265, 477, - 0, 210, 477, 0, 477, 0, 270, 0, 228, 0, - 192, 573, 175, 568, 503, 516, 0, 0, 96, 579, - 481, 93, 112, 480, 482, 0, 216, 0, 123, 0, - 172, 0, 123, 172, 0, 0, 483, 489, 501, 493, - 0, 308, 483, 309, 0, 484, 0, 483, 105, 483, - 0, 483, 190, 487, 483, 0, 483, 125, 487, 483, - 0, 174, 488, 570, 485, 503, 516, 499, 500, 0, - 127, 343, 486, 573, 0, 127, 664, 0, 0, 177, - 0, 0, 64, 0, 0, 100, 0, 100, 152, 589, - 0, 64, 0, 0, 156, 73, 490, 0, 0, 491, - 0, 490, 307, 491, 0, 545, 492, 0, 194, 284, - 0, 194, 293, 0, 194, 294, 0, 69, 0, 99, - 0, 0, 240, 494, 307, 495, 0, 240, 494, 257, - 495, 0, 240, 494, 0, 257, 495, 240, 494, 0, - 257, 495, 0, 0, 584, 0, 64, 0, 289, 0, - 584, 0, 289, 0, 297, 0, 0, 498, 0, 579, - 0, 498, 307, 579, 0, 118, 73, 548, 0, 0, - 119, 545, 0, 0, 112, 192, 502, 0, 112, 166, - 153, 0, 0, 151, 465, 0, 0, 114, 504, 0, - 0, 308, 507, 309, 0, 508, 0, 505, 0, 505, - 307, 506, 0, 506, 0, 517, 68, 590, 0, 517, - 589, 0, 517, 0, 508, 0, 506, 190, 130, 506, - 0, 506, 509, 0, 509, 510, 0, 510, 0, 511, - 130, 506, 513, 0, 143, 511, 130, 506, 0, 87, - 130, 506, 0, 115, 512, 0, 134, 512, 0, 170, - 512, 0, 157, 0, 122, 0, 0, 157, 0, 0, - 194, 308, 514, 309, 0, 152, 545, 0, 514, 307, - 515, 0, 515, 0, 589, 0, 200, 545, 0, 0, - 573, 0, 573, 297, 0, 305, 306, 519, 0, 305, - 520, 306, 519, 0, 0, 305, 306, 519, 0, 305, - 520, 306, 519, 0, 0, 584, 0, 308, 520, 309, - 0, 520, 295, 520, 0, 520, 296, 520, 0, 520, - 297, 520, 0, 520, 298, 520, 0, 520, 299, 520, - 0, 522, 518, 0, 269, 522, 0, 523, 0, 535, - 0, 525, 0, 530, 0, 524, 0, 673, 0, 208, - 0, 3, 0, 4, 0, 5, 0, 6, 0, 7, - 0, 8, 0, 9, 0, 10, 0, 11, 0, 12, - 0, 14, 0, 16, 0, 17, 0, 18, 0, 19, - 0, 20, 0, 21, 0, 22, 0, 23, 0, 24, - 0, 25, 0, 26, 0, 28, 0, 29, 0, 30, - 0, 31, 0, 32, 0, 33, 0, 35, 0, 36, - 0, 37, 0, 38, 0, 39, 0, 111, 527, 0, - 101, 160, 0, 95, 529, 0, 150, 528, 0, 111, - 0, 101, 160, 0, 95, 0, 150, 0, 308, 584, - 309, 0, 0, 308, 584, 307, 584, 309, 0, 308, - 584, 309, 0, 0, 308, 584, 307, 584, 309, 0, - 308, 584, 309, 0, 0, 531, 308, 584, 309, 0, - 531, 0, 78, 532, 533, 534, 0, 77, 532, 0, - 196, 0, 142, 78, 532, 0, 144, 532, 0, 197, - 0, 0, 78, 175, 589, 0, 0, 82, 589, 0, - 0, 536, 0, 182, 537, 0, 181, 0, 126, 538, - 0, 203, 0, 140, 0, 94, 0, 120, 0, 139, - 0, 173, 0, 201, 181, 204, 0, 0, 536, 0, - 203, 185, 140, 0, 94, 185, 120, 0, 94, 185, - 139, 0, 94, 185, 173, 0, 120, 185, 139, 0, - 139, 185, 173, 0, 120, 185, 173, 0, 0, 545, - 0, 149, 0, 308, 541, 309, 121, 308, 484, 309, - 0, 308, 541, 309, 147, 121, 308, 484, 309, 0, - 308, 541, 309, 542, 543, 308, 484, 309, 0, 308, - 541, 309, 542, 308, 484, 309, 0, 308, 541, 309, - 542, 308, 541, 309, 0, 544, 307, 545, 0, 284, - 0, 293, 0, 292, 0, 294, 0, 295, 0, 296, - 0, 297, 0, 299, 0, 298, 0, 67, 0, 64, - 0, 544, 307, 545, 0, 545, 0, 566, 547, 0, - 540, 0, 582, 0, 589, 0, 296, 545, 0, 299, - 545, 0, 545, 299, 0, 545, 295, 545, 0, 545, - 296, 545, 0, 545, 298, 545, 0, 545, 299, 545, - 0, 545, 297, 545, 0, 545, 293, 545, 0, 545, - 294, 545, 0, 545, 292, 149, 0, 149, 292, 545, - 0, 545, 292, 545, 0, 302, 545, 0, 300, 545, - 0, 545, 60, 521, 0, 76, 308, 545, 68, 521, - 309, 0, 308, 539, 309, 0, 545, 284, 545, 0, - 545, 136, 545, 0, 545, 147, 136, 545, 0, 284, - 545, 0, 545, 284, 0, 580, 308, 297, 309, 0, - 580, 308, 309, 0, 580, 308, 548, 309, 0, 89, - 0, 90, 0, 90, 308, 584, 309, 0, 91, 0, - 91, 308, 584, 309, 0, 92, 0, 193, 0, 107, - 308, 484, 309, 0, 108, 308, 549, 309, 0, 159, - 308, 551, 309, 0, 176, 308, 553, 309, 0, 188, - 308, 72, 556, 309, 0, 188, 308, 133, 556, 309, - 0, 188, 308, 186, 556, 309, 0, 188, 308, 556, - 309, 0, 545, 238, 0, 545, 128, 149, 0, 545, - 256, 0, 545, 128, 147, 149, 0, 545, 128, 189, - 0, 545, 128, 147, 109, 0, 545, 128, 109, 0, - 545, 128, 147, 189, 0, 545, 71, 546, 66, 546, - 0, 545, 147, 71, 546, 66, 546, 0, 545, 121, - 308, 557, 309, 0, 545, 147, 121, 308, 559, 309, - 0, 545, 284, 308, 484, 309, 0, 545, 295, 308, - 484, 309, 0, 545, 296, 308, 484, 309, 0, 545, - 298, 308, 484, 309, 0, 545, 299, 308, 484, 309, - 0, 545, 297, 308, 484, 309, 0, 545, 293, 308, - 484, 309, 0, 545, 294, 308, 484, 309, 0, 545, - 292, 308, 484, 309, 0, 545, 284, 67, 308, 484, - 309, 0, 545, 295, 67, 308, 484, 309, 0, 545, - 296, 67, 308, 484, 309, 0, 545, 298, 67, 308, - 484, 309, 0, 545, 299, 67, 308, 484, 309, 0, - 545, 297, 67, 308, 484, 309, 0, 545, 293, 67, - 308, 484, 309, 0, 545, 294, 67, 308, 484, 309, - 0, 545, 292, 67, 308, 484, 309, 0, 545, 284, - 64, 308, 484, 309, 0, 545, 295, 64, 308, 484, - 309, 0, 545, 296, 64, 308, 484, 309, 0, 545, - 298, 64, 308, 484, 309, 0, 545, 299, 64, 308, - 484, 309, 0, 545, 297, 64, 308, 484, 309, 0, - 545, 293, 64, 308, 484, 309, 0, 545, 294, 64, - 308, 484, 309, 0, 545, 292, 64, 308, 484, 309, - 0, 545, 66, 545, 0, 545, 155, 545, 0, 147, - 545, 0, 561, 0, 669, 0, 566, 547, 0, 582, - 0, 589, 0, 296, 546, 0, 299, 546, 0, 546, - 299, 0, 546, 295, 546, 0, 546, 296, 546, 0, - 546, 298, 546, 0, 546, 299, 546, 0, 546, 297, - 546, 0, 302, 546, 0, 300, 546, 0, 546, 60, - 521, 0, 76, 308, 546, 68, 521, 309, 0, 308, - 545, 309, 0, 546, 284, 546, 0, 284, 546, 0, - 546, 284, 0, 580, 308, 309, 0, 580, 308, 548, - 309, 0, 89, 0, 90, 0, 90, 308, 584, 309, - 0, 91, 0, 91, 308, 584, 309, 0, 92, 0, - 193, 0, 159, 308, 551, 309, 0, 176, 308, 553, - 309, 0, 188, 308, 72, 556, 309, 0, 188, 308, - 133, 556, 309, 0, 188, 308, 186, 556, 309, 0, - 188, 308, 556, 309, 0, 670, 0, 305, 663, 306, - 547, 0, 305, 663, 301, 663, 306, 547, 0, 0, - 539, 0, 548, 307, 539, 0, 548, 194, 545, 0, - 550, 114, 545, 0, 0, 669, 0, 536, 0, 183, - 0, 184, 0, 552, 121, 552, 0, 0, 566, 547, - 0, 582, 0, 296, 552, 0, 552, 295, 552, 0, - 552, 296, 552, 0, 552, 298, 552, 0, 552, 299, - 552, 0, 552, 297, 552, 0, 300, 552, 0, 552, - 60, 521, 0, 76, 308, 552, 68, 521, 309, 0, - 308, 552, 309, 0, 552, 284, 552, 0, 284, 552, - 0, 552, 284, 0, 589, 0, 580, 308, 309, 0, - 580, 308, 548, 309, 0, 159, 308, 551, 309, 0, - 176, 308, 553, 309, 0, 188, 308, 72, 556, 309, - 0, 188, 308, 133, 556, 309, 0, 188, 308, 186, - 556, 309, 0, 188, 308, 556, 309, 0, 548, 554, - 555, 0, 0, 114, 548, 0, 0, 112, 548, 0, - 0, 545, 114, 548, 0, 114, 548, 0, 548, 0, - 484, 0, 558, 0, 582, 0, 558, 307, 582, 0, - 484, 0, 560, 0, 582, 0, 560, 307, 582, 0, - 75, 565, 562, 564, 104, 0, 148, 308, 545, 307, - 545, 309, 0, 81, 308, 548, 309, 0, 562, 563, - 0, 563, 0, 199, 545, 180, 539, 0, 103, 539, - 0, 0, 566, 547, 0, 589, 0, 0, 573, 304, - 567, 0, 583, 304, 567, 0, 576, 0, 567, 304, - 576, 0, 567, 304, 297, 0, 568, 307, 569, 0, - 569, 0, 297, 0, 589, 547, 292, 539, 0, 566, - 547, 0, 573, 304, 297, 0, 570, 307, 571, 0, - 571, 0, 539, 68, 590, 0, 539, 0, 573, 304, - 297, 0, 297, 0, 589, 0, 0, 591, 0, 589, - 0, 589, 0, 673, 0, 589, 0, 673, 0, 589, - 0, 589, 0, 589, 0, 586, 0, 584, 0, 585, - 0, 586, 0, 521, 586, 0, 583, 0, 189, 0, - 109, 0, 289, 547, 0, 288, 0, 290, 0, 283, - 0, 673, 0, 589, 0, 526, 0, 531, 0, 673, - 0, 536, 0, 61, 0, 210, 0, 62, 0, 211, - 0, 212, 0, 214, 0, 215, 0, 217, 0, 206, - 0, 220, 0, 221, 0, 222, 0, 223, 0, 224, - 0, 101, 0, 226, 0, 227, 0, 228, 0, 231, - 0, 232, 0, 233, 0, 234, 0, 235, 0, 236, - 0, 123, 0, 237, 0, 238, 0, 131, 0, 132, - 0, 239, 0, 244, 0, 138, 0, 246, 0, 247, - 0, 248, 0, 145, 0, 251, 0, 252, 0, 254, - 0, 256, 0, 151, 0, 258, 0, 153, 0, 259, - 0, 154, 0, 260, 0, 162, 0, 163, 0, 261, - 0, 166, 0, 168, 0, 262, 0, 264, 0, 265, - 0, 266, 0, 172, 0, 268, 0, 267, 0, 207, - 0, 270, 0, 272, 0, 273, 0, 274, 0, 275, - 0, 181, 0, 182, 0, 183, 0, 184, 0, 205, - 0, 276, 0, 208, 0, 279, 0, 281, 0, 204, - 0, 3, 0, 5, 0, 6, 0, 7, 0, 8, - 0, 10, 0, 11, 0, 12, 0, 14, 0, 16, - 0, 17, 0, 18, 0, 19, 0, 20, 0, 21, - 0, 22, 0, 23, 0, 24, 0, 25, 0, 26, - 0, 28, 0, 29, 0, 30, 0, 31, 0, 32, - 0, 33, 0, 35, 0, 36, 0, 37, 0, 38, - 0, 39, 0, 589, 0, 209, 0, 213, 0, 216, - 0, 75, 0, 218, 0, 81, 0, 85, 0, 219, - 0, 88, 0, 225, 0, 103, 0, 104, 0, 229, - 0, 230, 0, 109, 0, 113, 0, 118, 0, 241, - 0, 243, 0, 245, 0, 249, 0, 250, 0, 253, - 0, 148, 0, 156, 0, 159, 0, 160, 0, 263, - 0, 269, 0, 271, 0, 177, 0, 180, 0, 187, - 0, 189, 0, 278, 0, 280, 0, 199, 0, 88, - 0, 250, 0, 8, 185, 593, 599, 600, 0, 8, - 185, 97, 0, 8, 601, 0, 574, 596, 598, 0, - 594, 595, 598, 298, 574, 604, 0, 603, 0, 586, - 0, 673, 671, 0, 284, 597, 0, 595, 0, 0, - 589, 0, 589, 304, 597, 0, 301, 584, 0, 0, - 68, 593, 0, 0, 193, 601, 0, 0, 602, 0, - 602, 298, 602, 0, 602, 18, 73, 602, 0, 602, - 194, 602, 0, 587, 0, 603, 0, 283, 0, 671, - 0, 284, 589, 0, 0, 96, 579, 481, 93, 112, - 673, 0, 11, 25, 673, 0, 0, 609, 608, 611, - 610, 0, 665, 70, 96, 28, 302, 0, 665, 104, - 96, 28, 302, 0, 0, 612, 611, 0, 0, 0, - 615, 613, 616, 614, 626, 302, 0, 47, 0, 55, - 0, 54, 0, 44, 0, 52, 0, 41, 0, 0, - 624, 0, 625, 0, 619, 0, 620, 0, 617, 0, - 674, 0, 618, 310, 676, 311, 0, 46, 623, 0, - 621, 310, 611, 311, 0, 622, 310, 611, 311, 0, - 56, 623, 0, 57, 623, 0, 0, 674, 0, 53, - 0, 58, 53, 0, 49, 0, 58, 49, 0, 51, - 0, 58, 51, 0, 48, 0, 45, 0, 42, 0, - 43, 0, 58, 43, 0, 59, 0, 627, 0, 626, - 307, 627, 0, 629, 674, 518, 628, 0, 0, 292, - 667, 0, 0, 297, 0, 96, 273, 673, 0, 12, - 632, 0, 633, 0, 88, 0, 64, 0, 0, 593, - 0, 97, 0, 106, 19, 636, 0, 0, 106, 673, - 635, 639, 0, 603, 0, 285, 0, 15, 673, 0, - 24, 579, 639, 0, 0, 194, 640, 0, 669, 0, - 669, 307, 640, 0, 25, 673, 114, 636, 0, 450, - 26, 0, 175, 4, 645, 644, 0, 152, 0, 23, - 0, 185, 0, 312, 0, 175, 9, 645, 633, 0, - 208, 674, 128, 651, 648, 650, 0, 305, 306, 649, - 0, 308, 309, 649, 0, 305, 520, 306, 649, 0, - 308, 520, 309, 649, 0, 0, 305, 306, 649, 0, - 308, 309, 649, 0, 305, 520, 306, 649, 0, 308, - 520, 309, 649, 0, 0, 27, 0, 0, 77, 0, - 196, 0, 111, 0, 101, 0, 654, 21, 0, 13, - 0, 654, 29, 0, 654, 22, 0, 5, 0, 37, - 21, 0, 37, 29, 0, 37, 22, 0, 0, 36, - 652, 310, 655, 311, 0, 0, 190, 653, 310, 655, - 311, 0, 674, 0, 30, 0, 0, 0, 656, 655, - 0, 0, 651, 657, 658, 302, 0, 659, 0, 658, - 307, 659, 0, 629, 674, 518, 0, 38, 674, 128, - 651, 648, 650, 0, 39, 31, 662, 0, 39, 147, - 14, 662, 0, 39, 33, 662, 0, 10, 0, 32, - 0, 35, 0, 17, 579, 0, 16, 185, 579, 0, - 225, 579, 308, 666, 309, 0, 225, 6, 0, 7, - 579, 308, 666, 309, 0, 566, 547, 0, 540, 0, - 582, 0, 589, 0, 296, 663, 0, 299, 663, 0, - 545, 299, 0, 545, 295, 663, 0, 545, 296, 663, - 0, 545, 298, 663, 0, 545, 299, 663, 0, 545, - 297, 663, 0, 545, 293, 663, 0, 545, 294, 663, - 0, 545, 292, 149, 0, 149, 292, 545, 0, 545, - 292, 663, 0, 302, 663, 0, 300, 663, 0, 545, - 60, 521, 0, 76, 308, 545, 68, 521, 309, 0, - 308, 539, 309, 0, 545, 284, 663, 0, 545, 136, - 663, 0, 545, 147, 136, 663, 0, 284, 663, 0, - 545, 284, 0, 580, 308, 297, 309, 0, 580, 308, - 309, 0, 580, 308, 548, 309, 0, 89, 0, 90, - 0, 90, 308, 584, 309, 0, 91, 0, 91, 308, - 584, 309, 0, 92, 0, 193, 0, 107, 308, 484, - 309, 0, 108, 308, 549, 309, 0, 159, 308, 551, - 309, 0, 176, 308, 553, 309, 0, 188, 308, 72, - 556, 309, 0, 188, 308, 133, 556, 309, 0, 188, - 308, 186, 556, 309, 0, 188, 308, 556, 309, 0, - 545, 238, 0, 545, 128, 149, 0, 545, 256, 0, - 545, 128, 147, 149, 0, 545, 128, 189, 0, 545, - 128, 147, 109, 0, 545, 128, 109, 0, 545, 128, - 147, 189, 0, 545, 71, 546, 66, 546, 0, 545, - 147, 71, 546, 66, 546, 0, 545, 121, 308, 557, - 309, 0, 545, 147, 121, 308, 559, 309, 0, 545, - 284, 308, 484, 309, 0, 545, 295, 308, 484, 309, - 0, 545, 296, 308, 484, 309, 0, 545, 298, 308, - 484, 309, 0, 545, 299, 308, 484, 309, 0, 545, - 297, 308, 484, 309, 0, 545, 293, 308, 484, 309, - 0, 545, 294, 308, 484, 309, 0, 545, 292, 308, - 484, 309, 0, 545, 284, 67, 308, 484, 309, 0, - 545, 295, 67, 308, 484, 309, 0, 545, 296, 67, - 308, 484, 309, 0, 545, 298, 67, 308, 484, 309, - 0, 545, 299, 67, 308, 484, 309, 0, 545, 297, - 67, 308, 484, 309, 0, 545, 293, 67, 308, 484, - 309, 0, 545, 294, 67, 308, 484, 309, 0, 545, - 292, 67, 308, 484, 309, 0, 545, 284, 64, 308, - 484, 309, 0, 545, 295, 64, 308, 484, 309, 0, - 545, 296, 64, 308, 484, 309, 0, 545, 298, 64, - 308, 484, 309, 0, 545, 299, 64, 308, 484, 309, - 0, 545, 297, 64, 308, 484, 309, 0, 545, 293, - 64, 308, 484, 309, 0, 545, 294, 64, 308, 484, - 309, 0, 545, 292, 64, 308, 484, 309, 0, 545, - 66, 663, 0, 545, 155, 663, 0, 147, 663, 0, - 561, 0, 670, 0, 668, 0, 664, 307, 668, 0, - 34, 0, 0, 666, 679, 0, 680, 0, 667, 680, - 0, 671, 672, 0, 671, 672, 0, 671, 0, 286, - 0, 0, 671, 0, 20, 671, 0, 20, 579, 0, - 282, 0, 285, 0, 282, 0, 287, 0, 678, 0, - 676, 678, 0, 678, 0, 302, 0, 282, 0, 285, - 0, 584, 0, 585, 0, 297, 0, 295, 0, 296, - 0, 298, 0, 299, 0, 41, 0, 42, 0, 43, - 0, 44, 0, 45, 0, 46, 0, 47, 0, 48, - 0, 49, 0, 51, 0, 52, 0, 53, 0, 54, - 0, 55, 0, 56, 0, 57, 0, 58, 0, 59, - 0, 40, 0, 305, 0, 306, 0, 308, 0, 309, - 0, 292, 0, 307, 0, 282, 0, 285, 0, 584, - 0, 585, 0, 307, 0, 282, 0, 285, 0, 584, - 0, 585, 0, 310, 676, 311, 0, 310, 0, 311, - 0 -}; - -#endif - -#if YYDEBUG != 0 -static const short yyrline[] = { 0, - 855, 857, 858, 860, 861, 862, 863, 864, 865, 866, - 868, 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, 901, 907, 908, 913, 914, 915, 916, 917, - 918, 919, 920, 921, 929, 932, 941, 944, 952, 955, - 960, 985, 993, 994, 999, 1007, 1013, 1019, 1039, 1053, - 1067, 1073, 1074, 1077, 1081, 1085, 1088, 1092, 1096, 1099, - 1103, 1109, 1110, 1113, 1114, 1126, 1130, 1134, 1138, 1142, - 1152, 1153, 1157, 1158, 1161, 1162, 1163, 1166, 1170, 1174, - 1180, 1184, 1188, 1202, 1208, 1212, 1216, 1218, 1220, 1222, - 1233, 1248, 1254, 1256, 1265, 1266, 1267, 1270, 1271, 1274, - 1275, 1281, 1282, 1294, 1301, 1302, 1305, 1306, 1307, 1310, - 1315, 1319, 1323, 1327, 1330, 1331, 1334, 1338, 1344, 1345, - 1348, 1349, 1352, 1356, 1362, 1367, 1381, 1385, 1389, 1393, - 1397, 1401, 1405, 1412, 1416, 1430, 1432, 1434, 1436, 1438, - 1440, 1442, 1444, 1446, 1448, 1454, 1456, 1458, 1460, 1464, - 1466, 1468, 1470, 1476, 1478, 1481, 1483, 1485, 1491, 1493, - 1499, 1501, 1509, 1513, 1517, 1521, 1525, 1529, 1536, 1540, - 1546, 1548, 1550, 1554, 1556, 1558, 1560, 1562, 1564, 1566, - 1568, 1570, 1576, 1578, 1580, 1584, 1588, 1590, 1594, 1598, - 1600, 1602, 1604, 1606, 1608, 1610, 1612, 1614, 1616, 1618, - 1620, 1622, 1624, 1626, 1628, 1630, 1632, 1634, 1636, 1639, - 1643, 1648, 1653, 1654, 1655, 1658, 1659, 1660, 1663, 1664, - 1667, 1668, 1669, 1670, 1673, 1674, 1677, 1683, 1684, 1687, - 1688, 1691, 1701, 1707, 1709, 1712, 1716, 1720, 1724, 1728, - 1732, 1738, 1739, 1741, 1745, 1752, 1756, 1770, 1777, 1778, - 1780, 1794, 1802, 1803, 1806, 1810, 1814, 1820, 1821, 1822, - 1825, 1831, 1832, 1835, 1836, 1839, 1841, 1843, 1847, 1851, - 1855, 1856, 1859, 1872, 1878, 1884, 1885, 1886, 1889, 1890, - 1891, 1892, 1893, 1896, 1899, 1900, 1903, 1906, 1910, 1916, - 1917, 1918, 1919, 1920, 1933, 1937, 1954, 1961, 1967, 1968, - 1969, 1970, 1975, 1978, 1979, 1980, 1981, 1982, 1983, 1986, - 1987, 1989, 2000, 2006, 2010, 2014, 2020, 2024, 2030, 2034, - 2038, 2042, 2046, 2052, 2056, 2060, 2066, 2070, 2081, 2099, - 2108, 2109, 2112, 2113, 2116, 2117, 2120, 2121, 2124, 2130, - 2136, 2137, 2138, 2147, 2148, 2149, 2159, 2195, 2201, 2202, - 2205, 2206, 2209, 2210, 2214, 2220, 2221, 2242, 2248, 2249, - 2250, 2251, 2255, 2261, 2262, 2266, 2273, 2279, 2279, 2281, - 2282, 2283, 2284, 2285, 2286, 2287, 2288, 2291, 2295, 2297, - 2299, 2312, 2319, 2320, 2323, 2324, 2337, 2339, 2346, 2347, - 2348, 2349, 2350, 2353, 2354, 2357, 2359, 2361, 2365, 2366, - 2367, 2368, 2371, 2375, 2382, 2383, 2384, 2385, 2388, 2389, - 2401, 2407, 2413, 2417, 2435, 2436, 2437, 2438, 2439, 2441, - 2442, 2443, 2453, 2467, 2481, 2491, 2497, 2498, 2501, 2502, - 2505, 2506, 2507, 2510, 2511, 2512, 2522, 2536, 2550, 2554, - 2562, 2563, 2566, 2567, 2570, 2571, 2574, 2576, 2588, 2606, - 2607, 2608, 2609, 2610, 2611, 2628, 2634, 2638, 2642, 2646, - 2650, 2656, 2657, 2660, 2663, 2667, 2681, 2688, 2694, 2695, - 2698, 2699, 2700, 2701, 2704, 2705, 2715, 2731, 2734, 2764, - 2765, 2766, 2767, 2768, 2785, 2802, 2806, 2810, 2815, 2820, - 2828, 2838, 2839, 2840, 2843, 2844, 2847, 2848, 2851, 2852, - 2853, 2854, 2857, 2858, 2861, 2862, 2865, 2871, 2872, 2873, - 2874, 2875, 2876, 2879, 2881, 2883, 2885, 2887, 2889, 2893, - 2894, 2895, 2898, 2899, 2909, 2910, 2913, 2915, 2917, 2921, - 2922, 2925, 2929, 2932, 2936, 2940, 2945, 2949, 2963, 2967, - 2973, 2975, 2977, 2981, 2983, 2987, 2991, 2995, 3005, 3007, - 3011, 3017, 3021, 3034, 3038, 3042, 3047, 3052, 3057, 3062, - 3067, 3071, 3077, 3078, 3089, 3090, 3093, 3094, 3097, 3103, - 3104, 3107, 3112, 3118, 3124, 3133, 3141, 3147, 3156, 3164, - 3165, 3166, 3167, 3168, 3169, 3170, 3184, 3188, 3194, 3195, - 3196, 3197, 3200, 3206, 3207, 3208, 3209, 3210, 3211, 3212, - 3213, 3214, 3215, 3216, 3217, 3218, 3219, 3220, 3221, 3222, - 3223, 3224, 3225, 3226, 3227, 3228, 3229, 3230, 3231, 3232, - 3233, 3234, 3235, 3236, 3237, 3238, 3239, 3240, 3248, 3252, - 3256, 3260, 3266, 3268, 3270, 3272, 3276, 3284, 3290, 3302, - 3310, 3316, 3328, 3336, 3346, 3361, 3367, 3374, 3375, 3376, - 3377, 3380, 3381, 3384, 3385, 3388, 3389, 3392, 3396, 3400, - 3404, 3410, 3411, 3412, 3413, 3414, 3415, 3418, 3419, 3422, - 3423, 3424, 3425, 3426, 3427, 3428, 3429, 3430, 3440, 3442, - 3457, 3461, 3465, 3469, 3473, 3479, 3485, 3486, 3487, 3488, - 3489, 3490, 3491, 3492, 3493, 3496, 3497, 3501, 3505, 3520, - 3524, 3526, 3528, 3532, 3534, 3536, 3538, 3540, 3542, 3544, - 3546, 3548, 3550, 3552, 3554, 3556, 3561, 3563, 3565, 3569, - 3573, 3575, 3577, 3579, 3581, 3583, 3585, 3589, 3593, 3597, - 3601, 3605, 3611, 3615, 3621, 3625, 3629, 3633, 3637, 3641, - 3646, 3650, 3654, 3658, 3662, 3664, 3666, 3668, 3675, 3679, - 3683, 3687, 3691, 3695, 3699, 3703, 3707, 3711, 3715, 3719, - 3723, 3727, 3731, 3735, 3739, 3743, 3747, 3751, 3755, 3759, - 3763, 3767, 3771, 3775, 3779, 3783, 3787, 3791, 3795, 3799, - 3803, 3807, 3811, 3815, 3817, 3819, 3821, 3823, 3832, 3836, - 3838, 3842, 3844, 3846, 3848, 3850, 3852, 3854, 3856, 3861, - 3863, 3865, 3869, 3873, 3875, 3877, 3879, 3881, 3885, 3889, - 3893, 3897, 3903, 3907, 3913, 3917, 3921, 3925, 3930, 3934, - 3938, 3942, 3946, 3950, 3954, 3958, 3962, 3964, 3966, 3970, - 3974, 3976, 3980, 3981, 3982, 3985, 3987, 3991, 3995, 3997, - 3999, 4001, 4003, 4005, 4007, 4009, 4011, 4015, 4019, 4021, - 4023, 4025, 4027, 4031, 4035, 4039, 4043, 4048, 4052, 4056, - 4060, 4066, 4070, 4074, 4076, 4082, 4084, 4088, 4090, 4092, - 4096, 4100, 4104, 4106, 4110, 4114, 4118, 4120, 4139, 4141, - 4147, 4153, 4155, 4159, 4165, 4166, 4169, 4173, 4177, 4181, - 4185, 4191, 4193, 4195, 4206, 4208, 4210, 4213, 4217, 4221, - 4232, 4234, 4239, 4243, 4247, 4251, 4257, 4258, 4261, 4265, - 4278, 4279, 4280, 4281, 4282, 4288, 4289, 4291, 4297, 4301, - 4305, 4309, 4313, 4315, 4319, 4325, 4331, 4332, 4333, 4341, - 4348, 4350, 4352, 4363, 4364, 4365, 4366, 4367, 4368, 4369, - 4370, 4371, 4372, 4373, 4374, 4375, 4376, 4377, 4378, 4379, - 4380, 4381, 4382, 4383, 4384, 4385, 4386, 4387, 4388, 4389, - 4390, 4391, 4392, 4393, 4394, 4395, 4396, 4397, 4398, 4399, - 4400, 4401, 4402, 4403, 4404, 4405, 4406, 4407, 4408, 4409, - 4410, 4411, 4412, 4413, 4414, 4416, 4417, 4418, 4419, 4420, - 4421, 4422, 4423, 4424, 4425, 4426, 4427, 4428, 4429, 4430, - 4431, 4432, 4433, 4434, 4435, 4436, 4437, 4438, 4439, 4440, - 4441, 4442, 4443, 4444, 4445, 4446, 4447, 4448, 4449, 4450, - 4451, 4452, 4453, 4454, 4455, 4456, 4457, 4458, 4459, 4460, - 4461, 4462, 4463, 4464, 4465, 4466, 4467, 4468, 4469, 4470, - 4482, 4483, 4484, 4485, 4486, 4487, 4488, 4489, 4490, 4491, - 4492, 4493, 4494, 4495, 4496, 4497, 4498, 4499, 4500, 4501, - 4502, 4503, 4504, 4505, 4506, 4507, 4508, 4509, 4510, 4511, - 4512, 4513, 4514, 4515, 4516, 4517, 4518, 4519, 4522, 4529, - 4545, 4549, 4554, 4559, 4570, 4593, 4597, 4605, 4622, 4633, - 4634, 4636, 4637, 4639, 4640, 4642, 4643, 4645, 4646, 4648, - 4652, 4656, 4660, 4665, 4670, 4671, 4673, 4697, 4710, 4716, - 4759, 4764, 4769, 4776, 4778, 4780, 4784, 4789, 4794, 4799, - 4804, 4805, 4806, 4807, 4808, 4809, 4810, 4812, 4819, 4826, - 4833, 4840, 4848, 4860, 4865, 4867, 4874, 4881, 4889, 4897, - 4898, 4900, 4901, 4902, 4903, 4904, 4905, 4906, 4907, 4908, - 4909, 4910, 4912, 4914, 4918, 4923, 4998, 4999, 5001, 5002, - 5008, 5016, 5018, 5019, 5020, 5021, 5023, 5024, 5029, 5042, - 5054, 5058, 5058, 5065, 5070, 5074, 5075, 5080, 5080, 5086, - 5096, 5112, 5117, 5118, 5120, 5120, 5126, 5134, 5176, 5182, - 5188, 5197, 5206, 5214, 5220, 5226, 5235, 5244, 5251, 5252, - 5254, 5261, 5268, 5275, 5282, 5289, 5296, 5303, 5310, 5317, - 5324, 5331, 5338, 5343, 5351, 5356, 5364, 5375, 5375, 5377, - 5381, 5387, 5393, 5398, 5402, 5407, 5478, 5533, 5538, 5543, - 5549, 5554, 5559, 5564, 5569, 5574, 5579, 5584, 5591, 5595, - 5597, 5599, 5603, 5605, 5607, 5609, 5611, 5613, 5615, 5617, - 5619, 5621, 5623, 5625, 5627, 5631, 5633, 5635, 5639, 5643, - 5645, 5647, 5649, 5651, 5653, 5655, 5659, 5663, 5667, 5671, - 5675, 5681, 5685, 5691, 5695, 5699, 5703, 5707, 5711, 5716, - 5720, 5724, 5728, 5732, 5734, 5736, 5738, 5745, 5749, 5753, - 5757, 5761, 5765, 5769, 5773, 5777, 5781, 5785, 5789, 5793, - 5797, 5801, 5805, 5809, 5813, 5817, 5821, 5825, 5829, 5833, - 5837, 5841, 5845, 5849, 5853, 5857, 5861, 5865, 5869, 5873, - 5877, 5881, 5885, 5887, 5889, 5891, 5893, 5897, 5897, 5899, - 5901, 5902, 5904, 5905, 5907, 5911, 5915, 5920, 5922, 5923, - 5924, 5925, 5927, 5928, 5933, 5935, 5937, 5938, 5943, 5943, - 5945, 5946, 5947, 5948, 5949, 5950, 5951, 5952, 5953, 5954, - 5955, 5956, 5957, 5958, 5959, 5960, 5961, 5962, 5963, 5964, - 5965, 5966, 5967, 5968, 5969, 5970, 5971, 5972, 5973, 5974, - 5975, 5976, 5977, 5978, 5980, 5981, 5982, 5983, 5984, 5986, - 5987, 5988, 5989, 5990, 5992, 5997 -}; -#endif - - -#if YYDEBUG != 0 || defined (YYERROR_VERBOSE) - -static const char * const yytname[] = { "$","error","$undefined.","SQL_AT", -"SQL_AUTOCOMMIT","SQL_BOOL","SQL_BREAK","SQL_CALL","SQL_CONNECT","SQL_CONNECTION", -"SQL_CONTINUE","SQL_DEALLOCATE","SQL_DISCONNECT","SQL_ENUM","SQL_FOUND","SQL_FREE", -"SQL_GO","SQL_GOTO","SQL_IDENTIFIED","SQL_IMMEDIATE","SQL_INDICATOR","SQL_INT", -"SQL_LONG","SQL_OFF","SQL_OPEN","SQL_PREPARE","SQL_RELEASE","SQL_REFERENCE", -"SQL_SECTION","SQL_SHORT","SQL_SIGNED","SQL_SQLERROR","SQL_SQLPRINT","SQL_SQLWARNING", -"SQL_START","SQL_STOP","SQL_STRUCT","SQL_UNSIGNED","SQL_VAR","SQL_WHENEVER", -"S_ANYTHING","S_AUTO","S_BOOL","S_CHAR","S_CONST","S_DOUBLE","S_ENUM","S_EXTERN", -"S_FLOAT","S_INT","S","S_LONG","S_REGISTER","S_SHORT","S_SIGNED","S_STATIC", -"S_STRUCT","S_UNION","S_UNSIGNED","S_VARCHAR","TYPECAST","ABSOLUTE","ACTION", -"ADD","ALL","ALTER","AND","ANY","AS","ASC","BEGIN_TRANS","BETWEEN","BOTH","BY", -"CASCADE","CASE","CAST","CHAR","CHARACTER","CHECK","CLOSE","COALESCE","COLLATE", -"COLUMN","COMMIT","CONSTRAINT","CREATE","CROSS","CURRENT","CURRENT_DATE","CURRENT_TIME", -"CURRENT_TIMESTAMP","CURRENT_USER","CURSOR","DAY_P","DECIMAL","DECLARE","DEFAULT", -"DELETE","DESC","DISTINCT","DOUBLE","DROP","ELSE","END_TRANS","EXCEPT","EXECUTE", -"EXISTS","EXTRACT","FALSE_P","FETCH","FLOAT","FOR","FOREIGN","FROM","FULL","GLOBAL", -"GRANT","GROUP","HAVING","HOUR_P","IN","INNER_P","INSENSITIVE","INSERT","INTERSECT", -"INTERVAL","INTO","IS","ISOLATION","JOIN","KEY","LANGUAGE","LEADING","LEFT", -"LEVEL","LIKE","LOCAL","MATCH","MINUTE_P","MONTH_P","NAMES","NATIONAL","NATURAL", -"NCHAR","NEXT","NO","NOT","NULLIF","NULL_P","NUMERIC","OF","ON","ONLY","OPTION", -"OR","ORDER","OUTER_P","PARTIAL","POSITION","PRECISION","PRIMARY","PRIOR","PRIVILEGES", -"PROCEDURE","PUBLIC","READ","REFERENCES","RELATIVE","REVOKE","RIGHT","ROLLBACK", -"SCROLL","SECOND_P","SELECT","SET","SUBSTRING","TABLE","TEMP","TEMPORARY","THEN", -"TIME","TIMESTAMP","TIMEZONE_HOUR","TIMEZONE_MINUTE","TO","TRAILING","TRANSACTION", -"TRIM","TRUE_P","UNION","UNIQUE","UPDATE","USER","USING","VALUES","VARCHAR", -"VARYING","VIEW","WHEN","WHERE","WITH","WORK","YEAR_P","ZONE","TRIGGER","COMMITTED", -"SERIALIZABLE","TYPE_P","ABORT_TRANS","ACCESS","AFTER","AGGREGATE","ANALYZE", -"BACKWARD","BEFORE","BINARY","CACHE","CLUSTER","COPY","CREATEDB","CREATEUSER", -"CYCLE","DATABASE","DELIMITERS","DO","EACH","ENCODING","EXCLUSIVE","EXPLAIN", -"EXTEND","FORWARD","FUNCTION","HANDLER","INCREMENT","INDEX","INHERITS","INSTEAD", -"ISNULL","LANCOMPILER","LIMIT","LISTEN","UNLISTEN","LOAD","LOCATION","LOCK_P", -"MAXVALUE","MINVALUE","MODE","MOVE","NEW","NOCREATEDB","NOCREATEUSER","NONE", -"NOTHING","NOTIFY","NOTNULL","OFFSET","OIDS","OPERATOR","PASSWORD","PROCEDURAL", -"RENAME","RESET","RETURNS","ROW","RULE","SERIAL","SEQUENCE","SETOF","SHARE", -"SHOW","START","STATEMENT","STDIN","STDOUT","TRUSTED","UNTIL","VACUUM","VALID", -"VERBOSE","VERSION","IDENT","SCONST","Op","CSTRING","CVARIABLE","CPP_LINE","ICONST", -"PARAM","FCONST","OP","'='","'<'","'>'","'+'","'-'","'*'","'/'","'%'","'|'", -"':'","';'","UMINUS","'.'","'['","']'","','","'('","')'","'{'","'}'","\"=\"", -"prog","statements","statement","opt_at","stmt","CreateUserStmt","AlterUserStmt", -"DropUserStmt","user_passwd_clause","user_createdb_clause","user_createuser_clause", -"user_group_list","user_group_clause","user_valid_clause","VariableSetStmt", -"opt_level","var_value","zone_value","VariableShowStmt","VariableResetStmt", -"AddAttrStmt","alter_clause","ClosePortalStmt","CopyStmt","copy_dirn","copy_file_name", -"opt_binary","opt_with_copy","copy_delimiter","CreateStmt","OptTemp","OptTempType", -"OptTempScope","OptTableElementList","OptTableElement","columnDef","ColQualifier", -"ColQualList","ColPrimaryKey","ColConstraint","ColConstraintElem","default_list", -"default_expr","TableConstraint","ConstraintElem","constraint_list","constraint_expr", -"c_list","c_expr","key_match","key_actions","key_action","key_reference","OptInherit", -"CreateAsStmt","OptCreateAs","CreateAsList","CreateAsElement","CreateSeqStmt", -"OptSeqList","OptSeqElem","NumericOnly","FloatOnly","IntegerOnly","CreatePLangStmt", -"PLangTrusted","DropPLangStmt","CreateTrigStmt","TriggerActionTime","TriggerEvents", -"TriggerOneEvent","TriggerForSpec","TriggerForOpt","TriggerForType","TriggerFuncArgs", -"TriggerFuncArg","DropTrigStmt","DefineStmt","def_rest","def_type","def_name", -"definition","def_list","def_elem","def_arg","DestroyStmt","FetchStmt","opt_direction", -"fetch_how_many","opt_portal_name","GrantStmt","privileges","operation_commalist", -"operation","grantee","opt_with_grant","RevokeStmt","IndexStmt","index_opt_unique", -"access_method_clause","index_params","index_list","func_index","index_elem", -"opt_type","opt_class","ExtendStmt","ProcedureStmt","opt_with","func_args","func_args_list", -"func_return","set_opt","RemoveStmt","remove_type","RemoveAggrStmt","aggr_argtype", -"RemoveFuncStmt","RemoveOperStmt","all_Op","MathOp","oper_argtypes","RenameStmt", -"opt_name","opt_column","RuleStmt","@1","RuleActionList","RuleActionBlock","RuleActionMulti", -"RuleActionStmt","event_object","event","opt_instead","NotifyStmt","ListenStmt", -"UnlistenStmt","TransactionStmt","opt_trans","ViewStmt","LoadStmt","CreatedbStmt", -"opt_database1","opt_database2","location","encoding","DestroydbStmt","ClusterStmt", -"VacuumStmt","opt_verbose","opt_analyze","opt_va_list","va_list","ExplainStmt", -"OptimizableStmt","InsertStmt","insert_rest","opt_column_list","columnList", -"columnElem","DeleteStmt","LockStmt","opt_lock","lock_type","opt_lmode","UpdateStmt", -"CursorStmt","@2","opt_cursor","SelectStmt","select_clause","SubSelect","result", -"opt_table","opt_union","opt_unique","sort_clause","sortby_list","sortby","OptUseOp", -"opt_select_limit","select_limit_value","select_offset_value","opt_inh_star", -"relation_name_list","name_list","group_clause","having_clause","for_update_clause", -"update_list","from_clause","from_expr","table_list","table_expr","join_clause_with_union", -"join_clause","join_list","join_expr","join_type","join_outer","join_qual","using_list", -"using_expr","where_clause","relation_expr","opt_array_bounds","nest_array_bounds", -"Iresult","Typename","Array","Generic","generic","Numeric","numeric","opt_float", -"opt_numeric","opt_decimal","Character","character","opt_varying","opt_charset", -"opt_collate","Datetime","datetime","opt_timezone","opt_interval","a_expr_or_null", -"row_expr","row_descriptor","row_op","sub_type","row_list","a_expr","b_expr", -"opt_indirection","expr_list","extract_list","extract_arg","position_list","position_expr", -"substr_list","substr_from","substr_for","trim_list","in_expr","in_expr_nodes", -"not_in_expr","not_in_expr_nodes","case_expr","when_clause_list","when_clause", -"case_default","case_arg","attr","attrs","res_target_list","res_target_el","res_target_list2", -"res_target_el2","opt_id","relation_name","database_name","access_method","attr_name", -"class","index_name","name","func_name","file_name","AexprConst","ParamNo","Iconst", -"Fconst","Sconst","UserId","TypeId","ColId","ColLabel","SpecialRuleRelation", -"ECPGConnect","connection_target","db_prefix","server","opt_server","server_name", -"opt_port","opt_connection_name","opt_user","ora_user","user_name","char_variable", -"opt_options","ECPGCursorStmt","ECPGDeallocate","ECPGDeclaration","@3","sql_startdeclare", -"sql_enddeclare","variable_declarations","declaration","@4","@5","storage_clause", -"type","enum_type","s_enum","struct_type","union_type","s_struct","s_union", -"opt_symbol","simple_type","varchar_type","variable_list","variable","opt_initializer", -"opt_pointer","ECPGDeclare","ECPGDisconnect","dis_name","connection_object", -"ECPGExecute","@6","execstring","ECPGFree","ECPGOpen","opt_using","variablelist", -"ECPGPrepare","ECPGRelease","ECPGSetAutocommit","on_off","to_equal","ECPGSetConnection", -"ECPGTypedef","opt_type_array_bounds","nest_type_array_bounds","opt_reference", -"ctype","@7","@8","opt_signed","sql_variable_declarations","sql_declaration", -"@9","sql_variable_list","sql_variable","ECPGVar","ECPGWhenever","action","ecpg_expr", -"into_list","ecpgstart","dotext","vartext","coutputvariable","cinputvariable", -"civariableonly","cvariable","indicator","ident","symbol","cpp_line","c_line", -"c_thing","c_anything","do_anything","var_anything","blockstart","blockend", NULL -}; -#endif - -static const short yyr1[] = { 0, - 313, 314, 314, 315, 315, 315, 315, 315, 315, 315, - 316, 317, 317, 317, 317, 317, 317, 317, 317, 317, - 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, - 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, - 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, - 317, 317, 317, 317, 317, 317, 317, 317, 317, 317, - 317, 317, 317, 317, 317, 317, 317, 317, 318, 319, - 320, 321, 321, 322, 322, 322, 323, 323, 323, 324, - 324, 325, 325, 326, 326, 327, 327, 327, 327, 327, - 328, 328, 329, 329, 330, 330, 330, 331, 331, 331, - 332, 332, 332, 333, 334, 334, 334, 334, 334, 334, - 335, 336, 337, 337, 338, 338, 338, 339, 339, 340, - 340, 341, 341, 342, 343, 343, 344, 344, 344, 345, - 345, 346, 346, 346, 347, 347, 348, 348, 349, 349, - 350, 350, 351, 351, 352, 352, 353, 353, 353, 353, - 353, 353, 353, 354, 354, 355, 355, 355, 355, 355, - 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, - 355, 355, 355, 355, 355, 355, 355, 355, 355, 355, - 355, 355, 356, 356, 357, 357, 357, 357, 358, 358, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 359, - 359, 359, 359, 359, 359, 359, 359, 359, 359, 360, - 360, 361, 362, 362, 362, 363, 363, 363, 364, 364, - 365, 365, 365, 365, 366, 366, 367, 368, 368, 369, - 369, 370, 371, 372, 372, 373, 373, 373, 373, 373, - 373, 374, 374, 375, 375, 376, 376, 377, 378, 378, - 379, 380, 381, 381, 382, 382, 382, 383, 383, 383, - 384, 385, 385, 386, 386, 387, 387, 387, 388, 388, - 388, 388, 389, 390, 391, 392, 392, 392, 393, 393, - 393, 393, 393, 394, 395, 395, 396, 396, 396, 397, - 397, 397, 397, 397, 398, 398, 399, 399, 400, 400, - 400, 400, 400, 401, 401, 401, 401, 401, 401, 402, - 402, 402, 403, 404, 404, 404, 405, 405, 406, 406, - 406, 406, 406, 407, 407, 407, 408, 408, 409, 410, - 411, 411, 412, 412, 413, 413, 414, 414, 415, 416, - 417, 417, 417, 418, 418, 418, 419, 420, 421, 421, - 422, 422, 423, 423, 424, 425, 425, 426, 427, 427, - 427, 427, 428, 429, 429, 430, 431, 432, 432, 433, - 433, 433, 433, 433, 433, 433, 433, 434, 434, 434, - 434, 435, 436, 436, 437, 437, 439, 438, 440, 440, - 440, 440, 440, 441, 441, 442, 442, 442, 443, 443, - 443, 443, 444, 444, 445, 445, 445, 445, 446, 446, - 447, 448, 449, 449, 450, 450, 450, 450, 450, 451, - 451, 451, 452, 453, 454, 454, 455, 455, 456, 456, - 457, 457, 457, 458, 458, 458, 459, 460, 461, 461, - 462, 462, 463, 463, 464, 464, 465, 465, 466, 467, - 467, 467, 467, 467, 467, 468, 469, 469, 469, 469, - 469, 470, 470, 471, 471, 472, 473, 474, 475, 475, - 476, 476, 476, 476, 477, 477, 478, 480, 479, 481, - 481, 481, 481, 481, 482, 483, 483, 483, 483, 483, - 484, 485, 485, 485, 486, 486, 487, 487, 488, 488, - 488, 488, 489, 489, 490, 490, 491, 492, 492, 492, - 492, 492, 492, 493, 493, 493, 493, 493, 493, 494, - 494, 494, 495, 495, 496, 496, 497, 498, 498, 499, - 499, 500, 500, 501, 501, 501, 502, 502, 503, 503, - 504, 504, 504, 505, 505, 506, 506, 506, 507, 507, - 508, 509, 509, 510, 510, 510, 511, 511, 511, 511, - 511, 511, 512, 512, 513, 513, 514, 514, 515, 516, - 516, 517, 517, 518, 518, 518, 519, 519, 519, 520, - 520, 520, 520, 520, 520, 520, 521, 521, 522, 522, - 522, 522, 523, 524, 524, 524, 524, 524, 524, 524, - 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, - 524, 524, 524, 524, 524, 524, 524, 524, 524, 524, - 524, 524, 524, 524, 524, 524, 524, 524, 525, 525, - 525, 525, 526, 526, 526, 526, 527, 527, 528, 528, - 528, 529, 529, 529, 530, 530, 531, 531, 531, 531, - 531, 532, 532, 533, 533, 534, 534, 535, 535, 535, - 535, 536, 536, 536, 536, 536, 536, 537, 537, 538, - 538, 538, 538, 538, 538, 538, 538, 538, 539, 539, - 540, 540, 540, 540, 540, 541, 542, 542, 542, 542, - 542, 542, 542, 542, 542, 543, 543, 544, 544, 545, - 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, - 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, - 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, - 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, - 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, - 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, - 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, - 545, 545, 545, 545, 545, 545, 545, 545, 545, 545, - 545, 545, 545, 545, 545, 545, 545, 545, 546, 546, - 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, - 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, - 546, 546, 546, 546, 546, 546, 546, 546, 546, 546, - 546, 546, 546, 547, 547, 547, 548, 548, 548, 549, - 549, 549, 550, 550, 550, 551, 551, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 552, 552, 552, 552, 552, 552, 552, 552, 552, - 552, 553, 553, 554, 554, 555, 555, 556, 556, 556, - 557, 557, 558, 558, 559, 559, 560, 560, 561, 561, - 561, 562, 562, 563, 564, 564, 565, 565, 565, 566, - 566, 567, 567, 567, 568, 568, 568, 569, 569, 569, - 570, 570, 571, 571, 571, 571, 572, 572, 573, 573, - 574, 575, 576, 577, 578, 579, 580, 581, 582, 582, - 582, 582, 582, 582, 582, 583, 584, 585, 586, 587, - 588, 588, 588, 589, 589, 589, 589, 589, 589, 589, - 589, 589, 589, 589, 589, 589, 589, 589, 589, 589, - 589, 589, 589, 589, 589, 589, 589, 589, 589, 589, - 589, 589, 589, 589, 589, 589, 589, 589, 589, 589, - 589, 589, 589, 589, 589, 589, 589, 589, 589, 589, - 589, 589, 589, 589, 589, 589, 589, 589, 589, 589, - 589, 589, 589, 589, 589, 589, 589, 589, 589, 589, - 589, 589, 589, 589, 589, 589, 589, 589, 589, 589, - 589, 589, 589, 589, 589, 589, 589, 589, 589, 589, - 589, 589, 589, 589, 589, 589, 589, 589, 589, 589, - 589, 589, 589, 589, 589, 589, 589, 589, 589, 589, - 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, - 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, - 590, 590, 590, 590, 590, 590, 590, 590, 590, 590, - 590, 590, 590, 590, 590, 590, 590, 590, 591, 591, - 592, 592, 592, 593, 593, 593, 593, 594, 595, 596, - 596, 597, 597, 598, 598, 599, 599, 600, 600, 601, - 601, 601, 601, 602, 602, 602, 603, 604, 604, 605, - 606, 608, 607, 609, 610, 611, 611, 613, 614, 612, - 615, 615, 615, 615, 615, 615, 615, 616, 616, 616, - 616, 616, 616, 617, 618, 619, 620, 621, 622, 623, - 623, 624, 624, 624, 624, 624, 624, 624, 624, 624, - 624, 624, 625, 626, 626, 627, 628, 628, 629, 629, - 630, 631, 632, 632, 632, 632, 633, 633, 634, 635, - 634, 636, 636, 637, 638, 639, 639, 640, 640, 641, - 642, 643, 644, 644, 645, 645, 646, 647, 648, 648, - 648, 648, 648, 649, 649, 649, 649, 649, 650, 650, - 651, 651, 651, 651, 651, 651, 651, 651, 651, 651, - 651, 651, 652, 651, 653, 651, 651, 654, 654, 655, - 655, 657, 656, 658, 658, 659, 660, 661, 661, 661, - 662, 662, 662, 662, 662, 662, 662, 662, 663, 663, - 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, - 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, - 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, - 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, - 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, - 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, - 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, - 663, 663, 663, 663, 663, 663, 663, 663, 663, 663, - 663, 663, 663, 663, 663, 663, 663, 664, 664, 665, - 666, 666, 667, 667, 668, 669, 670, 671, 672, 672, - 672, 672, 673, 673, 674, 675, 676, 676, 677, 677, - 678, 678, 678, 678, 678, 678, 678, 678, 678, 678, - 678, 678, 678, 678, 678, 678, 678, 678, 678, 678, - 678, 678, 678, 678, 678, 678, 678, 678, 678, 678, - 678, 678, 678, 678, 679, 679, 679, 679, 679, 680, - 680, 680, 680, 680, 681, 682 -}; - -static const short yyr2[] = { 0, - 1, 0, 2, 4, 3, 1, 1, 1, 1, 1, - 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 8, 8, - 3, 3, 0, 1, 1, 0, 1, 1, 0, 3, - 1, 3, 0, 3, 0, 4, 4, 4, 5, 3, - 2, 1, 1, 1, 1, 1, 1, 2, 3, 4, - 2, 3, 4, 5, 3, 4, 3, 6, 5, 2, - 2, 7, 1, 1, 1, 1, 1, 1, 0, 2, - 0, 3, 0, 8, 1, 2, 1, 1, 0, 1, - 1, 3, 1, 0, 1, 1, 3, 3, 1, 0, - 2, 1, 2, 0, 3, 1, 4, 2, 2, 2, - 1, 2, 5, 3, 1, 1, 2, 3, 3, 3, - 3, 3, 3, 3, 3, 2, 2, 3, 6, 3, - 3, 4, 3, 2, 2, 1, 1, 4, 1, 4, - 1, 1, 3, 1, 4, 4, 5, 10, 3, 1, - 1, 1, 1, 2, 3, 3, 3, 3, 3, 3, - 3, 3, 2, 2, 3, 6, 3, 3, 4, 3, - 3, 4, 3, 3, 2, 2, 2, 2, 3, 2, - 4, 3, 3, 4, 4, 5, 6, 5, 6, 3, - 1, 1, 2, 2, 0, 2, 1, 0, 3, 3, - 2, 1, 2, 2, 4, 0, 7, 3, 0, 3, - 1, 1, 4, 2, 0, 2, 1, 2, 2, 2, - 2, 1, 1, 1, 2, 1, 2, 9, 1, 0, - 4, 14, 1, 1, 1, 3, 5, 1, 1, 1, - 3, 1, 0, 1, 1, 1, 3, 0, 1, 1, - 1, 1, 5, 3, 2, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 1, 3, 3, 1, 3, 1, - 1, 1, 1, 2, 3, 3, 6, 4, 1, 1, - 1, 1, 0, 1, 2, 1, 1, 1, 0, 2, - 2, 0, 7, 2, 1, 1, 1, 3, 1, 1, - 1, 1, 1, 1, 2, 1, 3, 0, 6, 11, - 1, 0, 2, 0, 1, 1, 3, 1, 6, 3, - 2, 2, 0, 1, 2, 0, 4, 11, 2, 0, - 3, 2, 1, 3, 2, 1, 0, 3, 1, 1, - 1, 1, 4, 1, 1, 4, 6, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, - 3, 9, 1, 0, 1, 0, 0, 13, 1, 1, - 1, 3, 3, 1, 1, 2, 3, 2, 1, 1, - 1, 1, 3, 1, 1, 1, 1, 1, 1, 0, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, - 1, 0, 5, 2, 6, 3, 3, 0, 3, 0, - 1, 1, 0, 1, 1, 0, 3, 4, 3, 5, - 1, 0, 1, 0, 3, 0, 1, 3, 3, 1, - 1, 1, 1, 1, 1, 4, 4, 2, 1, 7, - 4, 3, 0, 3, 1, 2, 4, 4, 3, 0, - 3, 2, 2, 1, 1, 1, 6, 0, 7, 1, - 1, 1, 2, 0, 4, 3, 1, 3, 4, 4, - 8, 4, 2, 0, 1, 0, 1, 0, 1, 3, - 1, 0, 3, 0, 1, 3, 2, 2, 2, 2, - 1, 1, 0, 4, 4, 2, 4, 2, 0, 1, - 1, 1, 1, 1, 1, 0, 1, 1, 3, 3, - 0, 2, 0, 3, 3, 0, 2, 0, 2, 0, - 3, 1, 1, 3, 1, 3, 2, 1, 1, 4, - 2, 2, 1, 4, 4, 3, 2, 2, 2, 1, - 1, 0, 1, 0, 4, 2, 3, 1, 1, 2, - 0, 1, 2, 3, 4, 0, 3, 4, 0, 1, - 3, 3, 3, 3, 3, 3, 2, 2, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, - 2, 2, 1, 2, 1, 1, 3, 0, 5, 3, - 0, 5, 3, 0, 4, 1, 4, 2, 1, 3, - 2, 1, 0, 3, 0, 2, 0, 1, 2, 1, - 2, 1, 1, 1, 1, 1, 1, 3, 0, 1, - 3, 3, 3, 3, 3, 3, 3, 0, 1, 1, - 7, 8, 8, 7, 7, 3, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 3, 1, 2, - 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 2, 2, 3, 6, - 3, 3, 3, 4, 2, 2, 4, 3, 4, 1, - 1, 4, 1, 4, 1, 1, 4, 4, 4, 4, - 5, 5, 5, 4, 2, 3, 2, 4, 3, 4, - 3, 4, 5, 6, 5, 6, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 3, 3, 2, 1, 1, 2, 1, - 1, 2, 2, 2, 3, 3, 3, 3, 3, 2, - 2, 3, 6, 3, 3, 2, 2, 3, 4, 1, - 1, 4, 1, 4, 1, 1, 4, 4, 5, 5, - 5, 4, 1, 4, 6, 0, 1, 3, 3, 3, - 0, 1, 1, 1, 1, 3, 0, 2, 1, 2, - 3, 3, 3, 3, 3, 2, 3, 6, 3, 3, - 2, 2, 1, 3, 4, 4, 4, 5, 5, 5, - 4, 3, 0, 2, 0, 2, 0, 3, 2, 1, - 1, 1, 1, 3, 1, 1, 1, 3, 5, 6, - 4, 2, 1, 4, 2, 0, 2, 1, 0, 3, - 3, 1, 3, 3, 3, 1, 1, 4, 2, 3, - 3, 1, 3, 1, 3, 1, 1, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 1, 1, 2, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 5, 3, 2, 3, 6, 1, 1, 2, 2, 1, - 0, 1, 3, 2, 0, 2, 0, 2, 0, 1, - 3, 4, 3, 1, 1, 1, 1, 2, 0, 6, - 3, 0, 4, 5, 5, 0, 2, 0, 0, 6, - 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, - 1, 1, 1, 4, 2, 4, 4, 2, 2, 0, - 1, 1, 2, 1, 2, 1, 2, 1, 1, 1, - 1, 2, 1, 1, 3, 4, 0, 2, 0, 1, - 3, 2, 1, 1, 1, 0, 1, 1, 3, 0, - 4, 1, 1, 2, 3, 0, 2, 1, 3, 4, - 2, 4, 1, 1, 1, 1, 4, 6, 3, 3, - 4, 4, 0, 3, 3, 4, 4, 0, 1, 0, - 1, 1, 1, 1, 2, 1, 2, 2, 1, 2, - 2, 2, 0, 5, 0, 5, 1, 1, 0, 0, - 2, 0, 4, 1, 3, 3, 6, 3, 4, 3, - 1, 1, 1, 2, 3, 5, 2, 5, 2, 1, - 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 2, 2, 3, 6, 3, - 3, 3, 4, 2, 2, 4, 3, 4, 1, 1, - 4, 1, 4, 1, 1, 4, 4, 4, 4, 5, - 5, 5, 4, 2, 3, 2, 4, 3, 4, 3, - 4, 5, 6, 5, 6, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 3, 3, 2, 1, 1, 1, 3, 1, - 0, 2, 1, 2, 2, 2, 1, 1, 0, 1, - 2, 2, 1, 1, 1, 1, 1, 2, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 1, 1 -}; - -static const short yydefact[] = { 2, - 1, 1350, 1398, 1380, 1381, 1382, 1383, 1384, 1385, 1386, - 1387, 1388, 1389, 1390, 1391, 1392, 1393, 1394, 1395, 1396, - 1397, 1371, 1372, 1366, 947, 948, 1403, 1376, 1377, 1375, - 1378, 1379, 1370, 1399, 1400, 1404, 1401, 1402, 1415, 1416, - 3, 1373, 1374, 6, 1132, 0, 8, 7, 1369, 9, - 10, 1147, 0, 0, 0, 1186, 0, 0, 0, 0, - 0, 0, 442, 928, 442, 129, 0, 0, 0, 442, - 0, 323, 0, 0, 0, 442, 522, 0, 0, 0, - 442, 0, 119, 462, 0, 0, 0, 0, 516, 323, - 0, 0, 0, 462, 0, 0, 0, 21, 13, 27, - 51, 52, 53, 12, 14, 15, 16, 17, 18, 19, - 25, 20, 26, 23, 24, 30, 31, 42, 32, 28, - 36, 40, 37, 39, 38, 41, 44, 474, 33, 34, - 45, 46, 47, 48, 49, 22, 50, 29, 43, 473, - 475, 35, 472, 471, 470, 524, 507, 54, 55, 56, - 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, - 67, 68, 1146, 1144, 1141, 1145, 1143, 1142, 0, 1147, - 1138, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, - 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, - 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, - 1059, 1060, 956, 958, 684, 970, 685, 980, 983, 984, - 987, 686, 683, 991, 996, 998, 1000, 1002, 1003, 1005, - 1006, 1011, 687, 1020, 1021, 1022, 1023, 682, 1029, 1024, - 964, 1014, 1026, 957, 959, 960, 961, 962, 963, 965, - 966, 967, 968, 969, 971, 972, 973, 974, 975, 976, - 977, 978, 979, 981, 982, 985, 986, 988, 989, 990, - 992, 993, 994, 995, 997, 999, 1001, 1004, 1007, 1008, - 1009, 1010, 1013, 1012, 1015, 1016, 1017, 1018, 1019, 1025, - 1027, 1028, 1363, 949, 1364, 1358, 955, 1111, 1107, 931, - 11, 0, 1106, 1127, 954, 0, 1126, 1124, 1103, 1120, - 1125, 950, 0, 1185, 1184, 1188, 1187, 1182, 1183, 1194, - 1196, 936, 954, 0, 1365, 0, 0, 0, 0, 0, - 0, 0, 441, 440, 436, 111, 927, 437, 130, 131, - 127, 128, 351, 0, 0, 0, 297, 298, 0, 0, - 296, 0, 0, 269, 0, 125, 129, 0, 0, 0, - 1017, 504, 0, 0, 0, 382, 0, 379, 0, 0, - 0, 380, 0, 0, 381, 0, 0, 438, 0, 1190, - 322, 321, 320, 319, 329, 335, 342, 340, 339, 341, - 343, 0, 336, 337, 0, 0, 439, 521, 519, 0, - 0, 0, 456, 1020, 0, 0, 1099, 1100, 0, 930, - 929, 0, 435, 0, 935, 118, 0, 461, 0, 0, - 432, 434, 433, 444, 938, 515, 0, 329, 431, 1020, - 0, 101, 1020, 0, 98, 464, 0, 442, 0, 5, - 1201, 0, 518, 0, 518, 556, 1133, 0, 1137, 0, - 0, 1110, 1115, 1115, 1108, 1102, 1117, 0, 0, 0, - 1131, 0, 1195, 0, 1239, 0, 1251, 0, 0, 1252, - 1253, 0, 1248, 1250, 0, 546, 73, 0, 73, 0, - 0, 446, 0, 937, 0, 255, 0, 126, 0, 300, - 299, 303, 397, 395, 396, 390, 391, 392, 394, 393, - 294, 0, 302, 301, 0, 1181, 501, 502, 500, 0, - 591, 315, 547, 548, 71, 0, 0, 457, 0, 388, - 0, 389, 0, 316, 378, 1193, 1192, 1189, 1196, 326, - 327, 328, 0, 332, 324, 334, 0, 0, 0, 0, - 0, 1030, 617, 1031, 1032, 1033, 1034, 622, 1035, 1036, - 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, - 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, - 1057, 1058, 1059, 1060, 909, 0, 673, 673, 0, 750, - 751, 753, 755, 664, 970, 0, 0, 945, 658, 698, - 0, 673, 0, 0, 700, 661, 0, 0, 1020, 1021, - 0, 944, 756, 669, 1026, 0, 0, 846, 0, 926, - 0, 0, 0, 0, 0, 596, 609, 613, 611, 612, - 666, 610, 955, 924, 721, 699, 807, 846, 514, 922, - 0, 0, 722, 943, 939, 940, 941, 723, 808, 1359, - 954, 1205, 1206, 0, 0, 455, 90, 454, 0, 0, - 0, 0, 0, 1239, 0, 121, 0, 469, 591, 490, - 332, 102, 0, 99, 0, 463, 459, 506, 4, 508, - 517, 0, 0, 0, 0, 539, 0, 1170, 1171, 1169, - 1160, 1168, 1164, 1166, 1162, 1160, 1160, 0, 1173, 1139, - 1152, 0, 1150, 1151, 0, 0, 1148, 1149, 1153, 1112, - 1109, 0, 1104, 0, 0, 1119, 0, 1123, 1121, 1197, - 1198, 1200, 1229, 1226, 1238, 1233, 0, 1221, 1224, 1223, - 1235, 1222, 1213, 0, 1237, 0, 0, 1254, 1032, 0, - 1249, 545, 0, 0, 76, 1134, 76, 0, 274, 273, - 0, 448, 0, 0, 407, 253, 249, 0, 0, 295, - 0, 503, 0, 0, 487, 0, 0, 385, 383, 384, - 386, 0, 271, 1191, 325, 0, 0, 0, 0, 338, - 0, 0, 0, 476, 479, 0, 520, 0, 846, 0, - 0, 908, 0, 672, 668, 675, 0, 0, 0, 0, - 651, 650, 0, 851, 0, 649, 684, 685, 686, 682, - 690, 681, 673, 671, 0, 806, 0, 0, 0, 652, - 857, 883, 0, 679, 0, 616, 618, 619, 620, 621, - 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, - 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, - 643, 644, 645, 646, 647, 648, 0, 680, 689, 615, - 608, 678, 614, 745, 0, 946, 724, 725, 738, 737, - 0, 0, 0, 699, 942, 0, 607, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 765, 767, 746, - 0, 0, 0, 0, 0, 0, 0, 726, 720, 129, - 0, 560, 0, 0, 0, 0, 1360, 1356, 1204, 1203, - 1202, 1207, 96, 97, 88, 95, 0, 94, 86, 93, - 87, 917, 846, 560, 916, 0, 846, 1213, 458, 0, - 0, 504, 367, 0, 488, 318, 103, 100, 466, 510, - 523, 525, 533, 509, 0, 558, 0, 0, 505, 0, - 1155, 1161, 1158, 1159, 1172, 1165, 1167, 1163, 1179, 0, - 1147, 1147, 0, 1114, 0, 1116, 0, 1101, 1122, 0, - 0, 1230, 1232, 1231, 0, 0, 0, 1220, 1225, 1228, - 1227, 1351, 1255, 1351, 406, 406, 406, 406, 104, 0, - 74, 75, 79, 79, 443, 279, 278, 280, 0, 275, - 0, 450, 655, 970, 653, 656, 372, 0, 952, 953, - 373, 951, 377, 0, 0, 257, 0, 0, 0, 0, - 254, 134, 0, 0, 0, 308, 0, 305, 0, 498, - 590, 549, 293, 0, 0, 398, 331, 330, 0, 0, - 478, 0, 0, 485, 846, 0, 0, 906, 903, 907, - 0, 0, 0, 677, 847, 0, 0, 0, 0, 0, - 854, 855, 853, 0, 0, 852, 0, 0, 0, 0, - 0, 670, 0, 735, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 846, 0, 859, 873, 885, - 0, 0, 0, 0, 0, 0, 699, 890, 0, 0, - 750, 751, 753, 755, 0, 0, 0, 0, 0, 0, - 0, 756, 0, 0, 0, 0, 0, 0, 721, 0, - 807, 846, 0, 722, 723, 0, 1347, 1359, 741, 0, - 0, 599, 0, 0, 600, 0, 1065, 1067, 1068, 1070, - 1072, 1073, 1076, 1077, 1078, 1085, 1086, 1087, 1088, 1092, - 1093, 1094, 1095, 1098, 1062, 1063, 1064, 1066, 1069, 1071, - 1074, 1075, 1079, 1080, 1081, 1082, 1083, 1084, 1089, 1090, - 1091, 1096, 1097, 1061, 923, 739, 804, 0, 830, 831, - 833, 835, 0, 0, 0, 836, 0, 0, 0, 0, - 0, 0, 0, 846, 0, 810, 811, 843, 1357, 0, - 771, 0, 766, 769, 743, 0, 0, 0, 805, 0, - 0, 0, 742, 0, 0, 734, 0, 736, 0, 0, - 0, 732, 0, 0, 0, 733, 0, 0, 0, 727, - 0, 0, 0, 728, 0, 0, 0, 731, 0, 0, - 0, 729, 0, 0, 0, 730, 516, 513, 1348, 1359, - 921, 0, 591, 925, 910, 912, 933, 0, 748, 0, - 911, 1362, 1361, 0, 92, 89, 919, 0, 591, 0, - 0, 1220, 120, 114, 113, 0, 0, 0, 496, 0, - 495, 0, 494, 0, 460, 0, 531, 532, 0, 527, - 555, 0, 554, 541, 542, 536, 540, 544, 538, 543, - 0, 1180, 0, 1174, 0, 0, 1367, 0, 0, 1113, - 1129, 1118, 1199, 1239, 1239, 1218, 0, 1218, 0, 1219, - 1247, 0, 0, 0, 405, 0, 0, 0, 134, 110, - 0, 0, 0, 404, 72, 77, 78, 83, 83, 0, - 0, 453, 0, 445, 654, 0, 371, 376, 370, 0, - 0, 0, 256, 266, 258, 259, 260, 261, 0, 0, - 133, 135, 136, 184, 0, 251, 252, 0, 0, 0, - 0, 0, 304, 354, 0, 1130, 0, 387, 0, 317, - 0, 344, 348, 346, 0, 0, 0, 486, 349, 0, - 0, 902, 0, 0, 0, 0, 667, 0, 0, 901, - 752, 754, 0, 663, 757, 758, 0, 657, 692, 693, - 694, 695, 697, 696, 691, 0, 0, 660, 0, 857, - 883, 0, 871, 860, 866, 0, 759, 0, 0, 872, - 0, 0, 0, 0, 0, 858, 0, 0, 887, 760, - 688, 0, 889, 0, 0, 0, 764, 0, 0, 0, - 0, 851, 806, 1345, 0, 857, 883, 0, 745, 1284, - 724, 1263, 725, 1264, 738, 1277, 737, 1276, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 765, 767, 746, - 0, 0, 0, 0, 0, 0, 0, 726, 720, 0, - 0, 846, 0, 0, 707, 709, 708, 710, 711, 712, - 713, 715, 714, 0, 706, 0, 594, 0, 0, 0, - 0, 0, 0, 599, 665, 0, 0, 0, 857, 883, - 0, 826, 812, 813, 821, 820, 0, 0, 0, 827, - 0, 0, 0, 0, 814, 809, 0, 891, 0, 892, - 893, 943, 770, 768, 772, 0, 0, 744, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1355, 0, 559, - 563, 565, 562, 568, 592, 551, 0, 747, 749, 91, - 915, 497, 920, 0, 1208, 116, 117, 123, 115, 0, - 495, 493, 492, 0, 489, 0, 467, 526, 528, 529, - 530, 557, 0, 0, 0, 1135, 1140, 1179, 596, 1154, - 1368, 1156, 1157, 0, 1105, 1242, 0, 1239, 0, 0, - 0, 1209, 1218, 1210, 1218, 1405, 1406, 1409, 1258, 1407, - 1408, 1352, 1256, 0, 0, 0, 0, 0, 0, 105, - 0, 107, 0, 403, 0, 85, 85, 0, 276, 452, - 447, 451, 456, 374, 0, 0, 375, 427, 428, 425, - 426, 0, 267, 0, 0, 246, 0, 248, 144, 140, - 247, 0, 0, 391, 312, 262, 263, 309, 311, 264, - 313, 310, 307, 306, 0, 0, 499, 400, 401, 399, - 345, 0, 333, 477, 484, 0, 481, 0, 905, 899, - 0, 674, 676, 849, 848, 0, 850, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 869, 867, 856, 870, - 861, 862, 865, 863, 864, 874, 0, 884, 0, 882, - 761, 762, 763, 888, 0, 0, 0, 0, 0, 735, - 0, 0, 0, 0, 0, 0, 741, 739, 804, 1343, - 0, 0, 771, 0, 766, 769, 743, 1282, 0, 0, - 0, 805, 1344, 0, 0, 0, 742, 1281, 0, 0, - 734, 0, 736, 1275, 0, 0, 0, 732, 1271, 0, - 0, 0, 733, 1272, 0, 0, 0, 727, 1266, 0, - 0, 0, 728, 1267, 0, 0, 0, 731, 1270, 0, - 0, 0, 729, 1268, 0, 0, 0, 730, 1269, 0, - 748, 0, 0, 844, 0, 0, 717, 716, 0, 0, - 599, 0, 601, 602, 603, 604, 605, 606, 595, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 824, 822, - 773, 825, 815, 816, 819, 817, 818, 828, 0, 775, - 0, 0, 895, 0, 896, 897, 0, 0, 777, 0, - 0, 785, 0, 0, 783, 0, 0, 784, 0, 0, - 778, 0, 0, 779, 0, 0, 782, 0, 0, 780, - 0, 0, 781, 512, 1349, 582, 0, 569, 0, 0, - 584, 581, 584, 582, 580, 584, 571, 573, 0, 0, - 567, 593, 0, 553, 914, 913, 918, 0, 112, 498, - 491, 0, 465, 535, 534, 537, 1175, 1177, 1128, 1179, - 1234, 1241, 1236, 1218, 0, 1218, 0, 1211, 1212, 0, - 0, 192, 0, 0, 0, 0, 0, 0, 0, 191, - 193, 0, 0, 0, 106, 0, 0, 0, 0, 0, - 70, 69, 283, 0, 0, 449, 369, 0, 0, 183, - 132, 0, 124, 250, 252, 0, 138, 0, 0, 0, - 0, 0, 0, 151, 137, 139, 142, 146, 0, 314, - 265, 353, 932, 0, 0, 0, 904, 740, 662, 900, - 659, 0, 876, 877, 0, 0, 0, 881, 875, 886, - 0, 752, 754, 757, 758, 759, 760, 0, 0, 0, - 764, 0, 0, 770, 768, 772, 0, 0, 744, 1283, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 747, 749, 846, - 0, 0, 0, 0, 719, 0, 597, 599, 0, 832, - 834, 837, 838, 0, 0, 0, 842, 829, 894, 774, - 776, 0, 795, 786, 803, 794, 801, 792, 802, 793, - 796, 787, 797, 788, 800, 791, 798, 789, 799, 790, - 0, 561, 564, 0, 583, 577, 578, 0, 579, 572, - 0, 566, 0, 0, 511, 0, 468, 0, 1176, 0, - 0, 1244, 1214, 1218, 1215, 1218, 0, 215, 216, 194, - 204, 203, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 218, 220, 217, 0, 0, 0, 0, 0, 0, - 0, 0, 185, 0, 0, 0, 186, 109, 0, 402, - 82, 81, 0, 282, 0, 0, 277, 0, 591, 424, - 0, 143, 0, 0, 0, 176, 177, 179, 181, 148, - 182, 0, 0, 0, 0, 0, 149, 0, 156, 150, - 152, 483, 141, 268, 0, 355, 356, 358, 363, 0, - 933, 347, 0, 0, 878, 879, 880, 0, 761, 762, - 763, 773, 775, 0, 0, 0, 0, 777, 0, 0, - 785, 0, 0, 783, 0, 0, 784, 0, 0, 778, - 0, 0, 779, 0, 0, 782, 0, 0, 780, 0, - 0, 781, 845, 701, 0, 704, 705, 0, 598, 0, - 839, 840, 841, 898, 0, 576, 0, 0, 550, 552, - 122, 1410, 1411, 0, 1412, 1413, 1178, 1353, 596, 1243, - 1179, 1216, 1217, 0, 207, 205, 213, 0, 232, 0, - 223, 0, 219, 222, 211, 0, 0, 0, 214, 210, - 200, 201, 202, 195, 196, 199, 197, 198, 208, 0, - 190, 0, 187, 108, 0, 84, 284, 285, 281, 0, - 0, 0, 0, 0, 0, 145, 0, 0, 0, 174, - 157, 167, 166, 0, 0, 175, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 235, 370, 0, 0, - 0, 366, 0, 480, 868, 740, 774, 776, 795, 786, - 803, 794, 801, 792, 802, 793, 796, 787, 797, 788, - 800, 791, 798, 789, 799, 790, 702, 703, 823, 570, - 575, 0, 0, 574, 0, 1354, 1246, 1245, 0, 0, - 0, 231, 225, 221, 224, 0, 0, 212, 0, 209, - 0, 80, 0, 368, 430, 423, 245, 147, 0, 0, - 0, 170, 168, 173, 163, 164, 165, 158, 159, 162, - 160, 161, 171, 0, 155, 0, 0, 238, 350, 357, - 362, 361, 0, 360, 364, 934, 0, 586, 0, 1414, - 0, 228, 0, 226, 0, 0, 189, 483, 288, 429, - 0, 0, 178, 180, 0, 172, 482, 233, 234, 0, - 153, 237, 365, 363, 0, 588, 589, 206, 230, 229, - 227, 235, 0, 286, 289, 290, 291, 292, 409, 0, - 0, 408, 411, 422, 419, 421, 420, 410, 0, 154, - 0, 0, 236, 366, 0, 585, 238, 0, 272, 0, - 414, 415, 0, 169, 242, 0, 0, 239, 240, 359, - 587, 188, 287, 412, 416, 418, 413, 241, 243, 244, - 417, 0, 0, 0 -}; - -static const short yydefgoto[] = { 2492, - 1, 41, 96, 97, 98, 99, 100, 725, 973, 1318, - 2141, 1636, 1941, 101, 1246, 899, 895, 102, 103, 104, - 969, 105, 106, 1256, 1578, 407, 911, 1899, 107, 345, - 346, 347, 1340, 1341, 1342, 1965, 1966, 1957, 1967, 1968, - 2394, 2167, 1343, 1344, 2280, 1928, 2361, 2362, 2398, 2431, - 2432, 2478, 1953, 108, 1003, 1345, 1346, 109, 736, 1001, - 1665, 1666, 1667, 110, 348, 111, 112, 731, 979, 980, - 1944, 2145, 2289, 2443, 2444, 113, 114, 491, 349, 1006, - 740, 1007, 1008, 1668, 115, 116, 375, 524, 758, 117, - 382, 383, 384, 1363, 1683, 118, 119, 350, 1676, 2175, - 2176, 2177, 2178, 2322, 2404, 120, 121, 1646, 734, 988, - 1329, 1330, 122, 367, 123, 749, 124, 125, 1669, 493, - 1015, 126, 1633, 1311, 127, 994, 2452, 2470, 2471, 2472, - 2149, 1652, 2421, 2454, 129, 130, 131, 325, 132, 133, - 134, 982, 1324, 1641, 637, 135, 136, 137, 409, 657, - 1265, 1586, 138, 139, 2455, 764, 2317, 1023, 1024, 2456, - 142, 915, 1262, 1263, 2457, 144, 1355, 500, 145, 146, - 147, 882, 417, 662, 390, 436, 921, 922, 1270, 929, - 1276, 1279, 723, 502, 503, 1894, 2095, 666, 1273, 1233, - 1560, 1561, 1562, 1877, 1563, 1887, 1888, 1889, 2086, 2354, - 2435, 2436, 745, 1564, 857, 1487, 1114, 605, 606, 607, - 608, 609, 989, 786, 800, 781, 610, 611, 775, 1034, - 1377, 612, 613, 804, 792, 1035, 615, 852, 1484, 1810, - 853, 616, 1173, 846, 1078, 1044, 1045, 1064, 1065, 1071, - 1419, 1720, 1079, 1519, 1520, 1844, 1845, 617, 1028, 1029, - 1373, 768, 618, 1235, 904, 905, 619, 620, 326, 770, - 288, 1972, 1236, 2405, 404, 504, 622, 414, 623, 624, - 625, 626, 627, 298, 991, 628, 1155, 401, 148, 307, - 292, 442, 443, 691, 693, 696, 948, 299, 300, 293, - 1605, 149, 150, 44, 52, 45, 437, 169, 170, 440, - 939, 171, 680, 681, 682, 683, 684, 685, 686, 931, - 687, 688, 1283, 1284, 2099, 1285, 151, 152, 308, 309, - 153, 519, 518, 154, 155, 453, 700, 156, 157, 158, - 891, 634, 159, 160, 958, 1612, 1301, 1606, 951, 955, - 714, 1607, 1608, 1910, 2101, 2102, 161, 162, 463, 1106, - 1228, 46, 1302, 2247, 1229, 629, 1107, 630, 888, 631, - 715, 47, 1286, 48, 1287, 1622, 2248, 50, 51 -}; - -static const short yypact[] = {-32768, - 2391,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 2926,-32768,-32768,-32768,-32768, --32768, 1429, 25892, 304, 143, 25040, 317, 29553, 317, -35, - 376, -10, 264, 29553, 382, 3717, 29834, 77, 1798, 382, - 65, 45, 90, 139, 90, 382, 460, 27305, 27586, -35, - 382, 29553, 145, 27, 153, 27586, 23335, 140, 307, 45, - 27586, 28148, 28429, 27, -74, 4305, 230,-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, - 518,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 420,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 571, 89, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, 273,-32768,-32768, --32768, 273,-32768,-32768, 399, 25324,-32768,-32768,-32768, 41, --32768,-32768, 317,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 526,-32768,-32768, 656,-32768, 627, 100, 100, 747, 27586, - 317, 757,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 317, 29553, 29553,-32768,-32768, 29553, 29553, --32768, 29553, 27586,-32768, 620,-32768, 115, 581, 22750, 619, - 317, 514, 27586, 29553, 317,-32768, 29553,-32768, 29553, 29553, - 29553,-32768, 2302, 730,-32768, 29553, 29553,-32768, 345,-32768, --32768,-32768,-32768,-32768, 98, 711,-32768,-32768,-32768,-32768, --32768, 759, 574,-32768, 27586, 780,-32768,-32768, 784, 15476, - -113, -113, -26, 739, 846, -98,-32768,-32768, 807,-32768, --32768, 861,-32768, 840,-32768,-32768, 27586,-32768, 57, 29553, --32768,-32768,-32768,-32768,-32768,-32768, 27586, 98,-32768, 798, - 897,-32768, 842, 924,-32768, 772, -32, 382, 721,-32768, --32768, -74, 1006, 1005, 1006, 969,-32768, 1010,-32768, 505, - 29553,-32768, 864, 864,-32768,-32768, 1057, 1098, 1667, 1667, --32768, 399,-32768, 345, 839, 29553,-32768, 1001, 29553,-32768, --32768, 30115,-32768,-32768, 100, 914, 993, 901, 993, 1163, - 482, 1051, 962,-32768, 1211,-32768, 27586,-32768, 1158,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768, 1002,-32768,-32768, 29553,-32768, 1139,-32768,-32768, 1233, - 1140,-32768, 1066,-32768,-32768, 1206, 23619,-32768, 962,-32768, - 1068,-32768, 140,-32768,-32768,-32768,-32768,-32768, 526,-32768, --32768,-32768, 1109, 277,-32768,-32768, 29553, 91, -29, 29553, - 29553, -118,-32768, 328, 413, 434, 454,-32768, 475, 554, - 595, 616, 624, 626, 632, 652, 655, 678, 679, 722, - 729, 738, 742, 768, 781, 794, 800, 806, 818, 824, - 826, 833, 835, 837, 24755, 1095, 1214, 1214, 1106,-32768, - 1110, 1113,-32768, 1116, 1275, 1130, 1133,-32768, 1153, 1157, - 1370, 1214, 16700, 1164, 1179, 1187, 1194, 1195, 844, 254, - 1216,-32768,-32768,-32768, 877, 30810, 16700, 1209, 16700,-32768, - 16700, 16700, 16700, 17006, 140, 1222,-32768,-32768,-32768,-32768, - 1232,-32768, 878, 1479,-32768, 4300,-32768, 1209, -52,-32768, - 1244, 1251,-32768, 1265,-32768,-32768,-32768, 491,-32768, 31, - 880,-32768,-32768, 59, 25608,-32768,-32768,-32768, -33, 1441, - -21, -21, 23047, 839, 27586, 1379, 29553,-32768, 1140, 1466, - 277,-32768, 1453,-32768, 1472,-32768, 27586,-32768,-32768,-32768, --32768, -74, 16700, -74, 354, 487, 1517,-32768,-32768,-32768, - -35,-32768,-32768,-32768,-32768, -35, -35, 641,-32768,-32768, --32768, 1323,-32768,-32768, 1334, 1338,-32768,-32768,-32768, 1318, --32768, 1109,-32768, 1366, 25892, 1443, 1667,-32768,-32768,-32768, - 1293,-32768,-32768,-32768,-32768,-32768, 1371,-32768,-32768,-32768, --32768,-32768, 424, 1404,-32768, 1350, 29553,-32768, 1383, 1378, --32768,-32768, 144, 1432, 190,-32768, 190, -74,-32768,-32768, - 403, 1455, 9368, 1425,-32768, 815, 1495, 140, 22453,-32768, - 1553,-32768, 1628, 16700,-32768, 29553, 27586,-32768,-32768,-32768, --32768, 28710,-32768,-32768,-32768, 29553, 29553, 1617, 1569,-32768, - 1579, 1498, 21875,-32768,-32768, 1673,-32768, 1624, 1209, 1503, - 1265, 1520, 16700,-32768,-32768, 1755, 17006, 1109, 1109, 1109, --32768,-32768, 1660, 1326, 1109,-32768, 1657, 1661, 1668, 1671, --32768,-32768, 1214,-32768, 1179, 1664, 16700, 16700, 1109,-32768, - 20066, 17006, 1690,-32768, 9662,-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, 1275,-32768, 1693,-32768, --32768,-32768,-32768, 894, 17312,-32768, 1814, 1814, 1814, 1814, - 1600, 1604, 1612, 2583,-32768, 766,-32768, 1109, 26460, 30604, - 16700, 18536, 1621, 235, 16700, 520, 16700,-32768,-32768, 17618, - 10886, 11192, 11498, 11804, 12110, 12416, 12722, 18230,-32768, 40, - 15476, 1816, 23903, 7526, 29553, 26176,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 375,-32768,-32768,-32768, --32768,-32768, 1209, -54,-32768, 1641, 338, 424,-32768, 1675, - 25, 514,-32768, 723,-32768,-32768,-32768,-32768, 1639,-32768, - 1633,-32768, 3548,-32768, 1802, 1800, -16, 857,-32768, 1936, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1670, 760, - 151, 151, 29553,-32768, 29553,-32768, 1667,-32768,-32768, 399, - 1655,-32768,-32768,-32768, 1658, 802, 558, 1942,-32768,-32768, --32768,-32768,-32768,-32768, 29, 1888, 1888, 1888,-32768, 317, --32768,-32768, 314, 314,-32768,-32768,-32768,-32768, 1822, 1821, - 1685, 1751,-32768, 1819,-32768,-32768,-32768, 588,-32768,-32768, --32768,-32768, 1712, 1830, 169,-32768, 169, 169, 169, 169, --32768, 27022, 1916, 1752, 1695, 1700, 611,-32768, 27586, 317, - 4300,-32768,-32768, 1687, 1688, 1691,-32768,-32768, 399, 27867, --32768, 15476, 615,-32768, 1209, 27867, 16700, -2,-32768,-32768, - 29553, 2457, 1826, 1920,-32768, -46, 1696, 1698, 706, 1702, --32768,-32768,-32768, 1703, 1890,-32768, 1704, 229, -36, 1836, - 1874,-32768, 3038, 2604, 819, 1707, 1708, 1709, 1710, 20066, - 20066, 20066, 20066, 1711, 838, 1209, 1714,-32768, 491, -56, - 1719, 1825, 15782, 17006, 15782, 15782, 3845, -63, 1725, 1715, - 232, 954, 1055, 542, 1728, 1729, 17312, 1746, 1731, 1732, - 1735, 680, 17312, 17312, 17312, 17312, 17312, 17006, 727, 4540, - 868, 1209, 1736, 906, 1252, 928,-32768, 37,-32768, 1385, - 16700, 1742, 352, 1332,-32768, 1739,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768, 1664, 1741,-32768, 1745, - 1747,-32768, 1753, 1757, 1760,-32768, 18536, 18536, 18536, 18536, - 18536, 16700, 1223, 1209, 1761,-32768, 491,-32768,-32768, 5129, --32768, 288,-32768,-32768, 970, 18536, 1762, 16700, 2243, 1763, - 1764, 16088, 894, 1765, 1766,-32768, 16088, 2604, 1768, 1769, - 16088, 4450, 1770, 1771, 16088, 4450, 1772, 1773, 16088, 23, - 1774, 1777, 16088, 23, 1779, 1780, 16088, 1814, 1781, 1783, - 16088, 1814, 1784, 1785, 16088, 1814, 307, 1743,-32768, 31, --32768, 21594, 1140,-32768, 1750,-32768,-32768, 1754,-32768, -20, - 1750,-32768,-32768, 1854,-32768,-32768,-32768, 24755, 1140, 24187, - 1803, 1942,-32768,-32768,-32768, 941, 2005, 164,-32768, 164, - 1835, 1859,-32768, 29553,-32768, 16700,-32768,-32768, 926,-32768, --32768, 29553,-32768,-32768,-32768, -167,-32768,-32768, 1869,-32768, - 1811,-32768, 474,-32768, -35, 3423,-32768, 1804, 1806,-32768, - 1834,-32768,-32768, 203, 203, 522, 1532, 522, 996,-32768, --32768, 971, 1149, 1812,-32768, 1983, 1990, 1815, 27022,-32768, - 29553, 29553, 29553, 29553,-32768,-32768,-32768, 2003, 2003, 27586, - 403, -8, 1833,-32768,-32768, 26741,-32768,-32768, 1925, 26741, - 495, 1109,-32768,-32768,-32768,-32768,-32768,-32768, 29553, 1020, --32768,-32768,-32768,-32768, 1030,-32768, 30398, 1660, 22750, 22156, - 22156, 22453,-32768, 1935, -74,-32768, 29553,-32768, 28991, 1743, - 29553,-32768, 1930,-32768, 1092, 29553, 221,-32768,-32768, 3810, - 17006,-32768, 2028, 30604, 29553, 29553,-32768, 16700, 17006,-32768, --32768,-32768, 1109,-32768,-32768,-32768, 16700,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768, 16700, 1109,-32768, 20066, 20066, - 17006, 9968, 330, 2073, 2073, 74,-32768, 30604, 20066, 20678, - 20066, 20066, 20066, 20066, 20066,-32768, 8140, 17006, 2022,-32768, --32768, 1828, -63, 1829, 1831, 17006,-32768, 16700, 1109, 1109, - 1660, 1326, 1852,-32768, 16700, 20066, 17006, 10274, 1019,-32768, - 2075,-32768, 2075,-32768, 2075,-32768, 2075,-32768, 1832, 30604, - 17312, 18536, 1844, 600, 17312, 523, 17312, 975, 1071, 13028, - 13334, 13640, 13946, 14252, 14558, 14864, 15170, 17924, 1121, 7833, - 17312, 1209, 1845, 2018,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 2, 3059, 856,-32768, 1037, 352, 352, - 352, 352, 352, 1742,-32768, 18536, 1109, 1109, 20066, 17006, - 10580, 525, 2083, 2083, 2083, 2083, 859, 30604, 18536, 18842, - 18536, 18536, 18536, 18536, 19148,-32768, 8447,-32768, 1848, 1851, --32768,-32768,-32768,-32768,-32768, 1287, 5129, 970, 1660, 1660, - 1850, 1660, 1660, 1853, 1660, 1660, 1863, 1660, 1660, 1864, - 1660, 1660, 1865, 1660, 1660, 1866, 1660, 1660, 1870, 1660, - 1660, 1871, 1660, 1660, 1873, 27586, 399,-32768, 27586,-32768, - 1856, 1623,-32768, 29272, 1881, 2042, 24471,-32768,-32768,-32768, --32768,-32768,-32768, 17006,-32768,-32768,-32768, 1967,-32768, 2071, --32768,-32768,-32768, 1957,-32768, 1142,-32768,-32768,-32768,-32768, --32768, 1879, 857, 857, -16,-32768,-32768, 1670, 1222,-32768, --32768,-32768,-32768, 29553,-32768,-32768, 1876, 203, 1877, 917, - 563,-32768, 522,-32768, 522,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768, 20984, 1882, 1883, 29553, 1148, 30398,-32768, - -14,-32768, 2004,-32768, 2076, 1914, 1914, 2084, 2040,-32768, --32768,-32768, -26,-32768, 1002, 2129,-32768,-32768,-32768,-32768, --32768, 2014,-32768, 555, 27022, 1964, 29553,-32768, 2041, 1269, --32768, 1962, 29553, 1074,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768, 317, 1895,-32768,-32768,-32768,-32768, --32768, 2087,-32768,-32768,-32768, 1900,-32768, 17006,-32768,-32768, - 1901,-32768,-32768, 4300,-32768, 1903, 4300, 1434, 1905, 1025, - 1908, 1909, 15782, 15782, 15782, 1910,-32768,-32768, 427, 330, - 55, 55, 2073, 2073, 2073,-32768, 6, -63, 17006,-32768, --32768,-32768,-32768, -63, 3944, 1911, 1912, 1915, 1917, 903, - 1918, 1919, 15782, 15782, 15782, 1921, 1173, 1174, 1852,-32768, - 1465, 5129, 1181, 605, 1192, 1227, 1583,-32768, 18536, 1924, - 17312, 2275,-32768, 1926, 1927, 16088, 1019,-32768, 1928, 1929, - 1229, 16088, 2923,-32768, 1932, 1933, 16088, 4783,-32768, 1934, - 1941, 16088, 4783,-32768, 1943, 1944, 16088, 122,-32768, 1946, - 1947, 16088, 122,-32768, 1948, 1949, 16088, 2075,-32768, 1950, - 1953, 16088, 2075,-32768, 1954, 1955, 16088, 2075,-32768, 1956, - 1238, 136, 1958,-32768, 1660, 1968,-32768,-32768, 16394, 1969, - 1742, 1608,-32768, -61, -61,-32768,-32768,-32768,-32768, 1474, - 1970, 1971, 1972, 1973, 15782, 15782, 15782, 1974,-32768,-32768, - 948, 525, 182, 182, 2083, 2083, 2083,-32768, 154,-32768, - 6707, 18536,-32768, 1976, 1931,-32768, 1982, 1984,-32768, 1985, - 1986,-32768, 1987, 1992,-32768, 1993, 1996,-32768, 1997, 1998, --32768, 1999, 2001,-32768, 2002, 2006,-32768, 2007, 2008,-32768, - 2010, 2011,-32768,-32768,-32768, 1185, 2013,-32768, 27586, 2093, - 2068,-32768, 2068, 960,-32768, 2068, 1623,-32768, 2103, 26460, --32768,-32768, 2177, 2147,-32768,-32768,-32768, 2054,-32768,-32768, --32768, 29553,-32768,-32768,-32768,-32768,-32768, 2000,-32768, 1670, --32768,-32768,-32768, 522, 1629, 522, 1072,-32768,-32768, 2016, - 20984,-32768, 20984, 20984, 20984, 20984, 20984, 1566, 2017,-32768, - 2019, 29553, 29553, 1204,-32768, 2202, 2203, 29553, 317, 2035, --32768,-32768, 2100, 2207, 403,-32768,-32768, 140, 27586,-32768, --32768, 2021,-32768,-32768,-32768, 2200,-32768, 2024, 29553, 19454, - 2184, 2205, 29553,-32768,-32768, 1269,-32768,-32768, 140,-32768, --32768,-32768,-32768, 29553, 2180, 15476,-32768,-32768,-32768,-32768, --32768, 30604,-32768,-32768, 2029, 2030, 2031,-32768,-32768, -63, - 30604, 1271, 1272, 1289, 1290, 1296, 1298, 2034, 2038, 2039, - 1302, 18536, 2043, 1305, 1333, 1339, 1593, 5129, 1583,-32768, - 1660, 1660, 2048, 1660, 1660, 2049, 1660, 1660, 2052, 1660, - 1660, 2053, 1660, 1660, 2056, 1660, 1660, 2057, 1660, 1660, - 2058, 1660, 1660, 2059, 1660, 1660, 2060, 1341, 1349, 1209, - 2061, 1660, 2063, 2064, 4300, 1660,-32768, 1742, 30604,-32768, --32768,-32768,-32768, 2065, 2066, 2067,-32768,-32768,-32768, 948, --32768, 6707,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, - 2219,-32768,-32768, 27586,-32768,-32768,-32768, 2220,-32768,-32768, - 27586,-32768, 17006, 16700,-32768, 140,-32768, 543,-32768, -35, - 1360,-32768,-32768, 522,-32768, 522, 20984, 2705, 1319, 2277, - 2277, 2277, 1872, 30604, 20984, 6707, 2055, 604, 20984, 612, - 20984,-32768,-32768, 21290, 20984, 20984, 20984, 20984, 20984, 20984, - 20984, 20984,-32768, 9061, 1312, 1316,-32768,-32768, 19760,-32768, - 2044,-32768, 140,-32768, -95, 2213,-32768, 2248, 1140, 2078, - 29553,-32768, 20984, 1407, 2077,-32768, 2079, 2080,-32768,-32768, --32768, 19760, 19760, 19760, 19760, 19760, 674, 2081,-32768,-32768, --32768, 2085,-32768,-32768, 2086, 2090,-32768,-32768, -49, 2091, - 2019,-32768, 1416, 2092,-32768,-32768,-32768, 2096, 1367, 1369, - 1387, 468, 1390, 18536, 2098, 2099, 2101, 1394, 2108, 2110, - 1397, 2112, 2114, 1400, 2115, 2117, 1406, 2118, 2119, 1408, - 2120, 2132, 1433, 2142, 2145, 1435, 2146, 2148, 1436, 2149, - 2150, 1445,-32768,-32768, 2153,-32768,-32768, 2154,-32768, 2156, --32768,-32768,-32768,-32768, 27586,-32768, 27586, 270, -63, 4300, --32768,-32768,-32768, 760,-32768,-32768, 543,-32768, 1222,-32768, - 1670,-32768,-32768, 4210,-32768,-32768, 2705, 2318,-32768, 6707, --32768, 647,-32768,-32768, 1991, 6707, 2158, 20984, 3364, 1319, - 4335, 4818, 4818, 208, 208, 2277, 2277, 2277,-32768, 1458, - 4604, 2225,-32768, 674, 317,-32768,-32768,-32768,-32768, 29553, - 140, 2169, 29553, 2161, 1975,-32768, 19760, 1109, 1109, 650, - 2340, 2340, 2340, 355, 30604, 20372, 19760, 19760, 19760, 19760, - 19760, 19760, 19760, 19760, 8754, 29553, 2333, 1925, 29553, 30604, - 30604, 327, 29553,-32768,-32768, 1446, 607, 1475, 1476, 1477, - 1483, 1490, 1504, 1508, 1531, 1535, 1539, 1542, 1548, 1551, - 1567, 1592, 1595, 1610, 1616, 1636,-32768,-32768,-32768,-32768, --32768, 16700, 2164,-32768, 3987,-32768,-32768,-32768, 30604, 6707, - 1481,-32768,-32768,-32768,-32768, 2390, 6707, 1991, 20984,-32768, - 29553,-32768, 2165,-32768, 2237,-32768,-32768,-32768, 943, 2166, - 2168,-32768,-32768, 650, 674, 882, 882, 214, 214, 2340, - 2340, 2340,-32768, 1563, 674, 1576, 130, 2326,-32768,-32768, --32768,-32768, 317,-32768,-32768,-32768, 1577, 4300, 29553,-32768, - 2171,-32768, 6707,-32768, 6707, 1590, 4604, 2085, 1127,-32768, - 1090, 30604,-32768,-32768, 19760,-32768,-32768,-32768,-32768, 4, --32768, 2326,-32768, -49, 1632,-32768,-32768,-32768,-32768,-32768, --32768, 2333, 1637,-32768,-32768,-32768,-32768,-32768,-32768, 583, - 736,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 2173, 674, - 95, 95,-32768, 327, 29553,-32768, 2326, 1127,-32768, 2178, - 583, 2181, 2179,-32768,-32768, 2424, 107,-32768,-32768,-32768, --32768,-32768,-32768,-32768, 2185,-32768,-32768,-32768,-32768,-32768, --32768, 2489, 2491,-32768 -}; - -static const short yypgoto[] = {-32768, --32768,-32768,-32768, 2396,-32768,-32768,-32768, 2025, 1778, 1519, --32768, 1176, 860,-32768,-32768, 1858,-32768,-32768,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 1618, - 2157,-32768, 1198, 854, 1190,-32768,-32768,-32768, 544, 357, --32768, -2085,-32768, -951,-32768, -1829, 147, -2049, 76, 49, - 92, 64,-32768,-32768,-32768,-32768, 872,-32768,-32768,-32768, --32768,-32768, 566,-32768,-32768,-32768,-32768,-32768,-32768, -1300, --32768,-32768,-32768,-32768, 62,-32768,-32768,-32768,-32768, -340, - 887,-32768, 1182, 1193,-32768,-32768, 2443, 2125, 1894,-32768, - 2472,-32768, 2020, 1523,-32768,-32768,-32768,-32768,-32768,-32768, --32768,-32768, 231, 117, 96,-32768,-32768, 244, 2070,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 2201, -350, --32768,-32768,-32768, 749,-32768,-32768,-32768, 112,-32768, -2312, --32768,-32768,-32768, -22,-32768,-32768,-32768, 1152,-32768,-32768, --32768,-32768,-32768,-32768, 922,-32768,-32768,-32768, 2481,-32768, --32768, 1294,-32768, 2167, -5,-32768, 159, -1604, 1215, 3, --32768,-32768,-32768, 557, 9,-32768,-32768, 1672, -526, -91, - 5482,-32768, 1353, 2152,-32768,-32768,-32768, 1317,-32768,-32768, - 987, -345,-32768, -354, 265,-32768,-32768,-32768,-32768, 1686, --32768,-32768, -1516,-32768, 1032,-32768, 702, 708, -1025,-32768, --32768, 137, -641,-32768, -1561, -1465, -912, -843, 2009,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768, -694, -512,-32768, --32768,-32768, 3441,-32768,-32768, -121, -578, 797,-32768,-32768, --32768, 4844, -1134, -576, -755, 1171,-32768, -864, -941, -970, --32768,-32768, -962, 865,-32768, 601,-32768, -77,-32768, 1580, --32768,-32768, 4926, 1730,-32768, 1362, -1011, 1733,-32768, 527, - -307,-32768, -1536, 210, -247, -51, 3470,-32768, 5056, 1143, - -1, 1, -38, -315, -595, 1459, 726,-32768,-32768, -25, --32768, 2325,-32768, 1676, 2176,-32768,-32768, 1674, -388, -24, --32768,-32768,-32768,-32768,-32768,-32768,-32768, -150,-32768,-32768, --32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768,-32768, 622, --32768,-32768,-32768, 1024,-32768, -1884,-32768,-32768,-32768, 1988, --32768,-32768, 2170,-32768,-32768, 2106, 1681,-32768,-32768,-32768, --32768, 2240,-32768,-32768, 1726, -1212, 1381, -390,-32768,-32768, --32768, -1249,-32768,-32768,-32768, 384,-32768,-32768, -233, -969, - 1619, 2467, 1677,-32768, 1080, -442, -835, 2793, 1409, 93, - -55,-32768, 396,-32768, 0,-32768, 395,-32768,-32768 -}; - - -#define YYLAST 31095 - - -static const short yytable[] = { 42, - 49, 43, 765, 427, 316, 467, 311, 913, 492, 701, - 1365, 514, 512, 1310, 289, 352, 1156, 289, 469, 439, - 1639, 1036, 1934, 128, 402, 2100, 1178, 291, 1819, 301, - 1896, 472, 1502, 1503, 1504, 1505, 1506, 1908, 990, 505, - 140, 879, 1876, 1297, 1299, 1609, 1070, 1274, 141, 415, - 886, 1526, 508, 2284, 143, 776, 886, 1418, 448, 1232, - 698, 699, 2320, 893, 713, 1807, 2258, 761, 1808, 794, - 636, 632, 432, 128, 880, 898, 2300, 2301, 2302, 2303, - 2304, 889, 860, 369, 464, 1614, 641, 1936, 1640, 1593, - 140, 2108, 433, 2109, 2110, 2111, 2112, 2113, 141, 77, - 1371, 2461, 1392, 894, 143, 371, 456, 1304, 2453, 457, - 1422, 1305, 1424, 1425, 1408, 458, 459, 1434, 1403, 1404, - 1405, 1406, -1136, 1440, 1442, 1444, 1446, 1448, 1240, 163, - 1378, 460, 164, 1408, 461, 165, 1393, 1378, 1254, 1594, - 166, 1306, 167, 168, 77, 295, 302, 1378, 295, 310, - 313, 314, 647, 376, 68, 329, 313, 435, 2485, 313, - 1937, 520, 649, 370, -616, 762, 320, 303, 2475, 2287, - 313, 313, 759, 1378, 313, 766, 330, 2288, 313, 313, - 74, 1450, 321, 313, 313, 313, -616, 377, 377, 1307, - 353, 163, 1030, 642, 164, 2462, 1027, 165, 633, 1378, - 1488, 975, 166, 2489, 167, 168, 965, 703, 966, 1255, - 890, 2379, 372, 378, 378, 704, 2366, 331, 332, 1308, - 2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2395, - 77, 721, 705, 95, 449, 1491, 1492, 1493, 706, 707, - 2476, 1508, 521, 1379, 2428, 967, 315, 741, 79, 284, - 1379, 2321, 1248, 908, 881, 2490, 284, 289, 373, 522, - 1379, 284, 1380, 379, 379, 385, 1099, 2114, 614, 2477, - 447, 25, 1275, 2305, 284, 374, 658, 2254, 763, 708, - 1052, 380, 380, 470, 471, 2257, 1379, 2429, 1569, 2265, - 475, 2269, 331, 332, 2270, 2271, 2272, 2273, 2274, 2275, - 2276, 2277, 2278, 709, 2281, 506, 408, 507, 949, 1809, - 2412, 91, 1379, 710, 1989, 515, 286, 1741, 1423, 876, - 877, 878, 286, 2295, 462, 286, 1247, 2135, 2136, 1378, - 1251, 1178, 1178, 1178, 1178, 1178, 1309, -1357, 450, 2460, - 660, 1046, -1357, 1181, 517, 2047, 283, 1378, 1389, 285, - 1178, 1413, 1414, 1415, 638, 381, 381, 1410, 1912, 322, - 406, 1820, 2083, 2439, 95, 2440, 2100, 1390, 1411, 1412, - 1413, 1414, 1415, 525, 1831, 1832, 1833, 1834, 1835, 1836, - 1837, 1182, 1707, 1183, 689, 25, 128, 410, 295, 1408, - 756, 1259, 711, 523, 77, 451, 1523, 757, 712, -1136, - 1918, 1391, 1919, 140, 716, 968, 317, 718, 318, 971, - 720, 141, 313, 302, 2305, 1686, 525, 143, 1466, 1467, - 1468, 2352, 284, 1184, 301, 301, 302, 313, 313, 517, - 1702, 313, 313, 1581, 313, 313, 1524, 2179, 2368, 1706, - 972, 313, 1379, 496, 2039, 313, 313, 302, 1368, 313, - 323, 313, 313, 313, 803, 750, 25, 1700, 313, 313, - 1379, -1136, 2058, 2353, 1332, 324, 1732, 1709, 1710, 1711, - 1712, 1713, 1714, 1715, 753, 1736, 1525, 313, 1513, 1514, - 1515, 1740, 851, 416, 315, 1748, 1408, 1753, 296, 1416, - 1758, 1764, 1769, 1774, 1779, 1784, 1789, 1794, 1799, 313, - 976, 1803, 313, 1660, 2130, 2131, 2132, 701, 1099, 313, - 2312, 2313, 2314, -1240, 1099, 1099, 1099, 1099, 1099, 925, - 2403, 755, 319, 388, 432, 1469, 977, 1508, 95, 1824, - 1691, 430, -1289, 313, 1316, 1701, -689, -1289, 1828, 2417, - 1244, 302, 302, 431, 433, 926, 668, 669, 313, 670, - 671, 313, 672, 673, 313, 674, 441, 675, -689, 389, - 676, 677, 678, 679, 1708, 1317, 855, 2236, 323, 313, - 920, 1731, 924, 1812, 2238, 434, 1814, 1815, 1816, 1817, - 1818, 1245, 2229, 324, 1508, 283, 297, 313, 285, 286, - 1186, 1566, 1648, 1749, 978, 912, 289, 1516, 283, 313, - 896, 285, 900, 900, 2, 399, 1738, 1572, 283, 435, - -618, 285, 411, 413, 2007, 932, 1178, 419, 1649, 313, - 932, 932, 313, 313, 1411, 1412, 1413, 1414, 1415, 516, - 286, 990, -618, 1304, 1823, 990, 497, 1291, 2306, 25, - 1187, -930, 845, 1750, 2147, 1070, 2307, 2308, 2309, 2310, - 2311, 2312, 2313, 2314, 1315, 1188, 289, 313, 1751, 1113, - 1178, 1717, 1718, 2382, 1830, 963, 1508, 1306, 1650, 946, - 1724, 427, 301, 1178, 1178, 1178, 1178, 1178, 1178, 1178, - 68, 1070, 2266, 935, 286, 498, 1651, 2357, 843, 936, - 944, 937, 729, 938, 1012, -619, 730, 1915, 1917, 1004, - 1016, 2103, 1950, 2105, 1017, 1018, 74, 2060, 1743, 2305, - 1410, 2396, 2261, 2004, 1802, 1307, -620, -619, 2350, 452, - 2351, 1411, 1412, 1413, 1414, 1415, 927, 295, 956, 499, - 1644, 957, 2267, 2305, 1647, 313, -621, 313, -620, 313, - 1985, 1986, 1987, 928, 1070, 1308, 1744, 2268, 1745, 313, - 2262, 1510, 2263, 2005, 455, 2363, 2376, -623, -621, 614, - 465, 1839, 1511, 1512, 1513, 1514, 1515, 1101, -1312, 454, - 1998, 1999, 2000, -1312, 79, 1597, 1037, 1038, 1039, -623, - 1598, 2010, 2179, 1047, 468, 1660, 315, 295, 1746, 302, - 1288, 1289, 2264, 2006, -930, 2364, 477, 1055, -937, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 313, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 1511, - 1512, 1513, 1514, 1515, 2242, 313, 1610, 2243, 1677, 1611, - 25, 313, 26, 68, 1242, 2365, -624, 91, 313, 313, - 1687, 479, -1294, 703, 313, 25, 466, -1294, 313, 313, - 25, 704, 2244, 495, 1115, 313, 1116, 2087, -624, 74, - 2089, 513, 2054, 2055, 2056, 1113, 1298, 2192, 705, 476, - 1113, 1916, 1099, 526, 706, 707, 1099, -625, 1099, 501, - 528, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, - 1510, 2252, 1099, 2253, 1326, 1804, 1327, 1408, -626, -625, - 614, 1511, 1512, 1513, 1514, 1515, -627, -1313, -628, 77, - 527, 529, -1313, 1178, -629, 708, 621, 1352, 860, 1353, - -626, 1366, 301, 1367, 861, 1277, 1280, 79, -627, 862, - -628, 530, 1258, 646, -630, 531, -629, -631, 42, 709, - 43, 2305, 639, 650, 2310, 2311, 2312, 2313, 2314, 710, - 1259, 313, 843, 860, 1115, 1115, -630, 2306, 1409, -631, - -632, -633, 860, 1990, 2183, 2307, 2308, 2309, 2310, 2311, - 2312, 2313, 2314, 862, 640, 313, 1449, 313, 313, 863, - -1295, 643, -632, -633, 656, -1295, 864, 1260, 644, 1046, - 91, 645, 1261, 1334, 865, 1334, 1334, 1334, 1334, 512, - 512, 652, 2305, 737, -634, 866, 1178, 1508, 1662, 1101, - 2422, -635, 1383, 867, 1384, 1101, 1101, 1101, 1101, 1101, - -636, 864, 659, 863, -637, 653, -634, -1260, 711, 860, - 864, 995, -1260, -635, 712, 313, 996, 313, 865, 302, - 862, 22, -636, 95, 23, 654, -637, 25, 997, 26, - -638, 27, 655, 25, 28, 29, 30, 31, 32, 2327, - 998, 999, 302, -639, 34, 35, 36, 37, 38, 661, - 851, 1112, -638, 1113, 1881, 851, -640, 663, 1450, 851, - 665, 1882, -641, 851, 1408, -639, 1000, 851, -642, 25, - 863, 851, 1982, 1883, 313, 851, 868, 864, -640, 851, - -643, 313, 1356, 851, -641,-32768, -644, 1296, -645, 1113, - -642, 1115, 313, 667, 869, -646, 1885, -647, 313, -648, - 315, 1410, -643, 313, 695, 1397, -680, 1398, -644, 1886, - -645, 868, 1411, 1412, 1413, 1414, 1415, -646, 2184, -647, - 868, -648, 870, 25, 25, 1278, 1454, 2188, -680, 869, - 871, 872, 873, 874, 875, 876, 877, 878, 869, -615, - -678, 1811, -614, 1113, 692, 2306, 1178, 1829, -1346, 906, - 697, 909, 1099, -1346,-32768,-32768, 2310, 2311, 2312, 2313, - 2314, -615, -678, 919, -614, 717, 870, 68, 874, 875, - 876, 877, 878, 724, 871, 872, 873, 874, 875, 876, - 877, 878, 726, -1274, 25, 2230, -1261, 868, -1274, 1589, - 722, -1261, 1587, 74, 1576, 1577, 328, 1579, 1590, 1591, - 1587, 368, 1914, 284, 1113, 869, 2306, 387, 1471, 1599, - 728, 1510, 403, 1472, 2307, 2308, 2309, 2310, 2311, 2312, - 2313, 2314, 1511, 1512, 1513, 1514, 1515, 1904, 1905, 1689, - 787, 732, 1616, 870, -1290, 1617, 1458, 1695, 25, -1290, - 26, 1429, 1634, 77, 874, 875, 876, 877, 878, 733, - 2256, 1880, 843, 1013, 1459, -1304, 788, 1618, 735, 1619, - -1304, 79, 1508, 1642, 42, 1601, 43, 1654, 1509, 738, - 1489, 1490, 1491, 1492, 1493, 789, 213, 933, 934, 1881, - 1620, 1620, 1621, 1621, 1615, 1678, 1882, 1680, 1410, 739, - 742, 1671, 1671, 1464, 1465, 1466, 1467, 1468, 1883, 1411, - 1412, 1413, 1414, 1415, 313, 743, 1655, 1884, 1656, 223, - 1653, 1489, 1490, 1491, 1492, 1493, 1657, 2239, 1658, 744, - 313, 1885, 313, 2449, 91, 1813, 1508, 1958, 1334, 1334, - 1670, 1670, 1842, 1959, 1886, -1292, 313, 747, 1178, 790, - -1292, 25, 1430, 26, 313, 1960, 1489, 1490, 1491, 1492, - 1493, -1306, 746, 1101, 2081, 752, -1306, 1101, 2114, 1101, - 2106, 1696, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, - 1101, 952, 953, 1101, 2450, 1699, 25, 2451, 881, 954, - 1684, 313, 773, 313, 313, 313, 313, 621, 283, 284, - 774, 285, 313, 777, 25, 1961, 26, 778, 313, 205, - 779, -1259, 313, 780, 959, 960, -1259, 1726, 1727, 1962, - 1616, 313, 961, 1617, 782, 1963, 25, 783, 26, 843, - 784, 313, 313, 313, 313, 207, 2118, 793, 1902, 313, - 1903, 313, 1897, 313, 1655, 1618, 1935, 1623, 313, 1964, - 785, 2383, -1136, 2223, 212, 213, 843, 313, 313, 163, - 798, 797, 164, -1280, -1278, 165, 2401, 2402, -1280, -1278, - 166, -1310, 167, 168, 1115, 1958, -1310, 1115, 1115, 1115, - 1115, 1115, -1305, 860, 799, 1821, 1822, -1305, 223, 861, - 843, 801, 802, 1960, 862, 1473, 1510, 2292, 1041, 1042, - 1366, 290, 2137, 845, 290, 2411, 312, 1511, 1512, 1513, - 1514, 1515, 327, 805, 1508, 312, 856, -1308, 228, -1273, - 2002, 1474, -1308, 1508, -1273, 1354, 396, 400, -1287, 858, - 405, 2049, 843, -1287, 400, 400, 859, 883, 621, 400, - 422, 425, -1262, 1961, 863, -930, 2122, -1262, 884, -937, - 1333, 864, 1335, 1336, 1337, 1338, 1977, 1962, 885, 865, - 1510, -1291, -1293, 1963, 2123, 897, -1291, -1293, 2459, 910, - 866, 1511, 1512, 1513, 1514, 1515, 914, 917, 867, -1296, - -1297, 1280, 1280, 1277, -1296, -1297, -1298, 1964, -1299, 950, - 843, -1298, -1303, -1299, 638, -1309, 918, -1303, 1115, 1115, - -1309, 286, 930, 2128, 2129, 2130, 2131, 2132, 1366, 843, - 2282, 943, 1366, 2142, 2283, 2114, 1489, 1490, 1491, 1492, - 1493, 2115, 940, -1307, 1449, 947, 2116, 1494, -1307, -1311, - 1449, -1286, 1450, 941, -1311, 1449, -1286, 942, 313, -1288, - 1449, 313, 1508, 1452, -1288, 1449, 313, 962, 2194, 313, - 1449, 2250, 1653, 945, 1971, 1449, 2251, -1300, 1475, -1301, - 1449, 868, -1300, 1101, -1301, 1449, 1476, 1477, 1478, 1479, - 1480, 1481, 1482, 1483, -1257, 964, 2117, -1302, 993, 869, - -1314, 970, -1302, 2118, -1316, -1314, 313, -1324, 981, -1316, - -1322, 2119, -1324, 1453, 1009, -1322, -1323, 771, -1317, 1880, - 1454, -1323, 2120, -1317, 1312, 1313, 1314, 870,-32768, 313, - 2121, 843, 881, 860, 2324, 871, 872, 873, 874, 875, - 876, 877, 878, -1318, 862, -1321, -1319, 1881, -1318, 1010, - -1321, -1319, 1980, 1019, 1882, -1320, -1279, 313, 1510, 313, - -1320, -1279, -582, 1020, 290, 313, 1883, 1510, 1565, 1511, - 1512, 1513, 1514, 1515, 2369, 1884, 2370, 1973, 1511, 1512, - 1513, 1514, 1515, 1021, 906, -1315, -1334, -1325, 400, 1885, - -1315, -1334, -1325, -1342, 863, 771, 1026, 2413, -1342, 2414, - -1333, 864, 1886, 312, 312, -1333, 2294, 290, 474, 865, - 312, 400, 1002, 2122, -1340, 1022, 1031, 494, -1331, -1340, - 866, 400, 312, -1331, 1582, 312, 1583, 312, 290, 474, - 1458, 2123, 1027, -930, 312, 312, 1489, 1490, 1491, 1492, - 1493, -1341, 1033, 77, 843, -1332, -1341, 1613, 1459, -1335, - -1332, 1048, -1326, 400, -1335, 1049, 1638, -1326, -1336, 2124, - 2097, -1327, 1050, -1336, 614, 1051, -1327, 2125, 2126, 2127, - 2128, 2129, 2130, 2131, 2132, 400, 1460, -1339, 405, 2425, - 1072, 2426, -1339, 860, 2133, 400, 1510, 1464, 1465, 1466, - 1467, 1468, 1366, 746, 2427, 2434, 2140, 1511, 1512, 1513, - 1514, 1515, -1330, 803, 2458, -1337, 2413, -1330, 2441, 690, - -1337, 868, 1489, 1490, 1491, 1492, 1493, 2154, 1109, 2148, - -1328, 1450, 1110, 2048, 312, -1328, -1338, 312, 1111, 869, - 312, -1338, 1452, 1489, 1490, 1491, 1492, 1493, 1180, 1232, - 2174, 2114, 1253, 843, 2104, 400, -1329, 2115, 2465, 1266, - 2466, -1329, 2116, 2468, 1250, 2469, 1264, 870, 283, 297, - 1272, 285, 286, 405, 1271, 871, 872, 873, 874, 875, - 876, 877, 878, 1281, 1294, 312, 1282, 1295, 1300, 2372, - 1305, 313, 1453, 1320, 354, 1321, 1322, 1323, 1325, 1454, - 1328, 1331, 313, 1348, 1349, 312, 1350, 1455, 312, 767, - 355, 1351, 2117, 1357, 313, 356, 1358, 1359, 1456, 2118, - 1375, 1376, 357, 1387, 1381, 358, 1382, 2119, 1394, 359, - 1385, 1386, 1388, 1395, 1399, 1400, 1401, 1402, 2120, 1407, - 360, 1417, 1428, 772, 313, 313, 2121, 1420, 1421, 361, - 313, 302, 362, 1427, 2114, 1431, 1432, 1435, 1436, 1437, - 2115, 313, 1438, 1470, 2249, 2116, 1486, 1495, 1496, 1557, - 2114, 313, 1497, 1567, 1498, 313, 363, 2241, 364, 1570, - 1499, 2116, 1568, 365, 1500, 366, 313, 1501, 1517, 1527, - 1529, 1530, 1532, 1533, 843, 1535, 1536, 1538, 1539, 1541, - 1542, 1544, 1874, 843, 1545, 1565, 1547, 1548, 1550, 1458, - 1551, 1553, 1554, 290, 1574, 2117, 2245, 1580, 2246, 1584, - 843, 907, 2118, 400, 2286, 312, 1585, 1459, 1595, 2122, - 2119, 2117, 1596, 1625, 1602, 400, 1603, 1604, 2118, 1624, - 1626, 2120, 1627, 1635, 1643, 1645,-32768, 2123, 1675, 2121, - 1682, 1690, 1408, 1719, 1450, 1460, 1721, 1722, 1806, 1723, - 1737, 843, 1508, 1461, 1462, 1463, 1464, 1465, 1466, 1467, - 1468, 1742, 1805, 290, 843, 2124, 1840, 1841, 1849, 1893, - 1898, 1852, 1879, 2125, 2126, 2127, 2128, 2129, 2130, 2131, - 2132, 1855, 1858, 1861, 1864, 312, 313, 1892, 1867, 1870, - 2255, 1873, 1900, 313, 1901, 1902, 1911, 1913, 1938, 1932, - 1933, 992, 1940, 1939, 1945, 1943, 1948, 494, 1949, 1952, - 1969, 1956, 1974, 1975, 312, 400, 843, 1976, 843, 1978, - 312, 1979, 2122, 1981, 312, 312, 1983, 1984, 1988, 1992, - 1993, 1025, 2084, 1994, 2085, 1995, 1996, 1997, 2122, 2001, - 2123, 2008, 2091, 2011, 2012, 2014, 2015, 2062, 2373, 2017, - 2018, 2020, 42, 313, 43, 2245, 2123, 2246, 2021, 2093, - 2023, 2024, 2374, 2026, 2027, 2029, 2030, 2032, 2124, 1069, - 2033, 2035, 2036, 2040, 2038, 2094, 2125, 2126, 2127, 2128, - 2129, 2130, 2131, 2132, 2124, 2042, 2046, 2096, 2050, 2051, - 2052, 2053, 2057, 2378, 2061, 2128, 2129, 2130, 2131, 2132, - 2063, 2098, 2064, 2065, 2066, 2067, 2380, 2381, 2138, 2139, - 2068, 2069, 860, 1105, 2070, 2071, 2072, 2073, 861, 2074, - 2075, 2143, 2146, 862, 2076, 2077, 2078, 1154, 2079, 2080, - 1177, 2082, 1522, 2107, 2134, 2144, -937, 313, 2151, 313, - 2152, 2153, 2170, 2182, 1450, 2171, 2114, 2185, 2186, 2187, - 1451, 1237, 2189, 1237, 312, 1452, 2190, 2191, 2235, 2237, - 2285, 2193, 843, 42, 1601, 43, 2198, 2201, 843, 427, - 2204, 2207, 2260, 863, 2210, 2213, 2216, 2219, 2222, 2224, - 864, 2226, 2227, 2231, 2232, 2233, 2290, 302, 865, 2291, - 2447, 2293, 313, 2360, 2297, 313, 2298, 2299, 2315, 866, - 771, 2371, 2316, 2375, 2318, 1453, 2319, 843, 2323, 2305, - 2325, 690, 1454, 290, 2326, 1565, 2328, 2329, 313, 2330, - 1455, 313, 843, 843, 2406, 313, 2331, 2445, 2332, 2446, - 2333, 1456, 2334, 2335, 2, 2336, 2337, 2338, 2339, 2447, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 2340, 13, 14, 15, 16, 17, 18, 19, 20, 21, - 2341, 843, 843, 2342, 2343, 2415, 2344, 2345, 2346, 843, - 1347, 2347, 2348, 313, 2349, 2367, 2445, 400, 2446, 2377, - 2397, 2409, 2419, 2420, 2423, 2150, 2424, 2430, 1364, 2438, - 868, 2474, 2486, 2484, 1364, 2488, 2491, 2487, 2493, 1237, - 2494, 429, 1319, 727, 1637, 2406, 1942, 1227, 869, 901, - 1630, 313, 621, 478, 974, 843, 1628, 843, 1951, 2173, - 2296, 2448, 1458, 2416, 843, 2482, 860, 2467, 1069, 1069, - 1069, 1069, 861, 2463, 1374, 2479, 870, 862, 1954, 2483, - 1459, 1947, 418, 1674, 871, 872, 873, 874, 875, 876, - 877, 878, 651, 1673, 916, 1105, 386, 760, 1369, 2400, - 2464, 1105, 1105, 1105, 1105, 1105, 2406, 313, 1460, 2480, - 2448, 2399, 2473, 511, 1946, 1592, 1461, 1462, 1463, 1464, - 1465, 1466, 1467, 1468, 426, 648, 2442, 863, 751, 1556, - 1685, 1906, 1588, 1257, 864, 510, 664, 2407, 2090, 1249, - 1878, 2088, 865, 483, 484, 485, 486, 487, 488, 489, - 490, 2481, 1729, 866, 841, 2044, 2003, 1372, 2195, 1571, - 1565, 867, 2433, 1231, 1241, 2092, 444, 1565, 1290, 694, - 1292, 1907, 892, 702, 754, 1177, 1177, 1177, 1177, 1177, - 1293, 635, 1575, 1252, 2358, 438, 1875, 1360, 1558, 2355, - 1303, 2356, 860, 0, 1177, 0, 0, 0, 861, 0, - 0, 0, 0, 862, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 860, 0, 0, 0, 0, 0, 1522, - 0, 0, 22, 0, 862, 23, 0, 24, 25, 0, - 26, 0, 27, 0, 0, 28, 29, 30, 31, 32, - 400, 0, 33, 0, 868, 34, 35, 36, 37, 38, - 39, 40, 0, 863, 0, 0, 907, 0, 1237, 0, - 864, 0, 869, 0, 0, 0, 0, 0, 865, 0, - 0, 0, 312, 0, 863, 0, 0, 0, 0, 866, - 312, 864, 0, 0, 0, 0, 0, 867, 0, 865, - 870, 0, 0, 0, 0, 0, 0, 0, 871, 872, - 873, 874, 875, 876, 877, 878, 0, 0, 0, 0, - 0, 1565, 0, 1565, 2114, 0, 1522, 1629, 0, 1629, - 1631, 1632, 312, 0, 0, 2116, 0, 0, 400, 0, - 0, 0, 0, 0, 992, 0, 0, 0, 992, 0, - 0, 0, 0, 0, 0, 0, 0, 312, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 494, 1672, 1672, - 494, 0, 0, 0, 0, 312, 0, 312, 0, 1681, - 868, 0, 0, 0, 1025, 2117, 0, 0, 0, 0, - 0, 0, 2118, 1692, 1693, 0, 0, 0, 869, 0, - 2119, 868, 0, 0, 0, 294, 294, 0, 294, 0, - 0, 2120, 0, 0, 0, 0, 0, 1069, 1069, 869, - 0, 0, 0, 0, 0, 0, 870, 1069, 1069, 1069, - 1069, 1069, 1069, 1069, 871, 872, 873, 874, 875, 876, - 877, 878, 0, 0, 1522, 0, 0, 870, 0, -719, - 0, 0, 0, 0, 1069, 871, 872, 873, 874, 875, - 876, 877, 878, 0, 0, 0, 0, 0, 0, 1105, - 1177, 0, 0, 1105, 0, 1105, 0, 0, 1105, 1105, - 1105, 1105, 1105, 1105, 1105, 1105, 1105, 0, 53, 1105, - 0, 0, 0, 54, 0, 0, 55, 56, 0, 0, - 57, 0, 2122, 0, 0, 0, 0, 0, 0, 58, - 59, 0, 0, 0, 1177, 0, 0, 1069, 0, 0, - 2123, 0, 0, 60, 61, 0, 0, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 0, 0, 0, 0, 0, 0, - 0, 0, 1450, 1522, 0, 0, 0, 0, 2124, 0, - 62, 0, 0, 1452, 0, 63, 2125, 2126, 2127, 2128, - 2129, 2130, 2131, 2132, 0, 64, 0, 0, 0, 65, - 0, 66, 0, 0, 400, 0, 0, 400, 0, 0, - 0, 67, 1891, 68, 0, 1237, 0, 69, 0, 70, - 0, 71, 0, 0, 0, 72, 0, 0, 0, 0, - 0, 0, 73, 1453, 0, 0, 0, 0, 0, 74, - 1454, 0, 0, 0, 0, 0, 0, 0, 1455, 0, - 0, 0, 1909, 1522, 0, 1522, 1522, 1522, 1522, 1522, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1931, 0, 0, 1025, 0, 445, 294, 0, - 0, 0, 0, 0, 75, 0, 76, 860, 0, 77, - 78, 0, 1522, 861, 0, 0, 0, 0, 862, 0, - 0, 0, 0, 1629, 0, 1955, 0, 79, 860, 0, - 0, 1970, 0, 0, 861, 0, 0, 0, 0, 862, - 0, 0, 0, 80, 81, 0, 0, 0, 0, 0, - 0, 0, 0, 82, 83, 0, 0, 0, 0, 0, - 1522, 0, 0, 0, 84, 85, 0, 0, 863, 0, - 1458, 294, 0, 0, 0, 864, 86, 87, 88, 0, - 89, 0, 0, 865, 90, 0, 0, 0, 1459, 863, - 91, 0, 0, 0, 866, 0, 864, 0, 92, 0, - 0, 0, 867, 0, 865, 0, 93, 0, 0, 0, - 0, 0, 0, 94, 1522, 866, 1460, 1177, 0, 1105, - 0, 0, 0, 867, 1461, 1462, 1463, 1464, 1465, 1466, - 1467, 1468, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 95, 0, 0, 0, 0, 0, 0, - 0, 294, 294, 0, 0, 0, 294, 0, 0, 1522, - 0, 0, 0, 0, 0, 0, 0, 1522, 1522, 0, - 0, 1522, 0, 1522, 0, 0, 1522, 1522, 1522, 1522, - 1522, 1522, 1522, 1522, 1522, 868, 1522, 0, 0, 0, - 0, 1522, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 869, 0, 1522, 868, 0, 0, 0, - 1177, 0, 0, 0, 1522, 1522, 1522, 1522, 1522, 0, - 0, 0, 0, 0, 869, 0, 0, 0, 0, 0, - 0, 870, 0, 0, 0, 0, 0, 0, 0, 871, - 872, 873, 874, 875, 876, 877, 878, 400, 0, 0, - 0, 0, 870, 0, 1396, 0, 0, 0, 1154, 0, - 871, 872, 873, 874, 875, 876, 877, 878, 0, 0, - 312, 0, 0, 0, 0, -718, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1931, - 0, 1931, 1931, 1931, 1931, 1931, 0, 0, 0, 0, - 1025, 1025, 0, 0, 0, 0, 312, 0, 0, 0, - 0, 0, 1522, 0, 0, 0, 0, 400, 1522, 0, - 1522, 0, 0, 0, 0, 0, 0, 312, 474, 0, - 0, 2172, 887, 2114, 0, 0, 0, 294, 0, 2115, - 0, 0, 2181, 0, 2116, 0, 0, 0, 0, 1522, - 0, 0, 0, 0, 0, 0, 0, 0, 1522, 1522, - 1522, 1522, 1522, 1522, 1522, 1522, 1522, 1522, 0, 0, - 1177, 0, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 0, 13, 14, 15, 16, 17, 18, 19, - 20, 21, 0, 0, 2117, 0, 0, 294, 0, 294, - 0, 2118, 0, 287, 0, 0, 287, 0, 287, 2119, - 0, 0, 1522, 0, 287, 0, 0, 287, 0, 1522, - 2120, 1522, 0, 0, 0, 0, 0, 0, 287, 287, - 0, 0, 287, 0, 0, 0, 287, 287, 0, 0, - 0, 287, 287, 287, 0, 0, 0, 0, 0, 0, - 0, 0, 400, 0, 0, 0, 0, 0, 0, 400, - 0, 0, 0, 0, 0, 1522, 0, 1522, 0, 0, - 0, 0, 0, 0, 0, 1931, 0, 1522, 0, 0, - 0, 0, 0, 1931, 0, 0, 0, 1931, 0, 1931, - 0, 0, 1931, 1931, 1931, 1931, 1931, 1931, 1931, 1931, - 1931, 0, 1931, 0, 0, 0, 0, 474, 0, 0, - 0, 2122, 0, 0, 0, 0, 0, 860, 0, 312, - 0, 1931, 0, 861, 0, 0, 1267, 0, 862, 2123, - 474, 474, 474, 474, 474, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1108, 0, 0, - 0, 0, 0, 0, 0, 0, 1268, 2124, 0, 0, - 0, 0, 1177, 0, 1179, 2125, 2126, 2127, 2128, 2129, - 2130, 2131, 2132, 0, 0, 0, 0, 0, 863, 0, - 0, 0, 1230, 0, 0, 864, 0, 0, 1243, 0, - 0, 0, 0, 865, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 400, 866, 400, 0, 0, 0, 0, - 0, 0, 867, 0, 22, 0, 0, 23, 0, 0, - 25, 0, 26, 0, 27, 0, 0, 28, 29, 30, - 31, 32, 0, 0, 0, 0, 1931, 34, 35, 36, - 37, 38, 0, 1600, 0, 0, 287, 0, 0, 294, - 0, 1269, 0, 0, 0, 0, 0, 0, 312, 0, - 0, 1237, 0, 0, 0, 474, 0, 0, 0, 0, - 287, 0, 0, 0, 474, 474, 474, 474, 474, 474, - 474, 474, 474, 474, 1025, 287, 287, 1237, 0, 287, - 287, 312, 287, 287, 0, 868, 0, 0, 0, 287, - 0, 0, 0, 287, 287, 0, 0, 287, 0, 287, - 287, 287, 0, 869, 0, 0, 287, 287, 0, 473, - 0, 1230, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 287, 0, 1931, 0, 2418, - 509, 870, 329, 0, 0, 0, 0, 0, 0, 871, - 872, 873, 874, 875, 876, 877, 878, 287, 0, 0, - 287, 0, 0, 330, 0, 0, 0, 287, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2437, 0, 860, - 0, 0, 0, 0, 0, 861, 0, 0, 0, 1108, - 862, 287, 0, 474, 0, 1108, 1108, 1108, 1108, 1108, - 0, 0, 0, 0, 331, 332, 287, 0, 0, 287, - 887, 0, 287, 0, 860, 0, 0, 333, 0, 334, - 861, 0, 0, 0, 335, 862, 0, 287, 0, 0, - 0, 336, 0, 2437, 337, 0, 0, 0, 338, 0, - 863, 0, 0, 0, 0, 287, 0, 864, 0, 339, - 0, 0, 0, 0, 0, 865, 0, 287, 340, 0, - 0, -352, 0, 0, 0, 0, 866, 0, 1426, 1179, - 1179, 1179, 1179, 1179, 867, 863, 0, 287, 0, 0, - 287, 287, 864, 0, 0, 341, 0, -270, 1179, 0, - 865, 0, 342, 0, 343, 0, 0, 0, 0, 1688, - 0, 866, 344, 0, 0, 0, 0, 0, 0, 867, - 0, 0, 0, 860, 0, 287, 0, 0, 0, 861, - 0, 1991, 0, 0, 862, 0, 0, 0, 0, 0, - 791, 0, 887, 0, 0, 0, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 842, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 0, 868, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 863, 869, 0, 0, 0, 0, - 0, 864, 0, 0, 0, 287, 0, 0, 0, 865, - 0, 0, 868, 287, 0, 287, 0, 287, 0, 0, - 866, 0, 0, 870, 0, 0, 0, 287, 867, 0, - 869, 871, 872, 873, 874, 875, 876, 877, 878, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 870, 0, - 0, 0, 0, 0, 0, 287, 871, 872, 873, 874, - 875, 876, 877, 878, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 287, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 287, 0, 0, 0, 0, 0, 287, - 0, 868, 0, 0, 0, 0, 287, 287, 0, 0, - 0, 0, 287, 0, 0, 0, 287, 287, 0, 869, - 0, 0, 0, 287, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1043, 0, 0, 870, 0, 0, - 0, 0, 0, 0, 0, 871, 872, 873, 874, 875, - 876, 877, 878, 1108, 1179, 0, 0, 1108, 0, 1108, - 0, 0, 1108, 1108, 1108, 1108, 1108, 1108, 1108, 1108, - 1108, 0, 0, 1108, 0, 0, 0, 0, 22, 2114, - 1067, 23, 0, 0, 25, 2115, 26, 2359, 27, 0, - 2116, 28, 29, 30, 31, 32, 0, 0, 1179, 0, - 0, 34, 35, 36, 37, 38, 0, 2410, 0, 287, - 842, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 0, 0, - 0, 0, 54, 0, 1103, 55, 56, 0, 0, 57, - 0, 0, 0, 287, 0, 287, 287, 0, 58, 59, - 2117, 1175, 0, 0, 0, 0, 0, 2118, 0, 0, - 0, 0, 60, 61, 0, 2119, 0, 0, 0, 1230, - 0, 0, 0, 0, 0, 0, 2120, 0, 0, 860, - 0, 0, 0, 0, 2121, 861, 0, 0, 0, 62, - 862, 0, 0, 0, 428, 0, 0, 0, 0, 0, - 0, 0, 0, 287, 64, 287, 0, 0, 65, 0, - 66, 0, 0, 0, 2114, 0, 0, 0, 0, 0, - 67, 0, 68, 0, 0, 2116, 69, 0, 70, 0, - 71, 0, 0, 0, 72, 0, 0, 0, 0, 0, - 863, 73, 0, 0, 0, 0, 0, 864, 74, 0, - 0, 0, 0, 0, 0, 865, 0, 0, 0, 0, - 0, 0, 287, 0, 0, 0, 866, 2122, 0, 287, - 0, 0, 0, 0, 867, 2117, 0, 0, 0, 0, - 287, 0, 2118, 0, 0, 2123, 287, 0, 0, 0, - 2119, 287, 0, 75, 0, 76, 0, 0, 77, 78, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2124, 0, 0, 79, 0, 0, 0, - 0, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 860, - 0, 0, 80, 81, 0, 0, 0, 0, 0, 0, - 862, 0, 82, 83, 0, 0, 0, 0, 0, 1067, - 1067, 1067, 1067, 84, 85, 0, 0, 868, 0, 0, - 0, 1179, 0, 1108, 0, 86, 87, 88, 0, 89, - 0, 0, 0, 90, 0, 869, 1103, 0, 0, 91, - 0, 0, 1103, 1103, 1103, 1103, 1103, 92, 0, 0, - 863, 0, 2122, 0, 0, 93, 0, 864, 0, 0, - 0, 0, 94, 870, 0, 865, 0, 0, 0, 0, - 2123, 871, 872, 873, 874, 875, 876, 877, 878, 1450, - 0, 0, 0, 0, 0, 1451, 0, 0, 0, 0, - 1452, 0, 95, 0, 0, 0, 0, 0, 2124, 0, - 842, 0, 0, 0, 0, 0, 2125, 2126, 2127, 2128, - 2129, 2130, 2131, 2132, 1179, 0, 1175, 1175, 1175, 1175, - 1175, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1175, 0, 0, 0, 0, - 1453, 0, 0, 2114, 0, 0, 0, 1454, 0, 2115, - 0, 0, 287, 0, 2116, 1455, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1456, 868, 287, 0, - 287, 0, 0, 0, 1457, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 287, 869, 0, 0, 0, 0, - 0, 0, 287, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2117, 0, 0, 0, 0, 0, - 0, 2118, 0, 870, 0, 0, 0, 0, 0, 2119, - 0, 0,-32768,-32768, 874, 875, 876, 877, 878, 287, - 2120, 287, 287, 287, 287, 0, 0, 0, 2121, 0, - 287, 0, 0, 0, 0, 0, 287, 0, 0, 0, - 287, 0, 0, 0, 0, 0, 0, 1458, 0, 287, - 0, 0, 0, 0, 0, 0, 0, 842, 0, 287, - 287, 287, 287, 0, 1179, 1459, 0, 287, 0, 287, - 0, 287, 0, 0, 0, 0, 287, 0, 0, 0, - 0, 0, 0, 0, 842, 287, 287, 0, 0, 0, - 0, 0, 0, 1460, 0, 0, 0, 0, 0, 0, - 0, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 0, - 0, 2122, 1450, 0, 0, 0, 0, 0, 842, 0, - 0, 0, 0, 1452, 0, 0, 0, 0, 0, 2123, - 0, 0, 0, 0, 0, 0, 0, 0, 1067, 1067, - 0, 0, 1043, 0, 0, 0, 0, 2114, 1067, 1067, - 1067, 1067, 1067, 1067, 1067, 0, 0, 2124, 2116, 0, - 842, 0, 0, 0, 0, 2125, 2126, 2127, 2128, 2129, - 2130, 2131, 2132, 1453, 0, 1067, 0, 0, 0, 0, - 1454, 0, 0, 0, 0, 0, 0, 0, 1455, 0, - 1103, 1175, 0, 0, 1103, 0, 1103, 0, 0, 1103, - 1103, 1103, 1103, 1103, 1103, 1103, 1103, 1103, 2117, 0, - 1103, 0, 0, 0, 0, 2118, 0, 0, 842, 0, - 0, 0, 0, 2119, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1175, 0, 842, 1067, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1175, 1175, - 1175, 1175, 1175, 1175, 1175, 0, 1179, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 287, 0, 0, 287, - 0, 0, 0, 0, 287, 0, 0, 287, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1458, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1459, 0, - 0, 0, 0, 0, 287, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2122, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1460, 287, 0, 842, - 0, 0, 0, 2123, 0,-32768,-32768, 1464, 1465, 1466, - 1467, 1468, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1929, 0, 287, 0, 287, 0, 0, - 0, 2124, 0, 287, 0, 0, 0, 0, 0, 0, --32768,-32768, 2128, 2129, 2130, 2131, 2132, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 806, 533, 807, 808, 809, 810, 538, 811, 812, - 813, 0, 814, 0, 815, 816, 817, 818, 819, 820, - 821, 822, 823, 824, 825, 0, 826, 827, 828, 829, - 830, 831, 0, 832, 833, 834, 835, 836, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 842, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 567, 568, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1175, 0, - 1103, 0, 205, 574, 0, 0, 0, 0, 0, 837, - 0, 0, 0, 0, 0, 0, 0, 578, 0, 579, - 0, 0, 0, 0, 0, 0, 0, 0, 207, 0, - 0, 0, 0, 0, 580, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 212, 213, 0, - 581, 0, 582, 0, 0, 0, 0, 0, 586, 0, - 0, 842, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 223, 77, 0, 0, 0, 0, 0, 0, 838, - 839, 1175, 0, 0, 0, 0, 0, 592, 0, 287, - 0, 0, 0, 0, 594, 0, 0, 0, 0, 0, - 287, 228, 0, 0, 0, 0, 840, 0, 0, 0, - 0, 0, 287, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 287, 287, 0, 0, 0, 0, 287, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, - 1929, 0, 1929, 1929, 1929, 1929, 1929, 596, 0, 287, - 0, 0, 0, 287, 0, 0, 0, 0, 0, 0, - 283, 284, 0, 285, 287, 0, 25, 598, 26, 0, - 0, 0, 842, 0, 0, 0, 796, 0, 0, 2168, - 0, 842, 0, 0, 0, 0, 0, 0, 0, 0, - 844, 0, 847, 2180, 848, 849, 850, 854, 842, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1175, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 842, - 769, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 842, 0, 0, 0, 923, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 287, 0, 0, 0, 0, 0, - 0, 287, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 842, 0, 842, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 903, 0, - 0, 0, 0, 0, 0, 0, 1929, 0, 0, 0, - 0, 0, 0, 0, 1929, 0, 0, 1011, 1929, 0, - 1929, 287, 0, 1929, 1929, 1929, 1929, 1929, 1929, 1929, - 1929, 1929, 0, 1929, 0, 0, 0, 0, 2168, 0, - 0, 0, 0, 0, 0, 0, 1032, 0, 0, 0, - 0, 0, 1929, 0, 0, 0, 0, 0, 0, 0, - 0, 2168, 2168, 2168, 2168, 2168, 0, 0, 0, 0, - 1053, 1054, 0, 0, 0, 0, 0, 0, 1077, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1175, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 287, 0, 287, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1100, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 842, 0, 0, 0, 1157, 0, 842, 0, 1185, 0, - 1189, 0, 0, 1193, 1198, 1202, 1206, 1210, 1214, 1218, - 1222, 1226, 0, 0, 0, 0, 1066, 0, 0, 0, - 287, 0, 0, 287, 0, 0, 0, 1929, 0, 0, - 0, 0, 0, 0, 0, 842, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 287, 0, 0, 287, - 842, 842, 0, 287, 0, 0, 2168, 0, 0, 0, - 1102, 0, 0, 0, 0, 2168, 2168, 2168, 2168, 2168, - 2168, 2168, 2168, 2168, 2168, 0, 0, 1174, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 842, - 842, 0, 0, 0, 0, 0, 0, 842, 0, 0, - 0, 287, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1929, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 287, - 0, 0, 0, 842, 0, 842, 1068, 0, 0, 0, - 0, 0, 842, 0, 0, 0, 0, 0, 0, 0, - 1370, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2168, 0, 0, 0, 0, 0, - 1104, 0, 0, 0, 0, 287, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1077, 1176, 1077, 1077, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1433, 0, 0, 0, 0, 0, 1439, 1441, 1443, 1445, - 1447, 854, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1485, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1066, 1066, 1066, 1066, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1102, 0, 0, 1507, 0, 0, 1102, 1102, - 1102, 1102, 1102, 0, 0, 0, 0, 0, 0, 0, - 0, 1528, 0, 0, 0, 854, 0, 0, 0, 0, - 854, 0, 0, 0, 854, 0, 0, 0, 854, 0, - 0, 0, 854, 0, 0, 0, 854, 0, 0, 0, - 854, 0, 0, 0, 854, 0, 0, 0, 854, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1174, 1174, 1174, 1174, 1174, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 923, - 0, 1174, 0, 0, 0, 1068, 1068, 1068, 1068, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1104, 0, 0, 0, 0, 0, 1104, 1104, - 1104, 1104, 1104, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 903, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1694, 1176, 1176, 1176, 1176, 1176, 0, 0, 0, - 1697, 0, 0, 0, 0, 1521, 0, 0, 0, 1698, - 0, 1176, 0, 0, 0, 1077, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1040, 0, 0, 0, 0, 0, - 0, 1725, 0, 0, 0, 0, 0, 0, 1730, 0, - 0, 1077, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1739, 0, 0, 0, 1747, 0, - 1752, 0, 0, 1757, 1763, 1768, 1773, 1778, 1783, 1788, - 1793, 1798, 0, 0, 1100, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1066, 1066, 0, 0, 0, 0, - 0, 0, 0, 0, 1066, 1066, 1066, 1066, 1066, 1066, - 1066, 0, 0, 0, 1077, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1066, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1102, 1174, 0, 0, - 1102, 0, 1102, 0, 0, 1102, 1102, 1102, 1102, 1102, - 1102, 1102, 1102, 1102, 0, 0, 1102, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1174, 0, 0, 1066, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1174, 1174, 1174, 1174, 1174, 1174, - 1174, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1068, 1068, 0, 0, 0, 0, - 0, 0, 0, 0, 1068, 1068, 1068, 1068, 1068, 1068, - 1068, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1068, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1104, 1176, 0, 0, - 1104, 0, 1104, 0, 0, 1104, 1104, 1104, 1104, 1104, - 1104, 1104, 1104, 1104, 0, 0, 1104, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1077, 1077, 1077, 0, - 0, 1176, 0, 0, 1068, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 0, 0, 0, 0, 0, 1077, 1077, 1077, 0, - 0, 0, 1846, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2009, 0, 0, 0, 0, 854, - 0, 0, 0, 0, 0, 854, 0, 0, 0, 0, - 854, 0, 0, 0, 0, 854, 0, 0, 0, 0, - 854, 0, 0, 0, 0, 854, 0, 0, 0, 0, - 854, 0, 0, 0, 0, 854, 0, 0, 0, 0, - 854, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2045, 0, 0, 0, 0, 0, 0, 0, - 0, 1518, 0, 0, 0, 0, 0, 0, 1077, 1077, - 1077, 0, 0, 1531, 1174, 0, 1102, 0, 1534, 1930, - 0, 0, 1537, 0, 0, 0, 1540, 0, 0, 0, - 1543, 0, 0, 0, 1546, 0, 0, 0, 1549, 0, - 0, 0, 1552, 0, 0, 0, 1555, 0, 0, 806, - 533, 807, 808, 809, 810, 538, 811, 812, 813, 0, - 814, 0, 815, 816, 817, 818, 819, 820, 821, 822, - 823, 824, 825, 0, 826, 827, 828, 829, 830, 831, - 0, 832, 833, 834, 835, 836, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1174, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 567, 568, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1521, 0, 0, - 205, 574, 0, 0, 1176, 0, 1104, 837, 0, 0, - 0, 0, 0, 0, 0, 578, 0, 579, 0, 0, - 0, 0, 0, 0, 0, 0, 207, 0, 0, 1661, - 0, 0, 580, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 212, 213, 0, 581, 0, - 582, 0, 0, 0, 0, 0, 586, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 223, - 0, 0, 0, 0, 0, 0, 0, 838, 839, 0, - 0, 0, 0, 0, 0, 592, 2059, 1176, 0, 0, - 0, 0, 594, 0, 0, 0, 0, 0, 0, 228, - 0, 0, 1728, 0, 840, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1174, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2240, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 596, 1930, 0, 1930, 1930, - 1930, 1930, 1930, 0, 0, 0, 0, 0, 283, 284, - 0, 285, 0, 0, 25, 598, 26, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1843, 0, - 1847, 1848, 0, 1850, 1851, 2169, 1853, 1854, 0, 1856, - 1857, 0, 1859, 1860, 0, 1862, 1863, 0, 1865, 1866, - 0, 1868, 1869, 0, 1871, 1872, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1176, 0, 0, - 0, 0, 0, 1846, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2234, 0, 1174, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1930, 0, 0, 0, 0, 0, 0, 0, - 1930, 2259, 0, 0, 1930, 0, 1930, 0, 0, 1930, - 1930, 1930, 1930, 1930, 1930, 1930, 1930, 1930, 0, 1930, - 0, 0, 0, 0, 2169, 2408, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1930, 0, - 0, 0, 0, 0, 0, 0, 0, 2169, 2169, 2169, - 2169, 2169, 0, 1518, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2013, 0, 0, - 0, 0, 0, 2016, 0, 0, 0, 0, 2019, 1176, - 0, 0, 0, 2022, 0, 0, 0, 0, 2025, 0, - 0, 0, 0, 2028, 0, 0, 0, 0, 2031, 0, - 0, 0, 0, 2034, 0, 0, 0, 0, 2037, 0, - 0, 0, 0, 0, 0, 0, 2041, 0, 0, 0, - 2043, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2259, 0, 0, 0, 0, - 0, 2259, 0, 1930, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2169, 0, 0, 0, 0, 0, 0, 0, - 0, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, 2169, - 2169, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2259, 0, 0, 0, 0, - 0, 0, 2259, 0, 1930, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2259, 0, - 2259, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2169, 0, 0, 0, 0, 0, 0, 0, 0, 1843, - 0, 0, 2196, 2197, 0, 2199, 2200, 0, 2202, 2203, - 0, 2205, 2206, 0, 2208, 2209, 0, 2211, 2212, 0, - 2214, 2215, 0, 2217, 2218, 0, 2220, 2221, 0, 0, - 0, 0, 0, 2225, 0, 0, 0, 2228, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 542, - 0, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 556, 557, 558, 559, 0, - 560, 561, 562, 563, 564, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 203, 204, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 565, 566, 567, 568, 0, 0, 569, 0, 0, 0, - 0, 0, 0, 397, 570, 571, 572, 573, 0, 205, - 574, 0, 0, 0, 0, 0, 575, 0, 0, 0, - 0, 0, 576, 577, 578, 0, 579, 0, 0, 0, - 0, 0, 0, 0, 0, 207, 0, 0, 208, 0, - 0, 580, 0, 0, 0, 0, 209, 210, 0, 0, - 0, 0, 0, 211, 212, 213, 0, 581, 0, 582, - 214, 0, 583, 584, 585, 586, 215, 0, 216, 217, - 0, 0, 0, 0, 587, 0, 0, 218, 219, 0, - 0, 220, 0, 221, 0, 0, 0, 222, 223, 0, - 0, 588, 0, 0, 0, 0, 589, 590, 226, 227, - 0, 0, 0, 591, 592, 0, 0, 0, 593, 0, - 0, 594, 0, 0, 0, 0, 0, 0, 228, 229, - 230, 231, 232, 595, 0, 234, 235, 236, 0, 237, - 238, 0, 239, 0, 0, 240, 241, 242, 243, 244, - 0, 245, 246, 247, 0, 0, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 0, 0, 0, 0, 257, - 0, 258, 259, 260, 0, 398, 261, 262, 0, 263, - 0, 264, 0, 265, 266, 267, 268, 269, 0, 270, - 271, 272, 273, 274, 596, 275, 0, 276, 277, 278, - 279, 280, 0, 0, 281, 0, 282, 283, 284, 597, - 285, 286, 0, 25, 598, 26, 0, 0, 0, 0, - 0, 599, 1238, 0, 601, 602, 0, 603, 0, 0, - 0, 0, 0, 604, 1239, 532, 533, 534, 535, 536, - 537, 538, 539, 540, 541, 0, 542, 0, 543, 544, - 545, 546, 547, 548, 549, 550, 551, 552, 553, 0, - 554, 555, 556, 557, 558, 559, 0, 560, 561, 562, - 563, 564, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 203, 204, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 565, 566, 567, - 568, 0, 0, 569, 0, 0, 0, 0, 0, 0, - 397, 570, 571, 572, 573, 0, 205, 574, 0, 0, - 0, 0, 0, 575, 0, 0, 0, 0, 0, 576, - 577, 578, 0, 579, 0, 0, 0, 0, 0, 0, - 0, 0, 207, 0, 0, 208, 0, 0, 580, 0, - 0, 0, 0, 209, 210, 0, 0, 0, 0, 0, - 211, 212, 213, 0, 581, 0, 582, 214, 0, 583, - 584, 585, 586, 215, 0, 216, 217, 0, 0, 0, - 0, 587, 0, 0, 218, 219, 0, 0, 220, 0, - 221, 0, 0, 0, 222, 223, 0, 0, 588, 0, - 0, 0, 0, 589, 590, 226, 227, 0, 0, 0, - 591, 592, 0, 0, 0, 593, 0, 0, 594, 0, - 0, 0, 0, 0, 0, 228, 229, 230, 231, 232, - 595, 0, 234, 235, 236, 0, 237, 238, 0, 239, - 0, 0, 240, 241, 242, 243, 244, 0, 245, 246, - 247, 0, 0, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 0, 0, 0, 0, 257, 0, 258, 259, - 260, 0, 398, 261, 262, 0, 263, 0, 264, 0, - 265, 266, 267, 268, 269, 0, 270, 271, 272, 273, - 274, 596, 275, 0, 276, 277, 278, 279, 280, 0, - 0, 281, 0, 282, 283, 284, 597, 285, 286, 0, - 25, 598, 26, 0, 0, 0, 0, 0, 599, 1800, - 0, 601, 602, 0, 603, 0, 0, 0, 0, 0, - 604, 1801, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 542, 0, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 556, - 557, 558, 559, 0, 560, 561, 562, 563, 564, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 203, 204, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 565, 566, 567, 568, 0, 0, - 569, 0, 0, 0, 0, 0, 0, 397, 570, 571, - 572, 573, 0, 205, 574, 0, 0, 0, 0, 0, - 575, 0, 0, 0, 0, 0, 576, 577, 578, 0, - 579, 0, 0, 0, 0, 0, 0, 0, 0, 207, - 0, 0, 208, 0, 0, 580, 0, 0, 0, 0, - 209, 210, 0, 0, 0, 0, 0, 211, 212, 213, - 0, 581, 0, 582, 214, 0, 583, 584, 585, 586, - 215, 0, 216, 217, 0, 0, 0, 0, 587, 0, - 0, 218, 219, 0, 0, 220, 0, 221, 0, 0, - 0, 222, 223, 0, 0, 588, 0, 0, 0, 0, - 589, 590, 226, 227, 0, 0, 0, 591, 592, 0, - 0, 0, 593, 0, 0, 594, 0, 0, 0, 0, - 0, 0, 228, 229, 230, 231, 232, 595, 0, 234, - 235, 236, 0, 237, 238, 0, 239, 0, 0, 240, - 241, 242, 243, 244, 0, 245, 246, 247, 0, 0, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 0, - 0, 0, 0, 257, 0, 258, 259, 260, 0, 398, - 261, 262, 0, 263, 0, 264, 0, 265, 266, 267, - 268, 269, 0, 270, 271, 272, 273, 274, 596, 275, - 0, 276, 277, 278, 279, 280, 0, 0, 281, 0, - 282, 283, 284, 597, 285, 286, 0, 25, 598, 26, - 0, 0, 0, 0, 0, 599, 0, 0, 601, 602, - 0, 603, 0, 0, 0, 0, 0, 604, 1716, 532, - 533, 534, 535, 536, 537, 538, 539, 540, 541, 0, - 542, 0, 543, 544, 545, 546, 547, 548, 549, 550, - 551, 552, 553, 0, 554, 555, 556, 557, 558, 559, - 0, 560, 561, 562, 563, 564, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 203, 204, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 565, 566, 567, 568, 0, 0, 569, 0, 0, - 0, 0, 0, 0, 397, 570, 571, 572, 573, 0, - 205, 574, 0, 0, 0, 0, 0, 575, 0, 0, - 0, 0, 0, 576, 577, 578, 0, 579, 0, 0, - 0, 0, 0, 0, 0, 0, 207, 0, 0, 208, - 0, 0, 580, 0, 0, 0, 0, 209, 210, 0, - 0, 0, 0, 0, 211, 212, 213, 0, 581, 0, - 582, 214, 0, 583, 584, 585, 586, 215, 0, 216, - 217, 0, 0, 0, 0, 587, 0, 0, 218, 219, - 0, 0, 220, 0, 221, 0, 0, 0, 222, 223, - 0, 0, 588, 0, 0, 0, 0, 589, 590, 226, - 227, 0, 0, 0, 591, 592, 0, 0, 0, 593, - 0, 0, 594, 0, 0, 0, 0, 0, 0, 228, - 229, 230, 231, 232, 595, 0, 234, 235, 236, 0, - 237, 238, 0, 239, 0, 0, 240, 241, 242, 243, - 244, 0, 245, 246, 247, 0, 0, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 0, 0, 0, 0, - 257, 0, 258, 259, 260, 0, 398, 261, 262, 0, - 263, 0, 264, 0, 265, 266, 267, 268, 269, 0, - 270, 271, 272, 273, 274, 596, 275, 0, 276, 277, - 278, 279, 280, 0, 0, 281, 0, 282, 283, 284, - 597, 285, 286, 0, 25, 598, 26, 0, 0, 0, - 0, 0, 599, 0, 0, 601, 602, 0, 603, 0, - 0, 0, 0, 0, 604, 1838, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 542, 0, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 556, 557, 558, 559, 0, 560, 561, - 562, 563, 564, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 204, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2155, - 567, 568, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2156, 2157, 2158, 2159, 0, 205, 574, 0, - 0, 0, 0, 0, 575, 0, 0, 0, 0, 0, - 0, 0, 578, 0, 579, 0, 0, 0, 0, 0, - 0, 0, 0, 207, 0, 0, 208, 0, 0, 580, - 0, 0, 0, 0, 209, 210, 0, 0, 0, 0, - 0, 211, 212, 213, 0, 581, 0, 582, 214, 0, - 0, 0, 0, 586, 215, 0, 216, 217, 0, 0, - 0, 0, 0, 0, 0, 218, 219, 0, 0, 220, - 0, 221, 0, 0, 0, 222, 223, 0, 0, 0, - 0, 0, 0, 0, 589, 590, 226, 227, 0, 0, - 0, 0, 592, 0, 0, 0, 2161, 0, 0, 594, - 0, 0, 0, 0, 0, 0, 228, 229, 230, 231, - 232, 595, 0, 234, 235, 236, 0, 237, 238, 0, - 239, 0, 0, 240, 241, 242, 243, 244, 0, 245, - 246, 247, 0, 0, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 0, 0, 0, 0, 257, 0, 258, - 259, 260, 0, 0, 261, 262, 0, 263, 0, 264, - 0, 265, 266, 267, 268, 269, 0, 270, 271, 272, - 273, 274, 596, 275, 0, 276, 277, 278, 279, 280, - 0, 0, 281, 0, 282, 283, 284, 2162, 285, 0, - 0, 25, 598, 26, 0, 0, 0, 0, 0, 2163, - 0, 0, 0, 2164, 0, 2165, 0, 0, 0, 0, - 0, 2166, 2393, 532, 533, 534, 535, 536, 537, 538, - 539, 540, 541, 0, 542, 0, 543, 544, 545, 546, - 547, 548, 549, 550, 551, 552, 553, 0, 554, 555, - 556, 557, 558, 559, 0, 560, 561, 562, 563, 564, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 203, 204, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1920, 567, 568, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 205, 574, 0, 0, 0, 0, - 0, 575, 0, 0, 0, 0, 0, 0, 0, 578, - 0, 579, 0, 0, 0, 0, 0, 0, 0, 0, - 207, 0, 0, 208, 0, 0, 580, 0, 0, 0, - 0, 209, 210, 0, 0, 0, 0, 0, 211, 212, - 213, 0, 581, 0, 582, 214, 0, 1921, 0, 1922, - 586, 215, 0, 216, 217, 0, 0, 0, 0, 0, - 0, 0, 218, 219, 0, 0, 220, 0, 221, 0, - 0, 0, 222, 223, 0, 0, 0, 0, 0, 0, - 0, 589, 590, 226, 227, 0, 0, 0, 0, 592, - 0, 0, 0, 0, 0, 0, 594, 0, 0, 0, - 0, 0, 0, 228, 229, 230, 231, 232, 595, 0, - 234, 235, 236, 0, 237, 238, 0, 239, 0, 0, - 240, 241, 242, 243, 244, 0, 245, 246, 247, 0, - 0, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 0, 0, 0, 0, 257, 0, 258, 259, 260, 0, - 0, 261, 262, 0, 263, 0, 264, 0, 265, 266, - 267, 268, 269, 0, 270, 271, 272, 273, 274, 596, - 275, 0, 276, 277, 278, 279, 280, 0, 0, 281, - 0, 282, 283, 284, 1923, 285, 0, 0, 25, 598, - 26, 0, 0, 0, 0, 0, 1924, 0, 0, 0, - 1925, 0, 1926, 0, 0, 0, 0, 0, 1927, 2279, - 172, 0, 173, 174, 175, 176, 0, 177, 178, 179, - 0, 180, 0, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 0, 192, 193, 194, 195, 196, - 197, 0, 198, 199, 200, 201, 202, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 203, 204, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 567, 568, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 205, 983, 0, 0, 0, 0, 0, 984, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 985, 0, - 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, - 208, 0, 0, 0, 0, 0, 0, 0, 209, 210, - 0, 0, 0, 0, 0, 211, 212, 213, 0, 581, - 0, 582, 214, 0, 0, 0, 0, 986, 215, 0, - 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, - 219, 0, 0, 220, 0, 221, 0, 0, 0, 222, - 223, 0, 0, 0, 0, 0, 0, 0, 224, 225, - 226, 227, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 594, 0, 0, 0, 0, 0, 0, - 228, 229, 230, 231, 232, 233, 0, 234, 235, 236, - 0, 237, 238, 0, 239, 0, 0, 240, 241, 242, - 243, 244, 0, 245, 246, 247, 0, 0, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 0, 0, - 0, 257, 0, 258, 259, 260, 0, 0, 261, 262, - 0, 263, 0, 264, 0, 265, 266, 267, 268, 269, - 0, 270, 271, 272, 273, 274, 0, 275, 0, 276, - 277, 278, 279, 280, 0, 0, 281, 0, 282, 283, - 0, 0, 285, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 0, 542, 987, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 556, 557, 558, 559, 0, 560, 561, 562, 563, - 564, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 203, 204, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1073, 0, 0, 565, 566, 567, 568, - 0, 0, 569, 0, 0, 0, 0, 0, 0, 397, - 570, 571, 572, 573, 0, 205, 574, 0, 0, 0, - 0, 0, 575, 0, 0, 0, 0, 0, 576, 577, - 578, 0, 579, 0, 0, 1074, 0, 0, 0, 0, - 0, 207, 0, 0, 208, 0, 0, 580, 0, 0, - 0, 0, 209, 210, 1075, 0, 0, 0, 0, 211, - 212, 213, 0, 581, 0, 582, 214, 0, 583, 584, - 585, 586, 215, 0, 216, 217, 0, 0, 0, 0, - 587, 0, 0, 218, 219, 0, 0, 220, 0, 221, - 0, 0, 0, 222, 223, 0, 0, 588, 0, 0, - 0, 0, 589, 590, 226, 227, 0, 1076, 0, 591, - 592, 0, 0, 0, 593, 0, 0, 594, 0, 0, - 0, 0, 0, 0, 228, 229, 230, 231, 232, 595, - 0, 234, 235, 236, 0, 237, 238, 0, 239, 0, - 0, 240, 241, 242, 243, 244, 0, 245, 246, 247, - 0, 0, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, - 0, 398, 261, 262, 0, 263, 0, 264, 0, 265, - 266, 267, 268, 269, 0, 270, 271, 272, 273, 274, - 596, 275, 0, 276, 277, 278, 279, 280, 0, 0, - 281, 0, 282, 283, 284, 597, 285, 286, 0, 25, - 598, 26, 0, 0, 0, 0, 0, 599, 0, 0, - 601, 602, 0, 603, 0, 0, 0, 0, 0, 604, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 0, 542, 0, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 556, 557, 558, - 559, 0, 560, 561, 562, 563, 564, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 203, 204, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1703, - 0, 0, 565, 566, 567, 568, 0, 0, 569, 0, - 0, 0, 0, 0, 0, 397, 570, 571, 572, 573, - 0, 205, 574, 0, 0, 0, 0, 0, 575, 0, - 0, 0, 0, 0, 576, 577, 578, 0, 579, 0, - 0, 1074, 0, 0, 0, 0, 0, 207, 0, 0, - 208, 0, 0, 580, 0, 0, 0, 0, 209, 210, - 1704, 0, 0, 0, 0, 211, 212, 213, 0, 581, - 0, 582, 214, 0, 583, 584, 585, 586, 215, 0, - 216, 217, 0, 0, 0, 0, 587, 0, 0, 218, - 219, 0, 0, 220, 0, 221, 0, 0, 0, 222, - 223, 0, 0, 588, 0, 0, 0, 0, 589, 590, - 226, 227, 0, 1705, 0, 591, 592, 0, 0, 0, - 593, 0, 0, 594, 0, 0, 0, 0, 0, 0, - 228, 229, 230, 231, 232, 595, 0, 234, 235, 236, - 0, 237, 238, 0, 239, 0, 0, 240, 241, 242, - 243, 244, 0, 245, 246, 247, 0, 0, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 0, 0, - 0, 257, 0, 258, 259, 260, 0, 398, 261, 262, - 0, 263, 0, 264, 0, 265, 266, 267, 268, 269, - 0, 270, 271, 272, 273, 274, 596, 275, 0, 276, - 277, 278, 279, 280, 0, 0, 281, 0, 282, 283, - 284, 597, 285, 286, 0, 25, 598, 26, 0, 0, - 0, 0, 0, 599, 0, 0, 601, 602, 0, 603, - 0, 0, 0, 0, 0, 604, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 542, 0, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 556, 557, 558, 559, 0, 560, 561, - 562, 563, 564, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 204, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1733, 0, 0, 565, 566, - 567, 568, 0, 0, 569, 0, 0, 0, 0, 0, - 0, 397, 570, 571, 572, 573, 0, 205, 574, 0, - 0, 0, 0, 0, 575, 0, 0, 0, 0, 0, - 576, 577, 578, 0, 579, 0, 0, 1074, 0, 0, - 0, 0, 0, 207, 0, 0, 208, 0, 0, 580, - 0, 0, 0, 0, 209, 210, 1734, 0, 0, 0, - 0, 211, 212, 213, 0, 581, 0, 582, 214, 0, - 583, 584, 585, 586, 215, 0, 216, 217, 0, 0, - 0, 0, 587, 0, 0, 218, 219, 0, 0, 220, - 0, 221, 0, 0, 0, 222, 223, 0, 0, 588, - 0, 0, 0, 0, 589, 590, 226, 227, 0, 1735, - 0, 591, 592, 0, 0, 0, 593, 0, 0, 594, - 0, 0, 0, 0, 0, 0, 228, 229, 230, 231, - 232, 595, 0, 234, 235, 236, 0, 237, 238, 0, - 239, 0, 0, 240, 241, 242, 243, 244, 0, 245, - 246, 247, 0, 0, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 0, 0, 0, 0, 257, 0, 258, - 259, 260, 0, 398, 261, 262, 0, 263, 0, 264, - 0, 265, 266, 267, 268, 269, 0, 270, 271, 272, - 273, 274, 596, 275, 0, 276, 277, 278, 279, 280, - 0, 0, 281, 0, 282, 283, 284, 597, 285, 286, - 0, 25, 598, 26, 0, 0, 0, 0, 0, 599, - 0, 0, 601, 602, 0, 603, 0, 0, 0, 0, - 0, 604, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 542, 0, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 556, - 557, 558, 559, 0, 560, 561, 562, 563, 564, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 203, 204, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1825, 0, 0, 565, 566, 567, 568, 0, 0, - 569, 0, 0, 0, 0, 0, 0, 397, 570, 571, - 572, 573, 0, 205, 574, 0, 0, 0, 0, 0, - 575, 0, 0, 0, 0, 0, 576, 577, 578, 0, - 579, 0, 0, 1074, 0, 0, 0, 0, 0, 207, - 0, 0, 208, 0, 0, 580, 0, 0, 0, 0, - 209, 210, 1826, 0, 0, 0, 0, 211, 212, 213, - 0, 581, 0, 582, 214, 0, 583, 584, 585, 586, - 215, 0, 216, 217, 0, 0, 0, 0, 587, 0, - 0, 218, 219, 0, 0, 220, 0, 221, 0, 0, - 0, 222, 223, 0, 0, 588, 0, 0, 0, 0, - 589, 590, 226, 227, 0, 1827, 0, 591, 592, 0, - 0, 0, 593, 0, 0, 594, 0, 0, 0, 0, - 0, 0, 228, 229, 230, 231, 232, 595, 0, 234, - 235, 236, 0, 237, 238, 0, 239, 0, 0, 240, - 241, 242, 243, 244, 0, 245, 246, 247, 0, 0, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 0, - 0, 0, 0, 257, 0, 258, 259, 260, 0, 398, - 261, 262, 0, 263, 0, 264, 0, 265, 266, 267, - 268, 269, 0, 270, 271, 272, 273, 274, 596, 275, - 0, 276, 277, 278, 279, 280, 0, 0, 281, 0, - 282, 283, 284, 597, 285, 286, 0, 25, 598, 26, - 0, 0, 0, 0, 0, 599, 0, 0, 601, 602, - 0, 603, 0, 0, 0, 0, 0, 604, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 542, - 0, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 556, 557, 558, 559, 0, - 560, 561, 562, 563, 564, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 203, 204, 0, 1194, - 0, 0, 1195, 0, 0, 0, 0, 0, 0, 0, - 565, 566, 567, 568, 0, 0, 569, 0, 0, 0, - 0, 0, 0, 397, 570, 571, 572, 573, 0, 205, - 574, 0, 0, 0, 0, 0, 575, 0, 0, 0, - 0, 0, 576, 577, 578, 0, 579, 0, 0, 0, - 0, 0, 0, 0, 0, 207, 0, 0, 208, 0, - 0, 580, 0, 0, 0, 0, 209, 210, 0, 0, - 0, 0, 0, 211, 212, 213, 0, 581, 0, 582, - 214, 0, 583, 584, 1196, 586, 215, 0, 216, 217, - 0, 0, 0, 0, 587, 0, 0, 218, 219, 0, - 0, 220, 0, 221, 0, 0, 0, 222, 223, 0, - 0, 588, 0, 0, 0, 0, 589, 590, 226, 227, - 0, 0, 0, 591, 592, 0, 0, 0, 593, 0, - 0, 594, 0, 0, 0, 0, 0, 0, 228, 229, - 230, 231, 232, 595, 0, 234, 235, 236, 0, 237, - 238, 0, 239, 0, 0, 240, 241, 242, 243, 244, - 0, 245, 246, 247, 0, 0, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 0, 0, 0, 0, 257, - 0, 258, 259, 260, 0, 398, 261, 262, 0, 263, - 0, 264, 0, 265, 266, 267, 268, 269, 0, 270, - 271, 272, 273, 274, 596, 275, 0, 276, 277, 278, - 279, 280, 0, 0, 281, 0, 282, 283, 284, 597, - 285, 286, 0, 25, 598, 26, 0, 0, 0, 0, - 0, 599, 0, 0, 601, 602, 0, 603, 0, 0, - 0, 0, 0, 1197, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 0, 542, 0, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 556, 557, 558, 559, 0, 560, 561, 562, 563, - 564, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 203, 204, 0, 1199, 0, 0, 1200, 0, - 0, 0, 0, 0, 0, 0, 565, 566, 567, 568, - 0, 0, 569, 0, 0, 0, 0, 0, 0, 397, - 570, 571, 572, 573, 0, 205, 574, 0, 0, 0, - 0, 0, 575, 0, 0, 0, 0, 0, 576, 577, - 578, 0, 579, 0, 0, 0, 0, 0, 0, 0, - 0, 207, 0, 0, 208, 0, 0, 580, 0, 0, - 0, 0, 209, 210, 0, 0, 0, 0, 0, 211, - 212, 213, 0, 581, 0, 582, 214, 0, 583, 584, - 795, 586, 215, 0, 216, 217, 0, 0, 0, 0, - 587, 0, 0, 218, 219, 0, 0, 220, 0, 221, - 0, 0, 0, 222, 223, 0, 0, 588, 0, 0, - 0, 0, 589, 590, 226, 227, 0, 0, 0, 591, - 592, 0, 0, 0, 593, 0, 0, 594, 0, 0, - 0, 0, 0, 0, 228, 229, 230, 231, 232, 595, - 0, 234, 235, 236, 0, 237, 238, 0, 239, 0, - 0, 240, 241, 242, 243, 244, 0, 245, 246, 247, - 0, 0, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, - 0, 398, 261, 262, 0, 263, 0, 264, 0, 265, - 266, 267, 268, 269, 0, 270, 271, 272, 273, 274, - 596, 275, 0, 276, 277, 278, 279, 280, 0, 0, - 281, 0, 282, 283, 284, 597, 285, 286, 0, 25, - 598, 26, 0, 0, 0, 0, 0, 599, 0, 0, - 601, 602, 0, 603, 0, 0, 0, 0, 0, 1201, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 0, 542, 0, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 556, 557, 558, - 559, 0, 560, 561, 562, 563, 564, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 203, 204, - 0, 1203, 0, 0, 1204, 0, 0, 0, 0, 0, - 0, 0, 565, 566, 567, 568, 0, 0, 569, 0, - 0, 0, 0, 0, 0, 397, 570, 571, 572, 573, - 0, 205, 574, 0, 0, 0, 0, 0, 575, 0, - 0, 0, 0, 0, 576, 577, 578, 0, 579, 0, - 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, - 208, 0, 0, 580, 0, 0, 0, 0, 209, 210, - 0, 0, 0, 0, 0, 211, 212, 213, 0, 581, - 0, 582, 214, 0, 583, 584, 795, 586, 215, 0, - 216, 217, 0, 0, 0, 0, 587, 0, 0, 218, - 219, 0, 0, 220, 0, 221, 0, 0, 0, 222, - 223, 0, 0, 588, 0, 0, 0, 0, 589, 590, - 226, 227, 0, 0, 0, 591, 592, 0, 0, 0, - 593, 0, 0, 594, 0, 0, 0, 0, 0, 0, - 228, 229, 230, 231, 232, 595, 0, 234, 235, 236, - 0, 237, 238, 0, 239, 0, 0, 240, 241, 242, - 243, 244, 0, 245, 246, 247, 0, 0, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 0, 0, - 0, 257, 0, 258, 259, 260, 0, 398, 261, 262, - 0, 263, 0, 264, 0, 265, 266, 267, 268, 269, - 0, 270, 271, 272, 273, 274, 596, 275, 0, 276, - 277, 278, 279, 280, 0, 0, 281, 0, 282, 283, - 284, 597, 285, 286, 0, 25, 598, 26, 0, 0, - 0, 0, 0, 599, 0, 0, 601, 602, 0, 603, - 0, 0, 0, 0, 0, 1205, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 542, 0, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 556, 557, 558, 559, 0, 560, 561, - 562, 563, 564, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 204, 0, 1207, 0, 0, - 1208, 0, 0, 0, 0, 0, 0, 0, 565, 566, - 567, 568, 0, 0, 569, 0, 0, 0, 0, 0, - 0, 397, 570, 571, 572, 573, 0, 205, 574, 0, - 0, 0, 0, 0, 575, 0, 0, 0, 0, 0, - 576, 577, 578, 0, 579, 0, 0, 0, 0, 0, - 0, 0, 0, 207, 0, 0, 208, 0, 0, 580, - 0, 0, 0, 0, 209, 210, 0, 0, 0, 0, - 0, 211, 212, 213, 0, 581, 0, 582, 214, 0, - 583, 584, 795, 586, 215, 0, 216, 217, 0, 0, - 0, 0, 587, 0, 0, 218, 219, 0, 0, 220, - 0, 221, 0, 0, 0, 222, 223, 0, 0, 588, - 0, 0, 0, 0, 589, 590, 226, 227, 0, 0, - 0, 591, 592, 0, 0, 0, 593, 0, 0, 594, - 0, 0, 0, 0, 0, 0, 228, 229, 230, 231, - 232, 595, 0, 234, 235, 236, 0, 237, 238, 0, - 239, 0, 0, 240, 241, 242, 243, 244, 0, 245, - 246, 247, 0, 0, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 0, 0, 0, 0, 257, 0, 258, - 259, 260, 0, 398, 261, 262, 0, 263, 0, 264, - 0, 265, 266, 267, 268, 269, 0, 270, 271, 272, - 273, 274, 596, 275, 0, 276, 277, 278, 279, 280, - 0, 0, 281, 0, 282, 283, 284, 597, 285, 286, - 0, 25, 598, 26, 0, 0, 0, 0, 0, 599, - 0, 0, 601, 602, 0, 603, 0, 0, 0, 0, - 0, 1209, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 542, 0, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 556, - 557, 558, 559, 0, 560, 561, 562, 563, 564, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 203, 204, 0, 1211, 0, 0, 1212, 0, 0, 0, - 0, 0, 0, 0, 565, 566, 567, 568, 0, 0, - 569, 0, 0, 0, 0, 0, 0, 397, 570, 571, - 572, 573, 0, 205, 574, 0, 0, 0, 0, 0, - 575, 0, 0, 0, 0, 0, 576, 577, 578, 0, - 579, 0, 0, 0, 0, 0, 0, 0, 0, 207, - 0, 0, 208, 0, 0, 580, 0, 0, 0, 0, - 209, 210, 0, 0, 0, 0, 0, 211, 212, 213, - 0, 581, 0, 582, 214, 0, 583, 584, 795, 586, - 215, 0, 216, 217, 0, 0, 0, 0, 587, 0, - 0, 218, 219, 0, 0, 220, 0, 221, 0, 0, - 0, 222, 223, 0, 0, 588, 0, 0, 0, 0, - 589, 590, 226, 227, 0, 0, 0, 591, 592, 0, - 0, 0, 593, 0, 0, 594, 0, 0, 0, 0, - 0, 0, 228, 229, 230, 231, 232, 595, 0, 234, - 235, 236, 0, 237, 238, 0, 239, 0, 0, 240, - 241, 242, 243, 244, 0, 245, 246, 247, 0, 0, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 0, - 0, 0, 0, 257, 0, 258, 259, 260, 0, 398, - 261, 262, 0, 263, 0, 264, 0, 265, 266, 267, - 268, 269, 0, 270, 271, 272, 273, 274, 596, 275, - 0, 276, 277, 278, 279, 280, 0, 0, 281, 0, - 282, 283, 284, 597, 285, 286, 0, 25, 598, 26, - 0, 0, 0, 0, 0, 599, 0, 0, 601, 602, - 0, 603, 0, 0, 0, 0, 0, 1213, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 542, - 0, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 556, 557, 558, 559, 0, - 560, 561, 562, 563, 564, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 203, 204, 0, 1215, - 0, 0, 1216, 0, 0, 0, 0, 0, 0, 0, - 565, 566, 567, 568, 0, 0, 569, 0, 0, 0, - 0, 0, 0, 397, 570, 571, 572, 573, 0, 205, - 574, 0, 0, 0, 0, 0, 575, 0, 0, 0, - 0, 0, 576, 577, 578, 0, 579, 0, 0, 0, - 0, 0, 0, 0, 0, 207, 0, 0, 208, 0, - 0, 580, 0, 0, 0, 0, 209, 210, 0, 0, - 0, 0, 0, 211, 212, 213, 0, 581, 0, 582, - 214, 0, 583, 584, 795, 586, 215, 0, 216, 217, - 0, 0, 0, 0, 587, 0, 0, 218, 219, 0, - 0, 220, 0, 221, 0, 0, 0, 222, 223, 0, - 0, 588, 0, 0, 0, 0, 589, 590, 226, 227, - 0, 0, 0, 591, 592, 0, 0, 0, 593, 0, - 0, 594, 0, 0, 0, 0, 0, 0, 228, 229, - 230, 231, 232, 595, 0, 234, 235, 236, 0, 237, - 238, 0, 239, 0, 0, 240, 241, 242, 243, 244, - 0, 245, 246, 247, 0, 0, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 0, 0, 0, 0, 257, - 0, 258, 259, 260, 0, 398, 261, 262, 0, 263, - 0, 264, 0, 265, 266, 267, 268, 269, 0, 270, - 271, 272, 273, 274, 596, 275, 0, 276, 277, 278, - 279, 280, 0, 0, 281, 0, 282, 283, 284, 597, - 285, 286, 0, 25, 598, 26, 0, 0, 0, 0, - 0, 599, 0, 0, 601, 602, 0, 603, 0, 0, - 0, 0, 0, 1217, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 0, 542, 0, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 556, 557, 558, 559, 0, 560, 561, 562, 563, - 564, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 203, 204, 0, 1219, 0, 0, 1220, 0, - 0, 0, 0, 0, 0, 0, 565, 566, 567, 568, - 0, 0, 569, 0, 0, 0, 0, 0, 0, 397, - 570, 571, 572, 573, 0, 205, 574, 0, 0, 0, - 0, 0, 575, 0, 0, 0, 0, 0, 576, 577, - 578, 0, 579, 0, 0, 0, 0, 0, 0, 0, - 0, 207, 0, 0, 208, 0, 0, 580, 0, 0, - 0, 0, 209, 210, 0, 0, 0, 0, 0, 211, - 212, 213, 0, 581, 0, 582, 214, 0, 583, 584, - 795, 586, 215, 0, 216, 217, 0, 0, 0, 0, - 587, 0, 0, 218, 219, 0, 0, 220, 0, 221, - 0, 0, 0, 222, 223, 0, 0, 588, 0, 0, - 0, 0, 589, 590, 226, 227, 0, 0, 0, 591, - 592, 0, 0, 0, 593, 0, 0, 594, 0, 0, - 0, 0, 0, 0, 228, 229, 230, 231, 232, 595, - 0, 234, 235, 236, 0, 237, 238, 0, 239, 0, - 0, 240, 241, 242, 243, 244, 0, 245, 246, 247, - 0, 0, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, - 0, 398, 261, 262, 0, 263, 0, 264, 0, 265, - 266, 267, 268, 269, 0, 270, 271, 272, 273, 274, - 596, 275, 0, 276, 277, 278, 279, 280, 0, 0, - 281, 0, 282, 283, 284, 597, 285, 286, 0, 25, - 598, 26, 0, 0, 0, 0, 0, 599, 0, 0, - 601, 602, 0, 603, 0, 0, 0, 0, 0, 1221, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 0, 542, 0, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 556, 557, 558, - 559, 0, 560, 561, 562, 563, 564, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 203, 204, - 0, 1754, 0, 0, 1755, 0, 0, 0, 0, 0, - 0, 0, 565, 1080, 567, 568, 0, 0, 569, 0, - 0, 0, 0, 0, 0, 397, 1081, 1082, 1083, 1084, - 0, 205, 574, 0, 0, 0, 0, 0, 575, 0, - 0, 0, 0, 0, 1085, 1086, 578, 0, 579, 0, - 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, - 208, 0, 0, 580, 0, 0, 0, 0, 209, 210, - 0, 0, 0, 0, 0, 211, 212, 213, 0, 581, - 0, 582, 214, 0, 0, 584, 1088, 586, 215, 0, - 216, 217, 0, 0, 0, 0, 1089, 0, 0, 218, - 219, 0, 0, 220, 0, 221, 0, 0, 0, 222, - 223, 0, 0, 1090, 0, 0, 0, 0, 589, 590, - 226, 227, 0, 0, 0, 1091, 592, 0, 0, 0, - 1092, 0, 0, 594, 0, 0, 0, 0, 0, 0, - 228, 229, 230, 231, 232, 595, 0, 234, 235, 236, - 0, 237, 238, 0, 239, 0, 0, 240, 241, 242, - 243, 244, 0, 245, 246, 247, 0, 0, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 0, 0, - 0, 257, 0, 258, 259, 260, 0, 398, 261, 262, - 0, 263, 0, 264, 0, 265, 266, 267, 268, 269, - 0, 270, 271, 272, 273, 274, 596, 275, 0, 276, - 277, 278, 279, 280, 0, 0, 281, 0, 282, 283, - 284, 0, 285, 286, 0, 25, 598, 26, 0, 0, - 0, 0, 0, 1094, 0, 0, 1095, 1096, -1285, 1097, - 0, 0, 0, -1285, 0, 1756, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 542, 0, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 556, 557, 558, 559, 0, 560, 561, - 562, 563, 564, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 204, 0, 1759, 0, 0, - 1760, 0, 0, 0, 0, 0, 0, 0, 565, 1080, - 567, 568, 0, 0, 569, 0, 0, 0, 0, 0, - 0, 397, 1081, 1082, 1083, 1084, 0, 205, 574, 0, - 0, 0, 0, 0, 575, 0, 0, 0, 0, 0, - 1085, 1086, 578, 0, 579, 0, 0, 0, 0, 0, - 0, 0, 0, 207, 0, 0, 208, 0, 0, 580, - 0, 0, 0, 0, 209, 210, 0, 0, 0, 0, - 0, 211, 212, 213, 0, 581, 0, 582, 214, 0, - 1087, 584, 1761, 586, 215, 0, 216, 217, 0, 0, - 0, 0, 1089, 0, 0, 218, 219, 0, 0, 220, - 0, 221, 0, 0, 0, 222, 223, 0, 0, 1090, - 0, 0, 0, 0, 589, 590, 226, 227, 0, 0, - 0, 1091, 592, 0, 0, 0, 1092, 0, 0, 594, - 0, 0, 0, 0, 0, 0, 228, 229, 230, 231, - 232, 595, 0, 234, 235, 236, 0, 237, 238, 0, - 239, 0, 0, 240, 241, 242, 243, 244, 0, 245, - 246, 247, 0, 0, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 0, 0, 0, 0, 257, 0, 258, - 259, 260, 0, 398, 261, 262, 0, 263, 0, 264, - 0, 265, 266, 267, 268, 269, 0, 270, 271, 272, - 273, 274, 596, 275, 0, 276, 277, 278, 279, 280, - 0, 0, 281, 0, 282, 283, 284, 1093, 285, 286, - 0, 25, 598, 26, 0, 0, 0, 0, 0, 1094, - 0, 0, 1095, 1096, 0, 1097, 0, 0, 0, 0, - 0, 1762, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 542, 0, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 556, - 557, 558, 559, 0, 560, 561, 562, 563, 564, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 203, 204, 0, 1765, 0, 0, 1766, 0, 0, 0, - 0, 0, 0, 0, 565, 1080, 567, 568, 0, 0, - 569, 0, 0, 0, 0, 0, 0, 397, 1081, 1082, - 1083, 1084, 0, 205, 574, 0, 0, 0, 0, 0, - 575, 0, 0, 0, 0, 0, 1085, 1086, 578, 0, - 579, 0, 0, 0, 0, 0, 0, 0, 0, 207, - 0, 0, 208, 0, 0, 580, 0, 0, 0, 0, - 209, 210, 0, 0, 0, 0, 0, 211, 212, 213, - 0, 581, 0, 582, 214, 0, 1087, 584, 1088, 586, - 215, 0, 216, 217, 0, 0, 0, 0, 1089, 0, - 0, 218, 219, 0, 0, 220, 0, 221, 0, 0, - 0, 222, 223, 0, 0, 1090, 0, 0, 0, 0, - 589, 590, 226, 227, 0, 0, 0, 1091, 592, 0, - 0, 0, 1092, 0, 0, 594, 0, 0, 0, 0, - 0, 0, 228, 229, 230, 231, 232, 595, 0, 234, - 235, 236, 0, 237, 238, 0, 239, 0, 0, 240, - 241, 242, 243, 244, 0, 245, 246, 247, 0, 0, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 0, - 0, 0, 0, 257, 0, 258, 259, 260, 0, 398, - 261, 262, 0, 263, 0, 264, 0, 265, 266, 267, - 268, 269, 0, 270, 271, 272, 273, 274, 596, 275, - 0, 276, 277, 278, 279, 280, 0, 0, 281, 0, - 282, 283, 284, 1093, 285, 286, 0, 25, 598, 26, - 0, 0, 0, 0, 0, 1094, 0, 0, 1095, 1096, - 0, 1097, 0, 0, 0, 0, 0, 1767, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 542, - 0, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 556, 557, 558, 559, 0, - 560, 561, 562, 563, 564, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 203, 204, 0, 1770, - 0, 0, 1771, 0, 0, 0, 0, 0, 0, 0, - 565, 1080, 567, 568, 0, 0, 569, 0, 0, 0, - 0, 0, 0, 397, 1081, 1082, 1083, 1084, 0, 205, - 574, 0, 0, 0, 0, 0, 575, 0, 0, 0, - 0, 0, 1085, 1086, 578, 0, 579, 0, 0, 0, - 0, 0, 0, 0, 0, 207, 0, 0, 208, 0, - 0, 580, 0, 0, 0, 0, 209, 210, 0, 0, - 0, 0, 0, 211, 212, 213, 0, 581, 0, 582, - 214, 0, 1087, 584, 1088, 586, 215, 0, 216, 217, - 0, 0, 0, 0, 1089, 0, 0, 218, 219, 0, - 0, 220, 0, 221, 0, 0, 0, 222, 223, 0, - 0, 1090, 0, 0, 0, 0, 589, 590, 226, 227, - 0, 0, 0, 1091, 592, 0, 0, 0, 1092, 0, - 0, 594, 0, 0, 0, 0, 0, 0, 228, 229, - 230, 231, 232, 595, 0, 234, 235, 236, 0, 237, - 238, 0, 239, 0, 0, 240, 241, 242, 243, 244, - 0, 245, 246, 247, 0, 0, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 0, 0, 0, 0, 257, - 0, 258, 259, 260, 0, 398, 261, 262, 0, 263, - 0, 264, 0, 265, 266, 267, 268, 269, 0, 270, - 271, 272, 273, 274, 596, 275, 0, 276, 277, 278, - 279, 280, 0, 0, 281, 0, 282, 283, 284, 1093, - 285, 286, 0, 25, 598, 26, 0, 0, 0, 0, - 0, 1094, 0, 0, 1095, 1096, 0, 1097, 0, 0, - 0, 0, 0, 1772, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 0, 542, 0, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 556, 557, 558, 559, 0, 560, 561, 562, 563, - 564, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 203, 204, 0, 1775, 0, 0, 1776, 0, - 0, 0, 0, 0, 0, 0, 565, 1080, 567, 568, - 0, 0, 569, 0, 0, 0, 0, 0, 0, 397, - 1081, 1082, 1083, 1084, 0, 205, 574, 0, 0, 0, - 0, 0, 575, 0, 0, 0, 0, 0, 1085, 1086, - 578, 0, 579, 0, 0, 0, 0, 0, 0, 0, - 0, 207, 0, 0, 208, 0, 0, 580, 0, 0, - 0, 0, 209, 210, 0, 0, 0, 0, 0, 211, - 212, 213, 0, 581, 0, 582, 214, 0, 1087, 584, - 1088, 586, 215, 0, 216, 217, 0, 0, 0, 0, - 1089, 0, 0, 218, 219, 0, 0, 220, 0, 221, - 0, 0, 0, 222, 223, 0, 0, 1090, 0, 0, - 0, 0, 589, 590, 226, 227, 0, 0, 0, 1091, - 592, 0, 0, 0, 1092, 0, 0, 594, 0, 0, - 0, 0, 0, 0, 228, 229, 230, 231, 232, 595, - 0, 234, 235, 236, 0, 237, 238, 0, 239, 0, - 0, 240, 241, 242, 243, 244, 0, 245, 246, 247, - 0, 0, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, - 0, 398, 261, 262, 0, 263, 0, 264, 0, 265, - 266, 267, 268, 269, 0, 270, 271, 272, 273, 274, - 596, 275, 0, 276, 277, 278, 279, 280, 0, 0, - 281, 0, 282, 283, 284, 1093, 285, 286, 0, 25, - 598, 26, 0, 0, 0, 0, 0, 1094, 0, 0, - 1095, 1096, 0, 1097, 0, 0, 0, 0, 0, 1777, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 0, 542, 0, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 556, 557, 558, - 559, 0, 560, 561, 562, 563, 564, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 203, 204, - 0, 1780, 0, 0, 1781, 0, 0, 0, 0, 0, - 0, 0, 565, 1080, 567, 568, 0, 0, 569, 0, - 0, 0, 0, 0, 0, 397, 1081, 1082, 1083, 1084, - 0, 205, 574, 0, 0, 0, 0, 0, 575, 0, - 0, 0, 0, 0, 1085, 1086, 578, 0, 579, 0, - 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, - 208, 0, 0, 580, 0, 0, 0, 0, 209, 210, - 0, 0, 0, 0, 0, 211, 212, 213, 0, 581, - 0, 582, 214, 0, 1087, 584, 1088, 586, 215, 0, - 216, 217, 0, 0, 0, 0, 1089, 0, 0, 218, - 219, 0, 0, 220, 0, 221, 0, 0, 0, 222, - 223, 0, 0, 1090, 0, 0, 0, 0, 589, 590, - 226, 227, 0, 0, 0, 1091, 592, 0, 0, 0, - 1092, 0, 0, 594, 0, 0, 0, 0, 0, 0, - 228, 229, 230, 231, 232, 595, 0, 234, 235, 236, - 0, 237, 238, 0, 239, 0, 0, 240, 241, 242, - 243, 244, 0, 245, 246, 247, 0, 0, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 0, 0, - 0, 257, 0, 258, 259, 260, 0, 398, 261, 262, - 0, 263, 0, 264, 0, 265, 266, 267, 268, 269, - 0, 270, 271, 272, 273, 274, 596, 275, 0, 276, - 277, 278, 279, 280, 0, 0, 281, 0, 282, 283, - 284, 1093, 285, 286, 0, 25, 598, 26, 0, 0, - 0, 0, 0, 1094, 0, 0, 1095, 1096, 0, 1097, - 0, 0, 0, 0, 0, 1782, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 542, 0, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 556, 557, 558, 559, 0, 560, 561, - 562, 563, 564, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 204, 0, 1785, 0, 0, - 1786, 0, 0, 0, 0, 0, 0, 0, 565, 1080, - 567, 568, 0, 0, 569, 0, 0, 0, 0, 0, - 0, 397, 1081, 1082, 1083, 1084, 0, 205, 574, 0, - 0, 0, 0, 0, 575, 0, 0, 0, 0, 0, - 1085, 1086, 578, 0, 579, 0, 0, 0, 0, 0, - 0, 0, 0, 207, 0, 0, 208, 0, 0, 580, - 0, 0, 0, 0, 209, 210, 0, 0, 0, 0, - 0, 211, 212, 213, 0, 581, 0, 582, 214, 0, - 1087, 584, 1088, 586, 215, 0, 216, 217, 0, 0, - 0, 0, 1089, 0, 0, 218, 219, 0, 0, 220, - 0, 221, 0, 0, 0, 222, 223, 0, 0, 1090, - 0, 0, 0, 0, 589, 590, 226, 227, 0, 0, - 0, 1091, 592, 0, 0, 0, 1092, 0, 0, 594, - 0, 0, 0, 0, 0, 0, 228, 229, 230, 231, - 232, 595, 0, 234, 235, 236, 0, 237, 238, 0, - 239, 0, 0, 240, 241, 242, 243, 244, 0, 245, - 246, 247, 0, 0, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 0, 0, 0, 0, 257, 0, 258, - 259, 260, 0, 398, 261, 262, 0, 263, 0, 264, - 0, 265, 266, 267, 268, 269, 0, 270, 271, 272, - 273, 274, 596, 275, 0, 276, 277, 278, 279, 280, - 0, 0, 281, 0, 282, 283, 284, 1093, 285, 286, - 0, 25, 598, 26, 0, 0, 0, 0, 0, 1094, - 0, 0, 1095, 1096, 0, 1097, 0, 0, 0, 0, - 0, 1787, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 542, 0, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 556, - 557, 558, 559, 0, 560, 561, 562, 563, 564, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 203, 204, 0, 1790, 0, 0, 1791, 0, 0, 0, - 0, 0, 0, 0, 565, 1080, 567, 568, 0, 0, - 569, 0, 0, 0, 0, 0, 0, 397, 1081, 1082, - 1083, 1084, 0, 205, 574, 0, 0, 0, 0, 0, - 575, 0, 0, 0, 0, 0, 1085, 1086, 578, 0, - 579, 0, 0, 0, 0, 0, 0, 0, 0, 207, - 0, 0, 208, 0, 0, 580, 0, 0, 0, 0, - 209, 210, 0, 0, 0, 0, 0, 211, 212, 213, - 0, 581, 0, 582, 214, 0, 1087, 584, 1088, 586, - 215, 0, 216, 217, 0, 0, 0, 0, 1089, 0, - 0, 218, 219, 0, 0, 220, 0, 221, 0, 0, - 0, 222, 223, 0, 0, 1090, 0, 0, 0, 0, - 589, 590, 226, 227, 0, 0, 0, 1091, 592, 0, - 0, 0, 1092, 0, 0, 594, 0, 0, 0, 0, - 0, 0, 228, 229, 230, 231, 232, 595, 0, 234, - 235, 236, 0, 237, 238, 0, 239, 0, 0, 240, - 241, 242, 243, 244, 0, 245, 246, 247, 0, 0, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 0, - 0, 0, 0, 257, 0, 258, 259, 260, 0, 398, - 261, 262, 0, 263, 0, 264, 0, 265, 266, 267, - 268, 269, 0, 270, 271, 272, 273, 274, 596, 275, - 0, 276, 277, 278, 279, 280, 0, 0, 281, 0, - 282, 283, 284, 1093, 285, 286, 0, 25, 598, 26, - 0, 0, 0, 0, 0, 1094, 0, 0, 1095, 1096, - 0, 1097, 0, 0, 0, 0, 0, 1792, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 542, - 0, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 556, 557, 558, 559, 0, - 560, 561, 562, 563, 564, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 203, 204, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 565, 566, 567, 568, 0, 0, 569, 0, 0, 0, - 0, 0, 0, 397, 570, 571, 572, 573, 0, 205, - 574, 0, 0, 0, 0, 0, 575, 0, 0, 0, - 0, 0, 576, 577, 578, 0, 579, 0, 0, 0, - 0, 0, 0, 0, 0, 207, 0, 0, 208, 0, - 0, 580, 0, 0, 0, 0, 209, 210, 0, 0, - 0, 0, 0, 211, 212, 213, 0, 581, 0, 582, - 214, 0, 583, 584, 585, 586, 215, 0, 216, 217, - 0, 0, 0, 0, 587, 0, 0, 218, 219, 0, - 0, 220, 0, 221, 0, 0, 0, 222, 223, 0, - 0, 588, 0, 0, 0, 0, 589, 590, 226, 227, - 0, 0, 0, 591, 592, 0, 0, 0, 593, 0, - 0, 594, 0, 0, 0, 0, 0, 0, 228, 229, - 230, 231, 232, 595, 0, 234, 235, 236, 0, 237, - 238, 0, 239, 0, 0, 240, 241, 242, 243, 244, - 0, 245, 246, 247, 0, 0, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 0, 0, 0, 0, 257, - 0, 258, 259, 260, 0, 398, 261, 262, 0, 263, - 0, 264, 0, 265, 266, 267, 268, 269, 0, 270, - 271, 272, 273, 274, 596, 275, 0, 276, 277, 278, - 279, 280, 0, 0, 281, 0, 282, 283, 284, 597, - 285, 286, 0, 25, 598, 26, 0, 0, 0, 0, - 0, 599, 600, 0, 601, 602, 0, 603, 0, 0, - 0, 0, 0, 604, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 0, 542, 0, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 556, 557, 558, 559, 0, 560, 561, 562, 563, - 564, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 203, 204, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 565, 566, 567, 568, - 0, 0, 569, 0, 0, 0, 0, 0, 0, 397, - 570, 571, 572, 573, 0, 205, 574, 0, 0, 0, - 0, 0, 575, 0, 0, 0, 0, 0, 576, 577, - 578, 0, 579, 0, 0, 1074, 0, 0, 0, 0, - 0, 207, 0, 0, 208, 0, 0, 580, 0, 0, - 0, 0, 209, 210, 0, 0, 0, 0, 0, 211, - 212, 213, 0, 581, 0, 582, 214, 0, 583, 584, - 585, 586, 215, 0, 216, 217, 0, 0, 0, 0, - 587, 0, 0, 218, 219, 0, 0, 220, 0, 221, - 0, 0, 0, 222, 223, 0, 0, 588, 0, 0, - 0, 0, 589, 590, 226, 227, 0, 0, 0, 591, - 592, 0, 0, 0, 593, 0, 0, 594, 0, 0, - 0, 0, 0, 0, 228, 229, 230, 231, 232, 595, - 0, 234, 235, 236, 0, 237, 238, 0, 239, 0, - 0, 240, 241, 242, 243, 244, 0, 245, 246, 247, - 0, 0, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, - 0, 398, 261, 262, 0, 263, 0, 264, 0, 265, - 266, 267, 268, 269, 0, 270, 271, 272, 273, 274, - 596, 275, 0, 276, 277, 278, 279, 280, 0, 0, - 281, 0, 282, 283, 284, 597, 285, 286, 0, 25, - 598, 26, 0, 0, 0, 0, 0, 599, 0, 0, - 601, 602, 0, 603, 0, 0, 0, 0, 0, 604, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 0, 542, 0, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 556, 557, 558, - 559, 0, 560, 561, 562, 563, 564, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 203, 204, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 565, 566, 567, 568, 0, 0, 569, 0, - 0, 0, 0, 0, 0, 397, 570, 571, 572, 573, - 0, 205, 574, 0, 0, 0, 0, 0, 575, 0, - 0, 0, 0, 0, 576, 577, 578, 0, 579, 0, - 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, - 208, 0, 0, 580, 0, 0, 0, 0, 209, 210, - 0, 0, 0, 0, 0, 211, 212, 213, 0, 581, - 0, 582, 214, 0, 583, 584, 585, 586, 215, 0, - 216, 217, 0, 0, 0, 0, 587, 0, 0, 218, - 219, 0, 0, 220, 0, 221, 0, 0, 0, 222, - 223, 77, 0, 588, 0, 0, 0, 0, 589, 590, - 226, 227, 0, 0, 0, 591, 592, 0, 0, 0, - 593, 0, 0, 594, 0, 0, 0, 0, 0, 0, - 228, 229, 230, 231, 232, 595, 0, 234, 235, 236, - 0, 237, 238, 0, 239, 0, 0, 240, 241, 242, - 243, 244, 0, 245, 246, 247, 0, 0, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 0, 0, - 0, 257, 0, 258, 259, 260, 0, 398, 261, 262, - 0, 263, 0, 264, 0, 265, 266, 267, 268, 269, - 0, 270, 271, 272, 273, 274, 596, 275, 0, 276, - 277, 278, 279, 280, 0, 0, 281, 0, 282, 283, - 284, 597, 285, 286, 0, 25, 598, 26, 0, 0, - 0, 0, 0, 599, 0, 0, 601, 602, 0, 603, - 0, 0, 0, 0, 0, 604, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 542, 0, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 556, 557, 558, 559, 0, 560, 561, - 562, 563, 564, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 204, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 565, 566, - 567, 568, 0, 0, 569, 0, 0, 0, 0, 0, - 0, 397, 570, 571, 572, 573, 0, 205, 574, 0, - 0, 0, 0, 0, 575, 0, 0, 0, 0, 0, - 576, 577, 578, 0, 579, 0, 0, 0, 0, 0, - 0, 0, 0, 207, 0, 0, 208, 0, 0, 580, - 0, 0, 0, 0, 209, 210, 0, 0, 0, 0, - 0, 211, 212, 213, 0, 581, 0, 582, 214, 0, - 583, 584, 795, 586, 215, 0, 216, 217, 0, 0, - 0, 0, 587, 0, 0, 218, 219, 0, 0, 220, - 0, 221, 0, 0, 0, 222, 223, 77, 0, 588, - 0, 0, 0, 0, 589, 590, 226, 227, 0, 0, - 0, 591, 592, 0, 0, 0, 593, 0, 0, 594, - 0, 0, 0, 0, 0, 0, 228, 229, 230, 231, - 232, 595, 0, 234, 235, 236, 0, 237, 238, 0, - 239, 0, 0, 240, 241, 242, 243, 244, 0, 245, - 246, 247, 0, 0, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 0, 0, 0, 0, 257, 0, 258, - 259, 260, 0, 398, 261, 262, 0, 263, 0, 264, - 0, 265, 266, 267, 268, 269, 0, 270, 271, 272, - 273, 274, 596, 275, 0, 276, 277, 278, 279, 280, - 0, 0, 281, 0, 282, 283, 284, 597, 285, 286, - 0, 25, 598, 26, 0, 0, 0, 0, 0, 599, - 0, 0, 601, 602, 0, 603, 0, 0, 0, 0, - 0, 604, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 542, 0, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 556, - 557, 558, 559, 0, 560, 561, 562, 563, 564, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 203, 204, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 565, 566, 567, 568, 0, 0, - 569, 0, 0, 0, 0, 0, 0, 397, 570, 571, - 572, 573, 0, 205, 574, 0, 0, 0, 0, 0, - 575, 0, 0, 0, 0, 0, 576, 577, 578, 0, - 579, 0, 0, 0, 0, 0, 0, 0, 0, 207, - 0, 0, 208, 0, 0, 580, 0, 0, 0, 0, - 209, 210, 0, 0, 0, 0, 0, 211, 212, 213, - 0, 581, 0, 582, 214, 0, 583, 584, 795, 586, - 215, 0, 216, 217, 0, 0, 0, 0, 587, 0, - 0, 218, 219, 0, 0, 220, 0, 221, 0, 0, - 0, 222, 223, 0, 0, 588, 0, 0, 0, 0, - 589, 590, 226, 227, 0, 0, 0, 591, 592, 0, - 0, 0, 593, 0, 0, 594, 0, 0, 0, 0, - 0, 0, 228, 229, 230, 231, 232, 595, 0, 234, - 235, 236, 0, 237, 238, 0, 239, 0, 0, 240, - 241, 242, 243, 244, 0, 245, 246, 247, 0, 0, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 0, - 0, 0, 0, 257, 0, 258, 259, 260, 0, 398, - 261, 262, 0, 263, 0, 264, 0, 265, 266, 267, - 268, 269, 0, 270, 271, 272, 273, 274, 596, 275, - 0, 276, 277, 278, 279, 280, 0, 0, 281, 0, - 282, 283, 284, 597, 285, 286, 0, 25, 598, 26, - 0, 0, 0, 0, 0, 599, 0, 0, 601, 602, - 0, 603, 0, 0, 0, 0, 0, 604, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 542, - 0, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 556, 557, 558, 559, 0, - 560, 561, 562, 563, 564, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 203, 204, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 565, 566, 567, 568, 0, 0, 569, 0, 0, 0, - 0, 0, 0, 397, 570, 571, 572, 573, 0, 205, - 574, 0, 0, 0, 0, 0, 575, 0, 0, 0, - 0, 0, 576, 577, 578, 0, 579, 0, 0, 0, - 0, 0, 0, 0, 0, 207, 0, 0, 208, 0, - 0, 580, 0, 0, 0, 0, 209, 210, 0, 0, - 0, 0, 0, 211, 212, 213, 0, 581, 0, 582, - 214, 0, 583, 584, 585, 586, 215, 0, 216, 217, - 0, 0, 0, 0, 587, 0, 0, 218, 219, 0, - 0, 220, 0, 221, 0, 0, 0, 222, 223, 0, - 0, 588, 0, 0, 0, 0, 589, 590, 226, 227, - 0, 0, 0, 591, 592, 0, 0, 0, 593, 0, - 0, 594, 0, 0, 0, 0, 0, 0, 228, 229, - 230, 231, 232, 595, 0, 234, 235, 236, 0, 237, - 238, 0, 239, 0, 0, 240, 241, 242, 243, 244, - 0, 245, 246, 247, 0, 0, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 0, 0, 0, 0, 257, - 0, 258, 259, 260, 0, 398, 261, 262, 0, 263, - 0, 264, 0, 265, 266, 267, 268, 269, 0, 270, - 271, 272, 273, 274, 596, 275, 0, 276, 277, 278, - 279, 280, 0, 0, 281, 0, 282, 283, 284, 597, - 285, 286, 0, 25, 598, 26, 0, 0, 0, 0, - 0, 599, 0, 0, 601, 602, 0, 603, 0, 0, - 0, 0, 0, 604, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 0, 542, 0, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 556, 557, 558, 559, 0, 560, 561, 562, 563, - 564, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 203, 204, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 565, 1080, 567, 568, - 0, 0, 569, 0, 0, 0, 0, 0, 0, 397, - 1081, 1082, 1083, 1084, 0, 205, 574, 0, 0, 0, - 0, 0, 575, 0, 0, 0, 0, 0, 1085, 1086, - 578, 0, 579, 0, 0, 0, 0, 0, 0, 0, - 0, 207, 0, 0, 208, 0, 0, 580, 0, 0, - 0, 0, 209, 210, 0, 0, 0, 0, 0, 211, - 212, 213, 0, 581, 0, 582, 214, 0, 1087, 584, - 1088, 586, 215, 0, 216, 217, 0, 0, 0, 0, - 1089, 0, 0, 218, 219, 0, 0, 220, 0, 221, - 0, 0, 0, 222, 223, 0, 0, 1090, 0, 0, - 0, 0, 589, 590, 226, 227, 0, 0, 0, 1091, - 592, 0, 0, 0, 1092, 0, 0, 594, 0, 0, - 0, 0, 0, 0, 228, 229, 230, 231, 232, 595, - 0, 234, 235, 236, 0, 237, 238, 0, 239, 0, - 0, 240, 241, 242, 243, 244, 0, 245, 246, 247, - 0, 0, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, - 0, 398, 261, 262, 0, 263, 0, 264, 0, 265, - 266, 267, 268, 269, 0, 270, 271, 272, 273, 274, - 596, 275, 0, 276, 277, 278, 279, 280, 0, 0, - 281, 0, 282, 283, 284, 1093, 285, 286, 0, 25, - 598, 26, 0, 0, 0, 0, 0, 1094, 0, 0, - 1095, 1096, 0, 1097, 0, 0, 0, 0, 0, 1098, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 0, 542, 0, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 556, 557, 558, - 559, 0, 560, 561, 562, 563, 564, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 203, 204, - 0, 1190, 0, 0, 1191, 0, 0, 0, 0, 0, - 0, 0, 565, 566, 567, 568, 0, 0, 569, 0, - 0, 0, 0, 0, 0, 397, 570, 571, 572, 573, - 0, 205, 574, 0, 0, 0, 0, 0, 575, 0, - 0, 0, 0, 0, 576, 577, 578, 0, 579, 0, - 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, - 208, 0, 0, 580, 0, 0, 0, 0, 209, 210, - 0, 0, 0, 0, 0, 211, 212, 213, 0, 581, - 0, 582, 214, 0, 0, 584, 795, 586, 215, 0, - 216, 217, 0, 0, 0, 0, 587, 0, 0, 218, - 219, 0, 0, 220, 0, 221, 0, 0, 0, 222, - 223, 0, 0, 588, 0, 0, 0, 0, 589, 590, - 226, 227, 0, 0, 0, 591, 592, 0, 0, 0, - 593, 0, 0, 594, 0, 0, 0, 0, 0, 0, - 228, 229, 230, 231, 232, 595, 0, 234, 235, 236, - 0, 237, 238, 0, 239, 0, 0, 240, 241, 242, - 243, 244, 0, 245, 246, 247, 0, 0, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 0, 0, - 0, 257, 0, 258, 259, 260, 0, 398, 261, 262, - 0, 263, 0, 264, 0, 265, 266, 267, 268, 269, - 0, 270, 271, 272, 273, 274, 596, 275, 0, 276, - 277, 278, 279, 280, 0, 0, 281, 0, 282, 283, - 284, 0, 285, 286, 0, 25, 598, 26, 0, 0, - 0, 0, 0, 599, 0, 0, 601, 602, 0, 603, - 0, 0, 0, 0, 0, 1192, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 542, 0, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 556, 557, 558, 559, 0, 560, 561, - 562, 563, 564, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 204, 0, 1795, 0, 0, - 1796, 0, 0, 0, 0, 0, 0, 0, 565, 1080, - 567, 568, 0, 0, 569, 0, 0, 0, 0, 0, - 0, 397, 1081, 1082, 1083, 1084, 0, 205, 574, 0, - 0, 0, 0, 0, 575, 0, 0, 0, 0, 0, - 1085, 1086, 578, 0, 579, 0, 0, 0, 0, 0, - 0, 0, 0, 207, 0, 0, 208, 0, 0, 580, - 0, 0, 0, 0, 209, 210, 0, 0, 0, 0, - 0, 211, 212, 213, 0, 581, 0, 582, 214, 0, - 0, 584, 1088, 586, 215, 0, 216, 217, 0, 0, - 0, 0, 1089, 0, 0, 218, 219, 0, 0, 220, - 0, 221, 0, 0, 0, 222, 223, 0, 0, 1090, - 0, 0, 0, 0, 589, 590, 226, 227, 0, 0, - 0, 1091, 592, 0, 0, 0, 1092, 0, 0, 594, - 0, 0, 0, 0, 0, 0, 228, 229, 230, 231, - 232, 595, 0, 234, 235, 236, 0, 237, 238, 0, - 239, 0, 0, 240, 241, 242, 243, 244, 0, 245, - 246, 247, 0, 0, 248, 249, 250, 251, 252, 253, - 254, 0, 256, 0, 0, 0, 0, 257, 0, 258, - 259, 260, 0, 398, 261, 262, 0, 263, 0, 0, - 0, 265, 266, 267, 268, 269, 0, 270, 271, 272, - 273, 274, 596, 275, 0, 276, 277, 278, 279, 280, - 0, 0, 281, 0, 282, 283, 284, 0, 285, 286, - 0, 25, 598, 26, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1096, -1265, 1097, 0, 0, 0, -1265, - 0, 1797, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 542, 0, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 556, - 557, 558, 559, 0, 560, 561, 562, 563, 564, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 203, 204, 0, 1223, 0, 0, 1224, 0, 0, 0, - 0, 0, 0, 0, 565, 566, 567, 568, 0, 0, - 569, 0, 0, 0, 0, 0, 0, 397, 570, 571, - 572, 573, 0, 205, 574, 0, 0, 0, 0, 0, - 575, 0, 0, 0, 0, 0, 576, 577, 578, 0, - 579, 0, 0, 0, 0, 0, 0, 0, 0, 207, - 0, 0, 208, 0, 0, 580, 0, 0, 0, 0, - 209, 210, 0, 0, 0, 0, 0, 211, 212, 213, - 0, 581, 0, 582, 214, 0, 0, 584, 795, 586, - 215, 0, 216, 217, 0, 0, 0, 0, 587, 0, - 0, 218, 219, 0, 0, 220, 0, 221, 0, 0, - 0, 222, 223, 0, 0, 588, 0, 0, 0, 0, - 589, 590, 226, 227, 0, 0, 0, 591, 592, 0, - 0, 0, 593, 0, 0, 594, 0, 0, 0, 0, - 0, 0, 228, 229, 230, 231, 232, 595, 0, 234, - 235, 236, 0, 237, 238, 0, 239, 0, 0, 240, - 241, 242, 243, 244, 0, 245, 246, 247, 0, 0, - 248, 249, 250, 251, 252, 253, 254, 0, 256, 0, - 0, 0, 0, 257, 0, 258, 259, 260, 0, 398, - 261, 262, 0, 263, 0, 0, 0, 265, 266, 267, - 268, 269, 0, 270, 271, 272, 273, 274, 596, 275, - 0, 276, 277, 278, 279, 280, 0, 0, 281, 0, - 282, 283, 284, 0, 285, 286, 0, 25, 598, 26, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 602, - 0, 603, 0, 0, 0, 0, 0, 1225, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 542, - 0, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 556, 557, 558, 559, 0, - 560, 561, 562, 563, 564, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 203, 204, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1158, 567, 568, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 397, 1159, 1160, 1161, 1162, 0, 205, - 574, 0, 0, 0, 0, 0, 575, 0, 0, 0, - 0, 0, 0, 0, 578, 0, 579, 0, 0, 0, - 0, 0, 0, 0, 0, 207, 0, 0, 208, 0, - 0, 580, 0, 0, 0, 0, 209, 210, 0, 0, - 0, 0, 0, 211, 212, 213, 0, 581, 0, 582, - 214, 0, 0, 0, 0, 586, 215, 0, 216, 217, - 0, 0, 0, 0, 1163, 0, 0, 218, 219, 0, - 0, 220, 0, 221, 0, 0, 0, 222, 223, 0, - 0, 1164, 0, 0, 0, 0, 589, 590, 226, 227, - 0, 0, 0, 1165, 592, 0, 0, 0, 1166, 0, - 0, 594, 0, 0, 0, 0, 0, 0, 228, 229, - 230, 231, 232, 595, 0, 234, 235, 236, 0, 237, - 238, 0, 239, 0, 0, 240, 241, 242, 243, 244, - 0, 245, 246, 247, 0, 0, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 0, 0, 0, 0, 257, - 0, 258, 259, 260, 0, 398, 261, 262, 0, 263, - 0, 264, 0, 265, 266, 267, 268, 269, 0, 270, - 271, 272, 273, 274, 596, 275, 0, 276, 277, 278, - 279, 280, 0, 0, 281, 0, 282, 283, 284, 1167, - 285, 286, 0, 25, 598, 26, 0, 0, 0, 0, - 0, 1168, 0, 0, 1169, 1170, 0, 1171, 0, 0, - 0, 0, 0, 1172, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 0, 542, 0, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 556, 557, 558, 559, 0, 560, 561, 562, 563, - 564, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 203, 204, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1158, 567, 568, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 397, - 1159, 1160, 1161, 1162, 0, 205, 574, 0, 0, 0, - 0, 0, 575, 0, 0, 0, 0, 0, 0, 0, - 578, 0, 579, 0, 0, 0, 0, 0, 0, 0, - 0, 207, 0, 0, 208, 0, 0, 580, 0, 0, - 0, 0, 209, 210, 0, 0, 0, 0, 0, 211, - 212, 213, 0, 581, 0, 582, 214, 0, 0, 0, - 0, 586, 215, 0, 216, 217, 0, 0, 0, 0, - 1163, 0, 0, 218, 219, 0, 0, 220, 0, 221, - 0, 0, 0, 222, 223, 0, 0, 1164, 0, 0, - 0, 0, 589, 590, 226, 227, 0, 0, 0, 1165, - 592, 0, 0, 0, 1166, 0, 0, 594, 0, 0, - 0, 0, 0, 0, 228, 229, 230, 231, 232, 595, - 0, 234, 235, 236, 0, 237, 238, 0, 239, 0, - 0, 240, 241, 242, 243, 244, 0, 245, 246, 247, - 0, 0, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, - 0, 398, 261, 262, 0, 263, 0, 264, 0, 265, - 266, 267, 268, 269, 0, 270, 271, 272, 273, 274, - 596, 275, 0, 276, 277, 278, 279, 280, 0, 0, - 281, 0, 282, 283, 284, 0, 285, 286, 0, 25, - 598, 26, 0, 0, 0, 0, 0, 1168, 0, 0, - 1169, 1170, 0, 1171, 0, 0, 0, 0, 0, 1172, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 0, 542, 0, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 556, 557, 558, - 559, 0, 560, 561, 562, 563, 564, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 203, 204, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1158, 567, 568, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 397, 1159, 1160, 1161, 1162, - 0, 205, 574, 0, 0, 0, 0, 0, 575, 0, - 0, 0, 0, 0, 0, 0, 578, 0, 579, 0, - 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, - 208, 0, 0, 580, 0, 0, 0, 0, 209, 210, - 0, 0, 0, 0, 0, 211, 212, 213, 0, 581, - 0, 582, 214, 0, 0, 0, 0, 586, 215, 0, - 216, 217, 0, 0, 0, 0, 1163, 0, 0, 218, - 219, 0, 0, 220, 0, 221, 0, 0, 0, 222, - 223, 0, 0, 1164, 0, 0, 0, 0, 589, 590, - 226, 227, 0, 0, 0, 1165, 592, 0, 0, 0, - 1166, 0, 0, 594, 0, 0, 0, 0, 0, 0, - 228, 229, 230, 231, 232, 595, 0, 234, 235, 236, - 0, 237, 238, 0, 239, 0, 0, 240, 241, 242, - 243, 244, 0, 245, 246, 247, 0, 0, 248, 249, - 250, 251, 252, 253, 254, 0, 256, 0, 0, 0, - 0, 257, 0, 258, 259, 260, 0, 398, 261, 262, - 0, 263, 0, 0, 0, 265, 266, 267, 268, 269, - 0, 270, 271, 272, 273, 274, 596, 275, 0, 276, - 277, 278, 279, 280, 0, 0, 281, 0, 282, 283, - 284, 0, 285, 286, 0, 25, 598, 26, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1170, 0, 1171, - 0, 0, 0, 0, 0, 1172, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 542, 0, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 556, 557, 558, 559, 0, 560, 561, - 562, 563, 564, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 204, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2155, - 567, 568, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2156, 2157, 2158, 2159, 0, 205, 574, 0, - 0, 0, 0, 0, 575, 0, 0, 0, 0, 0, - 0, 0, 578, 0, 579, 0, 0, 0, 0, 0, - 0, 0, 0, 207, 0, 0, 208, 0, 0, 580, - 0, 0, 0, 0, 209, 210, 0, 0, 0, 0, - 0, 211, 212, 213, 0, 581, 0, 582, 214, 0, - 0, 0, 2160, 586, 215, 0, 216, 217, 0, 0, - 0, 0, 0, 0, 0, 218, 219, 0, 0, 220, - 0, 221, 0, 0, 0, 222, 223, 0, 0, 0, - 0, 0, 0, 0, 589, 590, 226, 227, 0, 0, - 0, 0, 592, 0, 0, 0, 2161, 0, 0, 594, - 0, 0, 0, 0, 0, 0, 228, 229, 230, 231, - 232, 595, 0, 234, 235, 236, 0, 237, 238, 0, - 239, 0, 0, 240, 241, 242, 243, 244, 0, 245, - 246, 247, 0, 0, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 0, 0, 0, 0, 257, 0, 258, - 259, 260, 0, 0, 261, 262, 0, 263, 0, 264, - 0, 265, 266, 267, 268, 269, 0, 270, 271, 272, - 273, 274, 596, 275, 0, 276, 277, 278, 279, 280, - 0, 0, 281, 0, 282, 283, 284, 2162, 285, 0, - 0, 25, 598, 26, 0, 0, 0, 0, 0, 2163, - 0, 0, 0, 2164, 0, 2165, 0, 0, 0, 0, - 0, 2166, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 542, 0, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 556, - 557, 558, 559, 0, 560, 561, 562, 563, 564, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 203, 204, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2155, 567, 568, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2156, 2157, - 2158, 2159, 0, 205, 574, 0, 0, 0, 0, 0, - 575, 0, 0, 0, 0, 0, 0, 0, 578, 0, - 579, 0, 0, 0, 0, 0, 0, 0, 0, 207, - 0, 0, 208, 0, 0, 580, 0, 0, 0, 0, - 209, 210, 0, 0, 0, 0, 0, 211, 212, 213, - 0, 581, 0, 582, 214, 0, 0, 0, 0, 586, - 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, - 0, 218, 219, 0, 0, 220, 0, 221, 0, 0, - 0, 222, 223, 0, 0, 0, 0, 0, 0, 0, - 589, 590, 226, 227, 0, 0, 0, 0, 592, 0, - 0, 0, 2161, 0, 0, 594, 0, 0, 0, 0, - 0, 0, 228, 229, 230, 231, 232, 595, 0, 234, - 235, 236, 0, 237, 238, 0, 239, 0, 0, 240, - 241, 242, 243, 244, 0, 245, 246, 247, 0, 0, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 0, - 0, 0, 0, 257, 0, 258, 259, 260, 0, 0, - 261, 262, 0, 263, 0, 264, 0, 265, 266, 267, - 268, 269, 0, 270, 271, 272, 273, 274, 596, 275, - 0, 276, 277, 278, 279, 280, 0, 0, 281, 0, - 282, 283, 284, 2162, 285, 0, 0, 25, 598, 26, - 0, 0, 0, 0, 0, 2163, 0, 0, 0, 2164, - 0, 2165, 0, 0, 0, 0, 0, 2166, 532, 533, - 534, 535, 536, 537, 538, 539, 540, 541, 0, 542, - 0, 543, 544, 545, 546, 547, 548, 549, 550, 551, - 552, 553, 0, 554, 555, 556, 557, 558, 559, 0, - 560, 561, 562, 563, 564, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 203, 204, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1056, 567, 568, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 397, 0, 0, 0, 0, 0, 205, - 574, 0, 0, 0, 0, 0, 575, 0, 0, 0, - 0, 0, 0, 0, 578, 0, 579, 0, 0, 0, - 0, 0, 0, 0, 0, 207, 0, 0, 208, 0, - 0, 580, 0, 0, 0, 0, 209, 210, 0, 0, - 0, 0, 0, 211, 212, 213, 0, 581, 0, 582, - 214, 0, 0, 0, 0, 586, 215, 0, 216, 217, - 0, 0, 0, 0, 1057, 0, 0, 218, 219, 0, - 0, 220, 0, 221, 0, 0, 0, 222, 223, 0, - 0, 1058, 0, 0, 0, 0, 589, 590, 226, 227, - 0, 0, 0, 1059, 592, 0, 0, 0, 0, 0, - 0, 594, 0, 0, 0, 0, 0, 0, 228, 229, - 230, 231, 232, 595, 0, 234, 235, 236, 0, 237, - 238, 0, 239, 0, 0, 240, 241, 242, 243, 244, - 0, 245, 246, 247, 0, 0, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 0, 0, 0, 0, 257, - 0, 258, 259, 260, 0, 398, 261, 262, 0, 263, - 0, 264, 0, 265, 266, 267, 268, 269, 0, 270, - 271, 272, 273, 274, 596, 275, 0, 276, 277, 278, - 279, 280, 0, 0, 281, 0, 282, 283, 284, 1060, - 285, 0, 0, 25, 598, 26, 0, 0, 0, 0, - 0, 1061, 0, 0, 0, 1062, 0, 0, 0, 0, - 0, 0, 0, 1063, 532, 533, 534, 535, 536, 537, - 538, 539, 540, 541, 0, 542, 0, 543, 544, 545, - 546, 547, 548, 549, 550, 551, 552, 553, 0, 554, - 555, 556, 557, 558, 559, 0, 560, 561, 562, 563, - 564, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 203, 204, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2155, 567, 568, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2156, 2157, 2158, 2159, 0, 205, 574, 0, 0, 0, - 0, 0, 575, 0, 0, 0, 0, 0, 0, 0, - 578, 0, 579, 0, 0, 0, 0, 0, 0, 0, - 0, 207, 0, 0, 208, 0, 0, 580, 0, 0, - 0, 0, 209, 210, 0, 0, 0, 0, 0, 211, - 212, 213, 0, 581, 0, 582, 214, 0, 0, 0, - 0, 586, 215, 0, 216, 217, 0, 0, 0, 0, - 0, 0, 0, 218, 219, 0, 0, 220, 0, 221, - 0, 0, 0, 222, 223, 0, 0, 0, 0, 0, - 0, 0, 589, 590, 226, 227, 0, 0, 0, 0, - 592, 0, 0, 0, 2161, 0, 0, 594, 0, 0, - 0, 0, 0, 0, 228, 229, 230, 231, 232, 595, - 0, 234, 235, 236, 0, 237, 238, 0, 239, 0, - 0, 240, 241, 242, 243, 244, 0, 245, 246, 247, - 0, 0, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, - 0, 0, 261, 262, 0, 263, 0, 264, 0, 265, - 266, 267, 268, 269, 0, 270, 271, 272, 273, 274, - 596, 275, 0, 276, 277, 278, 279, 280, 0, 0, - 281, 0, 282, 283, 284, 0, 285, 0, 0, 25, - 598, 26, 0, 0, 0, 0, 0, 2163, 0, 0, - 0, 2164, 0, 2165, 0, 0, 0, 0, 0, 2166, - 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, - 0, 542, 0, 543, 544, 545, 546, 547, 548, 549, - 550, 551, 552, 553, 0, 554, 555, 556, 557, 558, - 559, 0, 560, 561, 562, 563, 564, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 203, 204, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1056, 567, 568, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 397, 0, 0, 0, 0, - 0, 205, 574, 0, 0, 0, 0, 0, 575, 0, - 0, 0, 0, 0, 0, 0, 578, 0, 579, 0, - 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, - 208, 0, 0, 580, 0, 0, 0, 0, 209, 210, - 0, 0, 0, 0, 0, 211, 212, 213, 0, 581, - 0, 582, 214, 0, 0, 0, 0, 586, 215, 0, - 216, 217, 0, 0, 0, 0, 1057, 0, 0, 218, - 219, 0, 0, 220, 0, 221, 0, 0, 0, 222, - 223, 0, 0, 1058, 0, 0, 0, 0, 589, 590, - 226, 227, 0, 0, 0, 1059, 592, 0, 0, 0, - 0, 0, 0, 594, 0, 0, 0, 0, 0, 0, - 228, 229, 230, 231, 232, 595, 0, 234, 235, 236, - 0, 237, 238, 0, 239, 0, 0, 240, 241, 242, - 243, 244, 0, 245, 246, 247, 0, 0, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 0, 0, - 0, 257, 0, 258, 259, 260, 0, 398, 261, 262, - 0, 263, 0, 264, 0, 265, 266, 267, 268, 269, - 0, 270, 271, 272, 273, 274, 596, 275, 0, 276, - 277, 278, 279, 280, 0, 0, 281, 0, 282, 283, - 284, 0, 285, 0, 0, 25, 598, 26, 0, 0, - 0, 0, 0, 1061, 0, 0, 0, 1062, 0, 0, - 0, 0, 0, 0, 0, 1063, 532, 533, 534, 535, - 536, 537, 538, 539, 540, 541, 0, 542, 0, 543, - 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, - 0, 554, 555, 556, 557, 558, 559, 0, 560, 561, - 562, 563, 564, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 204, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1920, - 567, 568, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 205, 574, 0, - 0, 0, 0, 0, 575, 0, 0, 0, 0, 0, - 0, 0, 578, 0, 579, 0, 0, 0, 0, 0, - 0, 0, 0, 207, 0, 0, 208, 0, 0, 580, - 0, 0, 0, 0, 209, 210, 0, 0, 0, 0, - 0, 211, 212, 213, 0, 581, 0, 582, 214, 0, - 1921, 0, 1922, 586, 215, 0, 216, 217, 0, 0, - 0, 0, 0, 0, 0, 218, 219, 0, 0, 220, - 0, 221, 0, 0, 0, 222, 223, 0, 0, 0, - 0, 0, 0, 0, 589, 590, 226, 227, 0, 0, - 0, 0, 592, 0, 0, 0, 0, 0, 0, 594, - 0, 0, 0, 0, 0, 0, 228, 229, 230, 231, - 232, 595, 0, 234, 235, 236, 0, 237, 238, 0, - 239, 0, 0, 240, 241, 242, 243, 244, 0, 245, - 246, 247, 0, 0, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 0, 0, 0, 0, 257, 0, 258, - 259, 260, 0, 0, 261, 262, 0, 263, 0, 264, - 0, 265, 266, 267, 268, 269, 0, 270, 271, 272, - 273, 274, 596, 275, 0, 276, 277, 278, 279, 280, - 0, 0, 281, 0, 282, 283, 284, 1923, 285, 0, - 0, 25, 598, 26, 0, 0, 0, 0, 0, 1924, - 0, 0, 0, 1925, 0, 1926, 0, 0, 0, 0, - 0, 1927, 532, 533, 534, 535, 536, 537, 538, 539, - 540, 541, 0, 542, 0, 543, 544, 545, 546, 547, - 548, 549, 550, 551, 552, 553, 0, 554, 555, 556, - 557, 558, 559, 0, 560, 561, 562, 563, 564, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 203, 204, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1920, 567, 568, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 205, 574, 0, 0, 0, 0, 0, - 575, 0, 0, 0, 0, 0, 0, 0, 578, 0, - 579, 0, 0, 0, 0, 0, 0, 0, 0, 207, - 0, 0, 208, 0, 0, 580, 0, 0, 0, 0, - 209, 210, 0, 0, 0, 0, 0, 211, 212, 213, - 0, 581, 0, 582, 214, 0, 0, 0, 1922, 586, - 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, - 0, 218, 219, 0, 0, 220, 0, 221, 0, 0, - 0, 222, 223, 0, 0, 0, 0, 0, 0, 0, - 589, 590, 226, 227, 0, 0, 0, 0, 592, 0, - 0, 0, 0, 0, 0, 594, 0, 0, 0, 0, - 0, 0, 228, 229, 230, 231, 232, 595, 0, 234, - 235, 236, 0, 237, 238, 0, 239, 0, 0, 240, - 241, 242, 243, 244, 0, 245, 246, 247, 0, 0, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 0, - 0, 0, 0, 257, 0, 258, 259, 260, 0, 0, - 261, 262, 0, 263, 0, 264, 0, 265, 266, 267, - 268, 269, 0, 270, 271, 272, 273, 274, 596, 275, - 0, 276, 277, 278, 279, 280, 0, 0, 281, 0, - 282, 283, 284, 0, 285, 0, 0, 25, 598, 26, - 0, 0, 0, 0, 0, 1924, 0, 0, 0, 1925, - 0, 1926, 0, 0, 0, 0, 172, 1927, 173, 174, - 175, 176, 0, 177, 178, 179, 0, 180, 0, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 0, 192, 193, 194, 195, 196, 197, 0, 198, 199, - 200, 201, 202, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 204, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 397, 0, 0, 0, 0, 0, 205, 0, 0, - 0, 0, 0, 0, 206, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 207, 0, 0, 208, 0, 0, 0, - 0, 0, 0, 0, 209, 210, 0, 0, 0, 0, - 0, 211, 212, 213, 0, 0, 0, 0, 214, 0, - 0, 0, 0, 0, 215, 0, 216, 217, 0, 0, - 0, 0, 0, 0, 0, 218, 219, 0, 0, 220, - 0, 221, 0, 0, 0, 222, 223, 0, 0, 0, - 0, 0, 0, 0, 224, 225, 226, 227, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 228, 229, 230, 231, - 232, 233, 0, 234, 235, 236, 0, 237, 238, 0, - 239, 0, 0, 240, 241, 242, 243, 244, 0, 245, - 246, 247, 0, 0, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 0, 0, 0, 0, 257, 0, 258, - 259, 260, 0, 398, 261, 262, 0, 263, 0, 264, - 0, 265, 266, 267, 268, 269, 0, 270, 271, 272, - 273, 274, 0, 275, 0, 276, 277, 278, 279, 280, - 0, 0, 281, 0, 282, 283, 0, 172, 285, 173, - 174, 175, 176, 0, 177, 178, 179, 0, 180, 0, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 1559, 192, 193, 194, 195, 196, 197, 0, 198, - 199, 200, 201, 202, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 203, 204, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 205, 0, - 0, 0, 0, 0, 0, 206, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 207, 0, 0, 208, 0, 0, - 0, 0, 0, 0, 0, 209, 210, 0, 0, 0, - 0, 0, 211, 212, 213, 0, 0, 0, 0, 214, - 0, 0, 0, 0, 0, 215, 0, 216, 217, 0, - 0, 0, 0, 0, 0, 0, 218, 219, 0, 0, - 220, 0, 221, 0, 0, 0, 222, 223, 77, 0, - 0, 0, 0, 0, 0, 224, 225, 226, 227, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 228, 229, 230, - 231, 232, 233, 0, 234, 235, 236, 0, 237, 238, - 0, 239, 0, 0, 240, 241, 242, 243, 244, 0, - 245, 246, 247, 0, 0, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 0, 0, 0, 0, 257, 0, - 258, 259, 260, 0, 0, 261, 262, 0, 263, 0, - 264, 0, 265, 266, 267, 268, 269, 0, 270, 271, - 272, 273, 274, 0, 275, 0, 276, 277, 278, 279, - 280, 0, 0, 281, 0, 282, 283, 0, 172, 285, - 173, 174, 175, 176, 0, 177, 178, 179, 0, 180, - 0, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 95, 192, 193, 194, 195, 196, 197, 0, - 198, 199, 200, 201, 202, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 203, 204, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, - 0, 0, 0, 0, 0, 0, 206, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 207, 0, 0, 208, 0, - 0, 0, 0, 0, 0, 0, 209, 210, 0, 0, - 0, 0, 0, 211, 212, 213, 0, 0, 0, 0, - 214, 0, 0, 0, 0, 0, 215, 0, 216, 217, - 0, 0, 0, 0, 0, 0, 0, 218, 219, 0, - 0, 220, 0, 221, 0, 0, 0, 222, 223, 0, - 0, 0, 0, 0, 0, 0, 224, 225, 226, 227, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 228, 229, - 230, 231, 232, 233, 0, 234, 235, 236, 0, 237, - 238, 0, 239, 0, 0, 240, 241, 242, 243, 244, - 0, 245, 246, 247, 0, 0, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 0, 0, 0, 0, 257, - 0, 258, 259, 260, 0, 0, 261, 262, 0, 263, - 0, 264, 0, 265, 266, 267, 268, 269, 0, 270, - 271, 272, 273, 274, 1663, 275, 0, 276, 277, 278, - 279, 280, 0, 0, 281, 0, 282, 283, 284, 510, - 285, 0, 0, 25, 0, 26, 0, 483, 484, 485, - 486, 1664, 488, 489, 490, 172, 0, 173, 174, 175, - 176, 0, 177, 178, 179, 0, 180, 0, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 0, - 192, 193, 194, 195, 196, 197, 0, 198, 199, 200, - 201, 202, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 203, 204, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 205, 0, 0, 1005, - 0, 0, 0, 206, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 207, 0, 0, 208, 0, 0, 0, 0, - 0, 0, 480, 209, 210, 0, 0, 0, 0, 0, - 211, 212, 213, 0, 0, 0, 0, 214, 0, 0, - 0, 0, 0, 215, 0, 216, 217, 0, 0, 0, - 0, 0, 0, 0, 218, 219, 481, 0, 220, 0, - 221, 0, 0, 0, 222, 223, 0, 0, 0, 0, - 0, 0, 0, 224, 225, 226, 227, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 228, 229, 230, 231, 232, - 233, 0, 234, 235, 236, 0, 237, 238, 0, 239, - 0, 0, 240, 241, 242, 243, 244, 0, 245, 246, - 247, 0, 0, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 0, 0, 0, 0, 257, 0, 258, 259, - 260, 0, 0, 261, 262, 0, 263, 0, 264, 0, - 265, 266, 267, 268, 269, 0, 270, 271, 272, 273, - 274, 0, 275, 0, 276, 277, 278, 279, 280, 0, - 0, 281, 0, 282, 283, 0, 482, 285, 0, 0, - 0, 0, 0, 0, 483, 484, 485, 486, 487, 488, - 489, 490, 172, 0, 173, 174, 175, 176, 0, 177, - 178, 179, 0, 180, 0, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 0, 192, 193, 194, - 195, 196, 197, 0, 198, 199, 200, 201, 202, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 203, 204, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 205, 0, 0, 0, 0, 0, 0, - 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, - 0, 0, 208, 0, 0, 0, 0, 0, 0, 480, - 209, 210, 0, 0, 0, 0, 0, 211, 212, 213, - 0, 0, 0, 0, 214, 0, 0, 0, 0, 0, - 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, - 0, 218, 219, 481, 0, 220, 0, 221, 0, 0, - 0, 222, 223, 0, 0, 0, 0, 0, 0, 0, - 224, 225, 226, 227, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 228, 229, 230, 231, 232, 233, 0, 234, - 235, 236, 0, 237, 238, 0, 239, 0, 0, 240, - 241, 242, 243, 244, 0, 245, 246, 247, 0, 0, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 0, - 0, 0, 0, 257, 0, 258, 259, 260, 0, 0, - 261, 262, 0, 263, 0, 264, 0, 265, 266, 267, - 268, 269, 0, 270, 271, 272, 273, 274, 0, 275, - 0, 276, 277, 278, 279, 280, 0, 0, 281, 0, - 282, 283, 0, 482, 285, 0, 0, 0, 0, 0, - 0, 483, 484, 485, 486, 487, 488, 489, 490, 172, - 0, 173, 174, 175, 176, 0, 177, 178, 179, 0, - 180, 0, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 0, 192, 193, 194, 195, 196, 197, - 0, 198, 199, 200, 201, 202, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 203, 204, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 397, 0, 0, 0, 0, 0, - 205, 0, 0, 0, 0, 0, 0, 206, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 207, 0, 0, 208, - 0, 0, 0, 0, 0, 0, 0, 209, 210, 0, - 0, 0, 0, 0, 211, 212, 213, 0, 0, 0, - 0, 214, 0, 0, 0, 0, 0, 215, 0, 216, - 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, - 0, 0, 220, 0, 221, 0, 0, 0, 222, 223, - 0, 0, 0, 0, 0, 0, 0, 224, 225, 226, - 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, - 229, 230, 231, 232, 233, 0, 234, 235, 236, 0, - 237, 238, 0, 239, 0, 0, 240, 241, 242, 243, - 244, 0, 245, 246, 247, 0, 0, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 0, 0, 0, 0, - 257, 0, 258, 259, 260, 0, 398, 261, 262, 0, - 263, 0, 264, 0, 265, 266, 267, 268, 269, 0, - 270, 271, 272, 273, 274, 0, 275, 0, 276, 277, - 278, 279, 280, 0, 0, 281, 0, 282, 283, 0, - 0, 285, 0, 0, 0, 598, 0, 172, 0, 173, - 174, 175, 176, 902, 177, 178, 179, 0, 180, 0, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 0, 192, 193, 194, 195, 196, 197, 0, 198, - 199, 200, 201, 202, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 203, 204, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 397, 0, 0, 0, 0, 0, 205, 0, - 0, 0, 0, 0, 0, 206, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 207, 0, 0, 208, 0, 0, - 0, 0, 0, 0, 0, 209, 210, 0, 0, 0, - 0, 0, 211, 212, 213, 0, 0, 0, 0, 214, - 0, 0, 0, 0, 0, 215, 0, 216, 217, 0, - 0, 0, 0, 0, 0, 0, 218, 219, 0, 0, - 220, 0, 221, 0, 0, 0, 222, 223, 0, 0, - 0, 0, 0, 0, 0, 224, 225, 226, 227, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 228, 229, 230, - 231, 232, 233, 0, 234, 235, 236, 0, 237, 238, - 0, 239, 0, 0, 240, 241, 242, 243, 244, 0, - 245, 246, 247, 0, 0, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 0, 0, 0, 0, 257, 0, - 258, 259, 260, 0, 398, 261, 262, 0, 263, 0, - 264, 0, 265, 266, 267, 268, 269, 0, 270, 271, - 272, 273, 274, 0, 275, 0, 276, 277, 278, 279, - 280, 0, 0, 281, 0, 282, 283, 0, 0, 285, - 0, 172, 0, 173, 174, 175, 176, 0, 177, 178, - 179, 412, 180, 0, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 190, 191, 0, 192, 193, 194, 195, - 196, 197, 0, 198, 199, 200, 201, 202, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, - 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 205, 0, 0, 0, 0, 0, 0, 206, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 207, 0, - 0, 208, 0, 0, 0, 0, 0, 0, 0, 209, - 210, 0, 0, 0, 0, 0, 211, 212, 213, 0, - 0, 0, 0, 214, 0, 0, 0, 0, 0, 215, - 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, - 218, 219, 0, 0, 220, 0, 221, 0, 0, 0, - 222, 223, 0, 0, 0, 0, 0, 0, 0, 224, - 225, 226, 227, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 228, 229, 230, 231, 232, 233, 0, 234, 235, - 236, 0, 237, 238, 0, 239, 0, 0, 240, 241, - 242, 243, 244, 0, 245, 246, 247, 0, 0, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 0, 0, - 0, 0, 257, 0, 258, 259, 260, 0, 0, 261, - 262, 0, 263, 0, 264, 0, 265, 266, 267, 268, - 269, 0, 270, 271, 272, 273, 274, 0, 275, 0, - 276, 277, 278, 279, 280, 0, 0, 281, 0, 282, - 283, 0, 0, 285, 0, 172, 0, 173, 174, 175, - 176, 0, 177, 178, 179, 748, 180, 0, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 0, - 192, 193, 194, 195, 196, 197, 0, 198, 199, 200, - 201, 202, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 203, 204, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 205, 0, 0, 0, - 0, 0, 0, 206, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 207, 0, 0, 208, 0, 0, 0, 0, - 0, 0, 0, 209, 210, 0, 0, 0, 0, 0, - 211, 212, 213, 0, 0, 0, 0, 214, 0, 0, - 0, 0, 0, 215, 0, 216, 217, 0, 0, 0, - 0, 0, 0, 0, 218, 219, 0, 0, 220, 0, - 221, 0, 0, 0, 222, 223, 0, 0, 0, 0, - 0, 0, 0, 224, 225, 226, 227, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 228, 229, 230, 231, 232, - 233, 0, 234, 235, 236, 0, 237, 238, 0, 239, - 0, 0, 240, 241, 242, 243, 244, 0, 245, 246, - 247, 0, 0, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 0, 0, 0, 0, 257, 0, 258, 259, - 260, 0, 0, 261, 262, 0, 263, 0, 264, 0, - 265, 266, 267, 268, 269, 0, 270, 271, 272, 273, - 274, 0, 275, 0, 276, 277, 278, 279, 280, 0, - 0, 281, 0, 282, 283, 0, 0, 285, 0, 172, - 0, 173, 174, 175, 176, 0, 177, 178, 179, 1234, - 180, 0, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 0, 192, 193, 194, 195, 196, 197, - 0, 198, 199, 200, 201, 202, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 203, 204, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 205, 0, 0, 0, 0, 0, 0, 206, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 207, 0, 0, 208, - 0, 0, 0, 0, 0, 0, 0, 209, 210, 0, - 0, 0, 0, 0, 211, 212, 213, 0, 0, 0, - 0, 214, 0, 0, 0, 0, 0, 215, 0, 216, - 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, - 0, 0, 220, 0, 221, 0, 0, 0, 222, 223, - 0, 0, 0, 0, 0, 0, 0, 224, 225, 226, - 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, - 229, 230, 231, 232, 233, 0, 234, 235, 236, 0, - 237, 238, 0, 239, 0, 0, 240, 241, 242, 243, - 244, 0, 245, 246, 247, 0, 0, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 0, 0, 0, 0, - 257, 0, 258, 259, 260, 0, 0, 261, 262, 0, - 263, 0, 264, 0, 265, 266, 267, 268, 269, 0, - 270, 271, 272, 273, 274, 0, 275, 0, 276, 277, - 278, 279, 280, 0, 0, 281, 0, 282, 283, 0, - 0, 285, 0, 172, 0, 173, 174, 175, 176, 0, - 177, 178, 179, 1573, 180, 0, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 0, 192, 193, - 194, 195, 196, 197, 0, 198, 199, 200, 201, 202, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 203, 204, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 205, 0, 0, 0, 0, 0, - 0, 206, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 207, 0, 0, 208, 0, 0, 0, 0, 0, 0, - 0, 209, 210, 0, 0, 0, 0, 0, 211, 212, - 213, 0, 0, 0, 0, 214, 0, 0, 0, 0, - 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, - 0, 0, 218, 219, 0, 0, 220, 0, 221, 0, - 0, 0, 222, 223, 0, 0, 0, 0, 0, 0, - 0, 224, 225, 226, 227, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 228, 229, 230, 231, 232, 233, 0, - 234, 235, 236, 0, 237, 238, 0, 239, 0, 0, - 240, 241, 242, 243, 244, 0, 245, 246, 247, 0, - 0, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 0, 0, 0, 0, 257, 0, 258, 259, 260, 0, - 0, 261, 262, 0, 263, 0, 264, 0, 265, 266, - 267, 268, 269, 0, 270, 271, 272, 273, 274, 0, - 275, 0, 276, 277, 278, 279, 280, 0, 0, 281, - 0, 282, 283, 0, 0, 285, 0, 172, 0, 173, - 174, 175, 176, 0, 177, 178, 179, 1895, 180, 0, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 0, 192, 193, 194, 195, 196, 197, 0, 198, - 199, 200, 201, 202, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 203, 204, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 397, 0, 0, 0, 0, 0, 205, 0, - 0, 0, 0, 0, 0, 206, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 207, 0, 0, 208, 0, 0, - 0, 0, 0, 0, 0, 209, 210, 0, 0, 0, - 0, 0, 211, 212, 213, 0, 0, 0, 0, 214, - 0, 0, 0, 0, 0, 215, 0, 216, 217, 0, - 0, 0, 0, 0, 0, 0, 218, 219, 0, 0, - 220, 0, 221, 0, 0, 0, 222, 223, 0, 0, - 0, 0, 0, 0, 0, 224, 225, 226, 227, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 228, 229, 230, - 231, 232, 233, 0, 234, 235, 236, 0, 237, 238, - 0, 239, 0, 0, 240, 241, 242, 243, 244, 0, - 245, 246, 247, 0, 0, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 0, 0, 0, 0, 257, 0, - 258, 259, 260, 0, 398, 261, 262, 0, 263, 0, - 264, 0, 265, 266, 267, 268, 269, 0, 270, 271, - 272, 273, 274, 0, 275, 0, 276, 277, 278, 279, - 280, 0, 0, 281, 0, 282, 283, 0, 0, 285, - 0, 0, 172, 598, 173, 174, 175, 176, 0, 177, - 178, 179, 0, 180, 0, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 0, 192, 193, 194, - 195, 196, 197, 0, 198, 199, 200, 201, 202, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 203, 204, 0, 304, 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, 0, - 0, 0, 0, 205, 0, 0, 306, 0, 0, 0, - 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, - 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, - 209, 210, 0, 0, 0, 0, 0, 211, 212, 213, - 0, 0, 0, 0, 214, 0, 0, 0, 0, 0, - 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, - 0, 218, 219, 0, 0, 220, 0, 221, 0, 0, - 0, 222, 223, 0, 0, 0, 0, 0, 0, 0, - 224, 225, 226, 227, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 228, 229, 230, 231, 232, 233, 0, 234, - 235, 236, 0, 237, 238, 0, 239, 0, 0, 240, - 241, 242, 243, 244, 0, 245, 246, 247, 0, 0, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 0, - 0, 0, 0, 257, 0, 258, 259, 260, 0, 0, - 261, 262, 0, 263, 0, 264, 0, 265, 266, 267, - 268, 269, 0, 270, 271, 272, 273, 274, 0, 275, - 0, 276, 277, 278, 279, 280, 0, 0, 281, 0, - 282, 283, 284, 0, 285, 286, 172, 0, 173, 174, - 175, 176, 0, 177, 178, 179, 0, 180, 0, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 0, 192, 193, 194, 195, 196, 197, 0, 198, 199, - 200, 201, 202, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 204, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 205, 0, 0, - 446, 0, 0, 0, 206, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 207, 0, 0, 208, 0, 0, 0, - 0, 0, 0, 0, 209, 210, 0, 0, 0, 0, - 0, 211, 212, 213, 0, 0, 0, 0, 214, 0, - 0, 0, 0, 0, 215, 0, 216, 217, 0, 0, - 0, 0, 0, 0, 0, 218, 219, 0, 0, 220, - 0, 221, 0, 0, 0, 222, 223, 0, 0, 0, - 0, 0, 0, 0, 224, 225, 226, 227, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 228, 229, 230, 231, - 232, 233, 0, 234, 235, 236, 0, 237, 238, 0, - 239, 0, 0, 240, 241, 242, 243, 244, 0, 245, - 246, 247, 0, 0, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 0, 0, 0, 0, 257, 0, 258, - 259, 260, 0, 0, 261, 262, 0, 263, 0, 264, - 0, 265, 266, 267, 268, 269, 0, 270, 271, 272, - 273, 274, 0, 275, 0, 276, 277, 278, 279, 280, - 0, 0, 281, 0, 282, 283, 284, 0, 285, 286, - 172, 0, 173, 174, 175, 176, 0, 177, 178, 179, - 0, 180, 0, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 0, 192, 193, 194, 195, 196, - 197, 0, 198, 199, 200, 201, 202, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 203, 204, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 205, 0, 0, 306, 0, 0, 0, 206, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, - 208, 0, 0, 0, 0, 0, 0, 0, 209, 210, - 0, 0, 0, 0, 0, 211, 212, 213, 0, 0, - 0, 0, 214, 0, 0, 0, 0, 0, 215, 0, - 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, - 219, 0, 0, 220, 0, 221, 0, 0, 0, 222, - 223, 0, 0, 0, 0, 0, 0, 0, 224, 225, - 226, 227, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 228, 229, 230, 231, 232, 233, 0, 234, 235, 236, - 0, 237, 238, 0, 239, 0, 0, 240, 241, 242, - 243, 244, 0, 245, 246, 247, 0, 0, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 0, 0, - 0, 257, 0, 258, 259, 260, 0, 0, 261, 262, - 0, 263, 0, 264, 0, 265, 266, 267, 268, 269, - 0, 270, 271, 272, 273, 274, 0, 275, 0, 276, - 277, 278, 279, 280, 0, 0, 281, 0, 282, 283, - 284, 0, 285, 286, 172, 0, 173, 174, 175, 176, - 0, 177, 178, 179, 0, 180, 0, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 0, 192, - 193, 194, 195, 196, 197, 0, 198, 199, 200, 201, - 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 203, 204, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 205, 0, 0, 0, 0, - 0, 0, 206, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 207, 0, 0, 208, 0, 0, 0, 0, 0, - 0, 0, 209, 210, 0, 0, 0, 0, 0, 211, - 212, 213, 0, 0, 0, 0, 214, 0, 0, 0, - 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, - 0, 0, 0, 218, 219, 0, 0, 220, 0, 221, - 0, 0, 0, 222, 223, 0, 0, 0, 0, 0, - 0, 0, 224, 225, 226, 227, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 229, 230, 231, 232, 233, - 0, 234, 235, 236, 0, 237, 238, 0, 239, 0, - 0, 240, 241, 242, 243, 244, 0, 245, 246, 247, - 0, 0, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, - 0, 0, 261, 262, 0, 263, 0, 264, 0, 265, - 266, 267, 268, 269, 0, 270, 271, 272, 273, 274, - 0, 275, 0, 276, 277, 278, 279, 280, 0, 0, - 281, 0, 282, 283, 284, 0, 285, 286, 172, 0, - 173, 174, 175, 176, 0, 177, 178, 179, 0, 180, - 0, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 0, 192, 193, 194, 195, 196, 197, 0, - 198, 199, 200, 201, 202, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 203, 204, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, - 0, 0, 0, 0, 0, 0, 206, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 207, 0, 0, 208, 0, - 0, 0, 0, 0, 0, 0, 209, 210, 0, 0, - 0, 0, 0, 211, 212, 213, 0, 0, 0, 0, - 214, 0, 0, 0, 0, 0, 215, 0, 216, 217, - 0, 0, 0, 0, 0, 0, 0, 218, 219, 0, - 0, 220, 0, 221, 0, 0, 0, 222, 223, 0, - 0, 0, 0, 0, 0, 0, 224, 225, 226, 227, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 228, 229, - 230, 231, 232, 233, 0, 234, 235, 236, 0, 237, - 238, 0, 239, 0, 0, 240, 241, 242, 243, 244, - 0, 245, 246, 247, 0, 0, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 0, 0, 0, 0, 257, - 0, 258, 259, 260, 0, 0, 261, 262, 0, 263, - 0, 264, 0, 265, 266, 267, 268, 269, 0, 270, - 271, 272, 273, 274, 0, 275, 0, 276, 277, 278, - 279, 280, 0, 0, 281, 0, 282, 283, 0, 0, - 285, 286, 172, 0, 173, 174, 175, 176, 0, 177, - 178, 179, 0, 180, 0, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 0, 192, 193, 194, - 195, 196, 197, 0, 198, 199, 200, 201, 202, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 203, 204, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1117, 0, 0, 0, 0, 0, - 1118, 0, 0, 0, 1119, 0, 0, 1120, 0, 0, - 0, 0, 0, 205, 0, 0, 0, 0, 0, 0, - 206, 0, 1121, 1122, 0, 0, 0, 0, 1123, 0, - 0, 0, 1124, 0, 0, 0, 0, 1125, 0, 207, - 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, - 209, 210, 0, 0, 0, 0, 0, 211, 212, 213, - 0, 0, 0, 0, 214, 0, 0, 1126, 0, 0, - 215, 0, 216, 217, 0, 1127, 0, 0, 1128, 1129, - 0, 218, 219, 0, 0, 220, 0, 221, 0, 0, - 0, 222, 223, 0, 0, 0, 1130, 0, 0, 1131, - 224, 225, 226, 227, 0, 0, 1132, 0, 1133, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1134, 0, - 0, 0, 228, 229, 230, 231, 232, 233, 1135, 234, - 235, 236, 1136, 237, 238, 1137, 239, 1138, 1139, 240, - 241, 242, 243, 244, 1140, 245, 246, 247, 1141, 1142, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 0, - 1143, 0, 1144, 257, 1145, 258, 259, 260, 1146, 1147, - 261, 262, 1148, 263, 0, 264, 0, 265, 266, 267, - 268, 269, 1149, 270, 271, 272, 273, 274, 1150, 275, - 1151, 276, 277, 278, 279, 280, 0, 1152, 281, 1153, - 282, 283, 0, 172, 285, 173, 174, 175, 176, 0, - 177, 178, 179, 0, 180, 0, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 0, 192, 193, - 194, 195, 196, 197, 0, 198, 199, 200, 201, 202, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 203, 204, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 567, 568, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 205, 983, 0, 0, 0, 0, - 0, 984, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 985, 0, 0, 0, 0, 0, 0, 0, 0, - 207, 0, 0, 208, 0, 0, 0, 0, 0, 0, - 0, 209, 210, 0, 0, 0, 0, 0, 211, 212, - 213, 0, 581, 0, 582, 214, 0, 0, 0, 0, - 986, 215, 0, 216, 217, 0, 0, 0, 0, 0, - 0, 0, 218, 219, 0, 0, 220, 0, 221, 0, - 0, 0, 222, 223, 0, 0, 0, 0, 0, 0, - 0, 224, 225, 226, 227, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 594, 0, 0, 0, - 0, 0, 0, 228, 229, 230, 231, 232, 233, 0, - 234, 235, 236, 0, 237, 238, 0, 239, 0, 0, - 240, 241, 242, 243, 244, 0, 245, 246, 247, 0, - 0, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 0, 0, 0, 0, 257, 0, 258, 259, 260, 0, - 0, 261, 262, 0, 263, 0, 264, 0, 265, 266, - 267, 268, 269, 0, 270, 271, 272, 273, 274, 0, - 275, 0, 276, 277, 278, 279, 280, 0, 0, 281, - 0, 282, 283, 0, 172, 285, 173, 174, 175, 176, - 0, 177, 178, 179, 0, 180, 0, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 0, 192, - 193, 194, 195, 196, 197, 0, 198, 199, 200, 201, - 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 203, 204, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1304, 0, 0, 0, 0, 0, 1339, 0, 0, 0, - 0, 0, 0, 0, 0, 205, 0, 0, 0, 0, - 0, 0, 206, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1306, 0, 0, 0, 0, 0, - 0, 207, 0, 0, 208, 0, 0, 0, 0, 0, - 0, 0, 209, 210, 0, 0, 0, 0, 0, 211, - 212, 213, 0, 0, 0, 0, 214, 0, 0, 0, - 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, - 0, 0, 1307, 218, 219, 0, 0, 220, 0, 221, - 0, 0, 0, 222, 223, 0, 0, 0, 0, 0, - 0, 0, 224, 225, 226, 227, 0, 0, 0, 0, - 0, 0, 1308, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 229, 230, 231, 232, 233, - 0, 234, 235, 236, 0, 237, 238, 0, 239, 0, - 0, 240, 241, 242, 243, 244, 0, 245, 246, 247, - 0, 0, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, - 0, 0, 261, 262, 0, 263, 0, 264, 0, 265, - 266, 267, 268, 269, 0, 270, 271, 272, 273, 274, - 0, 275, 0, 276, 277, 278, 279, 280, 0, 0, - 281, 0, 282, 283, 0, 0, 285, 172, 391, 173, - 174, 175, 176, 392, 177, 178, 179, 0, 180, 0, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 0, 192, 193, 194, 195, 196, 197, 0, 198, - 199, 200, 201, 202, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 203, 204, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 205, 0, - 0, 0, 0, 0, 0, 206, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 207, 0, 0, 208, 0, 0, - 0, 0, 0, 0, 0, 209, 210, 0, 0, 0, - 0, 0, 211, 212, 213, 393, 0, 0, 0, 214, - 0, 0, 0, 0, 0, 215, 0, 216, 217, 0, - 0, 0, 0, 0, 0, 0, 218, 219, 0, 0, - 220, 0, 221, 0, 0, 0, 222, 223, 0, 0, - 0, 0, 0, 0, 0, 394, 225, 226, 227, 0, - 0, 395, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 228, 229, 230, - 231, 232, 233, 0, 234, 235, 236, 0, 237, 238, - 0, 239, 0, 0, 240, 241, 242, 243, 244, 0, - 245, 246, 247, 0, 0, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 0, 0, 0, 0, 257, 0, - 258, 259, 260, 0, 0, 261, 262, 0, 263, 0, - 264, 0, 265, 266, 267, 268, 269, 0, 270, 271, - 272, 273, 274, 0, 275, 0, 276, 277, 278, 279, - 280, 0, 0, 281, 0, 282, 283, 0, 172, 285, - 173, 174, 175, 176, 0, 177, 178, 179, 0, 180, - 0, 181, 182, 183, 184, 185, 186, 187, 188, 189, - 190, 191, 0, 192, 193, 194, 195, 196, 197, 0, - 198, 199, 200, 201, 202, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 203, 204, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 397, 0, 0, 0, 0, 0, 205, - 0, 0, 0, 0, 0, 0, 206, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 207, 0, 0, 208, 0, - 0, 0, 0, 0, 0, 0, 209, 210, 0, 0, - 0, 0, 0, 211, 212, 213, 0, 0, 0, 0, - 214, 0, 0, 0, 0, 0, 215, 0, 216, 217, - 0, 0, 0, 0, 0, 0, 0, 218, 219, 0, - 0, 220, 0, 221, 0, 0, 0, 222, 223, 0, - 0, 0, 0, 0, 0, 0, 224, 225, 226, 227, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 228, 229, - 230, 231, 232, 233, 0, 234, 235, 236, 0, 237, - 238, 0, 239, 0, 0, 240, 241, 242, 243, 244, - 0, 245, 246, 247, 0, 0, 248, 249, 250, 251, - 252, 253, 254, 255, 256, 0, 0, 0, 0, 257, - 0, 258, 259, 260, 0, 398, 261, 262, 0, 263, - 0, 264, 0, 265, 266, 267, 268, 269, 0, 270, - 271, 272, 273, 274, 0, 275, 0, 276, 277, 278, - 279, 280, 0, 0, 281, 0, 282, 283, 0, 172, - 285, 173, 174, 175, 176, 0, 177, 178, 179, 0, - 180, 0, 181, 182, 183, 184, 185, 186, 187, 188, - 189, 190, 191, 0, 192, 193, 194, 195, 196, 197, - 0, 198, 199, 200, 201, 202, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 203, 204, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 205, 0, 0, 0, 0, 0, 0, 206, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1361, 0, 207, 0, 0, 208, - 0, 0, 0, 0, 0, 0, 0, 209, 210, 0, - 0, 0, 0, 0, 211, 212, 213, 0, 0, 0, - 0, 214, 0, 0, 0, 0, 0, 215, 0, 216, - 217, 0, 0, 0, 0, 0, 0, 0, 218, 219, - 0, 1362, 220, 0, 221, 0, 0, 0, 222, 223, - 0, 0, 0, 0, 0, 0, 0, 224, 225, 226, - 227, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 228, - 229, 230, 231, 232, 233, 0, 234, 235, 236, 0, - 237, 238, 0, 239, 0, 0, 240, 241, 242, 243, - 244, 0, 245, 246, 247, 0, 0, 248, 249, 250, - 251, 252, 253, 254, 255, 256, 0, 0, 0, 0, - 257, 0, 258, 259, 260, 0, 0, 261, 262, 0, - 263, 0, 264, 0, 265, 266, 267, 268, 269, 0, - 270, 271, 272, 273, 274, 0, 275, 0, 276, 277, - 278, 279, 280, 0, 0, 281, 0, 282, 283, 0, - 172, 285, 173, 174, 175, 176, 0, 177, 178, 179, - 0, 180, 0, 181, 182, 183, 184, 185, 186, 187, - 188, 189, 190, 191, 0, 192, 193, 194, 195, 196, - 197, 0, 198, 199, 200, 201, 202, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 203, 204, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 205, 0, 0, 0, 0, 0, 0, 206, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, - 208, 0, 0, 0, 0, 0, 0, 0, 209, 210, - 0, 0, 0, 0, 0, 211, 212, 213, 0, 0, - 0, 0, 214, 0, 0, 0, 0, 0, 215, 0, - 216, 217, 0, 0, 0, 0, 0, 0, 0, 218, - 219, 0, 0, 220, 0, 221, 0, 0, 0, 222, - 223, 0, 0, 0, 0, 0, 0, 0, 420, 225, - 226, 227, 0, 0, 421, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 228, 229, 230, 231, 232, 233, 0, 234, 235, 236, - 0, 237, 238, 0, 239, 0, 0, 240, 241, 242, - 243, 244, 0, 245, 246, 247, 0, 0, 248, 249, - 250, 251, 252, 253, 254, 255, 256, 0, 0, 0, - 0, 257, 0, 258, 259, 260, 0, 0, 261, 262, - 0, 263, 0, 264, 0, 265, 266, 267, 268, 269, - 0, 270, 271, 272, 273, 274, 0, 275, 0, 276, - 277, 278, 279, 280, 0, 0, 281, 0, 282, 283, - 0, 172, 285, 173, 174, 175, 176, 0, 177, 178, - 179, 0, 180, 0, 181, 182, 183, 184, 185, 186, - 187, 188, 189, 190, 191, 0, 192, 193, 194, 195, - 196, 197, 0, 198, 199, 200, 201, 202, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 203, - 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 205, 0, 0, 0, 0, 0, 0, 206, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 207, 0, - 0, 208, 0, 0, 0, 0, 0, 0, 0, 209, - 210, 0, 0, 0, 0, 0, 211, 212, 213, 0, - 0, 0, 0, 214, 0, 0, 0, 0, 0, 215, - 0, 216, 217, 0, 0, 0, 0, 0, 0, 0, - 218, 219, 0, 0, 220, 0, 221, 0, 0, 0, - 222, 223, 0, 0, 0, 0, 0, 0, 0, 423, - 225, 226, 227, 0, 0, 424, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 228, 229, 230, 231, 232, 233, 0, 234, 235, - 236, 0, 237, 238, 0, 239, 0, 0, 240, 241, - 242, 243, 244, 0, 245, 246, 247, 0, 0, 248, - 249, 250, 251, 252, 253, 254, 255, 256, 0, 0, - 0, 0, 257, 0, 258, 259, 260, 0, 0, 261, - 262, 0, 263, 0, 264, 0, 265, 266, 267, 268, - 269, 0, 270, 271, 272, 273, 274, 0, 275, 0, - 276, 277, 278, 279, 280, 0, 0, 281, 0, 282, - 283, 0, 172, 285, 173, 174, 175, 176, 0, 177, - 178, 179, 0, 180, 0, 181, 182, 183, 184, 185, - 186, 187, 188, 189, 190, 191, 0, 192, 193, 194, - 195, 196, 197, 0, 198, 199, 200, 201, 202, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 203, 204, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 205, 0, 0, 0, 0, 0, 0, - 206, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 207, - 0, 0, 208, 0, 0, 0, 0, 0, 0, 0, - 209, 210, 0, 0, 0, 0, 0, 211, 212, 213, - 0, 0, 0, 0, 214, 0, 0, 0, 0, 0, - 215, 0, 216, 217, 0, 0, 0, 0, 0, 0, - 0, 218, 219, 0, 0, 220, 0, 221, 0, 0, - 0, 222, 223, 0, 0, 0, 0, 0, 0, 0, - 224, 225, 226, 227, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 228, 229, 230, 231, 232, 233, 0, 234, - 235, 236, 0, 237, 238, 0, 239, 0, 0, 240, - 241, 242, 243, 244, 0, 245, 246, 247, 0, 0, - 248, 249, 250, 251, 252, 253, 254, 255, 256, 0, - 0, 0, 0, 257, 0, 258, 259, 260, 0, 0, - 261, 262, 1014, 263, 0, 264, 0, 265, 266, 267, - 268, 269, 0, 270, 271, 272, 273, 274, 0, 275, - 0, 276, 277, 278, 279, 280, 0, 0, 281, 0, - 282, 283, 0, 172, 285, 173, 174, 175, 176, 0, - 177, 178, 179, 0, 180, 0, 181, 182, 183, 184, - 185, 186, 187, 188, 189, 190, 191, 0, 192, 193, - 194, 195, 196, 197, 0, 198, 199, 200, 201, 202, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 203, 204, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 205, 0, 0, 0, 0, 0, - 0, 206, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 207, 0, 0, 208, 0, 0, 0, 0, 0, 0, - 0, 209, 210, 0, 0, 0, 0, 0, 211, 212, - 213, 0, 0, 0, 0, 214, 0, 0, 0, 0, - 0, 215, 0, 216, 217, 0, 0, 0, 0, 0, - 0, 0, 218, 219, 0, 0, 220, 0, 221, 0, - 0, 0, 222, 223, 0, 0, 0, 0, 0, 0, - 0, 224, 225, 226, 227, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 228, 229, 230, 231, 232, 233, 0, - 234, 235, 236, 0, 237, 238, 0, 239, 0, 0, - 240, 241, 242, 243, 244, 0, 245, 246, 247, 0, - 0, 248, 249, 250, 251, 252, 253, 254, 255, 256, - 0, 0, 0, 0, 257, 0, 258, 259, 260, 0, - 0, 261, 262, 1679, 263, 0, 264, 0, 265, 266, - 267, 268, 269, 0, 270, 271, 272, 273, 274, 0, - 275, 0, 276, 277, 278, 279, 280, 0, 0, 281, - 0, 282, 283, 0, 172, 285, 173, 174, 175, 176, - 0, 177, 178, 179, 0, 180, 0, 181, 182, 183, - 184, 185, 186, 187, 188, 189, 190, 191, 0, 192, - 193, 194, 195, 196, 197, 0, 198, 199, 200, 201, - 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 203, 204, 0, 0, 0, 0, 0, 1890, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 205, 0, 0, 0, 0, - 0, 0, 206, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 207, 0, 0, 208, 0, 0, 0, 0, 0, - 0, 0, 209, 210, 0, 0, 0, 0, 0, 211, - 212, 213, 0, 0, 0, 0, 214, 0, 0, 0, - 0, 0, 215, 0, 216, 217, 0, 0, 0, 0, - 0, 0, 0, 218, 219, 0, 0, 220, 0, 221, - 0, 0, 0, 222, 223, 0, 0, 0, 0, 0, - 0, 0, 224, 225, 226, 227, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 228, 229, 230, 231, 232, 233, - 0, 234, 235, 236, 0, 237, 238, 0, 239, 0, - 0, 240, 241, 242, 243, 244, 0, 245, 246, 247, - 0, 0, 248, 249, 250, 251, 252, 253, 254, 255, - 256, 0, 0, 0, 0, 257, 0, 258, 259, 260, - 0, 0, 261, 262, 0, 263, 0, 264, 0, 265, - 266, 267, 268, 269, 0, 270, 271, 272, 273, 274, - 0, 275, 0, 276, 277, 278, 279, 280, 0, 0, - 281, 0, 282, 283, 0, 172, 285, 173, 174, 175, - 176, 0, 177, 178, 179, 0, 180, 0, 181, 182, - 183, 184, 185, 186, 187, 188, 189, 190, 191, 0, - 192, 193, 194, 195, 196, 197, 0, 198, 199, 200, - 201, 202, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 203, 204, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 205, 0, 0, 0, - 0, 0, 0, 206, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 207, 0, 0, 208, 0, 0, 0, 0, - 0, 0, 0, 209, 210, 0, 0, 0, 0, 0, - 211, 212, 213, 0, 0, 0, 0, 214, 0, 0, - 0, 0, 0, 215, 0, 216, 217, 0, 0, 0, - 0, 0, 0, 0, 218, 219, 0, 0, 220, 0, - 221, 0, 0, 0, 222, 223, 0, 0, 0, 0, - 0, 0, 0, 224, 225, 226, 227, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 228, 229, 230, 231, 232, - 233, 0, 234, 235, 236, 0, 237, 238, 0, 239, - 0, 0, 240, 241, 242, 243, 244, 0, 245, 246, - 247, 0, 0, 248, 249, 250, 251, 252, 253, 254, - 255, 256, 0, 0, 0, 0, 257, 0, 258, 259, - 260, 0, 0, 261, 262, 0, 263, 0, 264, 0, - 265, 266, 267, 268, 269, 0, 270, 271, 272, 273, - 274, 0, 275, 0, 276, 277, 278, 279, 280, 0, - 0, 281, 0, 282, 283, 0, 172, 285, 173, 174, - 175, 176, 0, 177, 178, 179, 0, 180, 0, 181, - 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, - 0, 192, 193, 194, 195, 196, 197, 0, 198, 199, - 200, 201, 202, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 203, 204, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 205, 0, 0, - 0, 0, 0, 0, 206, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 207, 0, 0, 208, 0, 0, 0, - 0, 0, 0, 0, 209, 210, 0, 0, 0, 0, - 0, 211, 212, 213, 0, 0, 0, 0, 214, 0, - 0, 0, 0, 0, 215, 0, 216, 217, 0, 0, - 0, 0, 0, 0, 0, 218, 219, 0, 0, 220, - 0, 221, 0, 0, 0, 222, 223, 0, 0, 0, - 0, 0, 0, 0, 224, 225, 226, 227, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 228, 229, 230, 231, - 232, 233, 0, 234, 235, 236, 0, 237, 238, 0, - 239, 0, 0, 240, 241, 242, 243, 244, 0, 245, - 246, 247, 0, 0, 248, 249, 250, 251, 252, 253, - 254, 255, 256, 0, 0, 0, 0, 257, 0, 258, - 259, 260, 0, 0, 261, 262, 0, 263, 0, 264, - 0, 265, 266, 267, 268, 269, 0, 270, 271, 272, - 273, 274, 0, 275, 0, 276, 351, 278, 279, 280, - 0, 0, 281, 0, 282, 283, 0, 172, 285, 173, - 719, 175, 176, 0, 177, 178, 179, 0, 180, 0, - 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, - 191, 0, 192, 193, 194, 195, 196, 197, 0, 198, - 199, 200, 201, 202, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 203, 204, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 205, 0, - 0, 0, 0, 0, 0, 206, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 207, 0, 0, 208, 0, 0, - 0, 0, 0, 0, 0, 209, 210, 0, 0, 0, - 0, 0, 211, 212, 213, 0, 0, 0, 0, 214, - 0, 0, 0, 0, 0, 215, 0, 216, 217, 0, - 0, 0, 0, 0, 0, 0, 218, 219, 0, 0, - 220, 0, 221, 0, 0, 0, 222, 223, 0, 0, - 0, 0, 0, 0, 0, 224, 225, 226, 227, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 228, 229, 230, - 231, 232, 233, 0, 234, 235, 236, 0, 237, 238, - 0, 239, 0, 0, 240, 241, 242, 243, 244, 0, - 245, 246, 247, 0, 0, 248, 249, 250, 251, 252, - 253, 254, 255, 256, 0, 0, 0, 0, 257, 0, - 258, 259, 260, 0, 0, 261, 262, 0, 263, 0, - 264, 0, 265, 266, 267, 268, 269, 0, 270, 271, - 272, 273, 274, 0, 275, 0, 276, 277, 278, 279, - 280, 0, 0, 281, 0, 282, 283, 0, 0, 285, - 806, 533, 807, 808, 809, 810, 538, 811, 812, 813, - 0, 814, 0, 815, 816, 817, 818, 819, 820, 821, - 822, 823, 824, 825, 0, 826, 827, 828, 829, 830, - 831, 0, 832, 833, 834, 835, 836, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 567, 568, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 205, 574, 0, 0, 0, 0, 0, 837, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 579, 0, - 0, 0, 0, 0, 0, 0, 0, 207, 0, 0, - 0, 0, 0, 580, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 212, 213, 0, 581, - 0, 582, 0, 0, 0, 0, 0, 586, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 223, 0, 0, 0, 0, 0, 0, 0, 838, 839, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 594, 0, 0, 0, 0, 0, 0, - 228, 0, 0, 0, 0, 840, 806, 533, 807, 808, - 809, 810, 538, 811, 812, 813, 0, 814, 0, 815, - 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, - 0, 826, 827, 828, 829, 830, 831, 0, 832, 833, - 834, 835, 836, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1659, 0, 596, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 283, - 567, 568, 285, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 205, 574, 0, - 0, 0, 0, 0, 837, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 579, 0, 0, 0, 0, 0, - 0, 0, 0, 207, 0, 0, 0, 0, 0, 580, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 212, 213, 0, 581, 0, 582, 0, 0, - 0, 0, 0, 586, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 223, 0, 0, 0, - 0, 0, 0, 0, 838, 839, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 594, - 0, 0, 0, 0, 0, 0, 228, 0, 0, 0, - 0, 840, 806, 533, 807, 808, 809, 810, 538, 811, - 812, 813, 0, 814, 0, 815, 816, 817, 818, 819, - 820, 821, 822, 823, 824, 825, 0, 826, 827, 828, - 829, 830, 831, 0, 832, 833, 834, 835, 836, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 596, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 283, 567, 568, 285, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 205, 574, 0, 0, 0, 0, 0, - 837, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 579, 0, 0, 0, 0, 0, 0, 0, 0, 207, - 0, 0, 0, 0, 0, 580, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 212, 213, - 0, 581, 0, 582, 0, 0, 0, 0, 0, 586, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 223, 0, 0, 0, 0, 0, 0, 0, - 838, 839, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 594, 0, 0, 0, 0, - 0, 0, 228, 0, 0, 0, 0, 840, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 283, 0, 0, 285 -}; - -static const short yycheck[] = { 1, - 1, 1, 529, 95, 60, 321, 58, 649, 349, 452, - 1022, 366, 363, 965, 53, 67, 860, 56, 334, 170, - 1321, 777, 1627, 46, 80, 1910, 862, 53, 1494, 54, - 1567, 339, 1167, 1168, 1169, 1170, 1171, 1599, 733, 355, - 46, 618, 1559, 956, 957, 1295, 802, 64, 46, 88, - 20, 1186, 360, 2139, 46, 568, 20, 114, 18, 114, - 449, 450, 112, 97, 455, 64, 2116, 97, 67, 582, - 97, 185, 105, 96, 127, 97, 2162, 2163, 2164, 2165, - 2166, 23, 60, 19, 318, 1298, 185, 102, 97, 257, - 96, 1921, 125, 1923, 1924, 1925, 1926, 1927, 96, 174, - 103, 98, 139, 137, 96, 61, 7, 79, 2421, 10, - 1073, 83, 1075, 1076, 60, 16, 17, 1087, 1060, 1061, - 1062, 1063, 34, 1093, 1094, 1095, 1096, 1097, 884, 41, - 194, 32, 44, 60, 35, 47, 173, 194, 114, 307, - 52, 113, 54, 55, 174, 53, 54, 194, 56, 57, - 58, 59, 96, 64, 98, 116, 64, 190, 2471, 67, - 175, 64, 410, 71, 283, 195, 177, 25, 74, 265, - 78, 79, 527, 194, 82, 530, 137, 273, 86, 87, - 124, 60, 193, 91, 92, 93, 305, 98, 98, 161, - 114, 41, 769, 292, 44, 192, 199, 47, 312, 194, - 1113, 728, 52, 97, 54, 55, 63, 5, 65, 185, - 152, 2297, 168, 124, 124, 13, 2266, 178, 179, 191, - 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, - 174, 465, 30, 308, 194, 297, 298, 299, 36, 37, - 146, 60, 145, 307, 115, 102, 282, 495, 192, 283, - 307, 301, 307, 644, 307, 149, 283, 296, 214, 162, - 307, 283, 309, 174, 174, 127, 845, 60, 390, 175, - 296, 288, 289, 60, 283, 231, 309, 2107, 308, 77, - 793, 192, 192, 335, 336, 2115, 307, 158, 309, 2119, - 342, 2121, 178, 179, 2124, 2125, 2126, 2127, 2128, 2129, - 2130, 2131, 2132, 101, 2134, 357, 280, 359, 697, 308, - 2360, 255, 307, 111, 309, 367, 286, 1452, 1074, 297, - 298, 299, 286, 2153, 225, 286, 903, 1932, 1933, 194, - 907, 1167, 1168, 1169, 1170, 1171, 308, 301, 298, 2425, - 432, 784, 306, 109, 369, 1811, 282, 194, 120, 285, - 1186, 297, 298, 299, 393, 266, 266, 284, 1608, 96, - 216, 1496, 1879, 2413, 308, 2415, 2251, 139, 295, 296, - 297, 298, 299, 375, 1509, 1510, 1511, 1512, 1513, 1514, - 1515, 147, 309, 149, 440, 288, 409, 235, 296, 60, - 114, 228, 190, 296, 174, 303, 109, 121, 196, 311, - 1613, 173, 1615, 409, 456, 262, 31, 459, 33, 220, - 462, 409, 320, 321, 60, 195, 418, 409, 297, 298, - 299, 152, 283, 189, 449, 450, 334, 335, 336, 454, - 1401, 339, 340, 270, 342, 343, 149, 1974, 2268, 1402, - 251, 349, 307, 351, 309, 353, 354, 355, 1025, 357, - 187, 359, 360, 361, 201, 507, 288, 1399, 366, 367, - 307, 311, 309, 194, 296, 202, 1437, 1409, 1410, 1411, - 1412, 1413, 1414, 1415, 513, 1438, 189, 385, 297, 298, - 299, 1451, 604, 177, 282, 1455, 60, 1457, 185, 1066, - 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 407, - 98, 1471, 410, 1347, 297, 298, 299, 950, 1087, 417, - 297, 298, 299, 311, 1093, 1094, 1095, 1096, 1097, 166, - 194, 523, 147, 64, 105, 1102, 124, 60, 308, 1500, - 1374, 302, 301, 441, 221, 1400, 283, 306, 1501, 2369, - 166, 449, 450, 26, 125, 192, 42, 43, 456, 45, - 46, 459, 48, 49, 462, 51, 284, 53, 305, 100, - 56, 57, 58, 59, 1408, 252, 605, 2084, 187, 477, - 662, 1436, 664, 1486, 2091, 156, 1489, 1490, 1491, 1492, - 1493, 207, 2048, 202, 60, 282, 283, 495, 285, 286, - 71, 1233, 98, 71, 192, 647, 635, 1174, 282, 507, - 639, 285, 641, 642, 34, 79, 1450, 1249, 282, 190, - 283, 285, 86, 87, 1749, 671, 1452, 91, 124, 527, - 676, 677, 530, 531, 295, 296, 297, 298, 299, 285, - 286, 1326, 305, 79, 1499, 1330, 123, 945, 284, 288, - 121, 304, 305, 121, 1945, 1401, 292, 293, 294, 295, - 296, 297, 298, 299, 970, 136, 695, 565, 136, 308, - 1496, 1417, 1418, 309, 1508, 717, 60, 113, 174, 695, - 1426, 763, 697, 1509, 1510, 1511, 1512, 1513, 1514, 1515, - 98, 1437, 71, 43, 286, 172, 192, 2249, 596, 49, - 692, 51, 211, 53, 746, 283, 215, 1610, 1611, 738, - 752, 1914, 1654, 1916, 756, 757, 124, 1842, 109, 60, - 284, 2316, 109, 109, 1470, 161, 283, 305, 2235, 194, - 2237, 295, 296, 297, 298, 299, 240, 635, 305, 216, - 1326, 308, 121, 60, 1330, 643, 283, 645, 305, 647, - 1703, 1704, 1705, 257, 1500, 191, 147, 136, 149, 657, - 147, 284, 149, 149, 128, 109, 2293, 283, 305, 881, - 14, 1517, 295, 296, 297, 298, 299, 845, 301, 114, - 1733, 1734, 1735, 306, 192, 302, 778, 779, 780, 305, - 307, 1751, 2319, 785, 28, 1629, 282, 695, 189, 697, - 941, 942, 189, 189, 304, 149, 177, 799, 308, 40, - 41, 42, 43, 44, 45, 46, 47, 48, 49, 717, - 51, 52, 53, 54, 55, 56, 57, 58, 59, 295, - 296, 297, 298, 299, 282, 733, 305, 285, 1355, 308, - 288, 739, 290, 98, 886, 189, 283, 255, 746, 747, - 1367, 261, 301, 5, 752, 288, 320, 306, 756, 757, - 288, 13, 310, 235, 856, 763, 858, 1883, 305, 124, - 1886, 132, 1825, 1826, 1827, 308, 309, 2002, 30, 343, - 308, 309, 1451, 163, 36, 37, 1455, 283, 1457, 353, - 307, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, - 284, 2104, 1471, 2106, 307, 1472, 309, 60, 283, 305, - 1022, 295, 296, 297, 298, 299, 283, 301, 283, 174, - 152, 385, 306, 1749, 283, 77, 390, 307, 60, 309, - 305, 307, 947, 309, 66, 927, 928, 192, 305, 71, - 305, 152, 210, 407, 283, 152, 305, 283, 940, 101, - 940, 60, 204, 417, 295, 296, 297, 298, 299, 111, - 228, 859, 860, 60, 956, 957, 305, 284, 121, 305, - 283, 283, 60, 1719, 1976, 292, 293, 294, 295, 296, - 297, 298, 299, 71, 129, 883, 1098, 885, 886, 121, - 301, 175, 305, 305, 213, 306, 128, 265, 128, 1432, - 255, 152, 270, 995, 136, 997, 998, 999, 1000, 1350, - 1351, 204, 60, 477, 283, 147, 1842, 60, 1349, 1087, - 68, 283, 307, 155, 309, 1093, 1094, 1095, 1096, 1097, - 283, 128, 302, 121, 283, 129, 305, 301, 190, 60, - 128, 217, 306, 305, 196, 943, 222, 945, 136, 947, - 71, 282, 305, 308, 285, 204, 305, 288, 234, 290, - 283, 292, 129, 288, 295, 296, 297, 298, 299, 2194, - 246, 247, 970, 283, 305, 306, 307, 308, 309, 64, - 1192, 306, 305, 308, 115, 1197, 283, 73, 60, 1201, - 112, 122, 283, 1205, 60, 305, 272, 1209, 283, 288, - 121, 1213, 68, 134, 1002, 1217, 238, 128, 305, 1221, - 283, 1009, 1010, 1225, 305, 136, 283, 306, 283, 308, - 305, 1113, 1020, 104, 256, 283, 157, 283, 1026, 283, - 282, 284, 305, 1031, 68, 307, 283, 309, 305, 170, - 305, 238, 295, 296, 297, 298, 299, 305, 1982, 305, - 238, 305, 284, 288, 288, 289, 128, 1991, 305, 256, - 292, 293, 294, 295, 296, 297, 298, 299, 256, 283, - 283, 306, 283, 308, 301, 284, 2002, 309, 301, 643, - 73, 645, 1751, 306, 293, 294, 295, 296, 297, 298, - 299, 305, 305, 657, 305, 185, 284, 98, 295, 296, - 297, 298, 299, 201, 292, 293, 294, 295, 296, 297, - 298, 299, 302, 301, 288, 2049, 301, 238, 306, 284, - 297, 306, 1264, 124, 274, 275, 65, 1256, 293, 294, - 1272, 70, 306, 283, 308, 256, 284, 76, 301, 1285, - 68, 284, 81, 306, 292, 293, 294, 295, 296, 297, - 298, 299, 295, 296, 297, 298, 299, 1593, 1594, 1371, - 94, 201, 282, 284, 301, 285, 238, 1379, 288, 306, - 290, 308, 1314, 174, 295, 296, 297, 298, 299, 308, - 2114, 87, 1180, 747, 256, 301, 120, 307, 68, 309, - 306, 192, 60, 1322, 1286, 1286, 1286, 1339, 66, 132, - 295, 296, 297, 298, 299, 139, 140, 676, 677, 115, - 1302, 1303, 1302, 1303, 309, 1357, 122, 1359, 284, 308, - 172, 1350, 1351, 295, 296, 297, 298, 299, 134, 295, - 296, 297, 298, 299, 1232, 93, 307, 143, 309, 173, - 1332, 295, 296, 297, 298, 299, 307, 2093, 309, 200, - 1248, 157, 1250, 254, 255, 309, 60, 79, 1350, 1351, - 1350, 1351, 66, 85, 170, 301, 1264, 152, 2194, 203, - 306, 288, 308, 290, 1272, 97, 295, 296, 297, 298, - 299, 301, 307, 1451, 190, 308, 306, 1455, 60, 1457, - 309, 1383, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, - 1468, 21, 22, 1471, 305, 1397, 288, 308, 307, 29, - 309, 1309, 308, 1311, 1312, 1313, 1314, 881, 282, 283, - 197, 285, 1320, 308, 288, 147, 290, 308, 1326, 94, - 308, 301, 1330, 308, 21, 22, 306, 1429, 1430, 161, - 282, 1339, 29, 285, 160, 167, 288, 308, 290, 1347, - 308, 1349, 1350, 1351, 1352, 120, 128, 78, 307, 1357, - 309, 1359, 1574, 1361, 307, 307, 309, 309, 1366, 191, - 308, 2305, 34, 2040, 139, 140, 1374, 1375, 1376, 41, - 292, 308, 44, 301, 301, 47, 2320, 2321, 306, 306, - 52, 301, 54, 55, 1486, 79, 306, 1489, 1490, 1491, - 1492, 1493, 301, 60, 308, 1497, 1498, 306, 173, 66, - 1408, 308, 308, 97, 71, 121, 284, 2149, 183, 184, - 307, 53, 309, 305, 56, 2359, 58, 295, 296, 297, - 298, 299, 64, 308, 60, 67, 305, 301, 203, 301, - 66, 147, 306, 60, 306, 1009, 78, 79, 301, 308, - 82, 68, 1450, 306, 86, 87, 68, 304, 1022, 91, - 92, 93, 301, 147, 121, 304, 238, 306, 308, 308, - 995, 128, 997, 998, 999, 1000, 1688, 161, 304, 136, - 284, 301, 301, 167, 256, 135, 306, 306, 2422, 201, - 147, 295, 296, 297, 298, 299, 121, 135, 155, 301, - 301, 1593, 1594, 1595, 306, 306, 301, 191, 301, 307, - 1508, 306, 301, 306, 1643, 301, 135, 306, 1610, 1611, - 306, 286, 96, 295, 296, 297, 298, 299, 307, 1527, - 309, 304, 307, 1939, 309, 60, 295, 296, 297, 298, - 299, 66, 310, 301, 1756, 193, 71, 306, 306, 301, - 1762, 301, 60, 310, 306, 1767, 306, 310, 1556, 301, - 1772, 1559, 60, 71, 306, 1777, 1564, 308, 66, 1567, - 1782, 302, 1664, 298, 1664, 1787, 307, 301, 284, 301, - 1792, 238, 306, 1751, 306, 1797, 292, 293, 294, 295, - 296, 297, 298, 299, 302, 308, 121, 301, 264, 256, - 301, 260, 306, 128, 301, 306, 1604, 301, 244, 306, - 301, 136, 306, 121, 152, 306, 301, 565, 301, 87, - 128, 306, 147, 306, 966, 967, 968, 284, 136, 1627, - 155, 1629, 307, 60, 309, 292, 293, 294, 295, 296, - 297, 298, 299, 301, 71, 301, 301, 115, 306, 112, - 306, 306, 309, 127, 122, 301, 301, 1655, 284, 1657, - 306, 306, 130, 185, 296, 1663, 134, 284, 1232, 295, - 296, 297, 298, 299, 307, 143, 309, 1675, 295, 296, - 297, 298, 299, 195, 1248, 301, 301, 301, 320, 157, - 306, 306, 306, 301, 121, 643, 114, 307, 306, 309, - 301, 128, 170, 335, 336, 306, 2151, 339, 340, 136, - 342, 343, 308, 238, 301, 308, 304, 349, 301, 306, - 147, 353, 354, 306, 1258, 357, 1260, 359, 360, 361, - 238, 256, 199, 304, 366, 367, 295, 296, 297, 298, - 299, 301, 78, 174, 1742, 301, 306, 306, 256, 301, - 306, 185, 301, 385, 306, 185, 1320, 306, 301, 284, - 1902, 301, 185, 306, 1976, 185, 306, 292, 293, 294, - 295, 296, 297, 298, 299, 407, 284, 301, 410, 307, - 181, 309, 306, 60, 309, 417, 284, 295, 296, 297, - 298, 299, 307, 307, 309, 309, 1938, 295, 296, 297, - 298, 299, 301, 201, 2421, 301, 307, 306, 309, 441, - 306, 238, 295, 296, 297, 298, 299, 1959, 309, 1948, - 301, 60, 309, 306, 456, 306, 301, 459, 307, 256, - 462, 306, 71, 295, 296, 297, 298, 299, 308, 114, - 1969, 60, 258, 1841, 306, 477, 301, 66, 307, 307, - 309, 306, 71, 307, 304, 309, 308, 284, 282, 283, - 151, 285, 286, 495, 153, 292, 293, 294, 295, 296, - 297, 298, 299, 28, 310, 507, 297, 310, 27, 2285, - 83, 1879, 121, 152, 177, 155, 292, 227, 160, 128, - 269, 152, 1890, 68, 233, 527, 292, 136, 530, 531, - 193, 292, 121, 307, 1902, 198, 309, 307, 147, 128, - 175, 82, 205, 114, 309, 208, 309, 136, 173, 212, - 309, 309, 309, 140, 308, 308, 308, 308, 147, 309, - 223, 308, 308, 565, 1932, 1933, 155, 309, 204, 232, - 1938, 1939, 235, 309, 60, 308, 308, 292, 308, 308, - 66, 1949, 308, 308, 2100, 71, 305, 309, 308, 307, - 60, 1959, 308, 304, 308, 1963, 259, 2096, 261, 206, - 308, 71, 309, 266, 308, 268, 1974, 308, 308, 308, - 308, 308, 308, 308, 1982, 308, 308, 308, 308, 308, - 308, 308, 1556, 1991, 308, 1559, 308, 308, 308, 238, - 308, 308, 308, 635, 292, 121, 2098, 93, 2098, 265, - 2008, 643, 128, 645, 2143, 647, 248, 256, 240, 238, - 136, 121, 302, 131, 311, 657, 311, 284, 128, 308, - 131, 147, 308, 121, 292, 201, 136, 256, 194, 155, - 201, 104, 60, 112, 60, 284, 309, 309, 121, 309, - 309, 2049, 60, 292, 293, 294, 295, 296, 297, 298, - 299, 308, 308, 695, 2062, 284, 309, 307, 309, 118, - 194, 309, 307, 292, 293, 294, 295, 296, 297, 298, - 299, 309, 309, 309, 309, 717, 2084, 297, 309, 309, - 309, 309, 112, 2091, 228, 307, 311, 311, 185, 308, - 308, 733, 279, 118, 155, 112, 68, 739, 185, 236, - 239, 161, 308, 117, 746, 747, 2114, 308, 2116, 309, - 752, 309, 238, 309, 756, 757, 309, 309, 309, 309, - 309, 763, 130, 309, 157, 309, 309, 309, 238, 309, - 256, 308, 130, 308, 308, 308, 308, 307, 2290, 308, - 308, 308, 2244, 2151, 2244, 2247, 256, 2247, 308, 73, - 308, 308, 2291, 308, 308, 308, 308, 308, 284, 801, - 308, 308, 308, 306, 309, 119, 292, 293, 294, 295, - 296, 297, 298, 299, 284, 308, 308, 224, 309, 309, - 309, 309, 309, 309, 309, 295, 296, 297, 298, 299, - 309, 292, 309, 309, 309, 309, 2298, 2299, 97, 97, - 309, 309, 60, 845, 309, 309, 309, 309, 66, 309, - 309, 277, 106, 71, 309, 309, 309, 859, 309, 309, - 862, 309, 1180, 308, 308, 226, 308, 2235, 308, 2237, - 131, 308, 149, 154, 60, 131, 60, 309, 309, 309, - 66, 883, 309, 885, 886, 71, 309, 309, 130, 130, - 307, 309, 2260, 2355, 2355, 2355, 309, 309, 2266, 2451, - 309, 309, 308, 121, 309, 309, 309, 309, 309, 309, - 128, 309, 309, 309, 309, 309, 164, 2285, 136, 132, - 2419, 304, 2290, 66, 308, 2293, 308, 308, 308, 147, - 1248, 167, 308, 225, 309, 121, 307, 2305, 308, 60, - 309, 943, 128, 945, 309, 1879, 309, 309, 2316, 309, - 136, 2319, 2320, 2321, 2322, 2323, 309, 2419, 309, 2419, - 309, 147, 309, 309, 34, 309, 309, 309, 309, 2468, - 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - 309, 51, 52, 53, 54, 55, 56, 57, 58, 59, - 309, 2359, 2360, 309, 309, 66, 309, 309, 309, 2367, - 1002, 309, 309, 2371, 309, 308, 2468, 1009, 2468, 309, - 138, 308, 308, 237, 309, 1949, 309, 152, 1020, 309, - 238, 309, 302, 306, 1026, 62, 302, 309, 0, 1031, - 0, 96, 974, 469, 1319, 2403, 1637, 880, 256, 642, - 1311, 2409, 1976, 347, 727, 2413, 1309, 2415, 1655, 1966, - 2154, 2419, 238, 2367, 2422, 2467, 60, 2442, 1060, 1061, - 1062, 1063, 66, 2432, 68, 2462, 284, 71, 1657, 2468, - 256, 1645, 90, 1352, 292, 293, 294, 295, 296, 297, - 298, 299, 418, 1351, 651, 1087, 75, 528, 1026, 2319, - 2434, 1093, 1094, 1095, 1096, 1097, 2464, 2465, 284, 2464, - 2468, 2318, 2451, 363, 1643, 1272, 292, 293, 294, 295, - 296, 297, 298, 299, 94, 409, 2418, 121, 509, 1227, - 1366, 1595, 1266, 912, 128, 284, 435, 2323, 1887, 904, - 1559, 1884, 136, 292, 293, 294, 295, 296, 297, 298, - 299, 2465, 1432, 147, 596, 1809, 1742, 1028, 2008, 1248, - 2084, 155, 2403, 881, 885, 1890, 292, 2091, 943, 444, - 947, 1598, 635, 454, 519, 1167, 1168, 1169, 1170, 1171, - 950, 392, 1252, 908, 2251, 169, 1557, 1019, 1230, 2244, - 964, 2247, 60, -1, 1186, -1, -1, -1, 66, -1, - -1, -1, -1, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 60, -1, -1, -1, -1, -1, 1527, - -1, -1, 282, -1, 71, 285, -1, 287, 288, -1, - 290, -1, 292, -1, -1, 295, 296, 297, 298, 299, - 1232, -1, 302, -1, 238, 305, 306, 307, 308, 309, - 310, 311, -1, 121, -1, -1, 1248, -1, 1250, -1, - 128, -1, 256, -1, -1, -1, -1, -1, 136, -1, - -1, -1, 1264, -1, 121, -1, -1, -1, -1, 147, - 1272, 128, -1, -1, -1, -1, -1, 155, -1, 136, - 284, -1, -1, -1, -1, -1, -1, -1, 292, 293, - 294, 295, 296, 297, 298, 299, -1, -1, -1, -1, - -1, 2235, -1, 2237, 60, -1, 1624, 1309, -1, 1311, - 1312, 1313, 1314, -1, -1, 71, -1, -1, 1320, -1, - -1, -1, -1, -1, 1326, -1, -1, -1, 1330, -1, - -1, -1, -1, -1, -1, -1, -1, 1339, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1349, 1350, 1351, - 1352, -1, -1, -1, -1, 1357, -1, 1359, -1, 1361, - 238, -1, -1, -1, 1366, 121, -1, -1, -1, -1, - -1, -1, 128, 1375, 1376, -1, -1, -1, 256, -1, - 136, 238, -1, -1, -1, 53, 54, -1, 56, -1, - -1, 147, -1, -1, -1, -1, -1, 1399, 1400, 256, - -1, -1, -1, -1, -1, -1, 284, 1409, 1410, 1411, - 1412, 1413, 1414, 1415, 292, 293, 294, 295, 296, 297, - 298, 299, -1, -1, 1742, -1, -1, 284, -1, 307, - -1, -1, -1, -1, 1436, 292, 293, 294, 295, 296, - 297, 298, 299, -1, -1, -1, -1, -1, -1, 1451, - 1452, -1, -1, 1455, -1, 1457, -1, -1, 1460, 1461, - 1462, 1463, 1464, 1465, 1466, 1467, 1468, -1, 3, 1471, - -1, -1, -1, 8, -1, -1, 11, 12, -1, -1, - 15, -1, 238, -1, -1, -1, -1, -1, -1, 24, - 25, -1, -1, -1, 1496, -1, -1, 1499, -1, -1, - 256, -1, -1, 38, 39, -1, -1, 1509, 1510, 1511, - 1512, 1513, 1514, 1515, -1, -1, -1, -1, -1, -1, - -1, -1, 60, 1841, -1, -1, -1, -1, 284, -1, - 65, -1, -1, 71, -1, 70, 292, 293, 294, 295, - 296, 297, 298, 299, -1, 80, -1, -1, -1, 84, - -1, 86, -1, -1, 1556, -1, -1, 1559, -1, -1, - -1, 96, 1564, 98, -1, 1567, -1, 102, -1, 104, - -1, 106, -1, -1, -1, 110, -1, -1, -1, -1, - -1, -1, 117, 121, -1, -1, -1, -1, -1, 124, - 128, -1, -1, -1, -1, -1, -1, -1, 136, -1, - -1, -1, 1604, 1921, -1, 1923, 1924, 1925, 1926, 1927, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1624, -1, -1, 1627, -1, 295, 296, -1, - -1, -1, -1, -1, 169, -1, 171, 60, -1, 174, - 175, -1, 1960, 66, -1, -1, -1, -1, 71, -1, - -1, -1, -1, 1655, -1, 1657, -1, 192, 60, -1, - -1, 1663, -1, -1, 66, -1, -1, -1, -1, 71, - -1, -1, -1, 208, 209, -1, -1, -1, -1, -1, - -1, -1, -1, 218, 219, -1, -1, -1, -1, -1, - 2008, -1, -1, -1, 229, 230, -1, -1, 121, -1, - 238, 369, -1, -1, -1, 128, 241, 242, 243, -1, - 245, -1, -1, 136, 249, -1, -1, -1, 256, 121, - 255, -1, -1, -1, 147, -1, 128, -1, 263, -1, - -1, -1, 155, -1, 136, -1, 271, -1, -1, -1, - -1, -1, -1, 278, 2062, 147, 284, 1749, -1, 1751, - -1, -1, -1, 155, 292, 293, 294, 295, 296, 297, - 298, 299, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 308, -1, -1, -1, -1, -1, -1, - -1, 449, 450, -1, -1, -1, 454, -1, -1, 2107, - -1, -1, -1, -1, -1, -1, -1, 2115, 2116, -1, - -1, 2119, -1, 2121, -1, -1, 2124, 2125, 2126, 2127, - 2128, 2129, 2130, 2131, 2132, 238, 2134, -1, -1, -1, - -1, 2139, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 256, -1, 2153, 238, -1, -1, -1, - 1842, -1, -1, -1, 2162, 2163, 2164, 2165, 2166, -1, - -1, -1, -1, -1, 256, -1, -1, -1, -1, -1, - -1, 284, -1, -1, -1, -1, -1, -1, -1, 292, - 293, 294, 295, 296, 297, 298, 299, 1879, -1, -1, - -1, -1, 284, -1, 307, -1, -1, -1, 1890, -1, - 292, 293, 294, 295, 296, 297, 298, 299, -1, -1, - 1902, -1, -1, -1, -1, 307, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1921, - -1, 1923, 1924, 1925, 1926, 1927, -1, -1, -1, -1, - 1932, 1933, -1, -1, -1, -1, 1938, -1, -1, -1, - -1, -1, 2260, -1, -1, -1, -1, 1949, 2266, -1, - 2268, -1, -1, -1, -1, -1, -1, 1959, 1960, -1, - -1, 1963, 630, 60, -1, -1, -1, 635, -1, 66, - -1, -1, 1974, -1, 71, -1, -1, -1, -1, 2297, - -1, -1, -1, -1, -1, -1, -1, -1, 2306, 2307, - 2308, 2309, 2310, 2311, 2312, 2313, 2314, 2315, -1, -1, - 2002, -1, 40, 41, 42, 43, 44, 45, 46, 47, - 48, 49, -1, 51, 52, 53, 54, 55, 56, 57, - 58, 59, -1, -1, 121, -1, -1, 695, -1, 697, - -1, 128, -1, 53, -1, -1, 56, -1, 58, 136, - -1, -1, 2360, -1, 64, -1, -1, 67, -1, 2367, - 147, 2369, -1, -1, -1, -1, -1, -1, 78, 79, - -1, -1, 82, -1, -1, -1, 86, 87, -1, -1, - -1, 91, 92, 93, -1, -1, -1, -1, -1, -1, - -1, -1, 2084, -1, -1, -1, -1, -1, -1, 2091, - -1, -1, -1, -1, -1, 2413, -1, 2415, -1, -1, - -1, -1, -1, -1, -1, 2107, -1, 2425, -1, -1, - -1, -1, -1, 2115, -1, -1, -1, 2119, -1, 2121, - -1, -1, 2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, - 2132, -1, 2134, -1, -1, -1, -1, 2139, -1, -1, - -1, 238, -1, -1, -1, -1, -1, 60, -1, 2151, - -1, 2153, -1, 66, -1, -1, 69, -1, 71, 256, - 2162, 2163, 2164, 2165, 2166, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 845, -1, -1, - -1, -1, -1, -1, -1, -1, 99, 284, -1, -1, - -1, -1, 2194, -1, 862, 292, 293, 294, 295, 296, - 297, 298, 299, -1, -1, -1, -1, -1, 121, -1, - -1, -1, 880, -1, -1, 128, -1, -1, 886, -1, - -1, -1, -1, 136, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 2235, 147, 2237, -1, -1, -1, -1, - -1, -1, 155, -1, 282, -1, -1, 285, -1, -1, - 288, -1, 290, -1, 292, -1, -1, 295, 296, 297, - 298, 299, -1, -1, -1, -1, 2268, 305, 306, 307, - 308, 309, -1, 311, -1, -1, 296, -1, -1, 947, - -1, 194, -1, -1, -1, -1, -1, -1, 2290, -1, - -1, 2293, -1, -1, -1, 2297, -1, -1, -1, -1, - 320, -1, -1, -1, 2306, 2307, 2308, 2309, 2310, 2311, - 2312, 2313, 2314, 2315, 2316, 335, 336, 2319, -1, 339, - 340, 2323, 342, 343, -1, 238, -1, -1, -1, 349, - -1, -1, -1, 353, 354, -1, -1, 357, -1, 359, - 360, 361, -1, 256, -1, -1, 366, 367, -1, 340, - -1, 1019, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 385, -1, 2369, -1, 2371, - 361, 284, 116, -1, -1, -1, -1, -1, -1, 292, - 293, 294, 295, 296, 297, 298, 299, 407, -1, -1, - 410, -1, -1, 137, -1, -1, -1, 417, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2409, -1, 60, - -1, -1, -1, -1, -1, 66, -1, -1, -1, 1087, - 71, 441, -1, 2425, -1, 1093, 1094, 1095, 1096, 1097, - -1, -1, -1, -1, 178, 179, 456, -1, -1, 459, - 1108, -1, 462, -1, 60, -1, -1, 191, -1, 193, - 66, -1, -1, -1, 198, 71, -1, 477, -1, -1, - -1, 205, -1, 2465, 208, -1, -1, -1, 212, -1, - 121, -1, -1, -1, -1, 495, -1, 128, -1, 223, - -1, -1, -1, -1, -1, 136, -1, 507, 232, -1, - -1, 235, -1, -1, -1, -1, 147, -1, 114, 1167, - 1168, 1169, 1170, 1171, 155, 121, -1, 527, -1, -1, - 530, 531, 128, -1, -1, 259, -1, 261, 1186, -1, - 136, -1, 266, -1, 268, -1, -1, -1, -1, 180, - -1, 147, 276, -1, -1, -1, -1, -1, -1, 155, - -1, -1, -1, 60, -1, 565, -1, -1, -1, 66, - -1, 68, -1, -1, 71, -1, -1, -1, -1, -1, - 580, -1, 1230, -1, -1, -1, 40, 41, 42, 43, - 44, 45, 46, 47, 48, 49, 596, 51, 52, 53, - 54, 55, 56, 57, 58, 59, -1, 238, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 121, 256, -1, -1, -1, -1, - -1, 128, -1, -1, -1, 635, -1, -1, -1, 136, - -1, -1, 238, 643, -1, 645, -1, 647, -1, -1, - 147, -1, -1, 284, -1, -1, -1, 657, 155, -1, - 256, 292, 293, 294, 295, 296, 297, 298, 299, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 284, -1, - -1, -1, -1, -1, -1, 695, 292, 293, 294, 295, - 296, 297, 298, 299, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 717, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 733, -1, -1, -1, -1, -1, 739, - -1, 238, -1, -1, -1, -1, 746, 747, -1, -1, - -1, -1, 752, -1, -1, -1, 756, 757, -1, 256, - -1, -1, -1, 763, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 784, -1, -1, 284, -1, -1, - -1, -1, -1, -1, -1, 292, 293, 294, 295, 296, - 297, 298, 299, 1451, 1452, -1, -1, 1455, -1, 1457, - -1, -1, 1460, 1461, 1462, 1463, 1464, 1465, 1466, 1467, - 1468, -1, -1, 1471, -1, -1, -1, -1, 282, 60, - 801, 285, -1, -1, 288, 66, 290, 68, 292, -1, - 71, 295, 296, 297, 298, 299, -1, -1, 1496, -1, - -1, 305, 306, 307, 308, 309, -1, 311, -1, 859, - 860, 1509, 1510, 1511, 1512, 1513, 1514, 1515, -1, -1, - -1, -1, 8, -1, 845, 11, 12, -1, -1, 15, - -1, -1, -1, 883, -1, 885, 886, -1, 24, 25, - 121, 862, -1, -1, -1, -1, -1, 128, -1, -1, - -1, -1, 38, 39, -1, 136, -1, -1, -1, 1557, - -1, -1, -1, -1, -1, -1, 147, -1, -1, 60, - -1, -1, -1, -1, 155, 66, -1, -1, -1, 65, - 71, -1, -1, -1, 70, -1, -1, -1, -1, -1, - -1, -1, -1, 943, 80, 945, -1, -1, 84, -1, - 86, -1, -1, -1, 60, -1, -1, -1, -1, -1, - 96, -1, 98, -1, -1, 71, 102, -1, 104, -1, - 106, -1, -1, -1, 110, -1, -1, -1, -1, -1, - 121, 117, -1, -1, -1, -1, -1, 128, 124, -1, - -1, -1, -1, -1, -1, 136, -1, -1, -1, -1, - -1, -1, 1002, -1, -1, -1, 147, 238, -1, 1009, - -1, -1, -1, -1, 155, 121, -1, -1, -1, -1, - 1020, -1, 128, -1, -1, 256, 1026, -1, -1, -1, - 136, 1031, -1, 169, -1, 171, -1, -1, 174, 175, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 284, -1, -1, 192, -1, -1, -1, - -1, 292, 293, 294, 295, 296, 297, 298, 299, 60, - -1, -1, 208, 209, -1, -1, -1, -1, -1, -1, - 71, -1, 218, 219, -1, -1, -1, -1, -1, 1060, - 1061, 1062, 1063, 229, 230, -1, -1, 238, -1, -1, - -1, 1749, -1, 1751, -1, 241, 242, 243, -1, 245, - -1, -1, -1, 249, -1, 256, 1087, -1, -1, 255, - -1, -1, 1093, 1094, 1095, 1096, 1097, 263, -1, -1, - 121, -1, 238, -1, -1, 271, -1, 128, -1, -1, - -1, -1, 278, 284, -1, 136, -1, -1, -1, -1, - 256, 292, 293, 294, 295, 296, 297, 298, 299, 60, - -1, -1, -1, -1, -1, 66, -1, -1, -1, -1, - 71, -1, 308, -1, -1, -1, -1, -1, 284, -1, - 1180, -1, -1, -1, -1, -1, 292, 293, 294, 295, - 296, 297, 298, 299, 1842, -1, 1167, 1168, 1169, 1170, - 1171, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1186, -1, -1, -1, -1, - 121, -1, -1, 60, -1, -1, -1, 128, -1, 66, - -1, -1, 1232, -1, 71, 136, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 147, 238, 1248, -1, - 1250, -1, -1, -1, 155, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1264, 256, -1, -1, -1, -1, - -1, -1, 1272, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 121, -1, -1, -1, -1, -1, - -1, 128, -1, 284, -1, -1, -1, -1, -1, 136, - -1, -1, 293, 294, 295, 296, 297, 298, 299, 1309, - 147, 1311, 1312, 1313, 1314, -1, -1, -1, 155, -1, - 1320, -1, -1, -1, -1, -1, 1326, -1, -1, -1, - 1330, -1, -1, -1, -1, -1, -1, 238, -1, 1339, - -1, -1, -1, -1, -1, -1, -1, 1347, -1, 1349, - 1350, 1351, 1352, -1, 2002, 256, -1, 1357, -1, 1359, - -1, 1361, -1, -1, -1, -1, 1366, -1, -1, -1, - -1, -1, -1, -1, 1374, 1375, 1376, -1, -1, -1, - -1, -1, -1, 284, -1, -1, -1, -1, -1, -1, - -1, 292, 293, 294, 295, 296, 297, 298, 299, -1, - -1, 238, 60, -1, -1, -1, -1, -1, 1408, -1, - -1, -1, -1, 71, -1, -1, -1, -1, -1, 256, - -1, -1, -1, -1, -1, -1, -1, -1, 1399, 1400, - -1, -1, 1432, -1, -1, -1, -1, 60, 1409, 1410, - 1411, 1412, 1413, 1414, 1415, -1, -1, 284, 71, -1, - 1450, -1, -1, -1, -1, 292, 293, 294, 295, 296, - 297, 298, 299, 121, -1, 1436, -1, -1, -1, -1, - 128, -1, -1, -1, -1, -1, -1, -1, 136, -1, - 1451, 1452, -1, -1, 1455, -1, 1457, -1, -1, 1460, - 1461, 1462, 1463, 1464, 1465, 1466, 1467, 1468, 121, -1, - 1471, -1, -1, -1, -1, 128, -1, -1, 1508, -1, - -1, -1, -1, 136, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1496, -1, 1527, 1499, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1509, 1510, - 1511, 1512, 1513, 1514, 1515, -1, 2194, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1556, -1, -1, 1559, - -1, -1, -1, -1, 1564, -1, -1, 1567, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 238, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 256, -1, - -1, -1, -1, -1, 1604, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 238, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 284, 1627, -1, 1629, - -1, -1, -1, 256, -1, 293, 294, 295, 296, 297, - 298, 299, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1624, -1, 1655, -1, 1657, -1, -1, - -1, 284, -1, 1663, -1, -1, -1, -1, -1, -1, - 293, 294, 295, 296, 297, 298, 299, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, -1, 14, -1, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, - 32, 33, -1, 35, 36, 37, 38, 39, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1742, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 77, 78, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1749, -1, - 1751, -1, 94, 95, -1, -1, -1, -1, -1, 101, - -1, -1, -1, -1, -1, -1, -1, 109, -1, 111, - -1, -1, -1, -1, -1, -1, -1, -1, 120, -1, - -1, -1, -1, -1, 126, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 139, 140, -1, - 142, -1, 144, -1, -1, -1, -1, -1, 150, -1, - -1, 1841, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 173, 174, -1, -1, -1, -1, -1, -1, 181, - 182, 1842, -1, -1, -1, -1, -1, 189, -1, 1879, - -1, -1, -1, -1, 196, -1, -1, -1, -1, -1, - 1890, 203, -1, -1, -1, -1, 208, -1, -1, -1, - -1, -1, 1902, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1932, 1933, -1, -1, -1, -1, 1938, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1949, - 1921, -1, 1923, 1924, 1925, 1926, 1927, 269, -1, 1959, - -1, -1, -1, 1963, -1, -1, -1, -1, -1, -1, - 282, 283, -1, 285, 1974, -1, 288, 289, 290, -1, - -1, -1, 1982, -1, -1, -1, 583, -1, -1, 1960, - -1, 1991, -1, -1, -1, -1, -1, -1, -1, -1, - 597, -1, 599, 1974, 601, 602, 603, 604, 2008, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 2002, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 2049, - 565, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 2062, -1, -1, -1, 663, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 2084, -1, -1, -1, -1, -1, - -1, 2091, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 2114, -1, 2116, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 643, -1, - -1, -1, -1, -1, -1, -1, 2107, -1, -1, -1, - -1, -1, -1, -1, 2115, -1, -1, 744, 2119, -1, - 2121, 2151, -1, 2124, 2125, 2126, 2127, 2128, 2129, 2130, - 2131, 2132, -1, 2134, -1, -1, -1, -1, 2139, -1, - -1, -1, -1, -1, -1, -1, 773, -1, -1, -1, - -1, -1, 2153, -1, -1, -1, -1, -1, -1, -1, - -1, 2162, 2163, 2164, 2165, 2166, -1, -1, -1, -1, - 797, 798, -1, -1, -1, -1, -1, -1, 805, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 2194, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 2235, -1, 2237, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 845, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 2260, -1, -1, -1, 861, -1, 2266, -1, 865, -1, - 867, -1, -1, 870, 871, 872, 873, 874, 875, 876, - 877, 878, -1, -1, -1, -1, 801, -1, -1, -1, - 2290, -1, -1, 2293, -1, -1, -1, 2268, -1, -1, - -1, -1, -1, -1, -1, 2305, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 2316, -1, -1, 2319, - 2320, 2321, -1, 2323, -1, -1, 2297, -1, -1, -1, - 845, -1, -1, -1, -1, 2306, 2307, 2308, 2309, 2310, - 2311, 2312, 2313, 2314, 2315, -1, -1, 862, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 2359, - 2360, -1, -1, -1, -1, -1, -1, 2367, -1, -1, - -1, 2371, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 2369, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 2409, - -1, -1, -1, 2413, -1, 2415, 801, -1, -1, -1, - -1, -1, 2422, -1, -1, -1, -1, -1, -1, -1, - 1027, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 2425, -1, -1, -1, -1, -1, - 845, -1, -1, -1, -1, 2465, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1073, 862, 1075, 1076, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1087, -1, -1, -1, -1, -1, 1093, 1094, 1095, 1096, - 1097, 1098, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1111, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 1060, 1061, 1062, 1063, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1087, -1, -1, 1172, -1, -1, 1093, 1094, - 1095, 1096, 1097, -1, -1, -1, -1, -1, -1, -1, - -1, 1188, -1, -1, -1, 1192, -1, -1, -1, -1, - 1197, -1, -1, -1, 1201, -1, -1, -1, 1205, -1, - -1, -1, 1209, -1, -1, -1, 1213, -1, -1, -1, - 1217, -1, -1, -1, 1221, -1, -1, -1, 1225, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1167, 1168, 1169, 1170, 1171, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 1266, - -1, 1186, -1, -1, -1, 1060, 1061, 1062, 1063, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1087, -1, -1, -1, -1, -1, 1093, 1094, - 1095, 1096, 1097, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 1248, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1378, 1167, 1168, 1169, 1170, 1171, -1, -1, -1, - 1387, -1, -1, -1, -1, 1180, -1, -1, -1, 1396, - -1, 1186, -1, -1, -1, 1402, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 783, -1, -1, -1, -1, -1, - -1, 1428, -1, -1, -1, -1, -1, -1, 1435, -1, - -1, 1438, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1451, -1, -1, -1, 1455, -1, - 1457, -1, -1, 1460, 1461, 1462, 1463, 1464, 1465, 1466, - 1467, 1468, -1, -1, 1471, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1399, 1400, -1, -1, -1, -1, - -1, -1, -1, -1, 1409, 1410, 1411, 1412, 1413, 1414, - 1415, -1, -1, -1, 1501, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1436, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1451, 1452, -1, -1, - 1455, -1, 1457, -1, -1, 1460, 1461, 1462, 1463, 1464, - 1465, 1466, 1467, 1468, -1, -1, 1471, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1496, -1, -1, 1499, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1509, 1510, 1511, 1512, 1513, 1514, - 1515, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1399, 1400, -1, -1, -1, -1, - -1, -1, -1, -1, 1409, 1410, 1411, 1412, 1413, 1414, - 1415, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 1436, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1451, 1452, -1, -1, - 1455, -1, 1457, -1, -1, 1460, 1461, 1462, 1463, 1464, - 1465, 1466, 1467, 1468, -1, -1, 1471, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1703, 1704, 1705, -1, - -1, 1496, -1, -1, 1499, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1509, 1510, 1511, 1512, 1513, 1514, - 1515, -1, -1, -1, -1, -1, 1733, 1734, 1735, -1, - -1, -1, 1527, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 1751, -1, -1, -1, -1, 1756, - -1, -1, -1, -1, -1, 1762, -1, -1, -1, -1, - 1767, -1, -1, -1, -1, 1772, -1, -1, -1, -1, - 1777, -1, -1, -1, -1, 1782, -1, -1, -1, -1, - 1787, -1, -1, -1, -1, 1792, -1, -1, -1, -1, - 1797, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1809, -1, -1, -1, -1, -1, -1, -1, - -1, 1180, -1, -1, -1, -1, -1, -1, 1825, 1826, - 1827, -1, -1, 1192, 1749, -1, 1751, -1, 1197, 1624, - -1, -1, 1201, -1, -1, -1, 1205, -1, -1, -1, - 1209, -1, -1, -1, 1213, -1, -1, -1, 1217, -1, - -1, -1, 1221, -1, -1, -1, 1225, -1, -1, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, - 14, -1, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, - -1, 35, 36, 37, 38, 39, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1842, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 77, 78, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1742, -1, -1, - 94, 95, -1, -1, 1749, -1, 1751, 101, -1, -1, - -1, -1, -1, -1, -1, 109, -1, 111, -1, -1, - -1, -1, -1, -1, -1, -1, 120, -1, -1, 1348, - -1, -1, 126, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 139, 140, -1, 142, -1, - 144, -1, -1, -1, -1, -1, 150, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 173, - -1, -1, -1, -1, -1, -1, -1, 181, 182, -1, - -1, -1, -1, -1, -1, 189, 1841, 1842, -1, -1, - -1, -1, 196, -1, -1, -1, -1, -1, -1, 203, - -1, -1, 1431, -1, 208, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2002, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2094, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 269, 1921, -1, 1923, 1924, - 1925, 1926, 1927, -1, -1, -1, -1, -1, 282, 283, - -1, 285, -1, -1, 288, 289, 290, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 1527, -1, - 1529, 1530, -1, 1532, 1533, 1960, 1535, 1536, -1, 1538, - 1539, -1, 1541, 1542, -1, 1544, 1545, -1, 1547, 1548, - -1, 1550, 1551, -1, 1553, 1554, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2002, -1, -1, - -1, -1, -1, 2008, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 2062, -1, 2194, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 2107, -1, -1, -1, -1, -1, -1, -1, - 2115, 2116, -1, -1, 2119, -1, 2121, -1, -1, 2124, - 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, -1, 2134, - -1, -1, -1, -1, 2139, 2352, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 2153, -1, - -1, -1, -1, -1, -1, -1, -1, 2162, 2163, 2164, - 2165, 2166, -1, 1742, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 1756, -1, -1, - -1, -1, -1, 1762, -1, -1, -1, -1, 1767, 2194, - -1, -1, -1, 1772, -1, -1, -1, -1, 1777, -1, - -1, -1, -1, 1782, -1, -1, -1, -1, 1787, -1, - -1, -1, -1, 1792, -1, -1, -1, -1, 1797, -1, - -1, -1, -1, -1, -1, -1, 1805, -1, -1, -1, - 1809, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 2260, -1, -1, -1, -1, - -1, 2266, -1, 2268, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 2297, -1, -1, -1, -1, -1, -1, -1, - -1, 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313, 2314, - 2315, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 2360, -1, -1, -1, -1, - -1, -1, 2367, -1, 2369, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 2413, -1, - 2415, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 2425, -1, -1, -1, -1, -1, -1, -1, -1, 2008, - -1, -1, 2011, 2012, -1, 2014, 2015, -1, 2017, 2018, - -1, 2020, 2021, -1, 2023, 2024, -1, 2026, 2027, -1, - 2029, 2030, -1, 2032, 2033, -1, 2035, 2036, -1, -1, - -1, -1, -1, 2042, -1, -1, -1, 2046, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, - -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, -1, 28, 29, 30, 31, 32, 33, -1, - 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 61, 62, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 75, 76, 77, 78, -1, -1, 81, -1, -1, -1, - -1, -1, -1, 88, 89, 90, 91, 92, -1, 94, - 95, -1, -1, -1, -1, -1, 101, -1, -1, -1, - -1, -1, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, 120, -1, -1, 123, -1, - -1, 126, -1, -1, -1, -1, 131, 132, -1, -1, - -1, -1, -1, 138, 139, 140, -1, 142, -1, 144, - 145, -1, 147, 148, 149, 150, 151, -1, 153, 154, - -1, -1, -1, -1, 159, -1, -1, 162, 163, -1, - -1, 166, -1, 168, -1, -1, -1, 172, 173, -1, - -1, 176, -1, -1, -1, -1, 181, 182, 183, 184, - -1, -1, -1, 188, 189, -1, -1, -1, 193, -1, - -1, 196, -1, -1, -1, -1, -1, -1, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, -1, 214, - 215, -1, 217, -1, -1, 220, 221, 222, 223, 224, - -1, 226, 227, 228, -1, -1, 231, 232, 233, 234, - 235, 236, 237, 238, 239, -1, -1, -1, -1, 244, - -1, 246, 247, 248, -1, 250, 251, 252, -1, 254, - -1, 256, -1, 258, 259, 260, 261, 262, -1, 264, - 265, 266, 267, 268, 269, 270, -1, 272, 273, 274, - 275, 276, -1, -1, 279, -1, 281, 282, 283, 284, - 285, 286, -1, 288, 289, 290, -1, -1, -1, -1, - -1, 296, 297, -1, 299, 300, -1, 302, -1, -1, - -1, -1, -1, 308, 309, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, -1, 14, -1, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, - 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, - 38, 39, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 61, 62, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 75, 76, 77, - 78, -1, -1, 81, -1, -1, -1, -1, -1, -1, - 88, 89, 90, 91, 92, -1, 94, 95, -1, -1, - -1, -1, -1, 101, -1, -1, -1, -1, -1, 107, - 108, 109, -1, 111, -1, -1, -1, -1, -1, -1, - -1, -1, 120, -1, -1, 123, -1, -1, 126, -1, - -1, -1, -1, 131, 132, -1, -1, -1, -1, -1, - 138, 139, 140, -1, 142, -1, 144, 145, -1, 147, - 148, 149, 150, 151, -1, 153, 154, -1, -1, -1, - -1, 159, -1, -1, 162, 163, -1, -1, 166, -1, - 168, -1, -1, -1, 172, 173, -1, -1, 176, -1, - -1, -1, -1, 181, 182, 183, 184, -1, -1, -1, - 188, 189, -1, -1, -1, 193, -1, -1, 196, -1, - -1, -1, -1, -1, -1, 203, 204, 205, 206, 207, - 208, -1, 210, 211, 212, -1, 214, 215, -1, 217, - -1, -1, 220, 221, 222, 223, 224, -1, 226, 227, - 228, -1, -1, 231, 232, 233, 234, 235, 236, 237, - 238, 239, -1, -1, -1, -1, 244, -1, 246, 247, - 248, -1, 250, 251, 252, -1, 254, -1, 256, -1, - 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, - 268, 269, 270, -1, 272, 273, 274, 275, 276, -1, - -1, 279, -1, 281, 282, 283, 284, 285, 286, -1, - 288, 289, 290, -1, -1, -1, -1, -1, 296, 297, - -1, 299, 300, -1, 302, -1, -1, -1, -1, -1, - 308, 309, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, -1, 14, -1, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, - 31, 32, 33, -1, 35, 36, 37, 38, 39, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 61, 62, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 75, 76, 77, 78, -1, -1, - 81, -1, -1, -1, -1, -1, -1, 88, 89, 90, - 91, 92, -1, 94, 95, -1, -1, -1, -1, -1, - 101, -1, -1, -1, -1, -1, 107, 108, 109, -1, - 111, -1, -1, -1, -1, -1, -1, -1, -1, 120, - -1, -1, 123, -1, -1, 126, -1, -1, -1, -1, - 131, 132, -1, -1, -1, -1, -1, 138, 139, 140, - -1, 142, -1, 144, 145, -1, 147, 148, 149, 150, - 151, -1, 153, 154, -1, -1, -1, -1, 159, -1, - -1, 162, 163, -1, -1, 166, -1, 168, -1, -1, - -1, 172, 173, -1, -1, 176, -1, -1, -1, -1, - 181, 182, 183, 184, -1, -1, -1, 188, 189, -1, - -1, -1, 193, -1, -1, 196, -1, -1, -1, -1, - -1, -1, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, -1, 214, 215, -1, 217, -1, -1, 220, - 221, 222, 223, 224, -1, 226, 227, 228, -1, -1, - 231, 232, 233, 234, 235, 236, 237, 238, 239, -1, - -1, -1, -1, 244, -1, 246, 247, 248, -1, 250, - 251, 252, -1, 254, -1, 256, -1, 258, 259, 260, - 261, 262, -1, 264, 265, 266, 267, 268, 269, 270, - -1, 272, 273, 274, 275, 276, -1, -1, 279, -1, - 281, 282, 283, 284, 285, 286, -1, 288, 289, 290, - -1, -1, -1, -1, -1, 296, -1, -1, 299, 300, - -1, 302, -1, -1, -1, -1, -1, 308, 309, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, - 14, -1, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, - -1, 35, 36, 37, 38, 39, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 61, 62, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 75, 76, 77, 78, -1, -1, 81, -1, -1, - -1, -1, -1, -1, 88, 89, 90, 91, 92, -1, - 94, 95, -1, -1, -1, -1, -1, 101, -1, -1, - -1, -1, -1, 107, 108, 109, -1, 111, -1, -1, - -1, -1, -1, -1, -1, -1, 120, -1, -1, 123, - -1, -1, 126, -1, -1, -1, -1, 131, 132, -1, - -1, -1, -1, -1, 138, 139, 140, -1, 142, -1, - 144, 145, -1, 147, 148, 149, 150, 151, -1, 153, - 154, -1, -1, -1, -1, 159, -1, -1, 162, 163, - -1, -1, 166, -1, 168, -1, -1, -1, 172, 173, - -1, -1, 176, -1, -1, -1, -1, 181, 182, 183, - 184, -1, -1, -1, 188, 189, -1, -1, -1, 193, - -1, -1, 196, -1, -1, -1, -1, -1, -1, 203, - 204, 205, 206, 207, 208, -1, 210, 211, 212, -1, - 214, 215, -1, 217, -1, -1, 220, 221, 222, 223, - 224, -1, 226, 227, 228, -1, -1, 231, 232, 233, - 234, 235, 236, 237, 238, 239, -1, -1, -1, -1, - 244, -1, 246, 247, 248, -1, 250, 251, 252, -1, - 254, -1, 256, -1, 258, 259, 260, 261, 262, -1, - 264, 265, 266, 267, 268, 269, 270, -1, 272, 273, - 274, 275, 276, -1, -1, 279, -1, 281, 282, 283, - 284, 285, 286, -1, 288, 289, 290, -1, -1, -1, - -1, -1, 296, -1, -1, 299, 300, -1, 302, -1, - -1, -1, -1, -1, 308, 309, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, -1, 14, -1, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - -1, 28, 29, 30, 31, 32, 33, -1, 35, 36, - 37, 38, 39, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 61, 62, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 76, - 77, 78, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 89, 90, 91, 92, -1, 94, 95, -1, - -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, - -1, -1, 109, -1, 111, -1, -1, -1, -1, -1, - -1, -1, -1, 120, -1, -1, 123, -1, -1, 126, - -1, -1, -1, -1, 131, 132, -1, -1, -1, -1, - -1, 138, 139, 140, -1, 142, -1, 144, 145, -1, - -1, -1, -1, 150, 151, -1, 153, 154, -1, -1, - -1, -1, -1, -1, -1, 162, 163, -1, -1, 166, - -1, 168, -1, -1, -1, 172, 173, -1, -1, -1, - -1, -1, -1, -1, 181, 182, 183, 184, -1, -1, - -1, -1, 189, -1, -1, -1, 193, -1, -1, 196, - -1, -1, -1, -1, -1, -1, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, -1, 214, 215, -1, - 217, -1, -1, 220, 221, 222, 223, 224, -1, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, 236, - 237, 238, 239, -1, -1, -1, -1, 244, -1, 246, - 247, 248, -1, -1, 251, 252, -1, 254, -1, 256, - -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, - 267, 268, 269, 270, -1, 272, 273, 274, 275, 276, - -1, -1, 279, -1, 281, 282, 283, 284, 285, -1, - -1, 288, 289, 290, -1, -1, -1, -1, -1, 296, - -1, -1, -1, 300, -1, 302, -1, -1, -1, -1, - -1, 308, 309, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, -1, 14, -1, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, - 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 61, 62, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 76, 77, 78, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 94, 95, -1, -1, -1, -1, - -1, 101, -1, -1, -1, -1, -1, -1, -1, 109, - -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, - 120, -1, -1, 123, -1, -1, 126, -1, -1, -1, - -1, 131, 132, -1, -1, -1, -1, -1, 138, 139, - 140, -1, 142, -1, 144, 145, -1, 147, -1, 149, - 150, 151, -1, 153, 154, -1, -1, -1, -1, -1, - -1, -1, 162, 163, -1, -1, 166, -1, 168, -1, - -1, -1, 172, 173, -1, -1, -1, -1, -1, -1, - -1, 181, 182, 183, 184, -1, -1, -1, -1, 189, - -1, -1, -1, -1, -1, -1, 196, -1, -1, -1, - -1, -1, -1, 203, 204, 205, 206, 207, 208, -1, - 210, 211, 212, -1, 214, 215, -1, 217, -1, -1, - 220, 221, 222, 223, 224, -1, 226, 227, 228, -1, - -1, 231, 232, 233, 234, 235, 236, 237, 238, 239, - -1, -1, -1, -1, 244, -1, 246, 247, 248, -1, - -1, 251, 252, -1, 254, -1, 256, -1, 258, 259, - 260, 261, 262, -1, 264, 265, 266, 267, 268, 269, - 270, -1, 272, 273, 274, 275, 276, -1, -1, 279, - -1, 281, 282, 283, 284, 285, -1, -1, 288, 289, - 290, -1, -1, -1, -1, -1, 296, -1, -1, -1, - 300, -1, 302, -1, -1, -1, -1, -1, 308, 309, - 3, -1, 5, 6, 7, 8, -1, 10, 11, 12, - -1, 14, -1, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, - 33, -1, 35, 36, 37, 38, 39, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 61, 62, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 77, 78, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 94, 95, -1, -1, -1, -1, -1, 101, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, - -1, -1, -1, -1, -1, -1, -1, 120, -1, -1, - 123, -1, -1, -1, -1, -1, -1, -1, 131, 132, - -1, -1, -1, -1, -1, 138, 139, 140, -1, 142, - -1, 144, 145, -1, -1, -1, -1, 150, 151, -1, - 153, 154, -1, -1, -1, -1, -1, -1, -1, 162, - 163, -1, -1, 166, -1, 168, -1, -1, -1, 172, - 173, -1, -1, -1, -1, -1, -1, -1, 181, 182, - 183, 184, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 196, -1, -1, -1, -1, -1, -1, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - -1, 214, 215, -1, 217, -1, -1, 220, 221, 222, - 223, 224, -1, 226, 227, 228, -1, -1, 231, 232, - 233, 234, 235, 236, 237, 238, 239, -1, -1, -1, - -1, 244, -1, 246, 247, 248, -1, -1, 251, 252, - -1, 254, -1, 256, -1, 258, 259, 260, 261, 262, - -1, 264, 265, 266, 267, 268, -1, 270, -1, 272, - 273, 274, 275, 276, -1, -1, 279, -1, 281, 282, - -1, -1, 285, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, -1, 14, 309, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, - 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, - 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 61, 62, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 72, -1, -1, 75, 76, 77, 78, - -1, -1, 81, -1, -1, -1, -1, -1, -1, 88, - 89, 90, 91, 92, -1, 94, 95, -1, -1, -1, - -1, -1, 101, -1, -1, -1, -1, -1, 107, 108, - 109, -1, 111, -1, -1, 114, -1, -1, -1, -1, - -1, 120, -1, -1, 123, -1, -1, 126, -1, -1, - -1, -1, 131, 132, 133, -1, -1, -1, -1, 138, - 139, 140, -1, 142, -1, 144, 145, -1, 147, 148, - 149, 150, 151, -1, 153, 154, -1, -1, -1, -1, - 159, -1, -1, 162, 163, -1, -1, 166, -1, 168, - -1, -1, -1, 172, 173, -1, -1, 176, -1, -1, - -1, -1, 181, 182, 183, 184, -1, 186, -1, 188, - 189, -1, -1, -1, 193, -1, -1, 196, -1, -1, - -1, -1, -1, -1, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, -1, 214, 215, -1, 217, -1, - -1, 220, 221, 222, 223, 224, -1, 226, 227, 228, - -1, -1, 231, 232, 233, 234, 235, 236, 237, 238, - 239, -1, -1, -1, -1, 244, -1, 246, 247, 248, - -1, 250, 251, 252, -1, 254, -1, 256, -1, 258, - 259, 260, 261, 262, -1, 264, 265, 266, 267, 268, - 269, 270, -1, 272, 273, 274, 275, 276, -1, -1, - 279, -1, 281, 282, 283, 284, 285, 286, -1, 288, - 289, 290, -1, -1, -1, -1, -1, 296, -1, -1, - 299, 300, -1, 302, -1, -1, -1, -1, -1, 308, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -1, 14, -1, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, - 33, -1, 35, 36, 37, 38, 39, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 61, 62, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, - -1, -1, 75, 76, 77, 78, -1, -1, 81, -1, - -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, -1, 101, -1, - -1, -1, -1, -1, 107, 108, 109, -1, 111, -1, - -1, 114, -1, -1, -1, -1, -1, 120, -1, -1, - 123, -1, -1, 126, -1, -1, -1, -1, 131, 132, - 133, -1, -1, -1, -1, 138, 139, 140, -1, 142, - -1, 144, 145, -1, 147, 148, 149, 150, 151, -1, - 153, 154, -1, -1, -1, -1, 159, -1, -1, 162, - 163, -1, -1, 166, -1, 168, -1, -1, -1, 172, - 173, -1, -1, 176, -1, -1, -1, -1, 181, 182, - 183, 184, -1, 186, -1, 188, 189, -1, -1, -1, - 193, -1, -1, 196, -1, -1, -1, -1, -1, -1, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - -1, 214, 215, -1, 217, -1, -1, 220, 221, 222, - 223, 224, -1, 226, 227, 228, -1, -1, 231, 232, - 233, 234, 235, 236, 237, 238, 239, -1, -1, -1, - -1, 244, -1, 246, 247, 248, -1, 250, 251, 252, - -1, 254, -1, 256, -1, 258, 259, 260, 261, 262, - -1, 264, 265, 266, 267, 268, 269, 270, -1, 272, - 273, 274, 275, 276, -1, -1, 279, -1, 281, 282, - 283, 284, 285, 286, -1, 288, 289, 290, -1, -1, - -1, -1, -1, 296, -1, -1, 299, 300, -1, 302, - -1, -1, -1, -1, -1, 308, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, -1, 14, -1, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - -1, 28, 29, 30, 31, 32, 33, -1, 35, 36, - 37, 38, 39, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 61, 62, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 72, -1, -1, 75, 76, - 77, 78, -1, -1, 81, -1, -1, -1, -1, -1, - -1, 88, 89, 90, 91, 92, -1, 94, 95, -1, - -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, - 107, 108, 109, -1, 111, -1, -1, 114, -1, -1, - -1, -1, -1, 120, -1, -1, 123, -1, -1, 126, - -1, -1, -1, -1, 131, 132, 133, -1, -1, -1, - -1, 138, 139, 140, -1, 142, -1, 144, 145, -1, - 147, 148, 149, 150, 151, -1, 153, 154, -1, -1, - -1, -1, 159, -1, -1, 162, 163, -1, -1, 166, - -1, 168, -1, -1, -1, 172, 173, -1, -1, 176, - -1, -1, -1, -1, 181, 182, 183, 184, -1, 186, - -1, 188, 189, -1, -1, -1, 193, -1, -1, 196, - -1, -1, -1, -1, -1, -1, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, -1, 214, 215, -1, - 217, -1, -1, 220, 221, 222, 223, 224, -1, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, 236, - 237, 238, 239, -1, -1, -1, -1, 244, -1, 246, - 247, 248, -1, 250, 251, 252, -1, 254, -1, 256, - -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, - 267, 268, 269, 270, -1, 272, 273, 274, 275, 276, - -1, -1, 279, -1, 281, 282, 283, 284, 285, 286, - -1, 288, 289, 290, -1, -1, -1, -1, -1, 296, - -1, -1, 299, 300, -1, 302, -1, -1, -1, -1, - -1, 308, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, -1, 14, -1, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, - 31, 32, 33, -1, 35, 36, 37, 38, 39, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 61, 62, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 72, -1, -1, 75, 76, 77, 78, -1, -1, - 81, -1, -1, -1, -1, -1, -1, 88, 89, 90, - 91, 92, -1, 94, 95, -1, -1, -1, -1, -1, - 101, -1, -1, -1, -1, -1, 107, 108, 109, -1, - 111, -1, -1, 114, -1, -1, -1, -1, -1, 120, - -1, -1, 123, -1, -1, 126, -1, -1, -1, -1, - 131, 132, 133, -1, -1, -1, -1, 138, 139, 140, - -1, 142, -1, 144, 145, -1, 147, 148, 149, 150, - 151, -1, 153, 154, -1, -1, -1, -1, 159, -1, - -1, 162, 163, -1, -1, 166, -1, 168, -1, -1, - -1, 172, 173, -1, -1, 176, -1, -1, -1, -1, - 181, 182, 183, 184, -1, 186, -1, 188, 189, -1, - -1, -1, 193, -1, -1, 196, -1, -1, -1, -1, - -1, -1, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, -1, 214, 215, -1, 217, -1, -1, 220, - 221, 222, 223, 224, -1, 226, 227, 228, -1, -1, - 231, 232, 233, 234, 235, 236, 237, 238, 239, -1, - -1, -1, -1, 244, -1, 246, 247, 248, -1, 250, - 251, 252, -1, 254, -1, 256, -1, 258, 259, 260, - 261, 262, -1, 264, 265, 266, 267, 268, 269, 270, - -1, 272, 273, 274, 275, 276, -1, -1, 279, -1, - 281, 282, 283, 284, 285, 286, -1, 288, 289, 290, - -1, -1, -1, -1, -1, 296, -1, -1, 299, 300, - -1, 302, -1, -1, -1, -1, -1, 308, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, - -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, -1, 28, 29, 30, 31, 32, 33, -1, - 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 61, 62, -1, 64, - -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, - 75, 76, 77, 78, -1, -1, 81, -1, -1, -1, - -1, -1, -1, 88, 89, 90, 91, 92, -1, 94, - 95, -1, -1, -1, -1, -1, 101, -1, -1, -1, - -1, -1, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, 120, -1, -1, 123, -1, - -1, 126, -1, -1, -1, -1, 131, 132, -1, -1, - -1, -1, -1, 138, 139, 140, -1, 142, -1, 144, - 145, -1, 147, 148, 149, 150, 151, -1, 153, 154, - -1, -1, -1, -1, 159, -1, -1, 162, 163, -1, - -1, 166, -1, 168, -1, -1, -1, 172, 173, -1, - -1, 176, -1, -1, -1, -1, 181, 182, 183, 184, - -1, -1, -1, 188, 189, -1, -1, -1, 193, -1, - -1, 196, -1, -1, -1, -1, -1, -1, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, -1, 214, - 215, -1, 217, -1, -1, 220, 221, 222, 223, 224, - -1, 226, 227, 228, -1, -1, 231, 232, 233, 234, - 235, 236, 237, 238, 239, -1, -1, -1, -1, 244, - -1, 246, 247, 248, -1, 250, 251, 252, -1, 254, - -1, 256, -1, 258, 259, 260, 261, 262, -1, 264, - 265, 266, 267, 268, 269, 270, -1, 272, 273, 274, - 275, 276, -1, -1, 279, -1, 281, 282, 283, 284, - 285, 286, -1, 288, 289, 290, -1, -1, -1, -1, - -1, 296, -1, -1, 299, 300, -1, 302, -1, -1, - -1, -1, -1, 308, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, -1, 14, -1, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, - 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, - 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 61, 62, -1, 64, -1, -1, 67, -1, - -1, -1, -1, -1, -1, -1, 75, 76, 77, 78, - -1, -1, 81, -1, -1, -1, -1, -1, -1, 88, - 89, 90, 91, 92, -1, 94, 95, -1, -1, -1, - -1, -1, 101, -1, -1, -1, -1, -1, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, 120, -1, -1, 123, -1, -1, 126, -1, -1, - -1, -1, 131, 132, -1, -1, -1, -1, -1, 138, - 139, 140, -1, 142, -1, 144, 145, -1, 147, 148, - 149, 150, 151, -1, 153, 154, -1, -1, -1, -1, - 159, -1, -1, 162, 163, -1, -1, 166, -1, 168, - -1, -1, -1, 172, 173, -1, -1, 176, -1, -1, - -1, -1, 181, 182, 183, 184, -1, -1, -1, 188, - 189, -1, -1, -1, 193, -1, -1, 196, -1, -1, - -1, -1, -1, -1, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, -1, 214, 215, -1, 217, -1, - -1, 220, 221, 222, 223, 224, -1, 226, 227, 228, - -1, -1, 231, 232, 233, 234, 235, 236, 237, 238, - 239, -1, -1, -1, -1, 244, -1, 246, 247, 248, - -1, 250, 251, 252, -1, 254, -1, 256, -1, 258, - 259, 260, 261, 262, -1, 264, 265, 266, 267, 268, - 269, 270, -1, 272, 273, 274, 275, 276, -1, -1, - 279, -1, 281, 282, 283, 284, 285, 286, -1, 288, - 289, 290, -1, -1, -1, -1, -1, 296, -1, -1, - 299, 300, -1, 302, -1, -1, -1, -1, -1, 308, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -1, 14, -1, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, - 33, -1, 35, 36, 37, 38, 39, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 61, 62, - -1, 64, -1, -1, 67, -1, -1, -1, -1, -1, - -1, -1, 75, 76, 77, 78, -1, -1, 81, -1, - -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, -1, 101, -1, - -1, -1, -1, -1, 107, 108, 109, -1, 111, -1, - -1, -1, -1, -1, -1, -1, -1, 120, -1, -1, - 123, -1, -1, 126, -1, -1, -1, -1, 131, 132, - -1, -1, -1, -1, -1, 138, 139, 140, -1, 142, - -1, 144, 145, -1, 147, 148, 149, 150, 151, -1, - 153, 154, -1, -1, -1, -1, 159, -1, -1, 162, - 163, -1, -1, 166, -1, 168, -1, -1, -1, 172, - 173, -1, -1, 176, -1, -1, -1, -1, 181, 182, - 183, 184, -1, -1, -1, 188, 189, -1, -1, -1, - 193, -1, -1, 196, -1, -1, -1, -1, -1, -1, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - -1, 214, 215, -1, 217, -1, -1, 220, 221, 222, - 223, 224, -1, 226, 227, 228, -1, -1, 231, 232, - 233, 234, 235, 236, 237, 238, 239, -1, -1, -1, - -1, 244, -1, 246, 247, 248, -1, 250, 251, 252, - -1, 254, -1, 256, -1, 258, 259, 260, 261, 262, - -1, 264, 265, 266, 267, 268, 269, 270, -1, 272, - 273, 274, 275, 276, -1, -1, 279, -1, 281, 282, - 283, 284, 285, 286, -1, 288, 289, 290, -1, -1, - -1, -1, -1, 296, -1, -1, 299, 300, -1, 302, - -1, -1, -1, -1, -1, 308, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, -1, 14, -1, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - -1, 28, 29, 30, 31, 32, 33, -1, 35, 36, - 37, 38, 39, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 61, 62, -1, 64, -1, -1, - 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, - 77, 78, -1, -1, 81, -1, -1, -1, -1, -1, - -1, 88, 89, 90, 91, 92, -1, 94, 95, -1, - -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, - 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, - -1, -1, -1, 120, -1, -1, 123, -1, -1, 126, - -1, -1, -1, -1, 131, 132, -1, -1, -1, -1, - -1, 138, 139, 140, -1, 142, -1, 144, 145, -1, - 147, 148, 149, 150, 151, -1, 153, 154, -1, -1, - -1, -1, 159, -1, -1, 162, 163, -1, -1, 166, - -1, 168, -1, -1, -1, 172, 173, -1, -1, 176, - -1, -1, -1, -1, 181, 182, 183, 184, -1, -1, - -1, 188, 189, -1, -1, -1, 193, -1, -1, 196, - -1, -1, -1, -1, -1, -1, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, -1, 214, 215, -1, - 217, -1, -1, 220, 221, 222, 223, 224, -1, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, 236, - 237, 238, 239, -1, -1, -1, -1, 244, -1, 246, - 247, 248, -1, 250, 251, 252, -1, 254, -1, 256, - -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, - 267, 268, 269, 270, -1, 272, 273, 274, 275, 276, - -1, -1, 279, -1, 281, 282, 283, 284, 285, 286, - -1, 288, 289, 290, -1, -1, -1, -1, -1, 296, - -1, -1, 299, 300, -1, 302, -1, -1, -1, -1, - -1, 308, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, -1, 14, -1, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, - 31, 32, 33, -1, 35, 36, 37, 38, 39, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 61, 62, -1, 64, -1, -1, 67, -1, -1, -1, - -1, -1, -1, -1, 75, 76, 77, 78, -1, -1, - 81, -1, -1, -1, -1, -1, -1, 88, 89, 90, - 91, 92, -1, 94, 95, -1, -1, -1, -1, -1, - 101, -1, -1, -1, -1, -1, 107, 108, 109, -1, - 111, -1, -1, -1, -1, -1, -1, -1, -1, 120, - -1, -1, 123, -1, -1, 126, -1, -1, -1, -1, - 131, 132, -1, -1, -1, -1, -1, 138, 139, 140, - -1, 142, -1, 144, 145, -1, 147, 148, 149, 150, - 151, -1, 153, 154, -1, -1, -1, -1, 159, -1, - -1, 162, 163, -1, -1, 166, -1, 168, -1, -1, - -1, 172, 173, -1, -1, 176, -1, -1, -1, -1, - 181, 182, 183, 184, -1, -1, -1, 188, 189, -1, - -1, -1, 193, -1, -1, 196, -1, -1, -1, -1, - -1, -1, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, -1, 214, 215, -1, 217, -1, -1, 220, - 221, 222, 223, 224, -1, 226, 227, 228, -1, -1, - 231, 232, 233, 234, 235, 236, 237, 238, 239, -1, - -1, -1, -1, 244, -1, 246, 247, 248, -1, 250, - 251, 252, -1, 254, -1, 256, -1, 258, 259, 260, - 261, 262, -1, 264, 265, 266, 267, 268, 269, 270, - -1, 272, 273, 274, 275, 276, -1, -1, 279, -1, - 281, 282, 283, 284, 285, 286, -1, 288, 289, 290, - -1, -1, -1, -1, -1, 296, -1, -1, 299, 300, - -1, 302, -1, -1, -1, -1, -1, 308, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, - -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, -1, 28, 29, 30, 31, 32, 33, -1, - 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 61, 62, -1, 64, - -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, - 75, 76, 77, 78, -1, -1, 81, -1, -1, -1, - -1, -1, -1, 88, 89, 90, 91, 92, -1, 94, - 95, -1, -1, -1, -1, -1, 101, -1, -1, -1, - -1, -1, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, 120, -1, -1, 123, -1, - -1, 126, -1, -1, -1, -1, 131, 132, -1, -1, - -1, -1, -1, 138, 139, 140, -1, 142, -1, 144, - 145, -1, 147, 148, 149, 150, 151, -1, 153, 154, - -1, -1, -1, -1, 159, -1, -1, 162, 163, -1, - -1, 166, -1, 168, -1, -1, -1, 172, 173, -1, - -1, 176, -1, -1, -1, -1, 181, 182, 183, 184, - -1, -1, -1, 188, 189, -1, -1, -1, 193, -1, - -1, 196, -1, -1, -1, -1, -1, -1, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, -1, 214, - 215, -1, 217, -1, -1, 220, 221, 222, 223, 224, - -1, 226, 227, 228, -1, -1, 231, 232, 233, 234, - 235, 236, 237, 238, 239, -1, -1, -1, -1, 244, - -1, 246, 247, 248, -1, 250, 251, 252, -1, 254, - -1, 256, -1, 258, 259, 260, 261, 262, -1, 264, - 265, 266, 267, 268, 269, 270, -1, 272, 273, 274, - 275, 276, -1, -1, 279, -1, 281, 282, 283, 284, - 285, 286, -1, 288, 289, 290, -1, -1, -1, -1, - -1, 296, -1, -1, 299, 300, -1, 302, -1, -1, - -1, -1, -1, 308, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, -1, 14, -1, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, - 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, - 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 61, 62, -1, 64, -1, -1, 67, -1, - -1, -1, -1, -1, -1, -1, 75, 76, 77, 78, - -1, -1, 81, -1, -1, -1, -1, -1, -1, 88, - 89, 90, 91, 92, -1, 94, 95, -1, -1, -1, - -1, -1, 101, -1, -1, -1, -1, -1, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, 120, -1, -1, 123, -1, -1, 126, -1, -1, - -1, -1, 131, 132, -1, -1, -1, -1, -1, 138, - 139, 140, -1, 142, -1, 144, 145, -1, 147, 148, - 149, 150, 151, -1, 153, 154, -1, -1, -1, -1, - 159, -1, -1, 162, 163, -1, -1, 166, -1, 168, - -1, -1, -1, 172, 173, -1, -1, 176, -1, -1, - -1, -1, 181, 182, 183, 184, -1, -1, -1, 188, - 189, -1, -1, -1, 193, -1, -1, 196, -1, -1, - -1, -1, -1, -1, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, -1, 214, 215, -1, 217, -1, - -1, 220, 221, 222, 223, 224, -1, 226, 227, 228, - -1, -1, 231, 232, 233, 234, 235, 236, 237, 238, - 239, -1, -1, -1, -1, 244, -1, 246, 247, 248, - -1, 250, 251, 252, -1, 254, -1, 256, -1, 258, - 259, 260, 261, 262, -1, 264, 265, 266, 267, 268, - 269, 270, -1, 272, 273, 274, 275, 276, -1, -1, - 279, -1, 281, 282, 283, 284, 285, 286, -1, 288, - 289, 290, -1, -1, -1, -1, -1, 296, -1, -1, - 299, 300, -1, 302, -1, -1, -1, -1, -1, 308, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -1, 14, -1, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, - 33, -1, 35, 36, 37, 38, 39, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 61, 62, - -1, 64, -1, -1, 67, -1, -1, -1, -1, -1, - -1, -1, 75, 76, 77, 78, -1, -1, 81, -1, - -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, -1, 101, -1, - -1, -1, -1, -1, 107, 108, 109, -1, 111, -1, - -1, -1, -1, -1, -1, -1, -1, 120, -1, -1, - 123, -1, -1, 126, -1, -1, -1, -1, 131, 132, - -1, -1, -1, -1, -1, 138, 139, 140, -1, 142, - -1, 144, 145, -1, -1, 148, 149, 150, 151, -1, - 153, 154, -1, -1, -1, -1, 159, -1, -1, 162, - 163, -1, -1, 166, -1, 168, -1, -1, -1, 172, - 173, -1, -1, 176, -1, -1, -1, -1, 181, 182, - 183, 184, -1, -1, -1, 188, 189, -1, -1, -1, - 193, -1, -1, 196, -1, -1, -1, -1, -1, -1, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - -1, 214, 215, -1, 217, -1, -1, 220, 221, 222, - 223, 224, -1, 226, 227, 228, -1, -1, 231, 232, - 233, 234, 235, 236, 237, 238, 239, -1, -1, -1, - -1, 244, -1, 246, 247, 248, -1, 250, 251, 252, - -1, 254, -1, 256, -1, 258, 259, 260, 261, 262, - -1, 264, 265, 266, 267, 268, 269, 270, -1, 272, - 273, 274, 275, 276, -1, -1, 279, -1, 281, 282, - 283, -1, 285, 286, -1, 288, 289, 290, -1, -1, - -1, -1, -1, 296, -1, -1, 299, 300, 301, 302, - -1, -1, -1, 306, -1, 308, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, -1, 14, -1, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - -1, 28, 29, 30, 31, 32, 33, -1, 35, 36, - 37, 38, 39, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 61, 62, -1, 64, -1, -1, - 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, - 77, 78, -1, -1, 81, -1, -1, -1, -1, -1, - -1, 88, 89, 90, 91, 92, -1, 94, 95, -1, - -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, - 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, - -1, -1, -1, 120, -1, -1, 123, -1, -1, 126, - -1, -1, -1, -1, 131, 132, -1, -1, -1, -1, - -1, 138, 139, 140, -1, 142, -1, 144, 145, -1, - 147, 148, 149, 150, 151, -1, 153, 154, -1, -1, - -1, -1, 159, -1, -1, 162, 163, -1, -1, 166, - -1, 168, -1, -1, -1, 172, 173, -1, -1, 176, - -1, -1, -1, -1, 181, 182, 183, 184, -1, -1, - -1, 188, 189, -1, -1, -1, 193, -1, -1, 196, - -1, -1, -1, -1, -1, -1, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, -1, 214, 215, -1, - 217, -1, -1, 220, 221, 222, 223, 224, -1, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, 236, - 237, 238, 239, -1, -1, -1, -1, 244, -1, 246, - 247, 248, -1, 250, 251, 252, -1, 254, -1, 256, - -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, - 267, 268, 269, 270, -1, 272, 273, 274, 275, 276, - -1, -1, 279, -1, 281, 282, 283, 284, 285, 286, - -1, 288, 289, 290, -1, -1, -1, -1, -1, 296, - -1, -1, 299, 300, -1, 302, -1, -1, -1, -1, - -1, 308, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, -1, 14, -1, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, - 31, 32, 33, -1, 35, 36, 37, 38, 39, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 61, 62, -1, 64, -1, -1, 67, -1, -1, -1, - -1, -1, -1, -1, 75, 76, 77, 78, -1, -1, - 81, -1, -1, -1, -1, -1, -1, 88, 89, 90, - 91, 92, -1, 94, 95, -1, -1, -1, -1, -1, - 101, -1, -1, -1, -1, -1, 107, 108, 109, -1, - 111, -1, -1, -1, -1, -1, -1, -1, -1, 120, - -1, -1, 123, -1, -1, 126, -1, -1, -1, -1, - 131, 132, -1, -1, -1, -1, -1, 138, 139, 140, - -1, 142, -1, 144, 145, -1, 147, 148, 149, 150, - 151, -1, 153, 154, -1, -1, -1, -1, 159, -1, - -1, 162, 163, -1, -1, 166, -1, 168, -1, -1, - -1, 172, 173, -1, -1, 176, -1, -1, -1, -1, - 181, 182, 183, 184, -1, -1, -1, 188, 189, -1, - -1, -1, 193, -1, -1, 196, -1, -1, -1, -1, - -1, -1, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, -1, 214, 215, -1, 217, -1, -1, 220, - 221, 222, 223, 224, -1, 226, 227, 228, -1, -1, - 231, 232, 233, 234, 235, 236, 237, 238, 239, -1, - -1, -1, -1, 244, -1, 246, 247, 248, -1, 250, - 251, 252, -1, 254, -1, 256, -1, 258, 259, 260, - 261, 262, -1, 264, 265, 266, 267, 268, 269, 270, - -1, 272, 273, 274, 275, 276, -1, -1, 279, -1, - 281, 282, 283, 284, 285, 286, -1, 288, 289, 290, - -1, -1, -1, -1, -1, 296, -1, -1, 299, 300, - -1, 302, -1, -1, -1, -1, -1, 308, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, - -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, -1, 28, 29, 30, 31, 32, 33, -1, - 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 61, 62, -1, 64, - -1, -1, 67, -1, -1, -1, -1, -1, -1, -1, - 75, 76, 77, 78, -1, -1, 81, -1, -1, -1, - -1, -1, -1, 88, 89, 90, 91, 92, -1, 94, - 95, -1, -1, -1, -1, -1, 101, -1, -1, -1, - -1, -1, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, 120, -1, -1, 123, -1, - -1, 126, -1, -1, -1, -1, 131, 132, -1, -1, - -1, -1, -1, 138, 139, 140, -1, 142, -1, 144, - 145, -1, 147, 148, 149, 150, 151, -1, 153, 154, - -1, -1, -1, -1, 159, -1, -1, 162, 163, -1, - -1, 166, -1, 168, -1, -1, -1, 172, 173, -1, - -1, 176, -1, -1, -1, -1, 181, 182, 183, 184, - -1, -1, -1, 188, 189, -1, -1, -1, 193, -1, - -1, 196, -1, -1, -1, -1, -1, -1, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, -1, 214, - 215, -1, 217, -1, -1, 220, 221, 222, 223, 224, - -1, 226, 227, 228, -1, -1, 231, 232, 233, 234, - 235, 236, 237, 238, 239, -1, -1, -1, -1, 244, - -1, 246, 247, 248, -1, 250, 251, 252, -1, 254, - -1, 256, -1, 258, 259, 260, 261, 262, -1, 264, - 265, 266, 267, 268, 269, 270, -1, 272, 273, 274, - 275, 276, -1, -1, 279, -1, 281, 282, 283, 284, - 285, 286, -1, 288, 289, 290, -1, -1, -1, -1, - -1, 296, -1, -1, 299, 300, -1, 302, -1, -1, - -1, -1, -1, 308, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, -1, 14, -1, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, - 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, - 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 61, 62, -1, 64, -1, -1, 67, -1, - -1, -1, -1, -1, -1, -1, 75, 76, 77, 78, - -1, -1, 81, -1, -1, -1, -1, -1, -1, 88, - 89, 90, 91, 92, -1, 94, 95, -1, -1, -1, - -1, -1, 101, -1, -1, -1, -1, -1, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, 120, -1, -1, 123, -1, -1, 126, -1, -1, - -1, -1, 131, 132, -1, -1, -1, -1, -1, 138, - 139, 140, -1, 142, -1, 144, 145, -1, 147, 148, - 149, 150, 151, -1, 153, 154, -1, -1, -1, -1, - 159, -1, -1, 162, 163, -1, -1, 166, -1, 168, - -1, -1, -1, 172, 173, -1, -1, 176, -1, -1, - -1, -1, 181, 182, 183, 184, -1, -1, -1, 188, - 189, -1, -1, -1, 193, -1, -1, 196, -1, -1, - -1, -1, -1, -1, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, -1, 214, 215, -1, 217, -1, - -1, 220, 221, 222, 223, 224, -1, 226, 227, 228, - -1, -1, 231, 232, 233, 234, 235, 236, 237, 238, - 239, -1, -1, -1, -1, 244, -1, 246, 247, 248, - -1, 250, 251, 252, -1, 254, -1, 256, -1, 258, - 259, 260, 261, 262, -1, 264, 265, 266, 267, 268, - 269, 270, -1, 272, 273, 274, 275, 276, -1, -1, - 279, -1, 281, 282, 283, 284, 285, 286, -1, 288, - 289, 290, -1, -1, -1, -1, -1, 296, -1, -1, - 299, 300, -1, 302, -1, -1, -1, -1, -1, 308, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -1, 14, -1, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, - 33, -1, 35, 36, 37, 38, 39, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 61, 62, - -1, 64, -1, -1, 67, -1, -1, -1, -1, -1, - -1, -1, 75, 76, 77, 78, -1, -1, 81, -1, - -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, -1, 101, -1, - -1, -1, -1, -1, 107, 108, 109, -1, 111, -1, - -1, -1, -1, -1, -1, -1, -1, 120, -1, -1, - 123, -1, -1, 126, -1, -1, -1, -1, 131, 132, - -1, -1, -1, -1, -1, 138, 139, 140, -1, 142, - -1, 144, 145, -1, 147, 148, 149, 150, 151, -1, - 153, 154, -1, -1, -1, -1, 159, -1, -1, 162, - 163, -1, -1, 166, -1, 168, -1, -1, -1, 172, - 173, -1, -1, 176, -1, -1, -1, -1, 181, 182, - 183, 184, -1, -1, -1, 188, 189, -1, -1, -1, - 193, -1, -1, 196, -1, -1, -1, -1, -1, -1, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - -1, 214, 215, -1, 217, -1, -1, 220, 221, 222, - 223, 224, -1, 226, 227, 228, -1, -1, 231, 232, - 233, 234, 235, 236, 237, 238, 239, -1, -1, -1, - -1, 244, -1, 246, 247, 248, -1, 250, 251, 252, - -1, 254, -1, 256, -1, 258, 259, 260, 261, 262, - -1, 264, 265, 266, 267, 268, 269, 270, -1, 272, - 273, 274, 275, 276, -1, -1, 279, -1, 281, 282, - 283, 284, 285, 286, -1, 288, 289, 290, -1, -1, - -1, -1, -1, 296, -1, -1, 299, 300, -1, 302, - -1, -1, -1, -1, -1, 308, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, -1, 14, -1, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - -1, 28, 29, 30, 31, 32, 33, -1, 35, 36, - 37, 38, 39, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 61, 62, -1, 64, -1, -1, - 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, - 77, 78, -1, -1, 81, -1, -1, -1, -1, -1, - -1, 88, 89, 90, 91, 92, -1, 94, 95, -1, - -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, - 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, - -1, -1, -1, 120, -1, -1, 123, -1, -1, 126, - -1, -1, -1, -1, 131, 132, -1, -1, -1, -1, - -1, 138, 139, 140, -1, 142, -1, 144, 145, -1, - 147, 148, 149, 150, 151, -1, 153, 154, -1, -1, - -1, -1, 159, -1, -1, 162, 163, -1, -1, 166, - -1, 168, -1, -1, -1, 172, 173, -1, -1, 176, - -1, -1, -1, -1, 181, 182, 183, 184, -1, -1, - -1, 188, 189, -1, -1, -1, 193, -1, -1, 196, - -1, -1, -1, -1, -1, -1, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, -1, 214, 215, -1, - 217, -1, -1, 220, 221, 222, 223, 224, -1, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, 236, - 237, 238, 239, -1, -1, -1, -1, 244, -1, 246, - 247, 248, -1, 250, 251, 252, -1, 254, -1, 256, - -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, - 267, 268, 269, 270, -1, 272, 273, 274, 275, 276, - -1, -1, 279, -1, 281, 282, 283, 284, 285, 286, - -1, 288, 289, 290, -1, -1, -1, -1, -1, 296, - -1, -1, 299, 300, -1, 302, -1, -1, -1, -1, - -1, 308, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, -1, 14, -1, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, - 31, 32, 33, -1, 35, 36, 37, 38, 39, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 61, 62, -1, 64, -1, -1, 67, -1, -1, -1, - -1, -1, -1, -1, 75, 76, 77, 78, -1, -1, - 81, -1, -1, -1, -1, -1, -1, 88, 89, 90, - 91, 92, -1, 94, 95, -1, -1, -1, -1, -1, - 101, -1, -1, -1, -1, -1, 107, 108, 109, -1, - 111, -1, -1, -1, -1, -1, -1, -1, -1, 120, - -1, -1, 123, -1, -1, 126, -1, -1, -1, -1, - 131, 132, -1, -1, -1, -1, -1, 138, 139, 140, - -1, 142, -1, 144, 145, -1, 147, 148, 149, 150, - 151, -1, 153, 154, -1, -1, -1, -1, 159, -1, - -1, 162, 163, -1, -1, 166, -1, 168, -1, -1, - -1, 172, 173, -1, -1, 176, -1, -1, -1, -1, - 181, 182, 183, 184, -1, -1, -1, 188, 189, -1, - -1, -1, 193, -1, -1, 196, -1, -1, -1, -1, - -1, -1, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, -1, 214, 215, -1, 217, -1, -1, 220, - 221, 222, 223, 224, -1, 226, 227, 228, -1, -1, - 231, 232, 233, 234, 235, 236, 237, 238, 239, -1, - -1, -1, -1, 244, -1, 246, 247, 248, -1, 250, - 251, 252, -1, 254, -1, 256, -1, 258, 259, 260, - 261, 262, -1, 264, 265, 266, 267, 268, 269, 270, - -1, 272, 273, 274, 275, 276, -1, -1, 279, -1, - 281, 282, 283, 284, 285, 286, -1, 288, 289, 290, - -1, -1, -1, -1, -1, 296, -1, -1, 299, 300, - -1, 302, -1, -1, -1, -1, -1, 308, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, - -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, -1, 28, 29, 30, 31, 32, 33, -1, - 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 61, 62, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 75, 76, 77, 78, -1, -1, 81, -1, -1, -1, - -1, -1, -1, 88, 89, 90, 91, 92, -1, 94, - 95, -1, -1, -1, -1, -1, 101, -1, -1, -1, - -1, -1, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, 120, -1, -1, 123, -1, - -1, 126, -1, -1, -1, -1, 131, 132, -1, -1, - -1, -1, -1, 138, 139, 140, -1, 142, -1, 144, - 145, -1, 147, 148, 149, 150, 151, -1, 153, 154, - -1, -1, -1, -1, 159, -1, -1, 162, 163, -1, - -1, 166, -1, 168, -1, -1, -1, 172, 173, -1, - -1, 176, -1, -1, -1, -1, 181, 182, 183, 184, - -1, -1, -1, 188, 189, -1, -1, -1, 193, -1, - -1, 196, -1, -1, -1, -1, -1, -1, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, -1, 214, - 215, -1, 217, -1, -1, 220, 221, 222, 223, 224, - -1, 226, 227, 228, -1, -1, 231, 232, 233, 234, - 235, 236, 237, 238, 239, -1, -1, -1, -1, 244, - -1, 246, 247, 248, -1, 250, 251, 252, -1, 254, - -1, 256, -1, 258, 259, 260, 261, 262, -1, 264, - 265, 266, 267, 268, 269, 270, -1, 272, 273, 274, - 275, 276, -1, -1, 279, -1, 281, 282, 283, 284, - 285, 286, -1, 288, 289, 290, -1, -1, -1, -1, - -1, 296, 297, -1, 299, 300, -1, 302, -1, -1, - -1, -1, -1, 308, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, -1, 14, -1, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, - 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, - 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 61, 62, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 75, 76, 77, 78, - -1, -1, 81, -1, -1, -1, -1, -1, -1, 88, - 89, 90, 91, 92, -1, 94, 95, -1, -1, -1, - -1, -1, 101, -1, -1, -1, -1, -1, 107, 108, - 109, -1, 111, -1, -1, 114, -1, -1, -1, -1, - -1, 120, -1, -1, 123, -1, -1, 126, -1, -1, - -1, -1, 131, 132, -1, -1, -1, -1, -1, 138, - 139, 140, -1, 142, -1, 144, 145, -1, 147, 148, - 149, 150, 151, -1, 153, 154, -1, -1, -1, -1, - 159, -1, -1, 162, 163, -1, -1, 166, -1, 168, - -1, -1, -1, 172, 173, -1, -1, 176, -1, -1, - -1, -1, 181, 182, 183, 184, -1, -1, -1, 188, - 189, -1, -1, -1, 193, -1, -1, 196, -1, -1, - -1, -1, -1, -1, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, -1, 214, 215, -1, 217, -1, - -1, 220, 221, 222, 223, 224, -1, 226, 227, 228, - -1, -1, 231, 232, 233, 234, 235, 236, 237, 238, - 239, -1, -1, -1, -1, 244, -1, 246, 247, 248, - -1, 250, 251, 252, -1, 254, -1, 256, -1, 258, - 259, 260, 261, 262, -1, 264, 265, 266, 267, 268, - 269, 270, -1, 272, 273, 274, 275, 276, -1, -1, - 279, -1, 281, 282, 283, 284, 285, 286, -1, 288, - 289, 290, -1, -1, -1, -1, -1, 296, -1, -1, - 299, 300, -1, 302, -1, -1, -1, -1, -1, 308, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -1, 14, -1, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, - 33, -1, 35, 36, 37, 38, 39, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 61, 62, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 75, 76, 77, 78, -1, -1, 81, -1, - -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, -1, 101, -1, - -1, -1, -1, -1, 107, 108, 109, -1, 111, -1, - -1, -1, -1, -1, -1, -1, -1, 120, -1, -1, - 123, -1, -1, 126, -1, -1, -1, -1, 131, 132, - -1, -1, -1, -1, -1, 138, 139, 140, -1, 142, - -1, 144, 145, -1, 147, 148, 149, 150, 151, -1, - 153, 154, -1, -1, -1, -1, 159, -1, -1, 162, - 163, -1, -1, 166, -1, 168, -1, -1, -1, 172, - 173, 174, -1, 176, -1, -1, -1, -1, 181, 182, - 183, 184, -1, -1, -1, 188, 189, -1, -1, -1, - 193, -1, -1, 196, -1, -1, -1, -1, -1, -1, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - -1, 214, 215, -1, 217, -1, -1, 220, 221, 222, - 223, 224, -1, 226, 227, 228, -1, -1, 231, 232, - 233, 234, 235, 236, 237, 238, 239, -1, -1, -1, - -1, 244, -1, 246, 247, 248, -1, 250, 251, 252, - -1, 254, -1, 256, -1, 258, 259, 260, 261, 262, - -1, 264, 265, 266, 267, 268, 269, 270, -1, 272, - 273, 274, 275, 276, -1, -1, 279, -1, 281, 282, - 283, 284, 285, 286, -1, 288, 289, 290, -1, -1, - -1, -1, -1, 296, -1, -1, 299, 300, -1, 302, - -1, -1, -1, -1, -1, 308, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, -1, 14, -1, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - -1, 28, 29, 30, 31, 32, 33, -1, 35, 36, - 37, 38, 39, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 61, 62, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 75, 76, - 77, 78, -1, -1, 81, -1, -1, -1, -1, -1, - -1, 88, 89, 90, 91, 92, -1, 94, 95, -1, - -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, - 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, - -1, -1, -1, 120, -1, -1, 123, -1, -1, 126, - -1, -1, -1, -1, 131, 132, -1, -1, -1, -1, - -1, 138, 139, 140, -1, 142, -1, 144, 145, -1, - 147, 148, 149, 150, 151, -1, 153, 154, -1, -1, - -1, -1, 159, -1, -1, 162, 163, -1, -1, 166, - -1, 168, -1, -1, -1, 172, 173, 174, -1, 176, - -1, -1, -1, -1, 181, 182, 183, 184, -1, -1, - -1, 188, 189, -1, -1, -1, 193, -1, -1, 196, - -1, -1, -1, -1, -1, -1, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, -1, 214, 215, -1, - 217, -1, -1, 220, 221, 222, 223, 224, -1, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, 236, - 237, 238, 239, -1, -1, -1, -1, 244, -1, 246, - 247, 248, -1, 250, 251, 252, -1, 254, -1, 256, - -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, - 267, 268, 269, 270, -1, 272, 273, 274, 275, 276, - -1, -1, 279, -1, 281, 282, 283, 284, 285, 286, - -1, 288, 289, 290, -1, -1, -1, -1, -1, 296, - -1, -1, 299, 300, -1, 302, -1, -1, -1, -1, - -1, 308, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, -1, 14, -1, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, - 31, 32, 33, -1, 35, 36, 37, 38, 39, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 61, 62, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 75, 76, 77, 78, -1, -1, - 81, -1, -1, -1, -1, -1, -1, 88, 89, 90, - 91, 92, -1, 94, 95, -1, -1, -1, -1, -1, - 101, -1, -1, -1, -1, -1, 107, 108, 109, -1, - 111, -1, -1, -1, -1, -1, -1, -1, -1, 120, - -1, -1, 123, -1, -1, 126, -1, -1, -1, -1, - 131, 132, -1, -1, -1, -1, -1, 138, 139, 140, - -1, 142, -1, 144, 145, -1, 147, 148, 149, 150, - 151, -1, 153, 154, -1, -1, -1, -1, 159, -1, - -1, 162, 163, -1, -1, 166, -1, 168, -1, -1, - -1, 172, 173, -1, -1, 176, -1, -1, -1, -1, - 181, 182, 183, 184, -1, -1, -1, 188, 189, -1, - -1, -1, 193, -1, -1, 196, -1, -1, -1, -1, - -1, -1, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, -1, 214, 215, -1, 217, -1, -1, 220, - 221, 222, 223, 224, -1, 226, 227, 228, -1, -1, - 231, 232, 233, 234, 235, 236, 237, 238, 239, -1, - -1, -1, -1, 244, -1, 246, 247, 248, -1, 250, - 251, 252, -1, 254, -1, 256, -1, 258, 259, 260, - 261, 262, -1, 264, 265, 266, 267, 268, 269, 270, - -1, 272, 273, 274, 275, 276, -1, -1, 279, -1, - 281, 282, 283, 284, 285, 286, -1, 288, 289, 290, - -1, -1, -1, -1, -1, 296, -1, -1, 299, 300, - -1, 302, -1, -1, -1, -1, -1, 308, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, - -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, -1, 28, 29, 30, 31, 32, 33, -1, - 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 61, 62, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 75, 76, 77, 78, -1, -1, 81, -1, -1, -1, - -1, -1, -1, 88, 89, 90, 91, 92, -1, 94, - 95, -1, -1, -1, -1, -1, 101, -1, -1, -1, - -1, -1, 107, 108, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, 120, -1, -1, 123, -1, - -1, 126, -1, -1, -1, -1, 131, 132, -1, -1, - -1, -1, -1, 138, 139, 140, -1, 142, -1, 144, - 145, -1, 147, 148, 149, 150, 151, -1, 153, 154, - -1, -1, -1, -1, 159, -1, -1, 162, 163, -1, - -1, 166, -1, 168, -1, -1, -1, 172, 173, -1, - -1, 176, -1, -1, -1, -1, 181, 182, 183, 184, - -1, -1, -1, 188, 189, -1, -1, -1, 193, -1, - -1, 196, -1, -1, -1, -1, -1, -1, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, -1, 214, - 215, -1, 217, -1, -1, 220, 221, 222, 223, 224, - -1, 226, 227, 228, -1, -1, 231, 232, 233, 234, - 235, 236, 237, 238, 239, -1, -1, -1, -1, 244, - -1, 246, 247, 248, -1, 250, 251, 252, -1, 254, - -1, 256, -1, 258, 259, 260, 261, 262, -1, 264, - 265, 266, 267, 268, 269, 270, -1, 272, 273, 274, - 275, 276, -1, -1, 279, -1, 281, 282, 283, 284, - 285, 286, -1, 288, 289, 290, -1, -1, -1, -1, - -1, 296, -1, -1, 299, 300, -1, 302, -1, -1, - -1, -1, -1, 308, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, -1, 14, -1, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, - 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, - 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 61, 62, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 75, 76, 77, 78, - -1, -1, 81, -1, -1, -1, -1, -1, -1, 88, - 89, 90, 91, 92, -1, 94, 95, -1, -1, -1, - -1, -1, 101, -1, -1, -1, -1, -1, 107, 108, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, 120, -1, -1, 123, -1, -1, 126, -1, -1, - -1, -1, 131, 132, -1, -1, -1, -1, -1, 138, - 139, 140, -1, 142, -1, 144, 145, -1, 147, 148, - 149, 150, 151, -1, 153, 154, -1, -1, -1, -1, - 159, -1, -1, 162, 163, -1, -1, 166, -1, 168, - -1, -1, -1, 172, 173, -1, -1, 176, -1, -1, - -1, -1, 181, 182, 183, 184, -1, -1, -1, 188, - 189, -1, -1, -1, 193, -1, -1, 196, -1, -1, - -1, -1, -1, -1, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, -1, 214, 215, -1, 217, -1, - -1, 220, 221, 222, 223, 224, -1, 226, 227, 228, - -1, -1, 231, 232, 233, 234, 235, 236, 237, 238, - 239, -1, -1, -1, -1, 244, -1, 246, 247, 248, - -1, 250, 251, 252, -1, 254, -1, 256, -1, 258, - 259, 260, 261, 262, -1, 264, 265, 266, 267, 268, - 269, 270, -1, 272, 273, 274, 275, 276, -1, -1, - 279, -1, 281, 282, 283, 284, 285, 286, -1, 288, - 289, 290, -1, -1, -1, -1, -1, 296, -1, -1, - 299, 300, -1, 302, -1, -1, -1, -1, -1, 308, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -1, 14, -1, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, - 33, -1, 35, 36, 37, 38, 39, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 61, 62, - -1, 64, -1, -1, 67, -1, -1, -1, -1, -1, - -1, -1, 75, 76, 77, 78, -1, -1, 81, -1, - -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, -1, 101, -1, - -1, -1, -1, -1, 107, 108, 109, -1, 111, -1, - -1, -1, -1, -1, -1, -1, -1, 120, -1, -1, - 123, -1, -1, 126, -1, -1, -1, -1, 131, 132, - -1, -1, -1, -1, -1, 138, 139, 140, -1, 142, - -1, 144, 145, -1, -1, 148, 149, 150, 151, -1, - 153, 154, -1, -1, -1, -1, 159, -1, -1, 162, - 163, -1, -1, 166, -1, 168, -1, -1, -1, 172, - 173, -1, -1, 176, -1, -1, -1, -1, 181, 182, - 183, 184, -1, -1, -1, 188, 189, -1, -1, -1, - 193, -1, -1, 196, -1, -1, -1, -1, -1, -1, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - -1, 214, 215, -1, 217, -1, -1, 220, 221, 222, - 223, 224, -1, 226, 227, 228, -1, -1, 231, 232, - 233, 234, 235, 236, 237, 238, 239, -1, -1, -1, - -1, 244, -1, 246, 247, 248, -1, 250, 251, 252, - -1, 254, -1, 256, -1, 258, 259, 260, 261, 262, - -1, 264, 265, 266, 267, 268, 269, 270, -1, 272, - 273, 274, 275, 276, -1, -1, 279, -1, 281, 282, - 283, -1, 285, 286, -1, 288, 289, 290, -1, -1, - -1, -1, -1, 296, -1, -1, 299, 300, -1, 302, - -1, -1, -1, -1, -1, 308, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, -1, 14, -1, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - -1, 28, 29, 30, 31, 32, 33, -1, 35, 36, - 37, 38, 39, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 61, 62, -1, 64, -1, -1, - 67, -1, -1, -1, -1, -1, -1, -1, 75, 76, - 77, 78, -1, -1, 81, -1, -1, -1, -1, -1, - -1, 88, 89, 90, 91, 92, -1, 94, 95, -1, - -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, - 107, 108, 109, -1, 111, -1, -1, -1, -1, -1, - -1, -1, -1, 120, -1, -1, 123, -1, -1, 126, - -1, -1, -1, -1, 131, 132, -1, -1, -1, -1, - -1, 138, 139, 140, -1, 142, -1, 144, 145, -1, - -1, 148, 149, 150, 151, -1, 153, 154, -1, -1, - -1, -1, 159, -1, -1, 162, 163, -1, -1, 166, - -1, 168, -1, -1, -1, 172, 173, -1, -1, 176, - -1, -1, -1, -1, 181, 182, 183, 184, -1, -1, - -1, 188, 189, -1, -1, -1, 193, -1, -1, 196, - -1, -1, -1, -1, -1, -1, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, -1, 214, 215, -1, - 217, -1, -1, 220, 221, 222, 223, 224, -1, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, 236, - 237, -1, 239, -1, -1, -1, -1, 244, -1, 246, - 247, 248, -1, 250, 251, 252, -1, 254, -1, -1, - -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, - 267, 268, 269, 270, -1, 272, 273, 274, 275, 276, - -1, -1, 279, -1, 281, 282, 283, -1, 285, 286, - -1, 288, 289, 290, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 300, 301, 302, -1, -1, -1, 306, - -1, 308, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, -1, 14, -1, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, - 31, 32, 33, -1, 35, 36, 37, 38, 39, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 61, 62, -1, 64, -1, -1, 67, -1, -1, -1, - -1, -1, -1, -1, 75, 76, 77, 78, -1, -1, - 81, -1, -1, -1, -1, -1, -1, 88, 89, 90, - 91, 92, -1, 94, 95, -1, -1, -1, -1, -1, - 101, -1, -1, -1, -1, -1, 107, 108, 109, -1, - 111, -1, -1, -1, -1, -1, -1, -1, -1, 120, - -1, -1, 123, -1, -1, 126, -1, -1, -1, -1, - 131, 132, -1, -1, -1, -1, -1, 138, 139, 140, - -1, 142, -1, 144, 145, -1, -1, 148, 149, 150, - 151, -1, 153, 154, -1, -1, -1, -1, 159, -1, - -1, 162, 163, -1, -1, 166, -1, 168, -1, -1, - -1, 172, 173, -1, -1, 176, -1, -1, -1, -1, - 181, 182, 183, 184, -1, -1, -1, 188, 189, -1, - -1, -1, 193, -1, -1, 196, -1, -1, -1, -1, - -1, -1, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, -1, 214, 215, -1, 217, -1, -1, 220, - 221, 222, 223, 224, -1, 226, 227, 228, -1, -1, - 231, 232, 233, 234, 235, 236, 237, -1, 239, -1, - -1, -1, -1, 244, -1, 246, 247, 248, -1, 250, - 251, 252, -1, 254, -1, -1, -1, 258, 259, 260, - 261, 262, -1, 264, 265, 266, 267, 268, 269, 270, - -1, 272, 273, 274, 275, 276, -1, -1, 279, -1, - 281, 282, 283, -1, 285, 286, -1, 288, 289, 290, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 300, - -1, 302, -1, -1, -1, -1, -1, 308, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, - -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, -1, 28, 29, 30, 31, 32, 33, -1, - 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 61, 62, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 76, 77, 78, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 88, 89, 90, 91, 92, -1, 94, - 95, -1, -1, -1, -1, -1, 101, -1, -1, -1, - -1, -1, -1, -1, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, 120, -1, -1, 123, -1, - -1, 126, -1, -1, -1, -1, 131, 132, -1, -1, - -1, -1, -1, 138, 139, 140, -1, 142, -1, 144, - 145, -1, -1, -1, -1, 150, 151, -1, 153, 154, - -1, -1, -1, -1, 159, -1, -1, 162, 163, -1, - -1, 166, -1, 168, -1, -1, -1, 172, 173, -1, - -1, 176, -1, -1, -1, -1, 181, 182, 183, 184, - -1, -1, -1, 188, 189, -1, -1, -1, 193, -1, - -1, 196, -1, -1, -1, -1, -1, -1, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, -1, 214, - 215, -1, 217, -1, -1, 220, 221, 222, 223, 224, - -1, 226, 227, 228, -1, -1, 231, 232, 233, 234, - 235, 236, 237, 238, 239, -1, -1, -1, -1, 244, - -1, 246, 247, 248, -1, 250, 251, 252, -1, 254, - -1, 256, -1, 258, 259, 260, 261, 262, -1, 264, - 265, 266, 267, 268, 269, 270, -1, 272, 273, 274, - 275, 276, -1, -1, 279, -1, 281, 282, 283, 284, - 285, 286, -1, 288, 289, 290, -1, -1, -1, -1, - -1, 296, -1, -1, 299, 300, -1, 302, -1, -1, - -1, -1, -1, 308, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, -1, 14, -1, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, - 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, - 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 61, 62, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 76, 77, 78, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 88, - 89, 90, 91, 92, -1, 94, 95, -1, -1, -1, - -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, 120, -1, -1, 123, -1, -1, 126, -1, -1, - -1, -1, 131, 132, -1, -1, -1, -1, -1, 138, - 139, 140, -1, 142, -1, 144, 145, -1, -1, -1, - -1, 150, 151, -1, 153, 154, -1, -1, -1, -1, - 159, -1, -1, 162, 163, -1, -1, 166, -1, 168, - -1, -1, -1, 172, 173, -1, -1, 176, -1, -1, - -1, -1, 181, 182, 183, 184, -1, -1, -1, 188, - 189, -1, -1, -1, 193, -1, -1, 196, -1, -1, - -1, -1, -1, -1, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, -1, 214, 215, -1, 217, -1, - -1, 220, 221, 222, 223, 224, -1, 226, 227, 228, - -1, -1, 231, 232, 233, 234, 235, 236, 237, 238, - 239, -1, -1, -1, -1, 244, -1, 246, 247, 248, - -1, 250, 251, 252, -1, 254, -1, 256, -1, 258, - 259, 260, 261, 262, -1, 264, 265, 266, 267, 268, - 269, 270, -1, 272, 273, 274, 275, 276, -1, -1, - 279, -1, 281, 282, 283, -1, 285, 286, -1, 288, - 289, 290, -1, -1, -1, -1, -1, 296, -1, -1, - 299, 300, -1, 302, -1, -1, -1, -1, -1, 308, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -1, 14, -1, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, - 33, -1, 35, 36, 37, 38, 39, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 61, 62, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 76, 77, 78, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 88, 89, 90, 91, 92, - -1, 94, 95, -1, -1, -1, -1, -1, 101, -1, - -1, -1, -1, -1, -1, -1, 109, -1, 111, -1, - -1, -1, -1, -1, -1, -1, -1, 120, -1, -1, - 123, -1, -1, 126, -1, -1, -1, -1, 131, 132, - -1, -1, -1, -1, -1, 138, 139, 140, -1, 142, - -1, 144, 145, -1, -1, -1, -1, 150, 151, -1, - 153, 154, -1, -1, -1, -1, 159, -1, -1, 162, - 163, -1, -1, 166, -1, 168, -1, -1, -1, 172, - 173, -1, -1, 176, -1, -1, -1, -1, 181, 182, - 183, 184, -1, -1, -1, 188, 189, -1, -1, -1, - 193, -1, -1, 196, -1, -1, -1, -1, -1, -1, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - -1, 214, 215, -1, 217, -1, -1, 220, 221, 222, - 223, 224, -1, 226, 227, 228, -1, -1, 231, 232, - 233, 234, 235, 236, 237, -1, 239, -1, -1, -1, - -1, 244, -1, 246, 247, 248, -1, 250, 251, 252, - -1, 254, -1, -1, -1, 258, 259, 260, 261, 262, - -1, 264, 265, 266, 267, 268, 269, 270, -1, 272, - 273, 274, 275, 276, -1, -1, 279, -1, 281, 282, - 283, -1, 285, 286, -1, 288, 289, 290, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 300, -1, 302, - -1, -1, -1, -1, -1, 308, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, -1, 14, -1, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - -1, 28, 29, 30, 31, 32, 33, -1, 35, 36, - 37, 38, 39, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 61, 62, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 76, - 77, 78, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 89, 90, 91, 92, -1, 94, 95, -1, - -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, - -1, -1, 109, -1, 111, -1, -1, -1, -1, -1, - -1, -1, -1, 120, -1, -1, 123, -1, -1, 126, - -1, -1, -1, -1, 131, 132, -1, -1, -1, -1, - -1, 138, 139, 140, -1, 142, -1, 144, 145, -1, - -1, -1, 149, 150, 151, -1, 153, 154, -1, -1, - -1, -1, -1, -1, -1, 162, 163, -1, -1, 166, - -1, 168, -1, -1, -1, 172, 173, -1, -1, -1, - -1, -1, -1, -1, 181, 182, 183, 184, -1, -1, - -1, -1, 189, -1, -1, -1, 193, -1, -1, 196, - -1, -1, -1, -1, -1, -1, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, -1, 214, 215, -1, - 217, -1, -1, 220, 221, 222, 223, 224, -1, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, 236, - 237, 238, 239, -1, -1, -1, -1, 244, -1, 246, - 247, 248, -1, -1, 251, 252, -1, 254, -1, 256, - -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, - 267, 268, 269, 270, -1, 272, 273, 274, 275, 276, - -1, -1, 279, -1, 281, 282, 283, 284, 285, -1, - -1, 288, 289, 290, -1, -1, -1, -1, -1, 296, - -1, -1, -1, 300, -1, 302, -1, -1, -1, -1, - -1, 308, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, -1, 14, -1, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, - 31, 32, 33, -1, 35, 36, 37, 38, 39, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 61, 62, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 76, 77, 78, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 89, 90, - 91, 92, -1, 94, 95, -1, -1, -1, -1, -1, - 101, -1, -1, -1, -1, -1, -1, -1, 109, -1, - 111, -1, -1, -1, -1, -1, -1, -1, -1, 120, - -1, -1, 123, -1, -1, 126, -1, -1, -1, -1, - 131, 132, -1, -1, -1, -1, -1, 138, 139, 140, - -1, 142, -1, 144, 145, -1, -1, -1, -1, 150, - 151, -1, 153, 154, -1, -1, -1, -1, -1, -1, - -1, 162, 163, -1, -1, 166, -1, 168, -1, -1, - -1, 172, 173, -1, -1, -1, -1, -1, -1, -1, - 181, 182, 183, 184, -1, -1, -1, -1, 189, -1, - -1, -1, 193, -1, -1, 196, -1, -1, -1, -1, - -1, -1, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, -1, 214, 215, -1, 217, -1, -1, 220, - 221, 222, 223, 224, -1, 226, 227, 228, -1, -1, - 231, 232, 233, 234, 235, 236, 237, 238, 239, -1, - -1, -1, -1, 244, -1, 246, 247, 248, -1, -1, - 251, 252, -1, 254, -1, 256, -1, 258, 259, 260, - 261, 262, -1, 264, 265, 266, 267, 268, 269, 270, - -1, 272, 273, 274, 275, 276, -1, -1, 279, -1, - 281, 282, 283, 284, 285, -1, -1, 288, 289, 290, - -1, -1, -1, -1, -1, 296, -1, -1, -1, 300, - -1, 302, -1, -1, -1, -1, -1, 308, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -1, 14, - -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, -1, 28, 29, 30, 31, 32, 33, -1, - 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 61, 62, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 76, 77, 78, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 88, -1, -1, -1, -1, -1, 94, - 95, -1, -1, -1, -1, -1, 101, -1, -1, -1, - -1, -1, -1, -1, 109, -1, 111, -1, -1, -1, - -1, -1, -1, -1, -1, 120, -1, -1, 123, -1, - -1, 126, -1, -1, -1, -1, 131, 132, -1, -1, - -1, -1, -1, 138, 139, 140, -1, 142, -1, 144, - 145, -1, -1, -1, -1, 150, 151, -1, 153, 154, - -1, -1, -1, -1, 159, -1, -1, 162, 163, -1, - -1, 166, -1, 168, -1, -1, -1, 172, 173, -1, - -1, 176, -1, -1, -1, -1, 181, 182, 183, 184, - -1, -1, -1, 188, 189, -1, -1, -1, -1, -1, - -1, 196, -1, -1, -1, -1, -1, -1, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, -1, 214, - 215, -1, 217, -1, -1, 220, 221, 222, 223, 224, - -1, 226, 227, 228, -1, -1, 231, 232, 233, 234, - 235, 236, 237, 238, 239, -1, -1, -1, -1, 244, - -1, 246, 247, 248, -1, 250, 251, 252, -1, 254, - -1, 256, -1, 258, 259, 260, 261, 262, -1, 264, - 265, 266, 267, 268, 269, 270, -1, 272, 273, 274, - 275, 276, -1, -1, 279, -1, 281, 282, 283, 284, - 285, -1, -1, 288, 289, 290, -1, -1, -1, -1, - -1, 296, -1, -1, -1, 300, -1, -1, -1, -1, - -1, -1, -1, 308, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, -1, 14, -1, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, - 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, - 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 61, 62, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 76, 77, 78, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 89, 90, 91, 92, -1, 94, 95, -1, -1, -1, - -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, - 109, -1, 111, -1, -1, -1, -1, -1, -1, -1, - -1, 120, -1, -1, 123, -1, -1, 126, -1, -1, - -1, -1, 131, 132, -1, -1, -1, -1, -1, 138, - 139, 140, -1, 142, -1, 144, 145, -1, -1, -1, - -1, 150, 151, -1, 153, 154, -1, -1, -1, -1, - -1, -1, -1, 162, 163, -1, -1, 166, -1, 168, - -1, -1, -1, 172, 173, -1, -1, -1, -1, -1, - -1, -1, 181, 182, 183, 184, -1, -1, -1, -1, - 189, -1, -1, -1, 193, -1, -1, 196, -1, -1, - -1, -1, -1, -1, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, -1, 214, 215, -1, 217, -1, - -1, 220, 221, 222, 223, 224, -1, 226, 227, 228, - -1, -1, 231, 232, 233, 234, 235, 236, 237, 238, - 239, -1, -1, -1, -1, 244, -1, 246, 247, 248, - -1, -1, 251, 252, -1, 254, -1, 256, -1, 258, - 259, 260, 261, 262, -1, 264, 265, 266, 267, 268, - 269, 270, -1, 272, 273, 274, 275, 276, -1, -1, - 279, -1, 281, 282, 283, -1, 285, -1, -1, 288, - 289, 290, -1, -1, -1, -1, -1, 296, -1, -1, - -1, 300, -1, 302, -1, -1, -1, -1, -1, 308, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -1, 14, -1, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, - 33, -1, 35, 36, 37, 38, 39, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 61, 62, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 76, 77, 78, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 88, -1, -1, -1, -1, - -1, 94, 95, -1, -1, -1, -1, -1, 101, -1, - -1, -1, -1, -1, -1, -1, 109, -1, 111, -1, - -1, -1, -1, -1, -1, -1, -1, 120, -1, -1, - 123, -1, -1, 126, -1, -1, -1, -1, 131, 132, - -1, -1, -1, -1, -1, 138, 139, 140, -1, 142, - -1, 144, 145, -1, -1, -1, -1, 150, 151, -1, - 153, 154, -1, -1, -1, -1, 159, -1, -1, 162, - 163, -1, -1, 166, -1, 168, -1, -1, -1, 172, - 173, -1, -1, 176, -1, -1, -1, -1, 181, 182, - 183, 184, -1, -1, -1, 188, 189, -1, -1, -1, - -1, -1, -1, 196, -1, -1, -1, -1, -1, -1, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - -1, 214, 215, -1, 217, -1, -1, 220, 221, 222, - 223, 224, -1, 226, 227, 228, -1, -1, 231, 232, - 233, 234, 235, 236, 237, 238, 239, -1, -1, -1, - -1, 244, -1, 246, 247, 248, -1, 250, 251, 252, - -1, 254, -1, 256, -1, 258, 259, 260, 261, 262, - -1, 264, 265, 266, 267, 268, 269, 270, -1, 272, - 273, 274, 275, 276, -1, -1, 279, -1, 281, 282, - 283, -1, 285, -1, -1, 288, 289, 290, -1, -1, - -1, -1, -1, 296, -1, -1, -1, 300, -1, -1, - -1, -1, -1, -1, -1, 308, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, -1, 14, -1, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - -1, 28, 29, 30, 31, 32, 33, -1, 35, 36, - 37, 38, 39, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 61, 62, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 76, - 77, 78, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 94, 95, -1, - -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, - -1, -1, 109, -1, 111, -1, -1, -1, -1, -1, - -1, -1, -1, 120, -1, -1, 123, -1, -1, 126, - -1, -1, -1, -1, 131, 132, -1, -1, -1, -1, - -1, 138, 139, 140, -1, 142, -1, 144, 145, -1, - 147, -1, 149, 150, 151, -1, 153, 154, -1, -1, - -1, -1, -1, -1, -1, 162, 163, -1, -1, 166, - -1, 168, -1, -1, -1, 172, 173, -1, -1, -1, - -1, -1, -1, -1, 181, 182, 183, 184, -1, -1, - -1, -1, 189, -1, -1, -1, -1, -1, -1, 196, - -1, -1, -1, -1, -1, -1, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, -1, 214, 215, -1, - 217, -1, -1, 220, 221, 222, 223, 224, -1, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, 236, - 237, 238, 239, -1, -1, -1, -1, 244, -1, 246, - 247, 248, -1, -1, 251, 252, -1, 254, -1, 256, - -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, - 267, 268, 269, 270, -1, 272, 273, 274, 275, 276, - -1, -1, 279, -1, 281, 282, 283, 284, 285, -1, - -1, 288, 289, 290, -1, -1, -1, -1, -1, 296, - -1, -1, -1, 300, -1, 302, -1, -1, -1, -1, - -1, 308, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, -1, 14, -1, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, - 31, 32, 33, -1, 35, 36, 37, 38, 39, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 61, 62, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 76, 77, 78, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 94, 95, -1, -1, -1, -1, -1, - 101, -1, -1, -1, -1, -1, -1, -1, 109, -1, - 111, -1, -1, -1, -1, -1, -1, -1, -1, 120, - -1, -1, 123, -1, -1, 126, -1, -1, -1, -1, - 131, 132, -1, -1, -1, -1, -1, 138, 139, 140, - -1, 142, -1, 144, 145, -1, -1, -1, 149, 150, - 151, -1, 153, 154, -1, -1, -1, -1, -1, -1, - -1, 162, 163, -1, -1, 166, -1, 168, -1, -1, - -1, 172, 173, -1, -1, -1, -1, -1, -1, -1, - 181, 182, 183, 184, -1, -1, -1, -1, 189, -1, - -1, -1, -1, -1, -1, 196, -1, -1, -1, -1, - -1, -1, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, -1, 214, 215, -1, 217, -1, -1, 220, - 221, 222, 223, 224, -1, 226, 227, 228, -1, -1, - 231, 232, 233, 234, 235, 236, 237, 238, 239, -1, - -1, -1, -1, 244, -1, 246, 247, 248, -1, -1, - 251, 252, -1, 254, -1, 256, -1, 258, 259, 260, - 261, 262, -1, 264, 265, 266, 267, 268, 269, 270, - -1, 272, 273, 274, 275, 276, -1, -1, 279, -1, - 281, 282, 283, -1, 285, -1, -1, 288, 289, 290, - -1, -1, -1, -1, -1, 296, -1, -1, -1, 300, - -1, 302, -1, -1, -1, -1, 3, 308, 5, 6, - 7, 8, -1, 10, 11, 12, -1, 14, -1, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - -1, 28, 29, 30, 31, 32, 33, -1, 35, 36, - 37, 38, 39, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 61, 62, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 88, -1, -1, -1, -1, -1, 94, -1, -1, - -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 120, -1, -1, 123, -1, -1, -1, - -1, -1, -1, -1, 131, 132, -1, -1, -1, -1, - -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, - -1, -1, -1, -1, 151, -1, 153, 154, -1, -1, - -1, -1, -1, -1, -1, 162, 163, -1, -1, 166, - -1, 168, -1, -1, -1, 172, 173, -1, -1, -1, - -1, -1, -1, -1, 181, 182, 183, 184, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, -1, 214, 215, -1, - 217, -1, -1, 220, 221, 222, 223, 224, -1, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, 236, - 237, 238, 239, -1, -1, -1, -1, 244, -1, 246, - 247, 248, -1, 250, 251, 252, -1, 254, -1, 256, - -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, - 267, 268, -1, 270, -1, 272, 273, 274, 275, 276, - -1, -1, 279, -1, 281, 282, -1, 3, 285, 5, - 6, 7, 8, -1, 10, 11, 12, -1, 14, -1, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, 308, 28, 29, 30, 31, 32, 33, -1, 35, - 36, 37, 38, 39, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 61, 62, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, - -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 120, -1, -1, 123, -1, -1, - -1, -1, -1, -1, -1, 131, 132, -1, -1, -1, - -1, -1, 138, 139, 140, -1, -1, -1, -1, 145, - -1, -1, -1, -1, -1, 151, -1, 153, 154, -1, - -1, -1, -1, -1, -1, -1, 162, 163, -1, -1, - 166, -1, 168, -1, -1, -1, 172, 173, 174, -1, - -1, -1, -1, -1, -1, 181, 182, 183, 184, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, -1, 214, 215, - -1, 217, -1, -1, 220, 221, 222, 223, 224, -1, - 226, 227, 228, -1, -1, 231, 232, 233, 234, 235, - 236, 237, 238, 239, -1, -1, -1, -1, 244, -1, - 246, 247, 248, -1, -1, 251, 252, -1, 254, -1, - 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, - 266, 267, 268, -1, 270, -1, 272, 273, 274, 275, - 276, -1, -1, 279, -1, 281, 282, -1, 3, 285, - 5, 6, 7, 8, -1, 10, 11, 12, -1, 14, - -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 308, 28, 29, 30, 31, 32, 33, -1, - 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 61, 62, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, - -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 120, -1, -1, 123, -1, - -1, -1, -1, -1, -1, -1, 131, 132, -1, -1, - -1, -1, -1, 138, 139, 140, -1, -1, -1, -1, - 145, -1, -1, -1, -1, -1, 151, -1, 153, 154, - -1, -1, -1, -1, -1, -1, -1, 162, 163, -1, - -1, 166, -1, 168, -1, -1, -1, 172, 173, -1, - -1, -1, -1, -1, -1, -1, 181, 182, 183, 184, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, -1, 214, - 215, -1, 217, -1, -1, 220, 221, 222, 223, 224, - -1, 226, 227, 228, -1, -1, 231, 232, 233, 234, - 235, 236, 237, 238, 239, -1, -1, -1, -1, 244, - -1, 246, 247, 248, -1, -1, 251, 252, -1, 254, - -1, 256, -1, 258, 259, 260, 261, 262, -1, 264, - 265, 266, 267, 268, 269, 270, -1, 272, 273, 274, - 275, 276, -1, -1, 279, -1, 281, 282, 283, 284, - 285, -1, -1, 288, -1, 290, -1, 292, 293, 294, - 295, 296, 297, 298, 299, 3, -1, 5, 6, 7, - 8, -1, 10, 11, 12, -1, 14, -1, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, - 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, - 38, 39, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 61, 62, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 94, -1, -1, 97, - -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 120, -1, -1, 123, -1, -1, -1, -1, - -1, -1, 130, 131, 132, -1, -1, -1, -1, -1, - 138, 139, 140, -1, -1, -1, -1, 145, -1, -1, - -1, -1, -1, 151, -1, 153, 154, -1, -1, -1, - -1, -1, -1, -1, 162, 163, 164, -1, 166, -1, - 168, -1, -1, -1, 172, 173, -1, -1, -1, -1, - -1, -1, -1, 181, 182, 183, 184, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 203, 204, 205, 206, 207, - 208, -1, 210, 211, 212, -1, 214, 215, -1, 217, - -1, -1, 220, 221, 222, 223, 224, -1, 226, 227, - 228, -1, -1, 231, 232, 233, 234, 235, 236, 237, - 238, 239, -1, -1, -1, -1, 244, -1, 246, 247, - 248, -1, -1, 251, 252, -1, 254, -1, 256, -1, - 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, - 268, -1, 270, -1, 272, 273, 274, 275, 276, -1, - -1, 279, -1, 281, 282, -1, 284, 285, -1, -1, - -1, -1, -1, -1, 292, 293, 294, 295, 296, 297, - 298, 299, 3, -1, 5, 6, 7, 8, -1, 10, - 11, 12, -1, 14, -1, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, - 31, 32, 33, -1, 35, 36, 37, 38, 39, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 61, 62, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, - 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 120, - -1, -1, 123, -1, -1, -1, -1, -1, -1, 130, - 131, 132, -1, -1, -1, -1, -1, 138, 139, 140, - -1, -1, -1, -1, 145, -1, -1, -1, -1, -1, - 151, -1, 153, 154, -1, -1, -1, -1, -1, -1, - -1, 162, 163, 164, -1, 166, -1, 168, -1, -1, - -1, 172, 173, -1, -1, -1, -1, -1, -1, -1, - 181, 182, 183, 184, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, -1, 214, 215, -1, 217, -1, -1, 220, - 221, 222, 223, 224, -1, 226, 227, 228, -1, -1, - 231, 232, 233, 234, 235, 236, 237, 238, 239, -1, - -1, -1, -1, 244, -1, 246, 247, 248, -1, -1, - 251, 252, -1, 254, -1, 256, -1, 258, 259, 260, - 261, 262, -1, 264, 265, 266, 267, 268, -1, 270, - -1, 272, 273, 274, 275, 276, -1, -1, 279, -1, - 281, 282, -1, 284, 285, -1, -1, -1, -1, -1, - -1, 292, 293, 294, 295, 296, 297, 298, 299, 3, - -1, 5, 6, 7, 8, -1, 10, 11, 12, -1, - 14, -1, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, - -1, 35, 36, 37, 38, 39, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 61, 62, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 88, -1, -1, -1, -1, -1, - 94, -1, -1, -1, -1, -1, -1, 101, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 120, -1, -1, 123, - -1, -1, -1, -1, -1, -1, -1, 131, 132, -1, - -1, -1, -1, -1, 138, 139, 140, -1, -1, -1, - -1, 145, -1, -1, -1, -1, -1, 151, -1, 153, - 154, -1, -1, -1, -1, -1, -1, -1, 162, 163, - -1, -1, 166, -1, 168, -1, -1, -1, 172, 173, - -1, -1, -1, -1, -1, -1, -1, 181, 182, 183, - 184, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 203, - 204, 205, 206, 207, 208, -1, 210, 211, 212, -1, - 214, 215, -1, 217, -1, -1, 220, 221, 222, 223, - 224, -1, 226, 227, 228, -1, -1, 231, 232, 233, - 234, 235, 236, 237, 238, 239, -1, -1, -1, -1, - 244, -1, 246, 247, 248, -1, 250, 251, 252, -1, - 254, -1, 256, -1, 258, 259, 260, 261, 262, -1, - 264, 265, 266, 267, 268, -1, 270, -1, 272, 273, - 274, 275, 276, -1, -1, 279, -1, 281, 282, -1, - -1, 285, -1, -1, -1, 289, -1, 3, -1, 5, - 6, 7, 8, 297, 10, 11, 12, -1, 14, -1, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, -1, 28, 29, 30, 31, 32, 33, -1, 35, - 36, 37, 38, 39, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 61, 62, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 88, -1, -1, -1, -1, -1, 94, -1, - -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 120, -1, -1, 123, -1, -1, - -1, -1, -1, -1, -1, 131, 132, -1, -1, -1, - -1, -1, 138, 139, 140, -1, -1, -1, -1, 145, - -1, -1, -1, -1, -1, 151, -1, 153, 154, -1, - -1, -1, -1, -1, -1, -1, 162, 163, -1, -1, - 166, -1, 168, -1, -1, -1, 172, 173, -1, -1, - -1, -1, -1, -1, -1, 181, 182, 183, 184, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, -1, 214, 215, - -1, 217, -1, -1, 220, 221, 222, 223, 224, -1, - 226, 227, 228, -1, -1, 231, 232, 233, 234, 235, - 236, 237, 238, 239, -1, -1, -1, -1, 244, -1, - 246, 247, 248, -1, 250, 251, 252, -1, 254, -1, - 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, - 266, 267, 268, -1, 270, -1, 272, 273, 274, 275, - 276, -1, -1, 279, -1, 281, 282, -1, -1, 285, - -1, 3, -1, 5, 6, 7, 8, -1, 10, 11, - 12, 297, 14, -1, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, - 32, 33, -1, 35, 36, 37, 38, 39, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 61, - 62, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 94, -1, -1, -1, -1, -1, -1, 101, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 120, -1, - -1, 123, -1, -1, -1, -1, -1, -1, -1, 131, - 132, -1, -1, -1, -1, -1, 138, 139, 140, -1, - -1, -1, -1, 145, -1, -1, -1, -1, -1, 151, - -1, 153, 154, -1, -1, -1, -1, -1, -1, -1, - 162, 163, -1, -1, 166, -1, 168, -1, -1, -1, - 172, 173, -1, -1, -1, -1, -1, -1, -1, 181, - 182, 183, 184, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, -1, 214, 215, -1, 217, -1, -1, 220, 221, - 222, 223, 224, -1, 226, 227, 228, -1, -1, 231, - 232, 233, 234, 235, 236, 237, 238, 239, -1, -1, - -1, -1, 244, -1, 246, 247, 248, -1, -1, 251, - 252, -1, 254, -1, 256, -1, 258, 259, 260, 261, - 262, -1, 264, 265, 266, 267, 268, -1, 270, -1, - 272, 273, 274, 275, 276, -1, -1, 279, -1, 281, - 282, -1, -1, 285, -1, 3, -1, 5, 6, 7, - 8, -1, 10, 11, 12, 297, 14, -1, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, - 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, - 38, 39, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 61, 62, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, - -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 120, -1, -1, 123, -1, -1, -1, -1, - -1, -1, -1, 131, 132, -1, -1, -1, -1, -1, - 138, 139, 140, -1, -1, -1, -1, 145, -1, -1, - -1, -1, -1, 151, -1, 153, 154, -1, -1, -1, - -1, -1, -1, -1, 162, 163, -1, -1, 166, -1, - 168, -1, -1, -1, 172, 173, -1, -1, -1, -1, - -1, -1, -1, 181, 182, 183, 184, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 203, 204, 205, 206, 207, - 208, -1, 210, 211, 212, -1, 214, 215, -1, 217, - -1, -1, 220, 221, 222, 223, 224, -1, 226, 227, - 228, -1, -1, 231, 232, 233, 234, 235, 236, 237, - 238, 239, -1, -1, -1, -1, 244, -1, 246, 247, - 248, -1, -1, 251, 252, -1, 254, -1, 256, -1, - 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, - 268, -1, 270, -1, 272, 273, 274, 275, 276, -1, - -1, 279, -1, 281, 282, -1, -1, 285, -1, 3, - -1, 5, 6, 7, 8, -1, 10, 11, 12, 297, - 14, -1, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, - -1, 35, 36, 37, 38, 39, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 61, 62, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 94, -1, -1, -1, -1, -1, -1, 101, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 120, -1, -1, 123, - -1, -1, -1, -1, -1, -1, -1, 131, 132, -1, - -1, -1, -1, -1, 138, 139, 140, -1, -1, -1, - -1, 145, -1, -1, -1, -1, -1, 151, -1, 153, - 154, -1, -1, -1, -1, -1, -1, -1, 162, 163, - -1, -1, 166, -1, 168, -1, -1, -1, 172, 173, - -1, -1, -1, -1, -1, -1, -1, 181, 182, 183, - 184, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 203, - 204, 205, 206, 207, 208, -1, 210, 211, 212, -1, - 214, 215, -1, 217, -1, -1, 220, 221, 222, 223, - 224, -1, 226, 227, 228, -1, -1, 231, 232, 233, - 234, 235, 236, 237, 238, 239, -1, -1, -1, -1, - 244, -1, 246, 247, 248, -1, -1, 251, 252, -1, - 254, -1, 256, -1, 258, 259, 260, 261, 262, -1, - 264, 265, 266, 267, 268, -1, 270, -1, 272, 273, - 274, 275, 276, -1, -1, 279, -1, 281, 282, -1, - -1, 285, -1, 3, -1, 5, 6, 7, 8, -1, - 10, 11, 12, 297, 14, -1, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, - 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 61, 62, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, - -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 120, -1, -1, 123, -1, -1, -1, -1, -1, -1, - -1, 131, 132, -1, -1, -1, -1, -1, 138, 139, - 140, -1, -1, -1, -1, 145, -1, -1, -1, -1, - -1, 151, -1, 153, 154, -1, -1, -1, -1, -1, - -1, -1, 162, 163, -1, -1, 166, -1, 168, -1, - -1, -1, 172, 173, -1, -1, -1, -1, -1, -1, - -1, 181, 182, 183, 184, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 203, 204, 205, 206, 207, 208, -1, - 210, 211, 212, -1, 214, 215, -1, 217, -1, -1, - 220, 221, 222, 223, 224, -1, 226, 227, 228, -1, - -1, 231, 232, 233, 234, 235, 236, 237, 238, 239, - -1, -1, -1, -1, 244, -1, 246, 247, 248, -1, - -1, 251, 252, -1, 254, -1, 256, -1, 258, 259, - 260, 261, 262, -1, 264, 265, 266, 267, 268, -1, - 270, -1, 272, 273, 274, 275, 276, -1, -1, 279, - -1, 281, 282, -1, -1, 285, -1, 3, -1, 5, - 6, 7, 8, -1, 10, 11, 12, 297, 14, -1, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, -1, 28, 29, 30, 31, 32, 33, -1, 35, - 36, 37, 38, 39, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 61, 62, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 88, -1, -1, -1, -1, -1, 94, -1, - -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 120, -1, -1, 123, -1, -1, - -1, -1, -1, -1, -1, 131, 132, -1, -1, -1, - -1, -1, 138, 139, 140, -1, -1, -1, -1, 145, - -1, -1, -1, -1, -1, 151, -1, 153, 154, -1, - -1, -1, -1, -1, -1, -1, 162, 163, -1, -1, - 166, -1, 168, -1, -1, -1, 172, 173, -1, -1, - -1, -1, -1, -1, -1, 181, 182, 183, 184, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, -1, 214, 215, - -1, 217, -1, -1, 220, 221, 222, 223, 224, -1, - 226, 227, 228, -1, -1, 231, 232, 233, 234, 235, - 236, 237, 238, 239, -1, -1, -1, -1, 244, -1, - 246, 247, 248, -1, 250, 251, 252, -1, 254, -1, - 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, - 266, 267, 268, -1, 270, -1, 272, 273, 274, 275, - 276, -1, -1, 279, -1, 281, 282, -1, -1, 285, - -1, -1, 3, 289, 5, 6, 7, 8, -1, 10, - 11, 12, -1, 14, -1, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, - 31, 32, 33, -1, 35, 36, 37, 38, 39, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 61, 62, -1, 64, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 88, -1, -1, - -1, -1, -1, 94, -1, -1, 97, -1, -1, -1, - 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 120, - -1, -1, 123, -1, -1, -1, -1, -1, -1, -1, - 131, 132, -1, -1, -1, -1, -1, 138, 139, 140, - -1, -1, -1, -1, 145, -1, -1, -1, -1, -1, - 151, -1, 153, 154, -1, -1, -1, -1, -1, -1, - -1, 162, 163, -1, -1, 166, -1, 168, -1, -1, - -1, 172, 173, -1, -1, -1, -1, -1, -1, -1, - 181, 182, 183, 184, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, -1, 214, 215, -1, 217, -1, -1, 220, - 221, 222, 223, 224, -1, 226, 227, 228, -1, -1, - 231, 232, 233, 234, 235, 236, 237, 238, 239, -1, - -1, -1, -1, 244, -1, 246, 247, 248, -1, -1, - 251, 252, -1, 254, -1, 256, -1, 258, 259, 260, - 261, 262, -1, 264, 265, 266, 267, 268, -1, 270, - -1, 272, 273, 274, 275, 276, -1, -1, 279, -1, - 281, 282, 283, -1, 285, 286, 3, -1, 5, 6, - 7, 8, -1, 10, 11, 12, -1, 14, -1, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - -1, 28, 29, 30, 31, 32, 33, -1, 35, 36, - 37, 38, 39, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 61, 62, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, - 97, -1, -1, -1, 101, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 120, -1, -1, 123, -1, -1, -1, - -1, -1, -1, -1, 131, 132, -1, -1, -1, -1, - -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, - -1, -1, -1, -1, 151, -1, 153, 154, -1, -1, - -1, -1, -1, -1, -1, 162, 163, -1, -1, 166, - -1, 168, -1, -1, -1, 172, 173, -1, -1, -1, - -1, -1, -1, -1, 181, 182, 183, 184, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, -1, 214, 215, -1, - 217, -1, -1, 220, 221, 222, 223, 224, -1, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, 236, - 237, 238, 239, -1, -1, -1, -1, 244, -1, 246, - 247, 248, -1, -1, 251, 252, -1, 254, -1, 256, - -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, - 267, 268, -1, 270, -1, 272, 273, 274, 275, 276, - -1, -1, 279, -1, 281, 282, 283, -1, 285, 286, - 3, -1, 5, 6, 7, 8, -1, 10, 11, 12, - -1, 14, -1, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, - 33, -1, 35, 36, 37, 38, 39, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 61, 62, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 94, -1, -1, 97, -1, -1, -1, 101, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 120, -1, -1, - 123, -1, -1, -1, -1, -1, -1, -1, 131, 132, - -1, -1, -1, -1, -1, 138, 139, 140, -1, -1, - -1, -1, 145, -1, -1, -1, -1, -1, 151, -1, - 153, 154, -1, -1, -1, -1, -1, -1, -1, 162, - 163, -1, -1, 166, -1, 168, -1, -1, -1, 172, - 173, -1, -1, -1, -1, -1, -1, -1, 181, 182, - 183, 184, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - -1, 214, 215, -1, 217, -1, -1, 220, 221, 222, - 223, 224, -1, 226, 227, 228, -1, -1, 231, 232, - 233, 234, 235, 236, 237, 238, 239, -1, -1, -1, - -1, 244, -1, 246, 247, 248, -1, -1, 251, 252, - -1, 254, -1, 256, -1, 258, 259, 260, 261, 262, - -1, 264, 265, 266, 267, 268, -1, 270, -1, 272, - 273, 274, 275, 276, -1, -1, 279, -1, 281, 282, - 283, -1, 285, 286, 3, -1, 5, 6, 7, 8, - -1, 10, 11, 12, -1, 14, -1, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, - 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, - 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 61, 62, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, - -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 120, -1, -1, 123, -1, -1, -1, -1, -1, - -1, -1, 131, 132, -1, -1, -1, -1, -1, 138, - 139, 140, -1, -1, -1, -1, 145, -1, -1, -1, - -1, -1, 151, -1, 153, 154, -1, -1, -1, -1, - -1, -1, -1, 162, 163, -1, -1, 166, -1, 168, - -1, -1, -1, 172, 173, -1, -1, -1, -1, -1, - -1, -1, 181, 182, 183, 184, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, -1, 214, 215, -1, 217, -1, - -1, 220, 221, 222, 223, 224, -1, 226, 227, 228, - -1, -1, 231, 232, 233, 234, 235, 236, 237, 238, - 239, -1, -1, -1, -1, 244, -1, 246, 247, 248, - -1, -1, 251, 252, -1, 254, -1, 256, -1, 258, - 259, 260, 261, 262, -1, 264, 265, 266, 267, 268, - -1, 270, -1, 272, 273, 274, 275, 276, -1, -1, - 279, -1, 281, 282, 283, -1, 285, 286, 3, -1, - 5, 6, 7, 8, -1, 10, 11, 12, -1, 14, - -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, -1, 28, 29, 30, 31, 32, 33, -1, - 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 61, 62, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, - -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 120, -1, -1, 123, -1, - -1, -1, -1, -1, -1, -1, 131, 132, -1, -1, - -1, -1, -1, 138, 139, 140, -1, -1, -1, -1, - 145, -1, -1, -1, -1, -1, 151, -1, 153, 154, - -1, -1, -1, -1, -1, -1, -1, 162, 163, -1, - -1, 166, -1, 168, -1, -1, -1, 172, 173, -1, - -1, -1, -1, -1, -1, -1, 181, 182, 183, 184, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, -1, 214, - 215, -1, 217, -1, -1, 220, 221, 222, 223, 224, - -1, 226, 227, 228, -1, -1, 231, 232, 233, 234, - 235, 236, 237, 238, 239, -1, -1, -1, -1, 244, - -1, 246, 247, 248, -1, -1, 251, 252, -1, 254, - -1, 256, -1, 258, 259, 260, 261, 262, -1, 264, - 265, 266, 267, 268, -1, 270, -1, 272, 273, 274, - 275, 276, -1, -1, 279, -1, 281, 282, -1, -1, - 285, 286, 3, -1, 5, 6, 7, 8, -1, 10, - 11, 12, -1, 14, -1, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, - 31, 32, 33, -1, 35, 36, 37, 38, 39, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 61, 62, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, - 81, -1, -1, -1, 85, -1, -1, 88, -1, -1, - -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, - 101, -1, 103, 104, -1, -1, -1, -1, 109, -1, - -1, -1, 113, -1, -1, -1, -1, 118, -1, 120, - -1, -1, 123, -1, -1, -1, -1, -1, -1, -1, - 131, 132, -1, -1, -1, -1, -1, 138, 139, 140, - -1, -1, -1, -1, 145, -1, -1, 148, -1, -1, - 151, -1, 153, 154, -1, 156, -1, -1, 159, 160, - -1, 162, 163, -1, -1, 166, -1, 168, -1, -1, - -1, 172, 173, -1, -1, -1, 177, -1, -1, 180, - 181, 182, 183, 184, -1, -1, 187, -1, 189, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 199, -1, - -1, -1, 203, 204, 205, 206, 207, 208, 209, 210, - 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, - 231, 232, 233, 234, 235, 236, 237, 238, 239, -1, - 241, -1, 243, 244, 245, 246, 247, 248, 249, 250, - 251, 252, 253, 254, -1, 256, -1, 258, 259, 260, - 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, - 271, 272, 273, 274, 275, 276, -1, 278, 279, 280, - 281, 282, -1, 3, 285, 5, 6, 7, 8, -1, - 10, 11, 12, -1, 14, -1, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, - 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 61, 62, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 77, 78, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 94, 95, -1, -1, -1, -1, - -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 111, -1, -1, -1, -1, -1, -1, -1, -1, - 120, -1, -1, 123, -1, -1, -1, -1, -1, -1, - -1, 131, 132, -1, -1, -1, -1, -1, 138, 139, - 140, -1, 142, -1, 144, 145, -1, -1, -1, -1, - 150, 151, -1, 153, 154, -1, -1, -1, -1, -1, - -1, -1, 162, 163, -1, -1, 166, -1, 168, -1, - -1, -1, 172, 173, -1, -1, -1, -1, -1, -1, - -1, 181, 182, 183, 184, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 196, -1, -1, -1, - -1, -1, -1, 203, 204, 205, 206, 207, 208, -1, - 210, 211, 212, -1, 214, 215, -1, 217, -1, -1, - 220, 221, 222, 223, 224, -1, 226, 227, 228, -1, - -1, 231, 232, 233, 234, 235, 236, 237, 238, 239, - -1, -1, -1, -1, 244, -1, 246, 247, 248, -1, - -1, 251, 252, -1, 254, -1, 256, -1, 258, 259, - 260, 261, 262, -1, 264, 265, 266, 267, 268, -1, - 270, -1, 272, 273, 274, 275, 276, -1, -1, 279, - -1, 281, 282, -1, 3, 285, 5, 6, 7, 8, - -1, 10, 11, 12, -1, 14, -1, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, - 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, - 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 61, 62, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 79, -1, -1, -1, -1, -1, 85, -1, -1, -1, - -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, - -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 113, -1, -1, -1, -1, -1, - -1, 120, -1, -1, 123, -1, -1, -1, -1, -1, - -1, -1, 131, 132, -1, -1, -1, -1, -1, 138, - 139, 140, -1, -1, -1, -1, 145, -1, -1, -1, - -1, -1, 151, -1, 153, 154, -1, -1, -1, -1, - -1, -1, 161, 162, 163, -1, -1, 166, -1, 168, - -1, -1, -1, 172, 173, -1, -1, -1, -1, -1, - -1, -1, 181, 182, 183, 184, -1, -1, -1, -1, - -1, -1, 191, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, -1, 214, 215, -1, 217, -1, - -1, 220, 221, 222, 223, 224, -1, 226, 227, 228, - -1, -1, 231, 232, 233, 234, 235, 236, 237, 238, - 239, -1, -1, -1, -1, 244, -1, 246, 247, 248, - -1, -1, 251, 252, -1, 254, -1, 256, -1, 258, - 259, 260, 261, 262, -1, 264, 265, 266, 267, 268, - -1, 270, -1, 272, 273, 274, 275, 276, -1, -1, - 279, -1, 281, 282, -1, -1, 285, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, -1, 14, -1, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, -1, 28, 29, 30, 31, 32, 33, -1, 35, - 36, 37, 38, 39, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 61, 62, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, - -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 120, -1, -1, 123, -1, -1, - -1, -1, -1, -1, -1, 131, 132, -1, -1, -1, - -1, -1, 138, 139, 140, 141, -1, -1, -1, 145, - -1, -1, -1, -1, -1, 151, -1, 153, 154, -1, - -1, -1, -1, -1, -1, -1, 162, 163, -1, -1, - 166, -1, 168, -1, -1, -1, 172, 173, -1, -1, - -1, -1, -1, -1, -1, 181, 182, 183, 184, -1, - -1, 187, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, -1, 214, 215, - -1, 217, -1, -1, 220, 221, 222, 223, 224, -1, - 226, 227, 228, -1, -1, 231, 232, 233, 234, 235, - 236, 237, 238, 239, -1, -1, -1, -1, 244, -1, - 246, 247, 248, -1, -1, 251, 252, -1, 254, -1, - 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, - 266, 267, 268, -1, 270, -1, 272, 273, 274, 275, - 276, -1, -1, 279, -1, 281, 282, -1, 3, 285, - 5, 6, 7, 8, -1, 10, 11, 12, -1, 14, - -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, -1, 28, 29, 30, 31, 32, 33, -1, - 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 61, 62, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 88, -1, -1, -1, -1, -1, 94, - -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 120, -1, -1, 123, -1, - -1, -1, -1, -1, -1, -1, 131, 132, -1, -1, - -1, -1, -1, 138, 139, 140, -1, -1, -1, -1, - 145, -1, -1, -1, -1, -1, 151, -1, 153, 154, - -1, -1, -1, -1, -1, -1, -1, 162, 163, -1, - -1, 166, -1, 168, -1, -1, -1, 172, 173, -1, - -1, -1, -1, -1, -1, -1, 181, 182, 183, 184, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 203, 204, - 205, 206, 207, 208, -1, 210, 211, 212, -1, 214, - 215, -1, 217, -1, -1, 220, 221, 222, 223, 224, - -1, 226, 227, 228, -1, -1, 231, 232, 233, 234, - 235, 236, 237, 238, 239, -1, -1, -1, -1, 244, - -1, 246, 247, 248, -1, 250, 251, 252, -1, 254, - -1, 256, -1, 258, 259, 260, 261, 262, -1, 264, - 265, 266, 267, 268, -1, 270, -1, 272, 273, 274, - 275, 276, -1, -1, 279, -1, 281, 282, -1, 3, - 285, 5, 6, 7, 8, -1, 10, 11, 12, -1, - 14, -1, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, -1, 28, 29, 30, 31, 32, 33, - -1, 35, 36, 37, 38, 39, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 61, 62, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 94, -1, -1, -1, -1, -1, -1, 101, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 118, -1, 120, -1, -1, 123, - -1, -1, -1, -1, -1, -1, -1, 131, 132, -1, - -1, -1, -1, -1, 138, 139, 140, -1, -1, -1, - -1, 145, -1, -1, -1, -1, -1, 151, -1, 153, - 154, -1, -1, -1, -1, -1, -1, -1, 162, 163, - -1, 165, 166, -1, 168, -1, -1, -1, 172, 173, - -1, -1, -1, -1, -1, -1, -1, 181, 182, 183, - 184, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 203, - 204, 205, 206, 207, 208, -1, 210, 211, 212, -1, - 214, 215, -1, 217, -1, -1, 220, 221, 222, 223, - 224, -1, 226, 227, 228, -1, -1, 231, 232, 233, - 234, 235, 236, 237, 238, 239, -1, -1, -1, -1, - 244, -1, 246, 247, 248, -1, -1, 251, 252, -1, - 254, -1, 256, -1, 258, 259, 260, 261, 262, -1, - 264, 265, 266, 267, 268, -1, 270, -1, 272, 273, - 274, 275, 276, -1, -1, 279, -1, 281, 282, -1, - 3, 285, 5, 6, 7, 8, -1, 10, 11, 12, - -1, 14, -1, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, - 33, -1, 35, 36, 37, 38, 39, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 61, 62, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 94, -1, -1, -1, -1, -1, -1, 101, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 120, -1, -1, - 123, -1, -1, -1, -1, -1, -1, -1, 131, 132, - -1, -1, -1, -1, -1, 138, 139, 140, -1, -1, - -1, -1, 145, -1, -1, -1, -1, -1, 151, -1, - 153, 154, -1, -1, -1, -1, -1, -1, -1, 162, - 163, -1, -1, 166, -1, 168, -1, -1, -1, 172, - 173, -1, -1, -1, -1, -1, -1, -1, 181, 182, - 183, 184, -1, -1, 187, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 203, 204, 205, 206, 207, 208, -1, 210, 211, 212, - -1, 214, 215, -1, 217, -1, -1, 220, 221, 222, - 223, 224, -1, 226, 227, 228, -1, -1, 231, 232, - 233, 234, 235, 236, 237, 238, 239, -1, -1, -1, - -1, 244, -1, 246, 247, 248, -1, -1, 251, 252, - -1, 254, -1, 256, -1, 258, 259, 260, 261, 262, - -1, 264, 265, 266, 267, 268, -1, 270, -1, 272, - 273, 274, 275, 276, -1, -1, 279, -1, 281, 282, - -1, 3, 285, 5, 6, 7, 8, -1, 10, 11, - 12, -1, 14, -1, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, -1, 28, 29, 30, 31, - 32, 33, -1, 35, 36, 37, 38, 39, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 61, - 62, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 94, -1, -1, -1, -1, -1, -1, 101, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 120, -1, - -1, 123, -1, -1, -1, -1, -1, -1, -1, 131, - 132, -1, -1, -1, -1, -1, 138, 139, 140, -1, - -1, -1, -1, 145, -1, -1, -1, -1, -1, 151, - -1, 153, 154, -1, -1, -1, -1, -1, -1, -1, - 162, 163, -1, -1, 166, -1, 168, -1, -1, -1, - 172, 173, -1, -1, -1, -1, -1, -1, -1, 181, - 182, 183, 184, -1, -1, 187, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 203, 204, 205, 206, 207, 208, -1, 210, 211, - 212, -1, 214, 215, -1, 217, -1, -1, 220, 221, - 222, 223, 224, -1, 226, 227, 228, -1, -1, 231, - 232, 233, 234, 235, 236, 237, 238, 239, -1, -1, - -1, -1, 244, -1, 246, 247, 248, -1, -1, 251, - 252, -1, 254, -1, 256, -1, 258, 259, 260, 261, - 262, -1, 264, 265, 266, 267, 268, -1, 270, -1, - 272, 273, 274, 275, 276, -1, -1, 279, -1, 281, - 282, -1, 3, 285, 5, 6, 7, 8, -1, 10, - 11, 12, -1, 14, -1, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, - 31, 32, 33, -1, 35, 36, 37, 38, 39, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 61, 62, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 94, -1, -1, -1, -1, -1, -1, - 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 120, - -1, -1, 123, -1, -1, -1, -1, -1, -1, -1, - 131, 132, -1, -1, -1, -1, -1, 138, 139, 140, - -1, -1, -1, -1, 145, -1, -1, -1, -1, -1, - 151, -1, 153, 154, -1, -1, -1, -1, -1, -1, - -1, 162, 163, -1, -1, 166, -1, 168, -1, -1, - -1, 172, 173, -1, -1, -1, -1, -1, -1, -1, - 181, 182, 183, 184, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 203, 204, 205, 206, 207, 208, -1, 210, - 211, 212, -1, 214, 215, -1, 217, -1, -1, 220, - 221, 222, 223, 224, -1, 226, 227, 228, -1, -1, - 231, 232, 233, 234, 235, 236, 237, 238, 239, -1, - -1, -1, -1, 244, -1, 246, 247, 248, -1, -1, - 251, 252, 253, 254, -1, 256, -1, 258, 259, 260, - 261, 262, -1, 264, 265, 266, 267, 268, -1, 270, - -1, 272, 273, 274, 275, 276, -1, -1, 279, -1, - 281, 282, -1, 3, 285, 5, 6, 7, 8, -1, - 10, 11, 12, -1, 14, -1, 16, 17, 18, 19, - 20, 21, 22, 23, 24, 25, 26, -1, 28, 29, - 30, 31, 32, 33, -1, 35, 36, 37, 38, 39, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 61, 62, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 94, -1, -1, -1, -1, -1, - -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 120, -1, -1, 123, -1, -1, -1, -1, -1, -1, - -1, 131, 132, -1, -1, -1, -1, -1, 138, 139, - 140, -1, -1, -1, -1, 145, -1, -1, -1, -1, - -1, 151, -1, 153, 154, -1, -1, -1, -1, -1, - -1, -1, 162, 163, -1, -1, 166, -1, 168, -1, - -1, -1, 172, 173, -1, -1, -1, -1, -1, -1, - -1, 181, 182, 183, 184, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 203, 204, 205, 206, 207, 208, -1, - 210, 211, 212, -1, 214, 215, -1, 217, -1, -1, - 220, 221, 222, 223, 224, -1, 226, 227, 228, -1, - -1, 231, 232, 233, 234, 235, 236, 237, 238, 239, - -1, -1, -1, -1, 244, -1, 246, 247, 248, -1, - -1, 251, 252, 253, 254, -1, 256, -1, 258, 259, - 260, 261, 262, -1, 264, 265, 266, 267, 268, -1, - 270, -1, 272, 273, 274, 275, 276, -1, -1, 279, - -1, 281, 282, -1, 3, 285, 5, 6, 7, 8, - -1, 10, 11, 12, -1, 14, -1, 16, 17, 18, - 19, 20, 21, 22, 23, 24, 25, 26, -1, 28, - 29, 30, 31, 32, 33, -1, 35, 36, 37, 38, - 39, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 61, 62, -1, -1, -1, -1, -1, 68, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 94, -1, -1, -1, -1, - -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 120, -1, -1, 123, -1, -1, -1, -1, -1, - -1, -1, 131, 132, -1, -1, -1, -1, -1, 138, - 139, 140, -1, -1, -1, -1, 145, -1, -1, -1, - -1, -1, 151, -1, 153, 154, -1, -1, -1, -1, - -1, -1, -1, 162, 163, -1, -1, 166, -1, 168, - -1, -1, -1, 172, 173, -1, -1, -1, -1, -1, - -1, -1, 181, 182, 183, 184, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 203, 204, 205, 206, 207, 208, - -1, 210, 211, 212, -1, 214, 215, -1, 217, -1, - -1, 220, 221, 222, 223, 224, -1, 226, 227, 228, - -1, -1, 231, 232, 233, 234, 235, 236, 237, 238, - 239, -1, -1, -1, -1, 244, -1, 246, 247, 248, - -1, -1, 251, 252, -1, 254, -1, 256, -1, 258, - 259, 260, 261, 262, -1, 264, 265, 266, 267, 268, - -1, 270, -1, 272, 273, 274, 275, 276, -1, -1, - 279, -1, 281, 282, -1, 3, 285, 5, 6, 7, - 8, -1, 10, 11, 12, -1, 14, -1, 16, 17, - 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, - 28, 29, 30, 31, 32, 33, -1, 35, 36, 37, - 38, 39, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 61, 62, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, - -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 120, -1, -1, 123, -1, -1, -1, -1, - -1, -1, -1, 131, 132, -1, -1, -1, -1, -1, - 138, 139, 140, -1, -1, -1, -1, 145, -1, -1, - -1, -1, -1, 151, -1, 153, 154, -1, -1, -1, - -1, -1, -1, -1, 162, 163, -1, -1, 166, -1, - 168, -1, -1, -1, 172, 173, -1, -1, -1, -1, - -1, -1, -1, 181, 182, 183, 184, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 203, 204, 205, 206, 207, - 208, -1, 210, 211, 212, -1, 214, 215, -1, 217, - -1, -1, 220, 221, 222, 223, 224, -1, 226, 227, - 228, -1, -1, 231, 232, 233, 234, 235, 236, 237, - 238, 239, -1, -1, -1, -1, 244, -1, 246, 247, - 248, -1, -1, 251, 252, -1, 254, -1, 256, -1, - 258, 259, 260, 261, 262, -1, 264, 265, 266, 267, - 268, -1, 270, -1, 272, 273, 274, 275, 276, -1, - -1, 279, -1, 281, 282, -1, 3, 285, 5, 6, - 7, 8, -1, 10, 11, 12, -1, 14, -1, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - -1, 28, 29, 30, 31, 32, 33, -1, 35, 36, - 37, 38, 39, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 61, 62, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, - -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 120, -1, -1, 123, -1, -1, -1, - -1, -1, -1, -1, 131, 132, -1, -1, -1, -1, - -1, 138, 139, 140, -1, -1, -1, -1, 145, -1, - -1, -1, -1, -1, 151, -1, 153, 154, -1, -1, - -1, -1, -1, -1, -1, 162, 163, -1, -1, 166, - -1, 168, -1, -1, -1, 172, 173, -1, -1, -1, - -1, -1, -1, -1, 181, 182, 183, 184, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 203, 204, 205, 206, - 207, 208, -1, 210, 211, 212, -1, 214, 215, -1, - 217, -1, -1, 220, 221, 222, 223, 224, -1, 226, - 227, 228, -1, -1, 231, 232, 233, 234, 235, 236, - 237, 238, 239, -1, -1, -1, -1, 244, -1, 246, - 247, 248, -1, -1, 251, 252, -1, 254, -1, 256, - -1, 258, 259, 260, 261, 262, -1, 264, 265, 266, - 267, 268, -1, 270, -1, 272, 273, 274, 275, 276, - -1, -1, 279, -1, 281, 282, -1, 3, 285, 5, - 6, 7, 8, -1, 10, 11, 12, -1, 14, -1, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, -1, 28, 29, 30, 31, 32, 33, -1, 35, - 36, 37, 38, 39, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 61, 62, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, - -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 120, -1, -1, 123, -1, -1, - -1, -1, -1, -1, -1, 131, 132, -1, -1, -1, - -1, -1, 138, 139, 140, -1, -1, -1, -1, 145, - -1, -1, -1, -1, -1, 151, -1, 153, 154, -1, - -1, -1, -1, -1, -1, -1, 162, 163, -1, -1, - 166, -1, 168, -1, -1, -1, 172, 173, -1, -1, - -1, -1, -1, -1, -1, 181, 182, 183, 184, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 203, 204, 205, - 206, 207, 208, -1, 210, 211, 212, -1, 214, 215, - -1, 217, -1, -1, 220, 221, 222, 223, 224, -1, - 226, 227, 228, -1, -1, 231, 232, 233, 234, 235, - 236, 237, 238, 239, -1, -1, -1, -1, 244, -1, - 246, 247, 248, -1, -1, 251, 252, -1, 254, -1, - 256, -1, 258, 259, 260, 261, 262, -1, 264, 265, - 266, 267, 268, -1, 270, -1, 272, 273, 274, 275, - 276, -1, -1, 279, -1, 281, 282, -1, -1, 285, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -1, 14, -1, 16, 17, 18, 19, 20, 21, 22, - 23, 24, 25, 26, -1, 28, 29, 30, 31, 32, - 33, -1, 35, 36, 37, 38, 39, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 77, 78, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 94, 95, -1, -1, -1, -1, -1, 101, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 111, -1, - -1, -1, -1, -1, -1, -1, -1, 120, -1, -1, - -1, -1, -1, 126, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 139, 140, -1, 142, - -1, 144, -1, -1, -1, -1, -1, 150, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 173, -1, -1, -1, -1, -1, -1, -1, 181, 182, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 196, -1, -1, -1, -1, -1, -1, - 203, -1, -1, -1, -1, 208, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, -1, 14, -1, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - -1, 28, 29, 30, 31, 32, 33, -1, 35, 36, - 37, 38, 39, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 267, -1, 269, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 282, - 77, 78, 285, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 94, 95, -1, - -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 111, -1, -1, -1, -1, -1, - -1, -1, -1, 120, -1, -1, -1, -1, -1, 126, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 139, 140, -1, 142, -1, 144, -1, -1, - -1, -1, -1, 150, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 173, -1, -1, -1, - -1, -1, -1, -1, 181, 182, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 196, - -1, -1, -1, -1, -1, -1, 203, -1, -1, -1, - -1, 208, 3, 4, 5, 6, 7, 8, 9, 10, - 11, 12, -1, 14, -1, 16, 17, 18, 19, 20, - 21, 22, 23, 24, 25, 26, -1, 28, 29, 30, - 31, 32, 33, -1, 35, 36, 37, 38, 39, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 269, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 282, 77, 78, 285, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 94, 95, -1, -1, -1, -1, -1, - 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 111, -1, -1, -1, -1, -1, -1, -1, -1, 120, - -1, -1, -1, -1, -1, 126, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 139, 140, - -1, 142, -1, 144, -1, -1, -1, -1, -1, 150, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 173, -1, -1, -1, -1, -1, -1, -1, - 181, 182, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 196, -1, -1, -1, -1, - -1, -1, 203, -1, -1, -1, -1, 208, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 282, -1, -1, 285 -}; -/* -*-C-*- Note some compilers choke on comments on `#line' lines. */ -#line 3 "/usr/share/misc/bison.simple" - -/* Skeleton output parser for bison, - Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2, or (at your option) - any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -/* As a special exception, when this file is copied by Bison into a - Bison output file, you may use that output file without restriction. - This special exception was added by the Free Software Foundation - in version 1.24 of Bison. */ - -#ifndef alloca -#ifdef __GNUC__ -#define alloca __builtin_alloca -#else /* not GNU C. */ -#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) -#include -#else /* not sparc */ -#if defined (MSDOS) && !defined (__TURBOC__) -#include -#else /* not MSDOS, or __TURBOC__ */ -#if defined(_AIX) -#include - #pragma alloca -#else /* not MSDOS, __TURBOC__, or _AIX */ -#ifdef __hpux -#ifdef __cplusplus -extern "C" { -void *alloca (unsigned int); -}; -#else /* not __cplusplus */ -void *alloca (); -#endif /* not __cplusplus */ -#endif /* __hpux */ -#endif /* not _AIX */ -#endif /* not MSDOS, or __TURBOC__ */ -#endif /* not sparc. */ -#endif /* not GNU C. */ -#endif /* alloca not defined. */ - -/* This is the parser code that is written into each bison parser - when the %semantic_parser declaration is not specified in the grammar. - It was written by Richard Stallman by simplifying the hairy parser - used when %semantic_parser is specified. */ - -/* Note: there must be only one dollar sign in this file. - It is replaced by the list of actions, each action - as one case of the switch. */ - -#define yyerrok (yyerrstatus = 0) -#define yyclearin (yychar = YYEMPTY) -#define YYEMPTY -2 -#define YYEOF 0 -#define YYACCEPT return(0) -#define YYABORT return(1) -#define YYERROR goto yyerrlab1 -/* Like YYERROR except do call yyerror. - This remains here temporarily to ease the - transition to the new meaning of YYERROR, for GCC. - Once GCC version 2 has supplanted version 1, this can go. */ -#define YYFAIL goto yyerrlab -#define YYRECOVERING() (!!yyerrstatus) -#define YYBACKUP(token, value) \ -do \ - if (yychar == YYEMPTY && yylen == 1) \ - { yychar = (token), yylval = (value); \ - yychar1 = YYTRANSLATE (yychar); \ - YYPOPSTACK; \ - goto yybackup; \ - } \ - else \ - { yyerror ("syntax error: cannot back up"); YYERROR; } \ -while (0) - -#define YYTERROR 1 -#define YYERRCODE 256 - -#ifndef YYPURE -#define YYLEX yylex() -#endif - -#ifdef YYPURE -#ifdef YYLSP_NEEDED -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval, &yylloc) -#endif -#else /* not YYLSP_NEEDED */ -#ifdef YYLEX_PARAM -#define YYLEX yylex(&yylval, YYLEX_PARAM) -#else -#define YYLEX yylex(&yylval) -#endif -#endif /* not YYLSP_NEEDED */ -#endif - -/* If nonreentrant, generate the variables here */ - -#ifndef YYPURE - -int yychar; /* the lookahead symbol */ -YYSTYPE yylval; /* the semantic value of the */ - /* lookahead symbol */ - -#ifdef YYLSP_NEEDED -YYLTYPE yylloc; /* location data for the lookahead */ - /* symbol */ -#endif - -int yynerrs; /* number of parse errors so far */ -#endif /* not YYPURE */ - -#if YYDEBUG != 0 -int yydebug; /* nonzero means print parse trace */ -/* Since this is uninitialized, it does not stop multiple parsers - from coexisting. */ -#endif - -/* YYINITDEPTH indicates the initial size of the parser's stacks */ - -#ifndef YYINITDEPTH -#define YYINITDEPTH 200 -#endif - -/* YYMAXDEPTH is the maximum size the stacks can grow to - (effective only if the built-in stack extension method is used). */ - -#if YYMAXDEPTH == 0 -#undef YYMAXDEPTH -#endif - -#ifndef YYMAXDEPTH -#define YYMAXDEPTH 10000 -#endif - -/* Prevent warning if -Wstrict-prototypes. */ -#ifdef __GNUC__ -int yyparse (void); -#endif - -#if __GNUC__ > 1 /* GNU C and GNU C++ define this. */ -#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT) -#else /* not GNU C or C++ */ -#ifndef __cplusplus - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (to, from, count) - char *to; - char *from; - int count; -{ - register char *f = from; - register char *t = to; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#else /* __cplusplus */ - -/* This is the most reliable way to avoid incompatibilities - in available built-in functions on various systems. */ -static void -__yy_memcpy (char *to, char *from, int count) -{ - register char *f = from; - register char *t = to; - register int i = count; - - while (i-- > 0) - *t++ = *f++; -} - -#endif -#endif - -#line 196 "/usr/share/misc/bison.simple" - -/* The user can define YYPARSE_PARAM as the name of an argument to be passed - into yyparse. The argument should have type void *. - It should actually point to an object. - Grammar actions can access the variable by casting it - to the proper pointer type. */ - -#ifdef YYPARSE_PARAM -#ifdef __cplusplus -#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM -#define YYPARSE_PARAM_DECL -#else /* not __cplusplus */ -#define YYPARSE_PARAM_ARG YYPARSE_PARAM -#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM; -#endif /* not __cplusplus */ -#else /* not YYPARSE_PARAM */ -#define YYPARSE_PARAM_ARG -#define YYPARSE_PARAM_DECL -#endif /* not YYPARSE_PARAM */ - -int -yyparse(YYPARSE_PARAM_ARG) - YYPARSE_PARAM_DECL -{ - register int yystate; - register int yyn; - register short *yyssp; - register YYSTYPE *yyvsp; - int yyerrstatus; /* number of tokens to shift before error messages enabled */ - int yychar1 = 0; /* lookahead token as an internal (translated) token number */ - - short yyssa[YYINITDEPTH]; /* the state stack */ - YYSTYPE yyvsa[YYINITDEPTH]; /* the semantic value stack */ - - short *yyss = yyssa; /* refer to the stacks thru separate pointers */ - YYSTYPE *yyvs = yyvsa; /* to allow yyoverflow to reallocate them elsewhere */ - -#ifdef YYLSP_NEEDED - YYLTYPE yylsa[YYINITDEPTH]; /* the location stack */ - YYLTYPE *yyls = yylsa; - YYLTYPE *yylsp; - -#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--) -#else -#define YYPOPSTACK (yyvsp--, yyssp--) -#endif - - int yystacksize = YYINITDEPTH; - -#ifdef YYPURE - int yychar; - YYSTYPE yylval; - int yynerrs; -#ifdef YYLSP_NEEDED - YYLTYPE yylloc; -#endif -#endif - - YYSTYPE yyval; /* the variable used to return */ - /* semantic values from the action */ - /* routines */ - - int yylen; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Starting parse\n"); -#endif - - yystate = 0; - yyerrstatus = 0; - yynerrs = 0; - yychar = YYEMPTY; /* Cause a token to be read. */ - - /* Initialize stack pointers. - Waste one element of value and location stack - so that they stay on the same level as the state stack. - The wasted elements are never initialized. */ - - yyssp = yyss - 1; - yyvsp = yyvs; -#ifdef YYLSP_NEEDED - yylsp = yyls; -#endif - -/* Push a new state, which is found in yystate . */ -/* In all cases, when you get here, the value and location stacks - have just been pushed. so pushing a state here evens the stacks. */ -yynewstate: - - *++yyssp = yystate; - - if (yyssp >= yyss + yystacksize - 1) - { - /* Give user a chance to reallocate the stack */ - /* Use copies of these so that the &'s don't force the real ones into memory. */ - YYSTYPE *yyvs1 = yyvs; - short *yyss1 = yyss; -#ifdef YYLSP_NEEDED - YYLTYPE *yyls1 = yyls; -#endif - - /* Get the current used size of the three stacks, in elements. */ - int size = yyssp - yyss + 1; - -#ifdef yyoverflow - /* Each stack pointer address is followed by the size of - the data in use in that stack, in bytes. */ -#ifdef YYLSP_NEEDED - /* This used to be a conditional around just the two extra args, - but that might be undefined if yyoverflow is a macro. */ - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yyls1, size * sizeof (*yylsp), - &yystacksize); -#else - yyoverflow("parser stack overflow", - &yyss1, size * sizeof (*yyssp), - &yyvs1, size * sizeof (*yyvsp), - &yystacksize); -#endif - - yyss = yyss1; yyvs = yyvs1; -#ifdef YYLSP_NEEDED - yyls = yyls1; -#endif -#else /* no yyoverflow */ - /* Extend the stack our own way. */ - if (yystacksize >= YYMAXDEPTH) - { - yyerror("parser stack overflow"); - return 2; - } - yystacksize *= 2; - if (yystacksize > YYMAXDEPTH) - yystacksize = YYMAXDEPTH; - yyss = (short *) alloca (yystacksize * sizeof (*yyssp)); - __yy_memcpy ((char *)yyss, (char *)yyss1, size * sizeof (*yyssp)); - yyvs = (YYSTYPE *) alloca (yystacksize * sizeof (*yyvsp)); - __yy_memcpy ((char *)yyvs, (char *)yyvs1, size * sizeof (*yyvsp)); -#ifdef YYLSP_NEEDED - yyls = (YYLTYPE *) alloca (yystacksize * sizeof (*yylsp)); - __yy_memcpy ((char *)yyls, (char *)yyls1, size * sizeof (*yylsp)); -#endif -#endif /* no yyoverflow */ - - yyssp = yyss + size - 1; - yyvsp = yyvs + size - 1; -#ifdef YYLSP_NEEDED - yylsp = yyls + size - 1; -#endif - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Stack size increased to %d\n", yystacksize); -#endif - - if (yyssp >= yyss + yystacksize - 1) - YYABORT; - } - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Entering state %d\n", yystate); -#endif - - goto yybackup; - yybackup: - -/* Do appropriate processing given the current state. */ -/* Read a lookahead token if we need one and don't already have one. */ -/* yyresume: */ - - /* First try to decide what to do without reference to lookahead token. */ - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yydefault; - - /* Not known => get a lookahead token if don't already have one. */ - - /* yychar is either YYEMPTY or YYEOF - or a valid token in external form. */ - - if (yychar == YYEMPTY) - { -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Reading a token: "); -#endif - yychar = YYLEX; - } - - /* Convert token to internal form (in yychar1) for indexing tables with */ - - if (yychar <= 0) /* This means end of input. */ - { - yychar1 = 0; - yychar = YYEOF; /* Don't call YYLEX any more */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Now at end of input.\n"); -#endif - } - else - { - yychar1 = YYTRANSLATE(yychar); - -#if YYDEBUG != 0 - if (yydebug) - { - fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]); - /* Give the individual parser a way to print the precise meaning - of a token, for further debugging info. */ -#ifdef YYPRINT - YYPRINT (stderr, yychar, yylval); -#endif - fprintf (stderr, ")\n"); - } -#endif - } - - yyn += yychar1; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1) - goto yydefault; - - yyn = yytable[yyn]; - - /* yyn is what to do for this token type in this state. - Negative => reduce, -yyn is rule number. - Positive => shift, yyn is new state. - New state is final state => don't bother to shift, - just return success. - 0, or most negative number => error. */ - - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrlab; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrlab; - - if (yyn == YYFINAL) - YYACCEPT; - - /* Shift the lookahead token. */ - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]); -#endif - - /* Discard the token being shifted unless it is eof. */ - if (yychar != YYEOF) - yychar = YYEMPTY; - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - /* count tokens shifted since error; after three, turn off error status. */ - if (yyerrstatus) yyerrstatus--; - - yystate = yyn; - goto yynewstate; - -/* Do the default action for the current state. */ -yydefault: - - yyn = yydefact[yystate]; - if (yyn == 0) - goto yyerrlab; - -/* Do a reduction. yyn is the number of a rule to reduce with. */ -yyreduce: - yylen = yyr2[yyn]; - if (yylen > 0) - yyval = yyvsp[1-yylen]; /* implement default value of the action */ - -#if YYDEBUG != 0 - if (yydebug) - { - int i; - - fprintf (stderr, "Reducing via rule %d (line %d), ", - yyn, yyrline[yyn]); - - /* Print the symbols being reduced, and their result. */ - for (i = yyprhs[yyn]; yyrhs[i] > 0; i++) - fprintf (stderr, "%s ", yytname[yyrhs[i]]); - fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]); - } -#endif - - - switch (yyn) { - -case 4: -#line 860 "preproc.y" -{ connection = NULL; ; - break;} -case 7: -#line 863 "preproc.y" -{ fprintf(yyout, "%s", yyvsp[0].str); free(yyvsp[0].str); ; - break;} -case 8: -#line 864 "preproc.y" -{ fprintf(yyout, "%s", yyvsp[0].str); free(yyvsp[0].str); ; - break;} -case 9: -#line 865 "preproc.y" -{ fputs(yyvsp[0].str, yyout); free(yyvsp[0].str); ; - break;} -case 10: -#line 866 "preproc.y" -{ fputs(yyvsp[0].str, yyout); free(yyvsp[0].str); ; - break;} -case 11: -#line 868 "preproc.y" -{ connection = yyvsp[0].str; ; - break;} -case 12: -#line 870 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 13: -#line 871 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 14: -#line 872 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 15: -#line 873 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 16: -#line 874 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 17: -#line 875 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 18: -#line 876 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 19: -#line 877 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 20: -#line 878 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 21: -#line 879 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 22: -#line 880 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 23: -#line 881 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 24: -#line 882 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 25: -#line 883 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 26: -#line 884 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 27: -#line 885 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 28: -#line 886 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 29: -#line 887 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 30: -#line 888 "preproc.y" -{ output_statement(yyvsp[0].str, 1); ; - break;} -case 31: -#line 889 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 32: -#line 890 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 33: -#line 891 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 34: -#line 892 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 35: -#line 893 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 36: -#line 894 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 37: -#line 895 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 38: -#line 896 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 39: -#line 897 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 40: -#line 898 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 41: -#line 899 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 42: -#line 900 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 43: -#line 901 "preproc.y" -{ - if (strncmp(yyvsp[0].str, "/* " , sizeof("/* ")-1) == 0) - output_simple_statement(yyvsp[0].str); - else - output_statement(yyvsp[0].str, 1); - ; - break;} -case 44: -#line 907 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 45: -#line 908 "preproc.y" -{ - fprintf(yyout, "{ ECPGtrans(__LINE__, %s, \"%s\");", connection ? connection : "NULL", yyvsp[0].str); - whenever_action(2); - free(yyvsp[0].str); - ; - break;} -case 46: -#line 913 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 47: -#line 914 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 48: -#line 915 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 49: -#line 916 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 50: -#line 917 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 51: -#line 918 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 52: -#line 919 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 53: -#line 920 "preproc.y" -{ output_statement(yyvsp[0].str, 0); ; - break;} -case 54: -#line 921 "preproc.y" -{ - if (connection) - yyerror("no at option for connect statement.\n"); - - fprintf(yyout, "{ ECPGconnect(__LINE__, %s, %d);", yyvsp[0].str, autocommit); - whenever_action(2); - free(yyvsp[0].str); - ; - break;} -case 55: -#line 929 "preproc.y" -{ - output_simple_statement(yyvsp[0].str); - ; - break;} -case 56: -#line 932 "preproc.y" -{ - if (connection) - yyerror("no at option for connect statement.\n"); - - fputc('{', yyout); - fputs(yyvsp[0].str, yyout); - whenever_action(2); - free(yyvsp[0].str); - ; - break;} -case 57: -#line 941 "preproc.y" -{ - output_simple_statement(yyvsp[0].str); - ; - break;} -case 58: -#line 944 "preproc.y" -{ - if (connection) - yyerror("no at option for disconnect statement.\n"); - - fprintf(yyout, "{ ECPGdisconnect(__LINE__, \"%s\");", yyvsp[0].str); - whenever_action(2); - free(yyvsp[0].str); - ; - break;} -case 59: -#line 952 "preproc.y" -{ - output_statement(yyvsp[0].str, 0); - ; - break;} -case 60: -#line 955 "preproc.y" -{ - fprintf(yyout, "{ ECPGdeallocate(__LINE__, %s, \"%s\");", connection ? connection : "NULL", yyvsp[0].str); - whenever_action(2); - free(yyvsp[0].str); - ; - break;} -case 61: -#line 960 "preproc.y" -{ - struct cursor *ptr; - - for (ptr = cur; ptr != NULL; ptr=ptr->next) - { - if (strcmp(ptr->name, yyvsp[0].str) == 0) - break; - } - - if (ptr == NULL) - { - sprintf(errortext, "trying to open undeclared cursor %s\n", yyvsp[0].str); - yyerror(errortext); - } - - fprintf(yyout, "{ ECPGdo(__LINE__, %s, \"%s\",", ptr->connection ? ptr->connection : "NULL", ptr->command); - /* dump variables to C file*/ - dump_variables(ptr->argsinsert, 0); - dump_variables(argsinsert, 0); - fputs("ECPGt_EOIT, ", yyout); - dump_variables(ptr->argsresult, 0); - fputs("ECPGt_EORT);", yyout); - whenever_action(2); - free(yyvsp[0].str); - ; - break;} -case 62: -#line 985 "preproc.y" -{ - if (connection) - yyerror("no at option for set connection statement.\n"); - - fprintf(yyout, "{ ECPGprepare(__LINE__, %s);", yyvsp[0].str); - whenever_action(2); - free(yyvsp[0].str); - ; - break;} -case 63: -#line 993 "preproc.y" -{ /* output already done */ ; - break;} -case 64: -#line 994 "preproc.y" -{ - fprintf(yyout, "{ ECPGsetcommit(__LINE__, \"%s\", %s);", yyvsp[0].str, connection ? connection : "NULL"); - whenever_action(2); - free(yyvsp[0].str); - ; - break;} -case 65: -#line 999 "preproc.y" -{ - if (connection) - yyerror("no at option for set connection statement.\n"); - - fprintf(yyout, "{ ECPGsetconn(__LINE__, %s);", yyvsp[0].str); - whenever_action(2); - free(yyvsp[0].str); - ; - break;} -case 66: -#line 1007 "preproc.y" -{ - if (connection) - yyerror("no at option for typedef statement.\n"); - - output_simple_statement(yyvsp[0].str); - ; - break;} -case 67: -#line 1013 "preproc.y" -{ - if (connection) - yyerror("no at option for var statement.\n"); - - output_simple_statement(yyvsp[0].str); - ; - break;} -case 68: -#line 1019 "preproc.y" -{ - if (connection) - yyerror("no at option for whenever statement.\n"); - - output_simple_statement(yyvsp[0].str); - ; - break;} -case 69: -#line 1041 "preproc.y" -{ - yyval.str = cat3_str(cat5_str(make1_str("create user"), yyvsp[-5].str, yyvsp[-4].str, yyvsp[-3].str, yyvsp[-2].str), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 70: -#line 1055 "preproc.y" -{ - yyval.str = cat3_str(cat5_str(make1_str("alter user"), yyvsp[-5].str, yyvsp[-4].str, yyvsp[-3].str, yyvsp[-2].str), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 71: -#line 1068 "preproc.y" -{ - yyval.str = cat2_str(make1_str("drop user"), yyvsp[0].str); - ; - break;} -case 72: -#line 1073 "preproc.y" -{ yyval.str = cat2_str(make1_str("with password") , yyvsp[0].str); ; - break;} -case 73: -#line 1074 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 74: -#line 1078 "preproc.y" -{ - yyval.str = make1_str("createdb"); - ; - break;} -case 75: -#line 1082 "preproc.y" -{ - yyval.str = make1_str("nocreatedb"); - ; - break;} -case 76: -#line 1085 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 77: -#line 1089 "preproc.y" -{ - yyval.str = make1_str("createuser"); - ; - break;} -case 78: -#line 1093 "preproc.y" -{ - yyval.str = make1_str("nocreateuser"); - ; - break;} -case 79: -#line 1096 "preproc.y" -{ yyval.str = NULL; ; - break;} -case 80: -#line 1100 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); - ; - break;} -case 81: -#line 1104 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 82: -#line 1109 "preproc.y" -{ yyval.str = cat2_str(make1_str("in group"), yyvsp[0].str); ; - break;} -case 83: -#line 1110 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 84: -#line 1113 "preproc.y" -{ yyval.str = cat2_str(make1_str("valid until"), yyvsp[0].str); ; - break;} -case 85: -#line 1114 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 86: -#line 1127 "preproc.y" -{ - yyval.str = cat4_str(make1_str("set"), yyvsp[-2].str, make1_str("to"), yyvsp[0].str); - ; - break;} -case 87: -#line 1131 "preproc.y" -{ - yyval.str = cat4_str(make1_str("set"), yyvsp[-2].str, make1_str("="), yyvsp[0].str); - ; - break;} -case 88: -#line 1135 "preproc.y" -{ - yyval.str = cat2_str(make1_str("set time zone"), yyvsp[0].str); - ; - break;} -case 89: -#line 1139 "preproc.y" -{ - yyval.str = cat2_str(make1_str("set transaction isolation level"), yyvsp[0].str); - ; - break;} -case 90: -#line 1143 "preproc.y" -{ -#ifdef MB - yyval.str = cat2_str(make1_str("set names"), yyvsp[0].str); -#else - yyerror("SET NAMES is not supported"); -#endif - ; - break;} -case 91: -#line 1152 "preproc.y" -{ yyval.str = make1_str("read committed"); ; - break;} -case 92: -#line 1153 "preproc.y" -{ yyval.str = make1_str("serializable"); ; - break;} -case 93: -#line 1157 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 94: -#line 1158 "preproc.y" -{ yyval.str = make1_str("default"); ; - break;} -case 95: -#line 1161 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 96: -#line 1162 "preproc.y" -{ yyval.str = make1_str("default"); ; - break;} -case 97: -#line 1163 "preproc.y" -{ yyval.str = make1_str("local"); ; - break;} -case 98: -#line 1167 "preproc.y" -{ - yyval.str = cat2_str(make1_str("show"), yyvsp[0].str); - ; - break;} -case 99: -#line 1171 "preproc.y" -{ - yyval.str = make1_str("show time zone"); - ; - break;} -case 100: -#line 1175 "preproc.y" -{ - yyval.str = make1_str("show transaction isolation level"); - ; - break;} -case 101: -#line 1181 "preproc.y" -{ - yyval.str = cat2_str(make1_str("reset"), yyvsp[0].str); - ; - break;} -case 102: -#line 1185 "preproc.y" -{ - yyval.str = make1_str("reset time zone"); - ; - break;} -case 103: -#line 1189 "preproc.y" -{ - yyval.str = make1_str("reset transaction isolation level"); - ; - break;} -case 104: -#line 1203 "preproc.y" -{ - yyval.str = cat4_str(make1_str("alter table"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 105: -#line 1209 "preproc.y" -{ - yyval.str = cat3_str(make1_str("add"), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 106: -#line 1213 "preproc.y" -{ - yyval.str = make3_str(make1_str("add("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 107: -#line 1217 "preproc.y" -{ yyerror("ALTER TABLE/DROP COLUMN not yet implemented"); ; - break;} -case 108: -#line 1219 "preproc.y" -{ yyerror("ALTER TABLE/ALTER COLUMN/SET DEFAULT not yet implemented"); ; - break;} -case 109: -#line 1221 "preproc.y" -{ yyerror("ALTER TABLE/ALTER COLUMN/DROP DEFAULT not yet implemented"); ; - break;} -case 110: -#line 1223 "preproc.y" -{ yyerror("ALTER TABLE/ADD CONSTRAINT not yet implemented"); ; - break;} -case 111: -#line 1234 "preproc.y" -{ - yyval.str = cat2_str(make1_str("close"), yyvsp[0].str); - ; - break;} -case 112: -#line 1249 "preproc.y" -{ - yyval.str = cat3_str(cat5_str(make1_str("copy"), yyvsp[-5].str, yyvsp[-4].str, yyvsp[-3].str, yyvsp[-2].str), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 113: -#line 1255 "preproc.y" -{ yyval.str = make1_str("to"); ; - break;} -case 114: -#line 1257 "preproc.y" -{ yyval.str = make1_str("from"); ; - break;} -case 115: -#line 1265 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 116: -#line 1266 "preproc.y" -{ yyval.str = make1_str("stdin"); ; - break;} -case 117: -#line 1267 "preproc.y" -{ yyval.str = make1_str("stdout"); ; - break;} -case 118: -#line 1270 "preproc.y" -{ yyval.str = make1_str("binary"); ; - break;} -case 119: -#line 1271 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 120: -#line 1274 "preproc.y" -{ yyval.str = make1_str("with oids"); ; - break;} -case 121: -#line 1275 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 122: -#line 1281 "preproc.y" -{ yyval.str = cat2_str(make1_str("using delimiters"), yyvsp[0].str); ; - break;} -case 123: -#line 1282 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 124: -#line 1296 "preproc.y" -{ - yyval.str = cat3_str(cat4_str(make1_str("create"), yyvsp[-6].str, make1_str("table"), yyvsp[-4].str), make3_str(make1_str("("), yyvsp[-2].str, make1_str(")")), yyvsp[0].str); - ; - break;} -case 125: -#line 1301 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 126: -#line 1302 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str,yyvsp[0].str); ; - break;} -case 127: -#line 1305 "preproc.y" -{ yyval.str = make1_str("temp"); ; - break;} -case 128: -#line 1306 "preproc.y" -{ yyval.str = make1_str("temporary"); ; - break;} -case 129: -#line 1307 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 130: -#line 1311 "preproc.y" -{ - yyerror("GLOBAL TEMPORARY TABLE is not currently supported"); - yyval.str = make1_str("global"); - ; - break;} -case 131: -#line 1315 "preproc.y" -{ yyval.str = make1_str("local"); ; - break;} -case 132: -#line 1320 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); - ; - break;} -case 133: -#line 1324 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 134: -#line 1327 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 135: -#line 1330 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 136: -#line 1331 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 137: -#line 1335 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 138: -#line 1339 "preproc.y" -{ - yyval.str = make3_str(yyvsp[-2].str, make1_str(" serial "), yyvsp[0].str); - ; - break;} -case 139: -#line 1344 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 140: -#line 1345 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 141: -#line 1348 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str,yyvsp[0].str); ; - break;} -case 142: -#line 1349 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 143: -#line 1353 "preproc.y" -{ - yyval.str = make1_str("primary key"); - ; - break;} -case 144: -#line 1357 "preproc.y" -{ - yyval.str = make1_str(""); - ; - break;} -case 145: -#line 1364 "preproc.y" -{ - yyval.str = cat3_str(make1_str("constraint"), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 146: -#line 1368 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 147: -#line 1382 "preproc.y" -{ - yyval.str = make3_str(make1_str("check("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 148: -#line 1386 "preproc.y" -{ - yyval.str = make1_str("default null"); - ; - break;} -case 149: -#line 1390 "preproc.y" -{ - yyval.str = cat2_str(make1_str("default"), yyvsp[0].str); - ; - break;} -case 150: -#line 1394 "preproc.y" -{ - yyval.str = make1_str("not null"); - ; - break;} -case 151: -#line 1398 "preproc.y" -{ - yyval.str = make1_str("unique"); - ; - break;} -case 152: -#line 1402 "preproc.y" -{ - yyval.str = make1_str("primary key"); - ; - break;} -case 153: -#line 1406 "preproc.y" -{ - fprintf(stderr, "CREATE TABLE/FOREIGN KEY clause ignored; not yet implemented"); - yyval.str = make1_str(""); - ; - break;} -case 154: -#line 1413 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); - ; - break;} -case 155: -#line 1417 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 156: -#line 1431 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 157: -#line 1433 "preproc.y" -{ yyval.str = cat2_str(make1_str("-"), yyvsp[0].str); ; - break;} -case 158: -#line 1435 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("+"), yyvsp[0].str); ; - break;} -case 159: -#line 1437 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("-"), yyvsp[0].str); ; - break;} -case 160: -#line 1439 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("/"), yyvsp[0].str); ; - break;} -case 161: -#line 1441 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("%"), yyvsp[0].str); ; - break;} -case 162: -#line 1443 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("*"), yyvsp[0].str); ; - break;} -case 163: -#line 1445 "preproc.y" -{ yyerror("boolean expressions not supported in DEFAULT"); ; - break;} -case 164: -#line 1447 "preproc.y" -{ yyerror("boolean expressions not supported in DEFAULT"); ; - break;} -case 165: -#line 1449 "preproc.y" -{ yyerror("boolean expressions not supported in DEFAULT"); ; - break;} -case 166: -#line 1455 "preproc.y" -{ yyval.str = cat2_str(make1_str(";"), yyvsp[0].str); ; - break;} -case 167: -#line 1457 "preproc.y" -{ yyval.str = cat2_str(make1_str("|"), yyvsp[0].str); ; - break;} -case 168: -#line 1459 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("::"), yyvsp[0].str); ; - break;} -case 169: -#line 1461 "preproc.y" -{ - yyval.str = cat3_str(make2_str(make1_str("cast("), yyvsp[-3].str) , make1_str("as"), make2_str(yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 170: -#line 1465 "preproc.y" -{ yyval.str = make3_str(make1_str("("), yyvsp[-1].str, make1_str(")")); ; - break;} -case 171: -#line 1467 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-2].str, make1_str("()")); ; - break;} -case 172: -#line 1469 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-3].str, make3_str(make1_str("("), yyvsp[-1].str, make1_str(")"))); ; - break;} -case 173: -#line 1471 "preproc.y" -{ - if (!strcmp("<=", yyvsp[-1].str) || !strcmp(">=", yyvsp[-1].str)) - yyerror("boolean expressions not supported in DEFAULT"); - yyval.str = cat3_str(yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 174: -#line 1477 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 175: -#line 1479 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 176: -#line 1482 "preproc.y" -{ yyval.str = make1_str("current_date"); ; - break;} -case 177: -#line 1484 "preproc.y" -{ yyval.str = make1_str("current_time"); ; - break;} -case 178: -#line 1486 "preproc.y" -{ - if (yyvsp[-1].str != 0) - fprintf(stderr, "CURRENT_TIME(%s) precision not implemented; zero used instead",yyvsp[-1].str); - yyval.str = "current_time"; - ; - break;} -case 179: -#line 1492 "preproc.y" -{ yyval.str = make1_str("current_timestamp"); ; - break;} -case 180: -#line 1494 "preproc.y" -{ - if (yyvsp[-1].str != 0) - fprintf(stderr, "CURRENT_TIMESTAMP(%s) precision not implemented; zero used instead",yyvsp[-1].str); - yyval.str = "current_timestamp"; - ; - break;} -case 181: -#line 1500 "preproc.y" -{ yyval.str = make1_str("current_user"); ; - break;} -case 182: -#line 1502 "preproc.y" -{ yyval.str = make1_str("user"); ; - break;} -case 183: -#line 1510 "preproc.y" -{ - yyval.str = cat3_str(make1_str("constraint"), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 184: -#line 1514 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 185: -#line 1518 "preproc.y" -{ - yyval.str = make3_str(make1_str("check("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 186: -#line 1522 "preproc.y" -{ - yyval.str = make3_str(make1_str("unique("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 187: -#line 1526 "preproc.y" -{ - yyval.str = make3_str(make1_str("primary key("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 188: -#line 1530 "preproc.y" -{ - fprintf(stderr, "CREATE TABLE/FOREIGN KEY clause ignored; not yet implemented"); - yyval.str = ""; - ; - break;} -case 189: -#line 1537 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); - ; - break;} -case 190: -#line 1541 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 191: -#line 1547 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 192: -#line 1549 "preproc.y" -{ yyval.str = make1_str("null"); ; - break;} -case 193: -#line 1551 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 194: -#line 1555 "preproc.y" -{ yyval.str = cat2_str(make1_str("-"), yyvsp[0].str); ; - break;} -case 195: -#line 1557 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("+"), yyvsp[0].str); ; - break;} -case 196: -#line 1559 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("-"), yyvsp[0].str); ; - break;} -case 197: -#line 1561 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("/"), yyvsp[0].str); ; - break;} -case 198: -#line 1563 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("%"), yyvsp[0].str); ; - break;} -case 199: -#line 1565 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("*"), yyvsp[0].str); ; - break;} -case 200: -#line 1567 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("="), yyvsp[0].str); ; - break;} -case 201: -#line 1569 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("<"), yyvsp[0].str); ; - break;} -case 202: -#line 1571 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str(">"), yyvsp[0].str); ; - break;} -case 203: -#line 1577 "preproc.y" -{ yyval.str = cat2_str(make1_str(";"), yyvsp[0].str); ; - break;} -case 204: -#line 1579 "preproc.y" -{ yyval.str = cat2_str(make1_str("|"), yyvsp[0].str); ; - break;} -case 205: -#line 1581 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str("::"), yyvsp[0].str); - ; - break;} -case 206: -#line 1585 "preproc.y" -{ - yyval.str = cat3_str(make2_str(make1_str("cast("), yyvsp[-3].str), make1_str("as"), make2_str(yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 207: -#line 1589 "preproc.y" -{ yyval.str = make3_str(make1_str("("), yyvsp[-1].str, make1_str(")")); ; - break;} -case 208: -#line 1591 "preproc.y" -{ - { yyval.str = cat2_str(yyvsp[-2].str, make1_str("()")); } - ; - break;} -case 209: -#line 1595 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-3].str, make3_str(make1_str("("), yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 210: -#line 1599 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 211: -#line 1601 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("like"), yyvsp[0].str); ; - break;} -case 212: -#line 1603 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-3].str, make1_str("not like"), yyvsp[0].str); ; - break;} -case 213: -#line 1605 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("and"), yyvsp[0].str); ; - break;} -case 214: -#line 1607 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("or"), yyvsp[0].str); ; - break;} -case 215: -#line 1609 "preproc.y" -{ yyval.str = cat2_str(make1_str("not"), yyvsp[0].str); ; - break;} -case 216: -#line 1611 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 217: -#line 1613 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 218: -#line 1615 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, make1_str("isnull")); ; - break;} -case 219: -#line 1617 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-2].str, make1_str("is null")); ; - break;} -case 220: -#line 1619 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, make1_str("notnull")); ; - break;} -case 221: -#line 1621 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-3].str, make1_str("is not null")); ; - break;} -case 222: -#line 1623 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-2].str, make1_str("is true")); ; - break;} -case 223: -#line 1625 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-2].str, make1_str("is false")); ; - break;} -case 224: -#line 1627 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-3].str, make1_str("is not true")); ; - break;} -case 225: -#line 1629 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-3].str, make1_str("is not false")); ; - break;} -case 226: -#line 1631 "preproc.y" -{ yyval.str = cat4_str(yyvsp[-4].str, make1_str("in ("), yyvsp[-1].str, make1_str(")")); ; - break;} -case 227: -#line 1633 "preproc.y" -{ yyval.str = cat4_str(yyvsp[-5].str, make1_str("not in ("), yyvsp[-1].str, make1_str(")")); ; - break;} -case 228: -#line 1635 "preproc.y" -{ yyval.str = cat5_str(yyvsp[-4].str, make1_str("between"), yyvsp[-2].str, make1_str("and"), yyvsp[0].str); ; - break;} -case 229: -#line 1637 "preproc.y" -{ yyval.str = cat5_str(yyvsp[-5].str, make1_str("not between"), yyvsp[-2].str, make1_str("and"), yyvsp[0].str); ; - break;} -case 230: -#line 1640 "preproc.y" -{ - yyval.str = make3_str(yyvsp[-2].str, make1_str(", "), yyvsp[0].str); - ; - break;} -case 231: -#line 1644 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 232: -#line 1649 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 233: -#line 1653 "preproc.y" -{ yyval.str = make1_str("match full"); ; - break;} -case 234: -#line 1654 "preproc.y" -{ yyval.str = make1_str("match partial"); ; - break;} -case 235: -#line 1655 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 236: -#line 1658 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 237: -#line 1659 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 238: -#line 1660 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 239: -#line 1663 "preproc.y" -{ yyval.str = cat2_str(make1_str("on delete"), yyvsp[0].str); ; - break;} -case 240: -#line 1664 "preproc.y" -{ yyval.str = cat2_str(make1_str("on update"), yyvsp[0].str); ; - break;} -case 241: -#line 1667 "preproc.y" -{ yyval.str = make1_str("no action"); ; - break;} -case 242: -#line 1668 "preproc.y" -{ yyval.str = make1_str("cascade"); ; - break;} -case 243: -#line 1669 "preproc.y" -{ yyval.str = make1_str("set default"); ; - break;} -case 244: -#line 1670 "preproc.y" -{ yyval.str = make1_str("set null"); ; - break;} -case 245: -#line 1673 "preproc.y" -{ yyval.str = make3_str(make1_str("inherits ("), yyvsp[-1].str, make1_str(")")); ; - break;} -case 246: -#line 1674 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 247: -#line 1678 "preproc.y" -{ - yyval.str = cat5_str(cat3_str(make1_str("create"), yyvsp[-5].str, make1_str("table")), yyvsp[-3].str, yyvsp[-2].str, make1_str("as"), yyvsp[0].str); - ; - break;} -case 248: -#line 1683 "preproc.y" -{ yyval.str = make3_str(make1_str("("), yyvsp[-1].str, make1_str(")")); ; - break;} -case 249: -#line 1684 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 250: -#line 1687 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); ; - break;} -case 251: -#line 1688 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 252: -#line 1691 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 253: -#line 1702 "preproc.y" -{ - yyval.str = cat3_str(make1_str("create sequence"), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 254: -#line 1708 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 255: -#line 1709 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 256: -#line 1713 "preproc.y" -{ - yyval.str = cat2_str(make1_str("cache"), yyvsp[0].str); - ; - break;} -case 257: -#line 1717 "preproc.y" -{ - yyval.str = make1_str("cycle"); - ; - break;} -case 258: -#line 1721 "preproc.y" -{ - yyval.str = cat2_str(make1_str("increment"), yyvsp[0].str); - ; - break;} -case 259: -#line 1725 "preproc.y" -{ - yyval.str = cat2_str(make1_str("maxvalue"), yyvsp[0].str); - ; - break;} -case 260: -#line 1729 "preproc.y" -{ - yyval.str = cat2_str(make1_str("minvalue"), yyvsp[0].str); - ; - break;} -case 261: -#line 1733 "preproc.y" -{ - yyval.str = cat2_str(make1_str("start"), yyvsp[0].str); - ; - break;} -case 262: -#line 1738 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 263: -#line 1739 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 264: -#line 1742 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 265: -#line 1746 "preproc.y" -{ - yyval.str = cat2_str(make1_str("-"), yyvsp[0].str); - ; - break;} -case 266: -#line 1753 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 267: -#line 1757 "preproc.y" -{ - yyval.str = cat2_str(make1_str("-"), yyvsp[0].str); - ; - break;} -case 268: -#line 1772 "preproc.y" -{ - yyval.str = cat4_str(cat5_str(make1_str("create"), yyvsp[-7].str, make1_str("precedural language"), yyvsp[-4].str, make1_str("handler")), yyvsp[-2].str, make1_str("langcompiler"), yyvsp[0].str); - ; - break;} -case 269: -#line 1777 "preproc.y" -{ yyval.str = make1_str("trusted"); ; - break;} -case 270: -#line 1778 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 271: -#line 1781 "preproc.y" -{ - yyval.str = cat2_str(make1_str("drop procedural language"), yyvsp[0].str); - ; - break;} -case 272: -#line 1797 "preproc.y" -{ - yyval.str = cat2_str(cat5_str(cat5_str(make1_str("create trigger"), yyvsp[-11].str, yyvsp[-10].str, yyvsp[-9].str, make1_str("on")), yyvsp[-7].str, yyvsp[-6].str, make1_str("execute procedure"), yyvsp[-3].str), make3_str(make1_str("("), yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 273: -#line 1802 "preproc.y" -{ yyval.str = make1_str("before"); ; - break;} -case 274: -#line 1803 "preproc.y" -{ yyval.str = make1_str("after"); ; - break;} -case 275: -#line 1807 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 276: -#line 1811 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str("or"), yyvsp[0].str); - ; - break;} -case 277: -#line 1815 "preproc.y" -{ - yyval.str = cat5_str(yyvsp[-4].str, make1_str("or"), yyvsp[-2].str, make1_str("or"), yyvsp[0].str); - ; - break;} -case 278: -#line 1820 "preproc.y" -{ yyval.str = make1_str("insert"); ; - break;} -case 279: -#line 1821 "preproc.y" -{ yyval.str = make1_str("delete"); ; - break;} -case 280: -#line 1822 "preproc.y" -{ yyval.str = make1_str("update"); ; - break;} -case 281: -#line 1826 "preproc.y" -{ - yyval.str = cat3_str(make1_str("for"), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 282: -#line 1831 "preproc.y" -{ yyval.str = make1_str("each"); ; - break;} -case 283: -#line 1832 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 284: -#line 1835 "preproc.y" -{ yyval.str = make1_str("row"); ; - break;} -case 285: -#line 1836 "preproc.y" -{ yyval.str = make1_str("statement"); ; - break;} -case 286: -#line 1840 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 287: -#line 1842 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); ; - break;} -case 288: -#line 1844 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 289: -#line 1848 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 290: -#line 1852 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 291: -#line 1855 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 292: -#line 1856 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 293: -#line 1860 "preproc.y" -{ - yyval.str = cat4_str(make1_str("drop trigger"), yyvsp[-2].str, make1_str("on"), yyvsp[0].str); - ; - break;} -case 294: -#line 1873 "preproc.y" -{ - yyval.str = cat3_str(make1_str("create"), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 295: -#line 1879 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 296: -#line 1884 "preproc.y" -{ yyval.str = make1_str("operator"); ; - break;} -case 297: -#line 1885 "preproc.y" -{ yyval.str = make1_str("type"); ; - break;} -case 298: -#line 1886 "preproc.y" -{ yyval.str = make1_str("aggregate"); ; - break;} -case 299: -#line 1889 "preproc.y" -{ yyval.str = make1_str("procedure"); ; - break;} -case 300: -#line 1890 "preproc.y" -{ yyval.str = make1_str("join"); ; - break;} -case 301: -#line 1891 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 302: -#line 1892 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 303: -#line 1893 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 304: -#line 1896 "preproc.y" -{ yyval.str = make3_str(make1_str("("), yyvsp[-1].str, make1_str(")")); ; - break;} -case 305: -#line 1899 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 306: -#line 1900 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); ; - break;} -case 307: -#line 1903 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str("="), yyvsp[0].str); - ; - break;} -case 308: -#line 1907 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 309: -#line 1911 "preproc.y" -{ - yyval.str = cat2_str(make1_str("default ="), yyvsp[0].str); - ; - break;} -case 310: -#line 1916 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 311: -#line 1917 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 312: -#line 1918 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 313: -#line 1919 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 314: -#line 1921 "preproc.y" -{ - yyval.str = cat2_str(make1_str("setof"), yyvsp[0].str); - ; - break;} -case 315: -#line 1934 "preproc.y" -{ - yyval.str = cat2_str(make1_str("drop table"), yyvsp[0].str); - ; - break;} -case 316: -#line 1938 "preproc.y" -{ - yyval.str = cat2_str(make1_str("drop sequence"), yyvsp[0].str); - ; - break;} -case 317: -#line 1955 "preproc.y" -{ - if (strncmp(yyvsp[-4].str, "relative", strlen("relative")) == 0 && atol(yyvsp[-3].str) == 0L) - yyerror("FETCH/RELATIVE at current position is not supported"); - - yyval.str = cat4_str(make1_str("fetch"), yyvsp[-4].str, yyvsp[-3].str, yyvsp[-2].str); - ; - break;} -case 318: -#line 1962 "preproc.y" -{ - yyval.str = cat4_str(make1_str("fetch"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 319: -#line 1967 "preproc.y" -{ yyval.str = make1_str("forward"); ; - break;} -case 320: -#line 1968 "preproc.y" -{ yyval.str = make1_str("backward"); ; - break;} -case 321: -#line 1969 "preproc.y" -{ yyval.str = make1_str("relative"); ; - break;} -case 322: -#line 1971 "preproc.y" -{ - fprintf(stderr, "FETCH/ABSOLUTE not supported, using RELATIVE"); - yyval.str = make1_str("absolute"); - ; - break;} -case 323: -#line 1975 "preproc.y" -{ yyval.str = make1_str(""); /* default */ ; - break;} -case 324: -#line 1978 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 325: -#line 1979 "preproc.y" -{ yyval.str = make2_str(make1_str("-"), yyvsp[0].str); ; - break;} -case 326: -#line 1980 "preproc.y" -{ yyval.str = make1_str("all"); ; - break;} -case 327: -#line 1981 "preproc.y" -{ yyval.str = make1_str("next"); ; - break;} -case 328: -#line 1982 "preproc.y" -{ yyval.str = make1_str("prior"); ; - break;} -case 329: -#line 1983 "preproc.y" -{ yyval.str = make1_str(""); /*default*/ ; - break;} -case 330: -#line 1986 "preproc.y" -{ yyval.str = cat2_str(make1_str("in"), yyvsp[0].str); ; - break;} -case 331: -#line 1987 "preproc.y" -{ yyval.str = cat2_str(make1_str("from"), yyvsp[0].str); ; - break;} -case 332: -#line 1989 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 333: -#line 2001 "preproc.y" -{ - yyval.str = cat2_str(cat5_str(make1_str("grant"), yyvsp[-5].str, make1_str("on"), yyvsp[-3].str, make1_str("to")), yyvsp[-1].str); - ; - break;} -case 334: -#line 2007 "preproc.y" -{ - yyval.str = make1_str("all privileges"); - ; - break;} -case 335: -#line 2011 "preproc.y" -{ - yyval.str = make1_str("all"); - ; - break;} -case 336: -#line 2015 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 337: -#line 2021 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 338: -#line 2025 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); - ; - break;} -case 339: -#line 2031 "preproc.y" -{ - yyval.str = make1_str("select"); - ; - break;} -case 340: -#line 2035 "preproc.y" -{ - yyval.str = make1_str("insert"); - ; - break;} -case 341: -#line 2039 "preproc.y" -{ - yyval.str = make1_str("update"); - ; - break;} -case 342: -#line 2043 "preproc.y" -{ - yyval.str = make1_str("delete"); - ; - break;} -case 343: -#line 2047 "preproc.y" -{ - yyval.str = make1_str("rule"); - ; - break;} -case 344: -#line 2053 "preproc.y" -{ - yyval.str = make1_str("public"); - ; - break;} -case 345: -#line 2057 "preproc.y" -{ - yyval.str = cat2_str(make1_str("group"), yyvsp[0].str); - ; - break;} -case 346: -#line 2061 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 347: -#line 2067 "preproc.y" -{ - yyerror("WITH GRANT OPTION is not supported. Only relation owners can set privileges"); - ; - break;} -case 349: -#line 2082 "preproc.y" -{ - yyval.str = cat2_str(cat5_str(make1_str("revoke"), yyvsp[-4].str, make1_str("on"), yyvsp[-2].str, make1_str("from")), yyvsp[0].str); - ; - break;} -case 350: -#line 2101 "preproc.y" -{ - /* should check that access_method is valid, - etc ... but doesn't */ - yyval.str = cat5_str(cat5_str(make1_str("create"), yyvsp[-9].str, make1_str("index"), yyvsp[-7].str, make1_str("on")), yyvsp[-5].str, yyvsp[-4].str, make3_str(make1_str("("), yyvsp[-2].str, make1_str(")")), yyvsp[0].str); - ; - break;} -case 351: -#line 2108 "preproc.y" -{ yyval.str = make1_str("unique"); ; - break;} -case 352: -#line 2109 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 353: -#line 2112 "preproc.y" -{ yyval.str = cat2_str(make1_str("using"), yyvsp[0].str); ; - break;} -case 354: -#line 2113 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 355: -#line 2116 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 356: -#line 2117 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 357: -#line 2120 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); ; - break;} -case 358: -#line 2121 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 359: -#line 2125 "preproc.y" -{ - yyval.str = cat4_str(yyvsp[-5].str, make3_str(make1_str("("), yyvsp[-3].str, ")"), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 360: -#line 2131 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 361: -#line 2136 "preproc.y" -{ yyval.str = cat2_str(make1_str(":"), yyvsp[0].str); ; - break;} -case 362: -#line 2137 "preproc.y" -{ yyval.str = cat2_str(make1_str("for"), yyvsp[0].str); ; - break;} -case 363: -#line 2138 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 364: -#line 2147 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 365: -#line 2148 "preproc.y" -{ yyval.str = cat2_str(make1_str("using"), yyvsp[0].str); ; - break;} -case 366: -#line 2149 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 367: -#line 2160 "preproc.y" -{ - yyval.str = cat3_str(make1_str("extend index"), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 368: -#line 2197 "preproc.y" -{ - yyval.str = cat2_str(cat5_str(cat5_str(make1_str("create function"), yyvsp[-8].str, yyvsp[-7].str, make1_str("returns"), yyvsp[-5].str), yyvsp[-4].str, make1_str("as"), yyvsp[-2].str, make1_str("language")), yyvsp[0].str); - ; - break;} -case 369: -#line 2201 "preproc.y" -{ yyval.str = cat2_str(make1_str("with"), yyvsp[0].str); ; - break;} -case 370: -#line 2202 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 371: -#line 2205 "preproc.y" -{ yyval.str = make3_str(make1_str("("), yyvsp[-1].str, make1_str(")")); ; - break;} -case 372: -#line 2206 "preproc.y" -{ yyval.str = make1_str("()"); ; - break;} -case 373: -#line 2209 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 374: -#line 2211 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); ; - break;} -case 375: -#line 2215 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 376: -#line 2220 "preproc.y" -{ yyval.str = make1_str("setof"); ; - break;} -case 377: -#line 2221 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 378: -#line 2243 "preproc.y" -{ - yyval.str = cat3_str(make1_str("drop"), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 379: -#line 2248 "preproc.y" -{ yyval.str = make1_str("type"); ; - break;} -case 380: -#line 2249 "preproc.y" -{ yyval.str = make1_str("index"); ; - break;} -case 381: -#line 2250 "preproc.y" -{ yyval.str = make1_str("rule"); ; - break;} -case 382: -#line 2251 "preproc.y" -{ yyval.str = make1_str("view"); ; - break;} -case 383: -#line 2256 "preproc.y" -{ - yyval.str = cat3_str(make1_str("drop aggregate"), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 384: -#line 2261 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 385: -#line 2262 "preproc.y" -{ yyval.str = make1_str("*"); ; - break;} -case 386: -#line 2267 "preproc.y" -{ - yyval.str = cat3_str(make1_str("drop function"), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 387: -#line 2274 "preproc.y" -{ - yyval.str = cat3_str(make1_str("drop operator"), yyvsp[-3].str, make3_str(make1_str("("), yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 390: -#line 2281 "preproc.y" -{ yyval.str = make1_str("+"); ; - break;} -case 391: -#line 2282 "preproc.y" -{ yyval.str = make1_str("-"); ; - break;} -case 392: -#line 2283 "preproc.y" -{ yyval.str = make1_str("*"); ; - break;} -case 393: -#line 2284 "preproc.y" -{ yyval.str = make1_str("%"); ; - break;} -case 394: -#line 2285 "preproc.y" -{ yyval.str = make1_str("/"); ; - break;} -case 395: -#line 2286 "preproc.y" -{ yyval.str = make1_str("<"); ; - break;} -case 396: -#line 2287 "preproc.y" -{ yyval.str = make1_str(">"); ; - break;} -case 397: -#line 2288 "preproc.y" -{ yyval.str = make1_str("="); ; - break;} -case 398: -#line 2292 "preproc.y" -{ - yyerror("parser: argument type missing (use NONE for unary operators)"); - ; - break;} -case 399: -#line 2296 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); ; - break;} -case 400: -#line 2298 "preproc.y" -{ yyval.str = cat2_str(make1_str("none,"), yyvsp[0].str); ; - break;} -case 401: -#line 2300 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-2].str, make1_str(", none")); ; - break;} -case 402: -#line 2314 "preproc.y" -{ - yyval.str = cat4_str(cat5_str(make1_str("alter table"), yyvsp[-6].str, yyvsp[-5].str, make1_str("rename"), yyvsp[-3].str), yyvsp[-2].str, make1_str("to"), yyvsp[0].str); - ; - break;} -case 403: -#line 2319 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 404: -#line 2320 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 405: -#line 2323 "preproc.y" -{ yyval.str = make1_str("colmunn"); ; - break;} -case 406: -#line 2324 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 407: -#line 2338 "preproc.y" -{ QueryIsRule=1; ; - break;} -case 408: -#line 2341 "preproc.y" -{ - yyval.str = cat2_str(cat5_str(cat5_str(make1_str("create rule"), yyvsp[-10].str, make1_str("as on"), yyvsp[-6].str, make1_str("to")), yyvsp[-4].str, yyvsp[-3].str, make1_str("do"), yyvsp[-1].str), yyvsp[0].str); - ; - break;} -case 409: -#line 2346 "preproc.y" -{ yyval.str = make1_str("nothing"); ; - break;} -case 410: -#line 2347 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 411: -#line 2348 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 412: -#line 2349 "preproc.y" -{ yyval.str = cat3_str(make1_str("["), yyvsp[-1].str, make1_str("]")); ; - break;} -case 413: -#line 2350 "preproc.y" -{ yyval.str = cat3_str(make1_str("("), yyvsp[-1].str, make1_str(")")); ; - break;} -case 414: -#line 2353 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 415: -#line 2354 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 416: -#line 2358 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 417: -#line 2360 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, yyvsp[-1].str, make1_str(";")); ; - break;} -case 418: -#line 2362 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, make1_str(";")); ; - break;} -case 423: -#line 2372 "preproc.y" -{ - yyval.str = make3_str(yyvsp[-2].str, make1_str("."), yyvsp[0].str); - ; - break;} -case 424: -#line 2376 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 425: -#line 2382 "preproc.y" -{ yyval.str = make1_str("select"); ; - break;} -case 426: -#line 2383 "preproc.y" -{ yyval.str = make1_str("update"); ; - break;} -case 427: -#line 2384 "preproc.y" -{ yyval.str = make1_str("delete"); ; - break;} -case 428: -#line 2385 "preproc.y" -{ yyval.str = make1_str("insert"); ; - break;} -case 429: -#line 2388 "preproc.y" -{ yyval.str = make1_str("instead"); ; - break;} -case 430: -#line 2389 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 431: -#line 2402 "preproc.y" -{ - yyval.str = cat2_str(make1_str("notify"), yyvsp[0].str); - ; - break;} -case 432: -#line 2408 "preproc.y" -{ - yyval.str = cat2_str(make1_str("listen"), yyvsp[0].str); - ; - break;} -case 433: -#line 2414 "preproc.y" -{ - yyval.str = cat2_str(make1_str("unlisten"), yyvsp[0].str); - ; - break;} -case 434: -#line 2418 "preproc.y" -{ - yyval.str = make1_str("unlisten *"); - ; - break;} -case 435: -#line 2435 "preproc.y" -{ yyval.str = make1_str("rollback"); ; - break;} -case 436: -#line 2436 "preproc.y" -{ yyval.str = make1_str("begin transaction"); ; - break;} -case 437: -#line 2437 "preproc.y" -{ yyval.str = make1_str("commit"); ; - break;} -case 438: -#line 2438 "preproc.y" -{ yyval.str = make1_str("commit"); ; - break;} -case 439: -#line 2439 "preproc.y" -{ yyval.str = make1_str("rollback"); ; - break;} -case 440: -#line 2441 "preproc.y" -{ yyval.str = ""; ; - break;} -case 441: -#line 2442 "preproc.y" -{ yyval.str = ""; ; - break;} -case 442: -#line 2443 "preproc.y" -{ yyval.str = ""; ; - break;} -case 443: -#line 2454 "preproc.y" -{ - yyval.str = cat4_str(make1_str("create view"), yyvsp[-2].str, make1_str("as"), yyvsp[0].str); - ; - break;} -case 444: -#line 2468 "preproc.y" -{ - yyval.str = cat2_str(make1_str("load"), yyvsp[0].str); - ; - break;} -case 445: -#line 2482 "preproc.y" -{ - if (strlen(yyvsp[-1].str) == 0 || strlen(yyvsp[0].str) == 0) - yyerror("CREATE DATABASE WITH requires at least an option"); -#ifndef MULTIBYTE - if (strlen(yyvsp[0].str) != 0) - yyerror("WITH ENCODING is not supported"); -#endif - yyval.str = cat5_str(make1_str("create database"), yyvsp[-3].str, make1_str("with"), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 446: -#line 2492 "preproc.y" -{ - yyval.str = cat2_str(make1_str("create database"), yyvsp[0].str); - ; - break;} -case 447: -#line 2497 "preproc.y" -{ yyval.str = cat2_str(make1_str("location ="), yyvsp[0].str); ; - break;} -case 448: -#line 2498 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 449: -#line 2501 "preproc.y" -{ yyval.str = cat2_str(make1_str("encoding ="), yyvsp[0].str); ; - break;} -case 450: -#line 2502 "preproc.y" -{ yyval.str = NULL; ; - break;} -case 451: -#line 2505 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 452: -#line 2506 "preproc.y" -{ yyval.str = make1_str("default"); ; - break;} -case 453: -#line 2507 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 454: -#line 2510 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 455: -#line 2511 "preproc.y" -{ yyval.str = make1_str("default"); ; - break;} -case 456: -#line 2512 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 457: -#line 2523 "preproc.y" -{ - yyval.str = cat2_str(make1_str("drop database"), yyvsp[0].str); - ; - break;} -case 458: -#line 2537 "preproc.y" -{ - yyval.str = cat4_str(make1_str("cluster"), yyvsp[-2].str, make1_str("on"), yyvsp[0].str); - ; - break;} -case 459: -#line 2551 "preproc.y" -{ - yyval.str = cat3_str(make1_str("vacuum"), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 460: -#line 2555 "preproc.y" -{ - if ( strlen(yyvsp[0].str) > 0 && strlen(yyvsp[-1].str) == 0 ) - yyerror("parser: syntax error at or near \"(\""); - yyval.str = cat5_str(make1_str("vacuum"), yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 461: -#line 2562 "preproc.y" -{ yyval.str = make1_str("verbose"); ; - break;} -case 462: -#line 2563 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 463: -#line 2566 "preproc.y" -{ yyval.str = make1_str("analyse"); ; - break;} -case 464: -#line 2567 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 465: -#line 2570 "preproc.y" -{ yyval.str = make3_str(make1_str("("), yyvsp[-1].str, make1_str(")")); ; - break;} -case 466: -#line 2571 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 467: -#line 2575 "preproc.y" -{ yyval.str=yyvsp[0].str; ; - break;} -case 468: -#line 2577 "preproc.y" -{ yyval.str=cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); ; - break;} -case 469: -#line 2589 "preproc.y" -{ - yyval.str = cat3_str(make1_str("explain"), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 476: -#line 2629 "preproc.y" -{ - yyval.str = cat3_str(make1_str("insert into"), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 477: -#line 2635 "preproc.y" -{ - yyval.str = make3_str(make1_str("values("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 478: -#line 2639 "preproc.y" -{ - yyval.str = make1_str("default values"); - ; - break;} -case 479: -#line 2643 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 480: -#line 2647 "preproc.y" -{ - yyval.str = make5_str(make1_str("("), yyvsp[-5].str, make1_str(") values ("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 481: -#line 2651 "preproc.y" -{ - yyval.str = make4_str(make1_str("("), yyvsp[-2].str, make1_str(")"), yyvsp[0].str); - ; - break;} -case 482: -#line 2656 "preproc.y" -{ yyval.str = make3_str(make1_str("("), yyvsp[-1].str, make1_str(")")); ; - break;} -case 483: -#line 2657 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 484: -#line 2662 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); ; - break;} -case 485: -#line 2664 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 486: -#line 2668 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 487: -#line 2683 "preproc.y" -{ - yyval.str = cat3_str(make1_str("delete from"), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 488: -#line 2689 "preproc.y" -{ - yyval.str = cat4_str(make1_str("lock"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 489: -#line 2694 "preproc.y" -{ yyval.str = cat3_str(make1_str("in"), yyvsp[-1].str, make1_str("mode")); ; - break;} -case 490: -#line 2695 "preproc.y" -{ yyval.str = make1_str("");; - break;} -case 491: -#line 2698 "preproc.y" -{ yyval.str = make1_str("share row exclusive"); ; - break;} -case 492: -#line 2699 "preproc.y" -{ yyval.str = cat2_str(make1_str("row"), yyvsp[0].str);; - break;} -case 493: -#line 2700 "preproc.y" -{ yyval.str = cat2_str(make1_str("access"), yyvsp[0].str);; - break;} -case 494: -#line 2701 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 495: -#line 2704 "preproc.y" -{ yyval.str = make1_str("share"); ; - break;} -case 496: -#line 2705 "preproc.y" -{ yyval.str = make1_str("exclusive"); ; - break;} -case 497: -#line 2719 "preproc.y" -{ - yyval.str = cat2_str(cat5_str(make1_str("update"), yyvsp[-4].str, make1_str("set"), yyvsp[-2].str, yyvsp[-1].str), yyvsp[0].str); - ; - break;} -case 498: -#line 2732 "preproc.y" -{ ForUpdateNotAllowed = 1; ; - break;} -case 499: -#line 2734 "preproc.y" -{ - struct cursor *ptr, *this; - - for (ptr = cur; ptr != NULL; ptr = ptr->next) - { - if (strcmp(yyvsp[-5].str, ptr->name) == 0) - { - /* re-definition is a bug */ - sprintf(errortext, "cursor %s already defined", yyvsp[-5].str); - yyerror(errortext); - } - } - - this = (struct cursor *) mm_alloc(sizeof(struct cursor)); - - /* initial definition */ - this->next = cur; - this->name = yyvsp[-5].str; - this->connection = connection; - this->command = cat5_str(make1_str("declare"), mm_strdup(yyvsp[-5].str), yyvsp[-4].str, make1_str("cursor for"), yyvsp[0].str); - this->argsinsert = argsinsert; - this->argsresult = argsresult; - argsinsert = argsresult = NULL; - - cur = this; - - yyval.str = cat3_str(make1_str("/*"), mm_strdup(this->command), make1_str("*/")); - ; - break;} -case 500: -#line 2764 "preproc.y" -{ yyval.str = make1_str("binary"); ; - break;} -case 501: -#line 2765 "preproc.y" -{ yyval.str = make1_str("insensitive"); ; - break;} -case 502: -#line 2766 "preproc.y" -{ yyval.str = make1_str("scroll"); ; - break;} -case 503: -#line 2767 "preproc.y" -{ yyval.str = make1_str("insensitive scroll"); ; - break;} -case 504: -#line 2768 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 505: -#line 2786 "preproc.y" -{ - if (strlen(yyvsp[-1].str) > 0 && ForUpdateNotAllowed != 0) - yyerror("FOR UPDATE is not allowed in this context"); - - ForUpdateNotAllowed = 0; - yyval.str = cat4_str(yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 506: -#line 2803 "preproc.y" -{ - yyval.str = make3_str(make1_str("("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 507: -#line 2807 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 508: -#line 2811 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str("except"), yyvsp[0].str); - ForUpdateNotAllowed = 1; - ; - break;} -case 509: -#line 2816 "preproc.y" -{ - yyval.str = cat4_str(yyvsp[-3].str, make1_str("union"), yyvsp[-1].str, yyvsp[0].str); - ForUpdateNotAllowed = 1; - ; - break;} -case 510: -#line 2821 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-3].str, make1_str("intersect"), yyvsp[-1].str); - ForUpdateNotAllowed = 1; - ; - break;} -case 511: -#line 2831 "preproc.y" -{ - yyval.str = cat4_str(cat5_str(make1_str("select"), yyvsp[-6].str, yyvsp[-5].str, yyvsp[-4].str, yyvsp[-3].str), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); - if (strlen(yyvsp[-1].str) > 0 || strlen(yyvsp[0].str) > 0) - ForUpdateNotAllowed = 1; - ; - break;} -case 512: -#line 2838 "preproc.y" -{ yyval.str= cat4_str(make1_str("into"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 513: -#line 2839 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 514: -#line 2840 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 515: -#line 2843 "preproc.y" -{ yyval.str = make1_str("table"); ; - break;} -case 516: -#line 2844 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 517: -#line 2847 "preproc.y" -{ yyval.str = make1_str("all"); ; - break;} -case 518: -#line 2848 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 519: -#line 2851 "preproc.y" -{ yyval.str = make1_str("distinct"); ; - break;} -case 520: -#line 2852 "preproc.y" -{ yyval.str = cat2_str(make1_str("distinct on"), yyvsp[0].str); ; - break;} -case 521: -#line 2853 "preproc.y" -{ yyval.str = make1_str("all"); ; - break;} -case 522: -#line 2854 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 523: -#line 2857 "preproc.y" -{ yyval.str = cat2_str(make1_str("order by"), yyvsp[0].str); ; - break;} -case 524: -#line 2858 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 525: -#line 2861 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 526: -#line 2862 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); ; - break;} -case 527: -#line 2866 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 528: -#line 2871 "preproc.y" -{ yyval.str = cat2_str(make1_str("using"), yyvsp[0].str); ; - break;} -case 529: -#line 2872 "preproc.y" -{ yyval.str = make1_str("using <"); ; - break;} -case 530: -#line 2873 "preproc.y" -{ yyval.str = make1_str("using >"); ; - break;} -case 531: -#line 2874 "preproc.y" -{ yyval.str = make1_str("asc"); ; - break;} -case 532: -#line 2875 "preproc.y" -{ yyval.str = make1_str("desc"); ; - break;} -case 533: -#line 2876 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 534: -#line 2880 "preproc.y" -{ yyval.str = cat4_str(make1_str("limit"), yyvsp[-2].str, make1_str(","), yyvsp[0].str); ; - break;} -case 535: -#line 2882 "preproc.y" -{ yyval.str = cat4_str(make1_str("limit"), yyvsp[-2].str, make1_str("offset"), yyvsp[0].str); ; - break;} -case 536: -#line 2884 "preproc.y" -{ yyval.str = cat2_str(make1_str("limit"), yyvsp[0].str); ; - break;} -case 537: -#line 2886 "preproc.y" -{ yyval.str = cat4_str(make1_str("offset"), yyvsp[-2].str, make1_str("limit"), yyvsp[0].str); ; - break;} -case 538: -#line 2888 "preproc.y" -{ yyval.str = cat2_str(make1_str("offset"), yyvsp[0].str); ; - break;} -case 539: -#line 2890 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 540: -#line 2893 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 541: -#line 2894 "preproc.y" -{ yyval.str = make1_str("all"); ; - break;} -case 542: -#line 2895 "preproc.y" -{ yyval.str = make_name(); ; - break;} -case 543: -#line 2898 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 544: -#line 2899 "preproc.y" -{ yyval.str = make_name(); ; - break;} -case 545: -#line 2909 "preproc.y" -{ yyval.str = make1_str("*"); ; - break;} -case 546: -#line 2910 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 547: -#line 2913 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 548: -#line 2916 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 549: -#line 2918 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); ; - break;} -case 550: -#line 2921 "preproc.y" -{ yyval.str = cat2_str(make1_str("group by"), yyvsp[0].str); ; - break;} -case 551: -#line 2922 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 552: -#line 2926 "preproc.y" -{ - yyval.str = cat2_str(make1_str("having"), yyvsp[0].str); - ; - break;} -case 553: -#line 2929 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 554: -#line 2933 "preproc.y" -{ - yyval.str = make1_str("for update"); - ; - break;} -case 555: -#line 2937 "preproc.y" -{ - yyval.str = make1_str("for read only"); - ; - break;} -case 556: -#line 2941 "preproc.y" -{ - yyval.str = make1_str(""); - ; - break;} -case 557: -#line 2946 "preproc.y" -{ - yyval.str = cat2_str(make1_str("of"), yyvsp[0].str); - ; - break;} -case 558: -#line 2950 "preproc.y" -{ - yyval.str = make1_str(""); - ; - break;} -case 559: -#line 2964 "preproc.y" -{ - yyval.str = cat2_str(make1_str("from"), yyvsp[0].str); - ; - break;} -case 560: -#line 2968 "preproc.y" -{ - yyval.str = make1_str(""); - ; - break;} -case 561: -#line 2974 "preproc.y" -{ yyval.str = make3_str(make1_str("("), yyvsp[-1].str, make1_str(")")); ; - break;} -case 562: -#line 2976 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 563: -#line 2978 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 564: -#line 2982 "preproc.y" -{ yyval.str = make3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); ; - break;} -case 565: -#line 2984 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 566: -#line 2988 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str("as"), yyvsp[0].str); - ; - break;} -case 567: -#line 2992 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 568: -#line 2996 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 569: -#line 3006 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 570: -#line 3008 "preproc.y" -{ yyerror("UNION JOIN not yet implemented"); ; - break;} -case 571: -#line 3012 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 572: -#line 3018 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 573: -#line 3022 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 574: -#line 3035 "preproc.y" -{ - yyval.str = cat4_str(yyvsp[-3].str, make1_str("join"), yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 575: -#line 3039 "preproc.y" -{ - yyval.str = cat4_str(make1_str("natural"), yyvsp[-2].str, make1_str("join"), yyvsp[0].str); - ; - break;} -case 576: -#line 3043 "preproc.y" -{ yyval.str = cat2_str(make1_str("cross join"), yyvsp[0].str); ; - break;} -case 577: -#line 3048 "preproc.y" -{ - yyval.str = cat2_str(make1_str("full"), yyvsp[0].str); - fprintf(stderr,"FULL OUTER JOIN not yet implemented\n"); - ; - break;} -case 578: -#line 3053 "preproc.y" -{ - yyval.str = cat2_str(make1_str("left"), yyvsp[0].str); - fprintf(stderr,"LEFT OUTER JOIN not yet implemented\n"); - ; - break;} -case 579: -#line 3058 "preproc.y" -{ - yyval.str = cat2_str(make1_str("right"), yyvsp[0].str); - fprintf(stderr,"RIGHT OUTER JOIN not yet implemented\n"); - ; - break;} -case 580: -#line 3063 "preproc.y" -{ - yyval.str = make1_str("outer"); - fprintf(stderr,"OUTER JOIN not yet implemented\n"); - ; - break;} -case 581: -#line 3068 "preproc.y" -{ - yyval.str = make1_str("inner"); - ; - break;} -case 582: -#line 3072 "preproc.y" -{ - yyval.str = make1_str(""); - ; - break;} -case 583: -#line 3077 "preproc.y" -{ yyval.str = make1_str("outer"); ; - break;} -case 584: -#line 3078 "preproc.y" -{ yyval.str = make1_str(""); /* no qualifiers */ ; - break;} -case 585: -#line 3089 "preproc.y" -{ yyval.str = make3_str(make1_str("using ("), yyvsp[-1].str, make1_str(")")); ; - break;} -case 586: -#line 3090 "preproc.y" -{ yyval.str = cat2_str(make1_str("on"), yyvsp[0].str); ; - break;} -case 587: -#line 3093 "preproc.y" -{ yyval.str = make3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); ; - break;} -case 588: -#line 3094 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 589: -#line 3098 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 590: -#line 3103 "preproc.y" -{ yyval.str = cat2_str(make1_str("where"), yyvsp[0].str); ; - break;} -case 591: -#line 3104 "preproc.y" -{ yyval.str = make1_str(""); /* no qualifiers */ ; - break;} -case 592: -#line 3108 "preproc.y" -{ - /* normal relations */ - yyval.str = yyvsp[0].str; - ; - break;} -case 593: -#line 3113 "preproc.y" -{ - /* inheritance query */ - yyval.str = cat2_str(yyvsp[-1].str, make1_str("*")); - ; - break;} -case 594: -#line 3119 "preproc.y" -{ - yyval.index.index1 = 0; - yyval.index.index2 = yyvsp[0].index.index1; - yyval.index.str = cat2_str(make1_str("[]"), yyvsp[0].index.str); - ; - break;} -case 595: -#line 3125 "preproc.y" -{ - char *txt = mm_alloc(20L); - - sprintf (txt, "%d", yyvsp[-2].ival); - yyval.index.index1 = yyvsp[-2].ival; - yyval.index.index2 = yyvsp[0].index.index1; - yyval.index.str = cat4_str(make1_str("["), txt, make1_str("]"), yyvsp[0].index.str); - ; - break;} -case 596: -#line 3134 "preproc.y" -{ - yyval.index.index1 = -1; - yyval.index.index2 = -1; - yyval.index.str= make1_str(""); - ; - break;} -case 597: -#line 3142 "preproc.y" -{ - yyval.index.index1 = 0; - yyval.index.index2 = yyvsp[0].index.index1; - yyval.index.str = cat2_str(make1_str("[]"), yyvsp[0].index.str); - ; - break;} -case 598: -#line 3148 "preproc.y" -{ - char *txt = mm_alloc(20L); - - sprintf (txt, "%d", yyvsp[-2].ival); - yyval.index.index1 = yyvsp[-2].ival; - yyval.index.index2 = yyvsp[0].index.index1; - yyval.index.str = cat4_str(make1_str("["), txt, make1_str("]"), yyvsp[0].index.str); - ; - break;} -case 599: -#line 3157 "preproc.y" -{ - yyval.index.index1 = -1; - yyval.index.index2 = -1; - yyval.index.str= make1_str(""); - ; - break;} -case 600: -#line 3164 "preproc.y" -{ yyval.ival = atol(yyvsp[0].str); ; - break;} -case 601: -#line 3165 "preproc.y" -{ yyval.ival = yyvsp[-1].ival; ; - break;} -case 602: -#line 3166 "preproc.y" -{ yyval.ival = yyvsp[-2].ival + yyvsp[0].ival; ; - break;} -case 603: -#line 3167 "preproc.y" -{ yyval.ival = yyvsp[-2].ival - yyvsp[0].ival; ; - break;} -case 604: -#line 3168 "preproc.y" -{ yyval.ival = yyvsp[-2].ival * yyvsp[0].ival; ; - break;} -case 605: -#line 3169 "preproc.y" -{ yyval.ival = yyvsp[-2].ival / yyvsp[0].ival; ; - break;} -case 606: -#line 3170 "preproc.y" -{ yyval.ival = yyvsp[-2].ival % yyvsp[0].ival; ; - break;} -case 607: -#line 3185 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].index.str); - ; - break;} -case 608: -#line 3189 "preproc.y" -{ - yyval.str = cat2_str(make1_str("setof"), yyvsp[0].str); - ; - break;} -case 609: -#line 3194 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 610: -#line 3195 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 611: -#line 3196 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 612: -#line 3197 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 613: -#line 3201 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 614: -#line 3206 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 615: -#line 3207 "preproc.y" -{ yyval.str = make1_str("type"); ; - break;} -case 616: -#line 3208 "preproc.y" -{ yyval.str = make1_str("at"); ; - break;} -case 617: -#line 3209 "preproc.y" -{ yyval.str = make1_str("autocommit"); ; - break;} -case 618: -#line 3210 "preproc.y" -{ yyval.str = make1_str("bool"); ; - break;} -case 619: -#line 3211 "preproc.y" -{ yyval.str = make1_str("break"); ; - break;} -case 620: -#line 3212 "preproc.y" -{ yyval.str = make1_str("call"); ; - break;} -case 621: -#line 3213 "preproc.y" -{ yyval.str = make1_str("connect"); ; - break;} -case 622: -#line 3214 "preproc.y" -{ yyval.str = make1_str("connection"); ; - break;} -case 623: -#line 3215 "preproc.y" -{ yyval.str = make1_str("continue"); ; - break;} -case 624: -#line 3216 "preproc.y" -{ yyval.str = make1_str("deallocate"); ; - break;} -case 625: -#line 3217 "preproc.y" -{ yyval.str = make1_str("disconnect"); ; - break;} -case 626: -#line 3218 "preproc.y" -{ yyval.str = make1_str("found"); ; - break;} -case 627: -#line 3219 "preproc.y" -{ yyval.str = make1_str("go"); ; - break;} -case 628: -#line 3220 "preproc.y" -{ yyval.str = make1_str("goto"); ; - break;} -case 629: -#line 3221 "preproc.y" -{ yyval.str = make1_str("identified"); ; - break;} -case 630: -#line 3222 "preproc.y" -{ yyval.str = make1_str("immediate"); ; - break;} -case 631: -#line 3223 "preproc.y" -{ yyval.str = make1_str("indicator"); ; - break;} -case 632: -#line 3224 "preproc.y" -{ yyval.str = make1_str("int"); ; - break;} -case 633: -#line 3225 "preproc.y" -{ yyval.str = make1_str("long"); ; - break;} -case 634: -#line 3226 "preproc.y" -{ yyval.str = make1_str("off"); ; - break;} -case 635: -#line 3227 "preproc.y" -{ yyval.str = make1_str("open"); ; - break;} -case 636: -#line 3228 "preproc.y" -{ yyval.str = make1_str("prepare"); ; - break;} -case 637: -#line 3229 "preproc.y" -{ yyval.str = make1_str("release"); ; - break;} -case 638: -#line 3230 "preproc.y" -{ yyval.str = make1_str("section"); ; - break;} -case 639: -#line 3231 "preproc.y" -{ yyval.str = make1_str("short"); ; - break;} -case 640: -#line 3232 "preproc.y" -{ yyval.str = make1_str("signed"); ; - break;} -case 641: -#line 3233 "preproc.y" -{ yyval.str = make1_str("sqlerror"); ; - break;} -case 642: -#line 3234 "preproc.y" -{ yyval.str = make1_str("sqlprint"); ; - break;} -case 643: -#line 3235 "preproc.y" -{ yyval.str = make1_str("sqlwarning"); ; - break;} -case 644: -#line 3236 "preproc.y" -{ yyval.str = make1_str("stop"); ; - break;} -case 645: -#line 3237 "preproc.y" -{ yyval.str = make1_str("struct"); ; - break;} -case 646: -#line 3238 "preproc.y" -{ yyval.str = make1_str("unsigned"); ; - break;} -case 647: -#line 3239 "preproc.y" -{ yyval.str = make1_str("var"); ; - break;} -case 648: -#line 3240 "preproc.y" -{ yyval.str = make1_str("whenever"); ; - break;} -case 649: -#line 3249 "preproc.y" -{ - yyval.str = cat2_str(make1_str("float"), yyvsp[0].str); - ; - break;} -case 650: -#line 3253 "preproc.y" -{ - yyval.str = make1_str("double precision"); - ; - break;} -case 651: -#line 3257 "preproc.y" -{ - yyval.str = cat2_str(make1_str("decimal"), yyvsp[0].str); - ; - break;} -case 652: -#line 3261 "preproc.y" -{ - yyval.str = cat2_str(make1_str("numeric"), yyvsp[0].str); - ; - break;} -case 653: -#line 3267 "preproc.y" -{ yyval.str = make1_str("float"); ; - break;} -case 654: -#line 3269 "preproc.y" -{ yyval.str = make1_str("double precision"); ; - break;} -case 655: -#line 3271 "preproc.y" -{ yyval.str = make1_str("decimal"); ; - break;} -case 656: -#line 3273 "preproc.y" -{ yyval.str = make1_str("numeric"); ; - break;} -case 657: -#line 3277 "preproc.y" -{ - if (atol(yyvsp[-1].str) < 1) - yyerror("precision for FLOAT must be at least 1"); - else if (atol(yyvsp[-1].str) >= 16) - yyerror("precision for FLOAT must be less than 16"); - yyval.str = make3_str(make1_str("("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 658: -#line 3285 "preproc.y" -{ - yyval.str = make1_str(""); - ; - break;} -case 659: -#line 3291 "preproc.y" -{ - if (atol(yyvsp[-3].str) < 1 || atol(yyvsp[-3].str) > NUMERIC_MAX_PRECISION) { - sprintf(errortext, "NUMERIC precision %s must be between 1 and %d", yyvsp[-3].str, NUMERIC_MAX_PRECISION); - yyerror(errortext); - } - if (atol(yyvsp[-1].str) < 0 || atol(yyvsp[-1].str) > atol(yyvsp[-3].str)) { - sprintf(errortext, "NUMERIC scale %s must be between 0 and precision %s", yyvsp[-1].str, yyvsp[-3].str); - yyerror(errortext); - } - yyval.str = cat3_str(make2_str(make1_str("("), yyvsp[-3].str), make1_str(","), make2_str(yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 660: -#line 3303 "preproc.y" -{ - if (atol(yyvsp[-1].str) < 1 || atol(yyvsp[-1].str) > NUMERIC_MAX_PRECISION) { - sprintf(errortext, "NUMERIC precision %s must be between 1 and %d", yyvsp[-1].str, NUMERIC_MAX_PRECISION); - yyerror(errortext); - } - yyval.str = make3_str(make1_str("("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 661: -#line 3311 "preproc.y" -{ - yyval.str = make1_str(""); - ; - break;} -case 662: -#line 3317 "preproc.y" -{ - if (atol(yyvsp[-3].str) < 1 || atol(yyvsp[-3].str) > NUMERIC_MAX_PRECISION) { - sprintf(errortext, "NUMERIC precision %s must be between 1 and %d", yyvsp[-3].str, NUMERIC_MAX_PRECISION); - yyerror(errortext); - } - if (atol(yyvsp[-1].str) < 0 || atol(yyvsp[-1].str) > atol(yyvsp[-3].str)) { - sprintf(errortext, "NUMERIC scale %s must be between 0 and precision %s", yyvsp[-1].str, yyvsp[-3].str); - yyerror(errortext); - } - yyval.str = cat3_str(make2_str(make1_str("("), yyvsp[-3].str), make1_str(","), make2_str(yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 663: -#line 3329 "preproc.y" -{ - if (atol(yyvsp[-1].str) < 1 || atol(yyvsp[-1].str) > NUMERIC_MAX_PRECISION) { - sprintf(errortext, "NUMERIC precision %s must be between 1 and %d", yyvsp[-1].str, NUMERIC_MAX_PRECISION); - yyerror(errortext); - } - yyval.str = make3_str(make1_str("("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 664: -#line 3337 "preproc.y" -{ - yyval.str = make1_str(""); - ; - break;} -case 665: -#line 3347 "preproc.y" -{ - if (strncasecmp(yyvsp[-3].str, "char", strlen("char")) && strncasecmp(yyvsp[-3].str, "varchar", strlen("varchar"))) - yyerror("internal parsing error; unrecognized character type"); - if (atol(yyvsp[-1].str) < 1) { - sprintf(errortext, "length for '%s' type must be at least 1",yyvsp[-3].str); - yyerror(errortext); - } - else if (atol(yyvsp[-1].str) > BLCKSZ - 128) { - sprintf(errortext, "length for type '%s' cannot exceed %d",yyvsp[-3].str,BLCKSZ - 128); - yyerror(errortext); - } - - yyval.str = cat2_str(yyvsp[-3].str, make3_str(make1_str("("), yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 666: -#line 3362 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 667: -#line 3368 "preproc.y" -{ - if (strlen(yyvsp[0].str) > 0) - fprintf(stderr, "COLLATE %s not yet implemented",yyvsp[0].str); - - yyval.str = cat4_str(make1_str("character"), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 668: -#line 3374 "preproc.y" -{ yyval.str = cat2_str(make1_str("char"), yyvsp[0].str); ; - break;} -case 669: -#line 3375 "preproc.y" -{ yyval.str = make1_str("varchar"); ; - break;} -case 670: -#line 3376 "preproc.y" -{ yyval.str = cat2_str(make1_str("national character"), yyvsp[0].str); ; - break;} -case 671: -#line 3377 "preproc.y" -{ yyval.str = cat2_str(make1_str("nchar"), yyvsp[0].str); ; - break;} -case 672: -#line 3380 "preproc.y" -{ yyval.str = make1_str("varying"); ; - break;} -case 673: -#line 3381 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 674: -#line 3384 "preproc.y" -{ yyval.str = cat2_str(make1_str("character set"), yyvsp[0].str); ; - break;} -case 675: -#line 3385 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 676: -#line 3388 "preproc.y" -{ yyval.str = cat2_str(make1_str("collate"), yyvsp[0].str); ; - break;} -case 677: -#line 3389 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 678: -#line 3393 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 679: -#line 3397 "preproc.y" -{ - yyval.str = cat2_str(make1_str("timestamp"), yyvsp[0].str); - ; - break;} -case 680: -#line 3401 "preproc.y" -{ - yyval.str = make1_str("time"); - ; - break;} -case 681: -#line 3405 "preproc.y" -{ - yyval.str = cat2_str(make1_str("interval"), yyvsp[0].str); - ; - break;} -case 682: -#line 3410 "preproc.y" -{ yyval.str = make1_str("year"); ; - break;} -case 683: -#line 3411 "preproc.y" -{ yyval.str = make1_str("month"); ; - break;} -case 684: -#line 3412 "preproc.y" -{ yyval.str = make1_str("day"); ; - break;} -case 685: -#line 3413 "preproc.y" -{ yyval.str = make1_str("hour"); ; - break;} -case 686: -#line 3414 "preproc.y" -{ yyval.str = make1_str("minute"); ; - break;} -case 687: -#line 3415 "preproc.y" -{ yyval.str = make1_str("second"); ; - break;} -case 688: -#line 3418 "preproc.y" -{ yyval.str = make1_str("with time zone"); ; - break;} -case 689: -#line 3419 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 690: -#line 3422 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 691: -#line 3423 "preproc.y" -{ yyval.str = make1_str("year to #month"); ; - break;} -case 692: -#line 3424 "preproc.y" -{ yyval.str = make1_str("day to hour"); ; - break;} -case 693: -#line 3425 "preproc.y" -{ yyval.str = make1_str("day to minute"); ; - break;} -case 694: -#line 3426 "preproc.y" -{ yyval.str = make1_str("day to second"); ; - break;} -case 695: -#line 3427 "preproc.y" -{ yyval.str = make1_str("hour to minute"); ; - break;} -case 696: -#line 3428 "preproc.y" -{ yyval.str = make1_str("minute to second"); ; - break;} -case 697: -#line 3429 "preproc.y" -{ yyval.str = make1_str("hour to second"); ; - break;} -case 698: -#line 3430 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 699: -#line 3441 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 700: -#line 3443 "preproc.y" -{ - yyval.str = make1_str("null"); - ; - break;} -case 701: -#line 3458 "preproc.y" -{ - yyval.str = make5_str(make1_str("("), yyvsp[-5].str, make1_str(") in ("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 702: -#line 3462 "preproc.y" -{ - yyval.str = make5_str(make1_str("("), yyvsp[-6].str, make1_str(") not in ("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 703: -#line 3466 "preproc.y" -{ - yyval.str = make4_str(make5_str(make1_str("("), yyvsp[-6].str, make1_str(")"), yyvsp[-4].str, yyvsp[-3].str), make1_str("("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 704: -#line 3470 "preproc.y" -{ - yyval.str = make3_str(make5_str(make1_str("("), yyvsp[-5].str, make1_str(")"), yyvsp[-3].str, make1_str("(")), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 705: -#line 3474 "preproc.y" -{ - yyval.str = cat3_str(make3_str(make1_str("("), yyvsp[-5].str, make1_str(")")), yyvsp[-3].str, make3_str(make1_str("("), yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 706: -#line 3480 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); - ; - break;} -case 707: -#line 3485 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 708: -#line 3486 "preproc.y" -{ yyval.str = "<"; ; - break;} -case 709: -#line 3487 "preproc.y" -{ yyval.str = "="; ; - break;} -case 710: -#line 3488 "preproc.y" -{ yyval.str = ">"; ; - break;} -case 711: -#line 3489 "preproc.y" -{ yyval.str = "+"; ; - break;} -case 712: -#line 3490 "preproc.y" -{ yyval.str = "-"; ; - break;} -case 713: -#line 3491 "preproc.y" -{ yyval.str = "*"; ; - break;} -case 714: -#line 3492 "preproc.y" -{ yyval.str = "%"; ; - break;} -case 715: -#line 3493 "preproc.y" -{ yyval.str = "/"; ; - break;} -case 716: -#line 3496 "preproc.y" -{ yyval.str = make1_str("ANY"); ; - break;} -case 717: -#line 3497 "preproc.y" -{ yyval.str = make1_str("ALL"); ; - break;} -case 718: -#line 3502 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); - ; - break;} -case 719: -#line 3506 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 720: -#line 3521 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 721: -#line 3525 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 722: -#line 3527 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 723: -#line 3529 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 724: -#line 3533 "preproc.y" -{ yyval.str = cat2_str(make1_str("-"), yyvsp[0].str); ; - break;} -case 725: -#line 3535 "preproc.y" -{ yyval.str = cat2_str(make1_str("%"), yyvsp[0].str); ; - break;} -case 726: -#line 3537 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, make1_str("%")); ; - break;} -case 727: -#line 3539 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("+"), yyvsp[0].str); ; - break;} -case 728: -#line 3541 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("-"), yyvsp[0].str); ; - break;} -case 729: -#line 3543 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("/"), yyvsp[0].str); ; - break;} -case 730: -#line 3545 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("%"), yyvsp[0].str); ; - break;} -case 731: -#line 3547 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("*"), yyvsp[0].str); ; - break;} -case 732: -#line 3549 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("<"), yyvsp[0].str); ; - break;} -case 733: -#line 3551 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str(">"), yyvsp[0].str); ; - break;} -case 734: -#line 3553 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-2].str, make1_str("= NULL")); ; - break;} -case 735: -#line 3555 "preproc.y" -{ yyval.str = cat2_str(make1_str("= NULL"), yyvsp[0].str); ; - break;} -case 736: -#line 3557 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("="), yyvsp[0].str); ; - break;} -case 737: -#line 3562 "preproc.y" -{ yyval.str = cat2_str(make1_str(";"), yyvsp[0].str); ; - break;} -case 738: -#line 3564 "preproc.y" -{ yyval.str = cat2_str(make1_str("|"), yyvsp[0].str); ; - break;} -case 739: -#line 3566 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str("::"), yyvsp[0].str); - ; - break;} -case 740: -#line 3570 "preproc.y" -{ - yyval.str = cat3_str(make2_str(make1_str("cast("), yyvsp[-3].str), make1_str("as"), make2_str(yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 741: -#line 3574 "preproc.y" -{ yyval.str = make3_str(make1_str("("), yyvsp[-1].str, make1_str(")")); ; - break;} -case 742: -#line 3576 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 743: -#line 3578 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("like"), yyvsp[0].str); ; - break;} -case 744: -#line 3580 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-3].str, make1_str("not like"), yyvsp[0].str); ; - break;} -case 745: -#line 3582 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 746: -#line 3584 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 747: -#line 3586 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-3].str, make1_str("(*)")); - ; - break;} -case 748: -#line 3590 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-2].str, make1_str("()")); - ; - break;} -case 749: -#line 3594 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-3].str, make1_str("("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 750: -#line 3598 "preproc.y" -{ - yyval.str = make1_str("current_date"); - ; - break;} -case 751: -#line 3602 "preproc.y" -{ - yyval.str = make1_str("current_time"); - ; - break;} -case 752: -#line 3606 "preproc.y" -{ - if (atol(yyvsp[-1].str) != 0) - fprintf(stderr,"CURRENT_TIME(%s) precision not implemented; zero used instead", yyvsp[-1].str); - yyval.str = make1_str("current_time"); - ; - break;} -case 753: -#line 3612 "preproc.y" -{ - yyval.str = make1_str("current_timestamp"); - ; - break;} -case 754: -#line 3616 "preproc.y" -{ - if (atol(yyvsp[-1].str) != 0) - fprintf(stderr,"CURRENT_TIMESTAMP(%s) precision not implemented; zero used instead",yyvsp[-1].str); - yyval.str = make1_str("current_timestamp"); - ; - break;} -case 755: -#line 3622 "preproc.y" -{ - yyval.str = make1_str("current_user"); - ; - break;} -case 756: -#line 3626 "preproc.y" -{ - yyval.str = make1_str("user"); - ; - break;} -case 757: -#line 3630 "preproc.y" -{ - yyval.str = make3_str(make1_str("exists("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 758: -#line 3634 "preproc.y" -{ - yyval.str = make3_str(make1_str("extract("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 759: -#line 3638 "preproc.y" -{ - yyval.str = make3_str(make1_str("position("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 760: -#line 3642 "preproc.y" -{ - yyval.str = make3_str(make1_str("substring("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 761: -#line 3647 "preproc.y" -{ - yyval.str = make3_str(make1_str("trim(both"), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 762: -#line 3651 "preproc.y" -{ - yyval.str = make3_str(make1_str("trim(leading"), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 763: -#line 3655 "preproc.y" -{ - yyval.str = make3_str(make1_str("trim(trailing"), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 764: -#line 3659 "preproc.y" -{ - yyval.str = make3_str(make1_str("trim("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 765: -#line 3663 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, make1_str("isnull")); ; - break;} -case 766: -#line 3665 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-2].str, make1_str("is null")); ; - break;} -case 767: -#line 3667 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, make1_str("notnull")); ; - break;} -case 768: -#line 3669 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-3].str, make1_str("is not null")); ; - break;} -case 769: -#line 3676 "preproc.y" -{ - { yyval.str = cat2_str(yyvsp[-2].str, make1_str("is true")); } - ; - break;} -case 770: -#line 3680 "preproc.y" -{ - { yyval.str = cat2_str(yyvsp[-3].str, make1_str("is not false")); } - ; - break;} -case 771: -#line 3684 "preproc.y" -{ - { yyval.str = cat2_str(yyvsp[-2].str, make1_str("is false")); } - ; - break;} -case 772: -#line 3688 "preproc.y" -{ - { yyval.str = cat2_str(yyvsp[-3].str, make1_str("is not true")); } - ; - break;} -case 773: -#line 3692 "preproc.y" -{ - yyval.str = cat5_str(yyvsp[-4].str, make1_str("between"), yyvsp[-2].str, make1_str("and"), yyvsp[0].str); - ; - break;} -case 774: -#line 3696 "preproc.y" -{ - yyval.str = cat5_str(yyvsp[-5].str, make1_str("not between"), yyvsp[-2].str, make1_str("and"), yyvsp[0].str); - ; - break;} -case 775: -#line 3700 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str(" in ("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 776: -#line 3704 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str(" not in ("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 777: -#line 3708 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-4].str, yyvsp[-3].str, make3_str(make1_str("("), yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 778: -#line 3712 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str("+("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 779: -#line 3716 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str("-("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 780: -#line 3720 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str("/("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 781: -#line 3724 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str("%("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 782: -#line 3728 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str("*("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 783: -#line 3732 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str("<("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 784: -#line 3736 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str(">("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 785: -#line 3740 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str("=("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 786: -#line 3744 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-5].str, yyvsp[-4].str, make3_str(make1_str("any("), yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 787: -#line 3748 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("+ any("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 788: -#line 3752 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("- any("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 789: -#line 3756 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("/ any("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 790: -#line 3760 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("% any("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 791: -#line 3764 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("* any("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 792: -#line 3768 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("< any("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 793: -#line 3772 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("> any("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 794: -#line 3776 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("= any("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 795: -#line 3780 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-5].str, yyvsp[-4].str, make3_str(make1_str("all ("), yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 796: -#line 3784 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("+ all("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 797: -#line 3788 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("- all("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 798: -#line 3792 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("/ all("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 799: -#line 3796 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("% all("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 800: -#line 3800 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("* all("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 801: -#line 3804 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("< all("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 802: -#line 3808 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("> all("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 803: -#line 3812 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("= all("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 804: -#line 3816 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("and"), yyvsp[0].str); ; - break;} -case 805: -#line 3818 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("or"), yyvsp[0].str); ; - break;} -case 806: -#line 3820 "preproc.y" -{ yyval.str = cat2_str(make1_str("not"), yyvsp[0].str); ; - break;} -case 807: -#line 3822 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 808: -#line 3824 "preproc.y" -{ yyval.str = make1_str("?"); ; - break;} -case 809: -#line 3833 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 810: -#line 3837 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 811: -#line 3839 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 812: -#line 3843 "preproc.y" -{ yyval.str = cat2_str(make1_str("-"), yyvsp[0].str); ; - break;} -case 813: -#line 3845 "preproc.y" -{ yyval.str = cat2_str(make1_str("%"), yyvsp[0].str); ; - break;} -case 814: -#line 3847 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, make1_str("%")); ; - break;} -case 815: -#line 3849 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("+"), yyvsp[0].str); ; - break;} -case 816: -#line 3851 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("-"), yyvsp[0].str); ; - break;} -case 817: -#line 3853 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("/"), yyvsp[0].str); ; - break;} -case 818: -#line 3855 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("%"), yyvsp[0].str); ; - break;} -case 819: -#line 3857 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("*"), yyvsp[0].str); ; - break;} -case 820: -#line 3862 "preproc.y" -{ yyval.str = cat2_str(make1_str(";"), yyvsp[0].str); ; - break;} -case 821: -#line 3864 "preproc.y" -{ yyval.str = cat2_str(make1_str("|"), yyvsp[0].str); ; - break;} -case 822: -#line 3866 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str("::"), yyvsp[0].str); - ; - break;} -case 823: -#line 3870 "preproc.y" -{ - yyval.str = cat3_str(make2_str(make1_str("cast("), yyvsp[-3].str), make1_str("as"), make2_str(yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 824: -#line 3874 "preproc.y" -{ yyval.str = make3_str(make1_str("("), yyvsp[-1].str, make1_str(")")); ; - break;} -case 825: -#line 3876 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 826: -#line 3878 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 827: -#line 3880 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 828: -#line 3882 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-2].str, make1_str("()")); - ; - break;} -case 829: -#line 3886 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-3].str, make1_str("("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 830: -#line 3890 "preproc.y" -{ - yyval.str = make1_str("current_date"); - ; - break;} -case 831: -#line 3894 "preproc.y" -{ - yyval.str = make1_str("current_time"); - ; - break;} -case 832: -#line 3898 "preproc.y" -{ - if (yyvsp[-1].str != 0) - fprintf(stderr,"CURRENT_TIME(%s) precision not implemented; zero used instead", yyvsp[-1].str); - yyval.str = make1_str("current_time"); - ; - break;} -case 833: -#line 3904 "preproc.y" -{ - yyval.str = make1_str("current_timestamp"); - ; - break;} -case 834: -#line 3908 "preproc.y" -{ - if (atol(yyvsp[-1].str) != 0) - fprintf(stderr,"CURRENT_TIMESTAMP(%s) precision not implemented; zero used instead",yyvsp[-1].str); - yyval.str = make1_str("current_timestamp"); - ; - break;} -case 835: -#line 3914 "preproc.y" -{ - yyval.str = make1_str("current_user"); - ; - break;} -case 836: -#line 3918 "preproc.y" -{ - yyval.str = make1_str("user"); - ; - break;} -case 837: -#line 3922 "preproc.y" -{ - yyval.str = make3_str(make1_str("position ("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 838: -#line 3926 "preproc.y" -{ - yyval.str = make3_str(make1_str("substring ("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 839: -#line 3931 "preproc.y" -{ - yyval.str = make3_str(make1_str("trim(both"), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 840: -#line 3935 "preproc.y" -{ - yyval.str = make3_str(make1_str("trim(leading"), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 841: -#line 3939 "preproc.y" -{ - yyval.str = make3_str(make1_str("trim(trailing"), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 842: -#line 3943 "preproc.y" -{ - yyval.str = make3_str(make1_str("trim("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 843: -#line 3947 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 844: -#line 3951 "preproc.y" -{ - yyval.str = cat4_str(make1_str("["), yyvsp[-2].str, make1_str("]"), yyvsp[0].str); - ; - break;} -case 845: -#line 3955 "preproc.y" -{ - yyval.str = cat2_str(cat5_str(make1_str("["), yyvsp[-4].str, make1_str(":"), yyvsp[-2].str, make1_str("]")), yyvsp[0].str); - ; - break;} -case 846: -#line 3959 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 847: -#line 3963 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 848: -#line 3965 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); ; - break;} -case 849: -#line 3967 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("using"), yyvsp[0].str); ; - break;} -case 850: -#line 3971 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str("from"), yyvsp[0].str); - ; - break;} -case 851: -#line 3975 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 852: -#line 3977 "preproc.y" -{ yyval.str = make1_str("?"); ; - break;} -case 853: -#line 3980 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 854: -#line 3981 "preproc.y" -{ yyval.str = make1_str("timezone_hour"); ; - break;} -case 855: -#line 3982 "preproc.y" -{ yyval.str = make1_str("timezone_minute"); ; - break;} -case 856: -#line 3986 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("in"), yyvsp[0].str); ; - break;} -case 857: -#line 3988 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 858: -#line 3992 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 859: -#line 3996 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 860: -#line 3998 "preproc.y" -{ yyval.str = cat2_str(make1_str("-"), yyvsp[0].str); ; - break;} -case 861: -#line 4000 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("+"), yyvsp[0].str); ; - break;} -case 862: -#line 4002 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("-"), yyvsp[0].str); ; - break;} -case 863: -#line 4004 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("/"), yyvsp[0].str); ; - break;} -case 864: -#line 4006 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("%"), yyvsp[0].str); ; - break;} -case 865: -#line 4008 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("*"), yyvsp[0].str); ; - break;} -case 866: -#line 4010 "preproc.y" -{ yyval.str = cat2_str(make1_str("|"), yyvsp[0].str); ; - break;} -case 867: -#line 4012 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str("::"), yyvsp[0].str); - ; - break;} -case 868: -#line 4016 "preproc.y" -{ - yyval.str = cat3_str(make2_str(make1_str("cast("), yyvsp[-3].str), make1_str("as"), make2_str(yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 869: -#line 4020 "preproc.y" -{ yyval.str = make3_str(make1_str("("), yyvsp[-1].str, make1_str(")")); ; - break;} -case 870: -#line 4022 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 871: -#line 4024 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 872: -#line 4026 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 873: -#line 4028 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 874: -#line 4032 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-2].str, make1_str("()")); - ; - break;} -case 875: -#line 4036 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-3].str, make1_str("("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 876: -#line 4040 "preproc.y" -{ - yyval.str = make3_str(make1_str("position("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 877: -#line 4044 "preproc.y" -{ - yyval.str = make3_str(make1_str("substring("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 878: -#line 4049 "preproc.y" -{ - yyval.str = make3_str(make1_str("trim(both"), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 879: -#line 4053 "preproc.y" -{ - yyval.str = make3_str(make1_str("trim(leading"), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 880: -#line 4057 "preproc.y" -{ - yyval.str = make3_str(make1_str("trim(trailing"), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 881: -#line 4061 "preproc.y" -{ - yyval.str = make3_str(make1_str("trim("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 882: -#line 4067 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 883: -#line 4071 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 884: -#line 4075 "preproc.y" -{ yyval.str = cat2_str(make1_str("from"), yyvsp[0].str); ; - break;} -case 885: -#line 4077 "preproc.y" -{ - yyval.str = make1_str(""); - ; - break;} -case 886: -#line 4083 "preproc.y" -{ yyval.str = cat2_str(make1_str("for"), yyvsp[0].str); ; - break;} -case 887: -#line 4085 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 888: -#line 4089 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("from"), yyvsp[0].str); ; - break;} -case 889: -#line 4091 "preproc.y" -{ yyval.str = cat2_str(make1_str("from"), yyvsp[0].str); ; - break;} -case 890: -#line 4093 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 891: -#line 4097 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 892: -#line 4101 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 893: -#line 4105 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 894: -#line 4107 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str);; - break;} -case 895: -#line 4111 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 896: -#line 4115 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 897: -#line 4119 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 898: -#line 4121 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str);; - break;} -case 899: -#line 4140 "preproc.y" -{ yyval.str = cat5_str(make1_str("case"), yyvsp[-3].str, yyvsp[-2].str, yyvsp[-1].str, make1_str("end")); ; - break;} -case 900: -#line 4142 "preproc.y" -{ - yyval.str = cat5_str(make1_str("nullif("), yyvsp[-3].str, make1_str(","), yyvsp[-1].str, make1_str(")")); - - fprintf(stderr, "NULLIF() not yet fully implemented"); - ; - break;} -case 901: -#line 4148 "preproc.y" -{ - yyval.str = cat3_str(make1_str("coalesce("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 902: -#line 4154 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 903: -#line 4156 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 904: -#line 4160 "preproc.y" -{ - yyval.str = cat4_str(make1_str("when"), yyvsp[-2].str, make1_str("then"), yyvsp[0].str); - ; - break;} -case 905: -#line 4165 "preproc.y" -{ yyval.str = cat2_str(make1_str("else"), yyvsp[0].str); ; - break;} -case 906: -#line 4166 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 907: -#line 4170 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 908: -#line 4174 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 909: -#line 4178 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 910: -#line 4182 "preproc.y" -{ - yyval.str = make3_str(yyvsp[-2].str, make1_str("."), yyvsp[0].str); - ; - break;} -case 911: -#line 4186 "preproc.y" -{ - yyval.str = make3_str(yyvsp[-2].str, make1_str("."), yyvsp[0].str); - ; - break;} -case 912: -#line 4192 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 913: -#line 4194 "preproc.y" -{ yyval.str = make3_str(yyvsp[-2].str, make1_str("."), yyvsp[0].str); ; - break;} -case 914: -#line 4196 "preproc.y" -{ yyval.str = make2_str(yyvsp[-2].str, make1_str(".*")); ; - break;} -case 915: -#line 4207 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str(","),yyvsp[0].str); ; - break;} -case 916: -#line 4209 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 917: -#line 4210 "preproc.y" -{ yyval.str = make1_str("*"); ; - break;} -case 918: -#line 4214 "preproc.y" -{ - yyval.str = cat4_str(yyvsp[-3].str, yyvsp[-2].str, make1_str("="), yyvsp[0].str); - ; - break;} -case 919: -#line 4218 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 920: -#line 4222 "preproc.y" -{ - yyval.str = make2_str(yyvsp[-2].str, make1_str(".*")); - ; - break;} -case 921: -#line 4233 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); ; - break;} -case 922: -#line 4235 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 923: -#line 4240 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str("as"), yyvsp[0].str); - ; - break;} -case 924: -#line 4244 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 925: -#line 4248 "preproc.y" -{ - yyval.str = make2_str(yyvsp[-2].str, make1_str(".*")); - ; - break;} -case 926: -#line 4252 "preproc.y" -{ - yyval.str = make1_str("*"); - ; - break;} -case 927: -#line 4257 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 928: -#line 4258 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 929: -#line 4262 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 930: -#line 4266 "preproc.y" -{ - /* disallow refs to variable system tables */ - if (strcmp(LogRelationName, yyvsp[0].str) == 0 - || strcmp(VariableRelationName, yyvsp[0].str) == 0) { - sprintf(errortext, make1_str("%s cannot be accessed by users"),yyvsp[0].str); - yyerror(errortext); - } - else - yyval.str = yyvsp[0].str; - ; - break;} -case 931: -#line 4278 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 932: -#line 4279 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 933: -#line 4280 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 934: -#line 4281 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 935: -#line 4282 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 936: -#line 4288 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 937: -#line 4289 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 938: -#line 4291 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 939: -#line 4298 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 940: -#line 4302 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 941: -#line 4306 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 942: -#line 4310 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 943: -#line 4314 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 944: -#line 4316 "preproc.y" -{ - yyval.str = make1_str("true"); - ; - break;} -case 945: -#line 4320 "preproc.y" -{ - yyval.str = make1_str("false"); - ; - break;} -case 946: -#line 4326 "preproc.y" -{ - yyval.str = cat2_str(make_name(), yyvsp[0].str); - ; - break;} -case 947: -#line 4331 "preproc.y" -{ yyval.str = make_name();; - break;} -case 948: -#line 4332 "preproc.y" -{ yyval.str = make_name();; - break;} -case 949: -#line 4333 "preproc.y" -{ - yyval.str = (char *)mm_alloc(strlen(yyvsp[0].str) + 3); - yyval.str[0]='\''; - strcpy(yyval.str+1, yyvsp[0].str); - yyval.str[strlen(yyvsp[0].str)+2]='\0'; - yyval.str[strlen(yyvsp[0].str)+1]='\''; - free(yyvsp[0].str); - ; - break;} -case 950: -#line 4341 "preproc.y" -{ yyval.str = yyvsp[0].str;; - break;} -case 951: -#line 4349 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 952: -#line 4351 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 953: -#line 4353 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 954: -#line 4363 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 955: -#line 4364 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 956: -#line 4365 "preproc.y" -{ yyval.str = make1_str("absolute"); ; - break;} -case 957: -#line 4366 "preproc.y" -{ yyval.str = make1_str("access"); ; - break;} -case 958: -#line 4367 "preproc.y" -{ yyval.str = make1_str("action"); ; - break;} -case 959: -#line 4368 "preproc.y" -{ yyval.str = make1_str("after"); ; - break;} -case 960: -#line 4369 "preproc.y" -{ yyval.str = make1_str("aggregate"); ; - break;} -case 961: -#line 4370 "preproc.y" -{ yyval.str = make1_str("backward"); ; - break;} -case 962: -#line 4371 "preproc.y" -{ yyval.str = make1_str("before"); ; - break;} -case 963: -#line 4372 "preproc.y" -{ yyval.str = make1_str("cache"); ; - break;} -case 964: -#line 4373 "preproc.y" -{ yyval.str = make1_str("committed"); ; - break;} -case 965: -#line 4374 "preproc.y" -{ yyval.str = make1_str("createdb"); ; - break;} -case 966: -#line 4375 "preproc.y" -{ yyval.str = make1_str("createuser"); ; - break;} -case 967: -#line 4376 "preproc.y" -{ yyval.str = make1_str("cycle"); ; - break;} -case 968: -#line 4377 "preproc.y" -{ yyval.str = make1_str("database"); ; - break;} -case 969: -#line 4378 "preproc.y" -{ yyval.str = make1_str("delimiters"); ; - break;} -case 970: -#line 4379 "preproc.y" -{ yyval.str = make1_str("double"); ; - break;} -case 971: -#line 4380 "preproc.y" -{ yyval.str = make1_str("each"); ; - break;} -case 972: -#line 4381 "preproc.y" -{ yyval.str = make1_str("encoding"); ; - break;} -case 973: -#line 4382 "preproc.y" -{ yyval.str = make1_str("exclusive"); ; - break;} -case 974: -#line 4383 "preproc.y" -{ yyval.str = make1_str("forward"); ; - break;} -case 975: -#line 4384 "preproc.y" -{ yyval.str = make1_str("function"); ; - break;} -case 976: -#line 4385 "preproc.y" -{ yyval.str = make1_str("handler"); ; - break;} -case 977: -#line 4386 "preproc.y" -{ yyval.str = make1_str("increment"); ; - break;} -case 978: -#line 4387 "preproc.y" -{ yyval.str = make1_str("index"); ; - break;} -case 979: -#line 4388 "preproc.y" -{ yyval.str = make1_str("inherits"); ; - break;} -case 980: -#line 4389 "preproc.y" -{ yyval.str = make1_str("insensitive"); ; - break;} -case 981: -#line 4390 "preproc.y" -{ yyval.str = make1_str("instead"); ; - break;} -case 982: -#line 4391 "preproc.y" -{ yyval.str = make1_str("isnull"); ; - break;} -case 983: -#line 4392 "preproc.y" -{ yyval.str = make1_str("key"); ; - break;} -case 984: -#line 4393 "preproc.y" -{ yyval.str = make1_str("language"); ; - break;} -case 985: -#line 4394 "preproc.y" -{ yyval.str = make1_str("lancompiler"); ; - break;} -case 986: -#line 4395 "preproc.y" -{ yyval.str = make1_str("location"); ; - break;} -case 987: -#line 4396 "preproc.y" -{ yyval.str = make1_str("match"); ; - break;} -case 988: -#line 4397 "preproc.y" -{ yyval.str = make1_str("maxvalue"); ; - break;} -case 989: -#line 4398 "preproc.y" -{ yyval.str = make1_str("minvalue"); ; - break;} -case 990: -#line 4399 "preproc.y" -{ yyval.str = make1_str("mode"); ; - break;} -case 991: -#line 4400 "preproc.y" -{ yyval.str = make1_str("next"); ; - break;} -case 992: -#line 4401 "preproc.y" -{ yyval.str = make1_str("nocreatedb"); ; - break;} -case 993: -#line 4402 "preproc.y" -{ yyval.str = make1_str("nocreateuser"); ; - break;} -case 994: -#line 4403 "preproc.y" -{ yyval.str = make1_str("nothing"); ; - break;} -case 995: -#line 4404 "preproc.y" -{ yyval.str = make1_str("notnull"); ; - break;} -case 996: -#line 4405 "preproc.y" -{ yyval.str = make1_str("of"); ; - break;} -case 997: -#line 4406 "preproc.y" -{ yyval.str = make1_str("oids"); ; - break;} -case 998: -#line 4407 "preproc.y" -{ yyval.str = make1_str("only"); ; - break;} -case 999: -#line 4408 "preproc.y" -{ yyval.str = make1_str("operator"); ; - break;} -case 1000: -#line 4409 "preproc.y" -{ yyval.str = make1_str("option"); ; - break;} -case 1001: -#line 4410 "preproc.y" -{ yyval.str = make1_str("password"); ; - break;} -case 1002: -#line 4411 "preproc.y" -{ yyval.str = make1_str("prior"); ; - break;} -case 1003: -#line 4412 "preproc.y" -{ yyval.str = make1_str("privileges"); ; - break;} -case 1004: -#line 4413 "preproc.y" -{ yyval.str = make1_str("procedural"); ; - break;} -case 1005: -#line 4414 "preproc.y" -{ yyval.str = make1_str("read"); ; - break;} -case 1006: -#line 4416 "preproc.y" -{ yyval.str = make1_str("relative"); ; - break;} -case 1007: -#line 4417 "preproc.y" -{ yyval.str = make1_str("rename"); ; - break;} -case 1008: -#line 4418 "preproc.y" -{ yyval.str = make1_str("returns"); ; - break;} -case 1009: -#line 4419 "preproc.y" -{ yyval.str = make1_str("row"); ; - break;} -case 1010: -#line 4420 "preproc.y" -{ yyval.str = make1_str("rule"); ; - break;} -case 1011: -#line 4421 "preproc.y" -{ yyval.str = make1_str("scroll"); ; - break;} -case 1012: -#line 4422 "preproc.y" -{ yyval.str = make1_str("sequence"); ; - break;} -case 1013: -#line 4423 "preproc.y" -{ yyval.str = make1_str("serial"); ; - break;} -case 1014: -#line 4424 "preproc.y" -{ yyval.str = make1_str("serializable"); ; - break;} -case 1015: -#line 4425 "preproc.y" -{ yyval.str = make1_str("share"); ; - break;} -case 1016: -#line 4426 "preproc.y" -{ yyval.str = make1_str("start"); ; - break;} -case 1017: -#line 4427 "preproc.y" -{ yyval.str = make1_str("statement"); ; - break;} -case 1018: -#line 4428 "preproc.y" -{ yyval.str = make1_str("stdin"); ; - break;} -case 1019: -#line 4429 "preproc.y" -{ yyval.str = make1_str("stdout"); ; - break;} -case 1020: -#line 4430 "preproc.y" -{ yyval.str = make1_str("time"); ; - break;} -case 1021: -#line 4431 "preproc.y" -{ yyval.str = make1_str("timestamp"); ; - break;} -case 1022: -#line 4432 "preproc.y" -{ yyval.str = make1_str("timezone_hour"); ; - break;} -case 1023: -#line 4433 "preproc.y" -{ yyval.str = make1_str("timezone_minute"); ; - break;} -case 1024: -#line 4434 "preproc.y" -{ yyval.str = make1_str("trigger"); ; - break;} -case 1025: -#line 4435 "preproc.y" -{ yyval.str = make1_str("trusted"); ; - break;} -case 1026: -#line 4436 "preproc.y" -{ yyval.str = make1_str("type"); ; - break;} -case 1027: -#line 4437 "preproc.y" -{ yyval.str = make1_str("valid"); ; - break;} -case 1028: -#line 4438 "preproc.y" -{ yyval.str = make1_str("version"); ; - break;} -case 1029: -#line 4439 "preproc.y" -{ yyval.str = make1_str("zone"); ; - break;} -case 1030: -#line 4440 "preproc.y" -{ yyval.str = make1_str("at"); ; - break;} -case 1031: -#line 4441 "preproc.y" -{ yyval.str = make1_str("bool"); ; - break;} -case 1032: -#line 4442 "preproc.y" -{ yyval.str = make1_str("break"); ; - break;} -case 1033: -#line 4443 "preproc.y" -{ yyval.str = make1_str("call"); ; - break;} -case 1034: -#line 4444 "preproc.y" -{ yyval.str = make1_str("connect"); ; - break;} -case 1035: -#line 4445 "preproc.y" -{ yyval.str = make1_str("continue"); ; - break;} -case 1036: -#line 4446 "preproc.y" -{ yyval.str = make1_str("deallocate"); ; - break;} -case 1037: -#line 4447 "preproc.y" -{ yyval.str = make1_str("disconnect"); ; - break;} -case 1038: -#line 4448 "preproc.y" -{ yyval.str = make1_str("found"); ; - break;} -case 1039: -#line 4449 "preproc.y" -{ yyval.str = make1_str("go"); ; - break;} -case 1040: -#line 4450 "preproc.y" -{ yyval.str = make1_str("goto"); ; - break;} -case 1041: -#line 4451 "preproc.y" -{ yyval.str = make1_str("identified"); ; - break;} -case 1042: -#line 4452 "preproc.y" -{ yyval.str = make1_str("immediate"); ; - break;} -case 1043: -#line 4453 "preproc.y" -{ yyval.str = make1_str("indicator"); ; - break;} -case 1044: -#line 4454 "preproc.y" -{ yyval.str = make1_str("int"); ; - break;} -case 1045: -#line 4455 "preproc.y" -{ yyval.str = make1_str("long"); ; - break;} -case 1046: -#line 4456 "preproc.y" -{ yyval.str = make1_str("off"); ; - break;} -case 1047: -#line 4457 "preproc.y" -{ yyval.str = make1_str("open"); ; - break;} -case 1048: -#line 4458 "preproc.y" -{ yyval.str = make1_str("prepare"); ; - break;} -case 1049: -#line 4459 "preproc.y" -{ yyval.str = make1_str("release"); ; - break;} -case 1050: -#line 4460 "preproc.y" -{ yyval.str = make1_str("section"); ; - break;} -case 1051: -#line 4461 "preproc.y" -{ yyval.str = make1_str("short"); ; - break;} -case 1052: -#line 4462 "preproc.y" -{ yyval.str = make1_str("signed"); ; - break;} -case 1053: -#line 4463 "preproc.y" -{ yyval.str = make1_str("sqlerror"); ; - break;} -case 1054: -#line 4464 "preproc.y" -{ yyval.str = make1_str("sqlprint"); ; - break;} -case 1055: -#line 4465 "preproc.y" -{ yyval.str = make1_str("sqlwarning"); ; - break;} -case 1056: -#line 4466 "preproc.y" -{ yyval.str = make1_str("stop"); ; - break;} -case 1057: -#line 4467 "preproc.y" -{ yyval.str = make1_str("struct"); ; - break;} -case 1058: -#line 4468 "preproc.y" -{ yyval.str = make1_str("unsigned"); ; - break;} -case 1059: -#line 4469 "preproc.y" -{ yyval.str = make1_str("var"); ; - break;} -case 1060: -#line 4470 "preproc.y" -{ yyval.str = make1_str("whenever"); ; - break;} -case 1061: -#line 4482 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1062: -#line 4483 "preproc.y" -{ yyval.str = make1_str("abort"); ; - break;} -case 1063: -#line 4484 "preproc.y" -{ yyval.str = make1_str("analyze"); ; - break;} -case 1064: -#line 4485 "preproc.y" -{ yyval.str = make1_str("binary"); ; - break;} -case 1065: -#line 4486 "preproc.y" -{ yyval.str = make1_str("case"); ; - break;} -case 1066: -#line 4487 "preproc.y" -{ yyval.str = make1_str("cluster"); ; - break;} -case 1067: -#line 4488 "preproc.y" -{ yyval.str = make1_str("coalesce"); ; - break;} -case 1068: -#line 4489 "preproc.y" -{ yyval.str = make1_str("constraint"); ; - break;} -case 1069: -#line 4490 "preproc.y" -{ yyval.str = make1_str("copy"); ; - break;} -case 1070: -#line 4491 "preproc.y" -{ yyval.str = make1_str("current"); ; - break;} -case 1071: -#line 4492 "preproc.y" -{ yyval.str = make1_str("do"); ; - break;} -case 1072: -#line 4493 "preproc.y" -{ yyval.str = make1_str("else"); ; - break;} -case 1073: -#line 4494 "preproc.y" -{ yyval.str = make1_str("end"); ; - break;} -case 1074: -#line 4495 "preproc.y" -{ yyval.str = make1_str("explain"); ; - break;} -case 1075: -#line 4496 "preproc.y" -{ yyval.str = make1_str("extend"); ; - break;} -case 1076: -#line 4497 "preproc.y" -{ yyval.str = make1_str("false"); ; - break;} -case 1077: -#line 4498 "preproc.y" -{ yyval.str = make1_str("foreign"); ; - break;} -case 1078: -#line 4499 "preproc.y" -{ yyval.str = make1_str("group"); ; - break;} -case 1079: -#line 4500 "preproc.y" -{ yyval.str = make1_str("listen"); ; - break;} -case 1080: -#line 4501 "preproc.y" -{ yyval.str = make1_str("load"); ; - break;} -case 1081: -#line 4502 "preproc.y" -{ yyval.str = make1_str("lock"); ; - break;} -case 1082: -#line 4503 "preproc.y" -{ yyval.str = make1_str("move"); ; - break;} -case 1083: -#line 4504 "preproc.y" -{ yyval.str = make1_str("new"); ; - break;} -case 1084: -#line 4505 "preproc.y" -{ yyval.str = make1_str("none"); ; - break;} -case 1085: -#line 4506 "preproc.y" -{ yyval.str = make1_str("nullif"); ; - break;} -case 1086: -#line 4507 "preproc.y" -{ yyval.str = make1_str("order"); ; - break;} -case 1087: -#line 4508 "preproc.y" -{ yyval.str = make1_str("position"); ; - break;} -case 1088: -#line 4509 "preproc.y" -{ yyval.str = make1_str("precision"); ; - break;} -case 1089: -#line 4510 "preproc.y" -{ yyval.str = make1_str("reset"); ; - break;} -case 1090: -#line 4511 "preproc.y" -{ yyval.str = make1_str("setof"); ; - break;} -case 1091: -#line 4512 "preproc.y" -{ yyval.str = make1_str("show"); ; - break;} -case 1092: -#line 4513 "preproc.y" -{ yyval.str = make1_str("table"); ; - break;} -case 1093: -#line 4514 "preproc.y" -{ yyval.str = make1_str("then"); ; - break;} -case 1094: -#line 4515 "preproc.y" -{ yyval.str = make1_str("transaction"); ; - break;} -case 1095: -#line 4516 "preproc.y" -{ yyval.str = make1_str("true"); ; - break;} -case 1096: -#line 4517 "preproc.y" -{ yyval.str = make1_str("vacuum"); ; - break;} -case 1097: -#line 4518 "preproc.y" -{ yyval.str = make1_str("verbose"); ; - break;} -case 1098: -#line 4519 "preproc.y" -{ yyval.str = make1_str("when"); ; - break;} -case 1099: -#line 4523 "preproc.y" -{ - if (QueryIsRule) - yyval.str = make1_str("current"); - else - yyerror("CURRENT used in non-rule query"); - ; - break;} -case 1100: -#line 4530 "preproc.y" -{ - if (QueryIsRule) - yyval.str = make1_str("new"); - else - yyerror("NEW used in non-rule query"); - ; - break;} -case 1101: -#line 4546 "preproc.y" -{ - yyval.str = make5_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str, make1_str(","), yyvsp[-1].str); - ; - break;} -case 1102: -#line 4550 "preproc.y" -{ - yyval.str = make1_str("NULL,NULL,NULL,\"DEFAULT\""); - ; - break;} -case 1103: -#line 4555 "preproc.y" -{ - yyval.str = make3_str(make1_str("NULL,"), yyvsp[0].str, make1_str(",NULL")); - ; - break;} -case 1104: -#line 4560 "preproc.y" -{ - /* old style: dbname[@server][:port] */ - if (strlen(yyvsp[-1].str) > 0 && *(yyvsp[-1].str) != '@') - { - sprintf(errortext, "parse error at or near '%s'", yyvsp[-1].str); - yyerror(errortext); - } - - yyval.str = make5_str(make1_str("\""), yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str, make1_str("\"")); - ; - break;} -case 1105: -#line 4571 "preproc.y" -{ - /* new style: :postgresql://server[:port][/dbname] */ - if (strncmp(yyvsp[-4].str, "://", 3) != 0) - { - sprintf(errortext, "parse error at or near '%s'", yyvsp[-4].str); - yyerror(errortext); - } - - if (strncmp(yyvsp[-5].str, "unix", 4) == 0 && strncmp(yyvsp[-4].str + 3, "localhost", 9) != 0) - { - sprintf(errortext, "unix domain sockets only work on 'localhost' but not on '%9.9s'", yyvsp[-4].str); - yyerror(errortext); - } - - if (strncmp(yyvsp[-5].str, "unix", 4) != 0 && strncmp(yyvsp[-5].str, "tcp", 3) != 0) - { - sprintf(errortext, "only protocols 'tcp' and 'unix' are supported"); - yyerror(errortext); - } - - yyval.str = make4_str(make5_str(make1_str("\""), yyvsp[-5].str, yyvsp[-4].str, yyvsp[-3].str, make1_str("/")), yyvsp[-1].str, yyvsp[0].str, make1_str("\"")); - ; - break;} -case 1106: -#line 4594 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 1107: -#line 4598 "preproc.y" -{ - yyval.str = mm_strdup(yyvsp[0].str); - yyval.str[0] = '\"'; - yyval.str[strlen(yyval.str) - 1] = '\"'; - free(yyvsp[0].str); - ; - break;} -case 1108: -#line 4606 "preproc.y" -{ - if (strcmp(yyvsp[0].str, "postgresql") != 0 && strcmp(yyvsp[0].str, "postgres") != 0) - { - sprintf(errortext, "parse error at or near '%s'", yyvsp[0].str); - yyerror(errortext); - } - - if (strcmp(yyvsp[-1].str, "tcp") != 0 && strcmp(yyvsp[-1].str, "unix") != 0) - { - sprintf(errortext, "Illegal connection type %s", yyvsp[-1].str); - yyerror(errortext); - } - - yyval.str = make3_str(yyvsp[-1].str, make1_str(":"), yyvsp[0].str); - ; - break;} -case 1109: -#line 4623 "preproc.y" -{ - if (strcmp(yyvsp[-1].str, "@") != 0 && strcmp(yyvsp[-1].str, "://") != 0) - { - sprintf(errortext, "parse error at or near '%s'", yyvsp[-1].str); - yyerror(errortext); - } - - yyval.str = make2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 1110: -#line 4633 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1111: -#line 4634 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 1112: -#line 4636 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1113: -#line 4637 "preproc.y" -{ yyval.str = make3_str(yyvsp[-2].str, make1_str("."), yyvsp[0].str); ; - break;} -case 1114: -#line 4639 "preproc.y" -{ yyval.str = make2_str(make1_str(":"), yyvsp[0].str); ; - break;} -case 1115: -#line 4640 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 1116: -#line 4642 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1117: -#line 4643 "preproc.y" -{ yyval.str = make1_str("NULL"); ; - break;} -case 1118: -#line 4645 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1119: -#line 4646 "preproc.y" -{ yyval.str = make1_str("NULL,NULL"); ; - break;} -case 1120: -#line 4649 "preproc.y" -{ - yyval.str = make2_str(yyvsp[0].str, make1_str(",NULL")); - ; - break;} -case 1121: -#line 4653 "preproc.y" -{ - yyval.str = make3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); - ; - break;} -case 1122: -#line 4657 "preproc.y" -{ - yyval.str = make3_str(yyvsp[-3].str, make1_str(","), yyvsp[0].str); - ; - break;} -case 1123: -#line 4661 "preproc.y" -{ - yyval.str = make3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); - ; - break;} -case 1124: -#line 4665 "preproc.y" -{ if (yyvsp[0].str[0] == '\"') - yyval.str = yyvsp[0].str; - else - yyval.str = make3_str(make1_str("\""), yyvsp[0].str, make1_str("\"")); - ; - break;} -case 1125: -#line 4670 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1126: -#line 4671 "preproc.y" -{ yyval.str = make3_str(make1_str("\""), yyvsp[0].str, make1_str("\"")); ; - break;} -case 1127: -#line 4674 "preproc.y" -{ /* check if we have a char variable */ - struct variable *p = find_variable(yyvsp[0].str); - enum ECPGttype typ = p->type->typ; - - /* if array see what's inside */ - if (typ == ECPGt_array) - typ = p->type->u.element->typ; - - switch (typ) - { - case ECPGt_char: - case ECPGt_unsigned_char: - yyval.str = yyvsp[0].str; - break; - case ECPGt_varchar: - yyval.str = make2_str(yyvsp[0].str, make1_str(".arr")); - break; - default: - yyerror("invalid datatype"); - break; - } - ; - break;} -case 1128: -#line 4698 "preproc.y" -{ - if (strlen(yyvsp[-1].str) == 0) - yyerror("parse error"); - - if (strcmp(yyvsp[-1].str, "?") != 0) - { - sprintf(errortext, "parse error at or near %s", yyvsp[-1].str); - yyerror(errortext); - } - - yyval.str = make2_str(make1_str("?"), yyvsp[0].str); - ; - break;} -case 1129: -#line 4710 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 1130: -#line 4717 "preproc.y" -{ - struct cursor *ptr, *this; - struct variable *thisquery = (struct variable *)mm_alloc(sizeof(struct variable)); - - for (ptr = cur; ptr != NULL; ptr = ptr->next) - { - if (strcmp(yyvsp[-4].str, ptr->name) == 0) - { - /* re-definition is a bug */ - sprintf(errortext, "cursor %s already defined", yyvsp[-4].str); - yyerror(errortext); - } - } - - this = (struct cursor *) mm_alloc(sizeof(struct cursor)); - - /* initial definition */ - this->next = cur; - this->name = yyvsp[-4].str; - this->connection = connection; - this->command = cat4_str(make1_str("declare"), mm_strdup(yyvsp[-4].str), yyvsp[-3].str, make1_str("cursor for ?")); - this->argsresult = NULL; - - thisquery->type = &ecpg_query; - thisquery->brace_level = 0; - thisquery->next = NULL; - thisquery->name = (char *) mm_alloc(sizeof("ECPGprepared_statement(\"\")") + strlen(yyvsp[0].str)); - sprintf(thisquery->name, "ECPGprepared_statement(\"%s\")", yyvsp[0].str); - - this->argsinsert = NULL; - add_variable(&(this->argsinsert), thisquery, &no_indicator); - - cur = this; - - yyval.str = cat3_str(make1_str("/*"), mm_strdup(this->command), make1_str("*/")); - ; - break;} -case 1131: -#line 4759 "preproc.y" -{ yyval.str = make3_str(make1_str("ECPGdeallocate(__LINE__, \""), yyvsp[0].str, make1_str("\");")); ; - break;} -case 1132: -#line 4765 "preproc.y" -{ - fputs("/* exec sql begin declare section */", yyout); - output_line_number(); - ; - break;} -case 1133: -#line 4770 "preproc.y" -{ - fprintf(yyout, "%s/* exec sql end declare section */", yyvsp[-1].str); - free(yyvsp[-1].str); - output_line_number(); - ; - break;} -case 1134: -#line 4776 "preproc.y" -{; - break;} -case 1135: -#line 4778 "preproc.y" -{; - break;} -case 1136: -#line 4781 "preproc.y" -{ - yyval.str = make1_str(""); - ; - break;} -case 1137: -#line 4785 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 1138: -#line 4790 "preproc.y" -{ - actual_storage[struct_level] = mm_strdup(yyvsp[0].str); - ; - break;} -case 1139: -#line 4794 "preproc.y" -{ - actual_type[struct_level].type_enum = yyvsp[0].type.type_enum; - actual_type[struct_level].type_dimension = yyvsp[0].type.type_dimension; - actual_type[struct_level].type_index = yyvsp[0].type.type_index; - ; - break;} -case 1140: -#line 4800 "preproc.y" -{ - yyval.str = cat4_str(yyvsp[-5].str, yyvsp[-3].type.type_str, yyvsp[-1].str, make1_str(";\n")); - ; - break;} -case 1141: -#line 4804 "preproc.y" -{ yyval.str = make1_str("extern"); ; - break;} -case 1142: -#line 4805 "preproc.y" -{ yyval.str = make1_str("static"); ; - break;} -case 1143: -#line 4806 "preproc.y" -{ yyval.str = make1_str("signed"); ; - break;} -case 1144: -#line 4807 "preproc.y" -{ yyval.str = make1_str("const"); ; - break;} -case 1145: -#line 4808 "preproc.y" -{ yyval.str = make1_str("register"); ; - break;} -case 1146: -#line 4809 "preproc.y" -{ yyval.str = make1_str("auto"); ; - break;} -case 1147: -#line 4810 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 1148: -#line 4813 "preproc.y" -{ - yyval.type.type_enum = yyvsp[0].type_enum; - yyval.type.type_str = mm_strdup(ECPGtype_name(yyvsp[0].type_enum)); - yyval.type.type_dimension = -1; - yyval.type.type_index = -1; - ; - break;} -case 1149: -#line 4820 "preproc.y" -{ - yyval.type.type_enum = ECPGt_varchar; - yyval.type.type_str = make1_str(""); - yyval.type.type_dimension = -1; - yyval.type.type_index = -1; - ; - break;} -case 1150: -#line 4827 "preproc.y" -{ - yyval.type.type_enum = ECPGt_struct; - yyval.type.type_str = yyvsp[0].str; - yyval.type.type_dimension = -1; - yyval.type.type_index = -1; - ; - break;} -case 1151: -#line 4834 "preproc.y" -{ - yyval.type.type_enum = ECPGt_union; - yyval.type.type_str = yyvsp[0].str; - yyval.type.type_dimension = -1; - yyval.type.type_index = -1; - ; - break;} -case 1152: -#line 4841 "preproc.y" -{ - yyval.type.type_str = yyvsp[0].str; - yyval.type.type_enum = ECPGt_int; - - yyval.type.type_dimension = -1; - yyval.type.type_index = -1; - ; - break;} -case 1153: -#line 4849 "preproc.y" -{ - /* this is for typedef'ed types */ - struct typedefs *this = get_typedef(yyvsp[0].str); - - yyval.type.type_str = (this->type->type_enum == ECPGt_varchar) ? make1_str("") : mm_strdup(this->name); - yyval.type.type_enum = this->type->type_enum; - yyval.type.type_dimension = this->type->type_dimension; - yyval.type.type_index = this->type->type_index; - struct_member_list[struct_level] = ECPGstruct_member_dup(this->struct_member_list); - ; - break;} -case 1154: -#line 4861 "preproc.y" -{ - yyval.str = cat4_str(yyvsp[-3].str, make1_str("{"), yyvsp[-1].str, make1_str("}")); - ; - break;} -case 1155: -#line 4865 "preproc.y" -{ yyval.str = cat2_str(make1_str("enum"), yyvsp[0].str); ; - break;} -case 1156: -#line 4868 "preproc.y" -{ - ECPGfree_struct_member(struct_member_list[struct_level]); - free(actual_storage[struct_level--]); - yyval.str = cat4_str(yyvsp[-3].str, make1_str("{"), yyvsp[-1].str, make1_str("}")); - ; - break;} -case 1157: -#line 4875 "preproc.y" -{ - ECPGfree_struct_member(struct_member_list[struct_level]); - free(actual_storage[struct_level--]); - yyval.str = cat4_str(yyvsp[-3].str, make1_str("{"), yyvsp[-1].str, make1_str("}")); - ; - break;} -case 1158: -#line 4882 "preproc.y" -{ - struct_member_list[struct_level++] = NULL; - if (struct_level >= STRUCT_DEPTH) - yyerror("Too many levels in nested structure definition"); - yyval.str = cat2_str(make1_str("struct"), yyvsp[0].str); - ; - break;} -case 1159: -#line 4890 "preproc.y" -{ - struct_member_list[struct_level++] = NULL; - if (struct_level >= STRUCT_DEPTH) - yyerror("Too many levels in nested structure definition"); - yyval.str = cat2_str(make1_str("union"), yyvsp[0].str); - ; - break;} -case 1160: -#line 4897 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 1161: -#line 4898 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1162: -#line 4900 "preproc.y" -{ yyval.type_enum = ECPGt_short; ; - break;} -case 1163: -#line 4901 "preproc.y" -{ yyval.type_enum = ECPGt_unsigned_short; ; - break;} -case 1164: -#line 4902 "preproc.y" -{ yyval.type_enum = ECPGt_int; ; - break;} -case 1165: -#line 4903 "preproc.y" -{ yyval.type_enum = ECPGt_unsigned_int; ; - break;} -case 1166: -#line 4904 "preproc.y" -{ yyval.type_enum = ECPGt_long; ; - break;} -case 1167: -#line 4905 "preproc.y" -{ yyval.type_enum = ECPGt_unsigned_long; ; - break;} -case 1168: -#line 4906 "preproc.y" -{ yyval.type_enum = ECPGt_float; ; - break;} -case 1169: -#line 4907 "preproc.y" -{ yyval.type_enum = ECPGt_double; ; - break;} -case 1170: -#line 4908 "preproc.y" -{ yyval.type_enum = ECPGt_bool; ; - break;} -case 1171: -#line 4909 "preproc.y" -{ yyval.type_enum = ECPGt_char; ; - break;} -case 1172: -#line 4910 "preproc.y" -{ yyval.type_enum = ECPGt_unsigned_char; ; - break;} -case 1173: -#line 4912 "preproc.y" -{ yyval.type_enum = ECPGt_varchar; ; - break;} -case 1174: -#line 4915 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 1175: -#line 4919 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); - ; - break;} -case 1176: -#line 4924 "preproc.y" -{ - struct ECPGtype * type; - int dimension = yyvsp[-1].index.index1; /* dimension of array */ - int length = yyvsp[-1].index.index2; /* lenght of string */ - char dim[14L], ascii_len[12]; - - adjust_array(actual_type[struct_level].type_enum, &dimension, &length, actual_type[struct_level].type_dimension, actual_type[struct_level].type_index, strlen(yyvsp[-3].str)); - - switch (actual_type[struct_level].type_enum) - { - case ECPGt_struct: - case ECPGt_union: - if (dimension < 0) - type = ECPGmake_struct_type(struct_member_list[struct_level], actual_type[struct_level].type_enum); - else - type = ECPGmake_array_type(ECPGmake_struct_type(struct_member_list[struct_level], actual_type[struct_level].type_enum), dimension); - - yyval.str = make4_str(yyvsp[-3].str, mm_strdup(yyvsp[-2].str), yyvsp[-1].index.str, yyvsp[0].str); - break; - case ECPGt_varchar: - if (dimension == -1) - type = ECPGmake_simple_type(actual_type[struct_level].type_enum, length); - else - type = ECPGmake_array_type(ECPGmake_simple_type(actual_type[struct_level].type_enum, length), dimension); - - switch(dimension) - { - case 0: - case -1: - case 1: - *dim = '\0'; - break; - default: - sprintf(dim, "[%d]", dimension); - break; - } - sprintf(ascii_len, "%d", length); - - if (length == 0) - yyerror ("pointer to varchar are not implemented"); - - if (dimension == 0) - yyval.str = make4_str(make5_str(mm_strdup(actual_storage[struct_level]), make1_str(" struct varchar_"), mm_strdup(yyvsp[-2].str), make1_str(" { int len; char arr["), mm_strdup(ascii_len)), make1_str("]; } *"), mm_strdup(yyvsp[-2].str), yyvsp[0].str); - else - yyval.str = make5_str(make5_str(mm_strdup(actual_storage[struct_level]), make1_str(" struct varchar_"), mm_strdup(yyvsp[-2].str), make1_str(" { int len; char arr["), mm_strdup(ascii_len)), make1_str("]; } "), mm_strdup(yyvsp[-2].str), mm_strdup(dim), yyvsp[0].str); - - break; - case ECPGt_char: - case ECPGt_unsigned_char: - if (dimension == -1) - type = ECPGmake_simple_type(actual_type[struct_level].type_enum, length); - else - type = ECPGmake_array_type(ECPGmake_simple_type(actual_type[struct_level].type_enum, length), dimension); - - yyval.str = make4_str(yyvsp[-3].str, mm_strdup(yyvsp[-2].str), yyvsp[-1].index.str, yyvsp[0].str); - break; - default: - if (dimension < 0) - type = ECPGmake_simple_type(actual_type[struct_level].type_enum, 1); - else - type = ECPGmake_array_type(ECPGmake_simple_type(actual_type[struct_level].type_enum, 1), dimension); - - yyval.str = make4_str(yyvsp[-3].str, mm_strdup(yyvsp[-2].str), yyvsp[-1].index.str, yyvsp[0].str); - break; - } - - if (struct_level == 0) - new_variable(yyvsp[-2].str, type); - else - ECPGmake_struct_member(yyvsp[-2].str, type, &(struct_member_list[struct_level - 1])); - - free(yyvsp[-2].str); - ; - break;} -case 1177: -#line 4998 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 1178: -#line 4999 "preproc.y" -{ yyval.str = make2_str(make1_str("="), yyvsp[0].str); ; - break;} -case 1179: -#line 5001 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 1180: -#line 5002 "preproc.y" -{ yyval.str = make1_str("*"); ; - break;} -case 1181: -#line 5009 "preproc.y" -{ - /* this is only supported for compatibility */ - yyval.str = cat3_str(make1_str("/* declare statement"), yyvsp[0].str, make1_str("*/")); - ; - break;} -case 1182: -#line 5016 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1183: -#line 5018 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1184: -#line 5019 "preproc.y" -{ yyval.str = make1_str("CURRENT"); ; - break;} -case 1185: -#line 5020 "preproc.y" -{ yyval.str = make1_str("ALL"); ; - break;} -case 1186: -#line 5021 "preproc.y" -{ yyval.str = make1_str("CURRENT"); ; - break;} -case 1187: -#line 5023 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1188: -#line 5024 "preproc.y" -{ yyval.str = make1_str("DEFAULT"); ; - break;} -case 1189: -#line 5030 "preproc.y" -{ - struct variable *thisquery = (struct variable *)mm_alloc(sizeof(struct variable)); - - thisquery->type = &ecpg_query; - thisquery->brace_level = 0; - thisquery->next = NULL; - thisquery->name = yyvsp[0].str; - - add_variable(&argsinsert, thisquery, &no_indicator); - - yyval.str = make1_str("?"); - ; - break;} -case 1190: -#line 5043 "preproc.y" -{ - struct variable *thisquery = (struct variable *)mm_alloc(sizeof(struct variable)); - - thisquery->type = &ecpg_query; - thisquery->brace_level = 0; - thisquery->next = NULL; - thisquery->name = (char *) mm_alloc(sizeof("ECPGprepared_statement(\"\")") + strlen(yyvsp[0].str)); - sprintf(thisquery->name, "ECPGprepared_statement(\"%s\")", yyvsp[0].str); - - add_variable(&argsinsert, thisquery, &no_indicator); - ; - break;} -case 1191: -#line 5054 "preproc.y" -{ - yyval.str = make1_str("?"); - ; - break;} -case 1193: -#line 5059 "preproc.y" -{ yyval.str = make3_str(make1_str("\""), yyvsp[0].str, make1_str("\"")); ; - break;} -case 1194: -#line 5065 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1195: -#line 5070 "preproc.y" -{ - yyval.str = yyvsp[-1].str; -; - break;} -case 1196: -#line 5074 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 1197: -#line 5075 "preproc.y" -{ - /* yyerror ("open cursor with variables not implemented yet"); */ - yyval.str = make1_str(""); - ; - break;} -case 1200: -#line 5087 "preproc.y" -{ - yyval.str = make4_str(make1_str("\""), yyvsp[-2].str, make1_str("\", "), yyvsp[0].str); - ; - break;} -case 1201: -#line 5097 "preproc.y" -{ - if (strncmp(yyvsp[-1].str, "begin", 5) == 0) - yyerror("RELEASE does not make sense when beginning a transaction"); - - fprintf(yyout, "ECPGtrans(__LINE__, %s, \"%s\");", connection, yyvsp[-1].str); - whenever_action(0); - fprintf(yyout, "ECPGdisconnect(\"\");"); - whenever_action(0); - free(yyvsp[-1].str); - ; - break;} -case 1202: -#line 5113 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 1203: -#line 5117 "preproc.y" -{ yyval.str = make1_str("on"); ; - break;} -case 1204: -#line 5118 "preproc.y" -{ yyval.str = make1_str("off"); ; - break;} -case 1207: -#line 5127 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 1208: -#line 5135 "preproc.y" -{ - /* add entry to list */ - struct typedefs *ptr, *this; - int dimension = yyvsp[-1].index.index1; - int length = yyvsp[-1].index.index2; - - for (ptr = types; ptr != NULL; ptr = ptr->next) - { - if (strcmp(yyvsp[-4].str, ptr->name) == 0) - { - /* re-definition is a bug */ - sprintf(errortext, "type %s already defined", yyvsp[-4].str); - yyerror(errortext); - } - } - - adjust_array(yyvsp[-2].type.type_enum, &dimension, &length, yyvsp[-2].type.type_dimension, yyvsp[-2].type.type_index, strlen(yyvsp[0].str)); - - this = (struct typedefs *) mm_alloc(sizeof(struct typedefs)); - - /* initial definition */ - this->next = types; - this->name = yyvsp[-4].str; - this->type = (struct this_type *) mm_alloc(sizeof(struct this_type)); - this->type->type_enum = yyvsp[-2].type.type_enum; - this->type->type_str = mm_strdup(yyvsp[-4].str); - this->type->type_dimension = dimension; /* dimension of array */ - this->type->type_index = length; /* lenght of string */ - this->struct_member_list = struct_member_list[struct_level]; - - if (yyvsp[-2].type.type_enum != ECPGt_varchar && - yyvsp[-2].type.type_enum != ECPGt_char && - yyvsp[-2].type.type_enum != ECPGt_unsigned_char && - this->type->type_index >= 0) - yyerror("No multi-dimensional array support for simple data types"); - - types = this; - - yyval.str = cat5_str(cat3_str(make1_str("/* exec sql type"), mm_strdup(yyvsp[-4].str), make1_str("is")), mm_strdup(yyvsp[-2].type.type_str), mm_strdup(yyvsp[-1].index.str), yyvsp[0].str, make1_str("*/")); - ; - break;} -case 1209: -#line 5177 "preproc.y" -{ - yyval.index.index1 = 0; - yyval.index.index2 = yyvsp[0].index.index1; - yyval.index.str = cat2_str(make1_str("[]"), yyvsp[0].index.str); - ; - break;} -case 1210: -#line 5183 "preproc.y" -{ - yyval.index.index1 = 0; - yyval.index.index2 = yyvsp[0].index.index1; - yyval.index.str = cat2_str(make1_str("[]"), yyvsp[0].index.str); - ; - break;} -case 1211: -#line 5189 "preproc.y" -{ - char *txt = mm_alloc(20L); - - sprintf (txt, "%d", yyvsp[-2].ival); - yyval.index.index1 = yyvsp[-2].ival; - yyval.index.index2 = yyvsp[0].index.index1; - yyval.index.str = cat4_str(make1_str("["), txt, make1_str("]"), yyvsp[0].index.str); - ; - break;} -case 1212: -#line 5198 "preproc.y" -{ - char *txt = mm_alloc(20L); - - sprintf (txt, "%d", yyvsp[-2].ival); - yyval.index.index1 = yyvsp[-2].ival; - yyval.index.index2 = yyvsp[0].index.index1; - yyval.index.str = cat4_str(make1_str("["), txt, make1_str("]"), yyvsp[0].index.str); - ; - break;} -case 1213: -#line 5207 "preproc.y" -{ - yyval.index.index1 = -1; - yyval.index.index2 = -1; - yyval.index.str= make1_str(""); - ; - break;} -case 1214: -#line 5215 "preproc.y" -{ - yyval.index.index1 = 0; - yyval.index.index2 = yyvsp[0].index.index1; - yyval.index.str = cat2_str(make1_str("[]"), yyvsp[0].index.str); - ; - break;} -case 1215: -#line 5221 "preproc.y" -{ - yyval.index.index1 = 0; - yyval.index.index2 = yyvsp[0].index.index1; - yyval.index.str = cat2_str(make1_str("[]"), yyvsp[0].index.str); - ; - break;} -case 1216: -#line 5227 "preproc.y" -{ - char *txt = mm_alloc(20L); - - sprintf (txt, "%d", yyvsp[-2].ival); - yyval.index.index1 = yyvsp[-2].ival; - yyval.index.index2 = yyvsp[0].index.index1; - yyval.index.str = cat4_str(make1_str("["), txt, make1_str("]"), yyvsp[0].index.str); - ; - break;} -case 1217: -#line 5236 "preproc.y" -{ - char *txt = mm_alloc(20L); - - sprintf (txt, "%d", yyvsp[-2].ival); - yyval.index.index1 = yyvsp[-2].ival; - yyval.index.index2 = yyvsp[0].index.index1; - yyval.index.str = cat4_str(make1_str("["), txt, make1_str("]"), yyvsp[0].index.str); - ; - break;} -case 1218: -#line 5245 "preproc.y" -{ - yyval.index.index1 = -1; - yyval.index.index2 = -1; - yyval.index.str= make1_str(""); - ; - break;} -case 1219: -#line 5251 "preproc.y" -{ yyval.str = make1_str("reference"); ; - break;} -case 1220: -#line 5252 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 1221: -#line 5255 "preproc.y" -{ - yyval.type.type_str = make1_str("char"); - yyval.type.type_enum = ECPGt_char; - yyval.type.type_index = -1; - yyval.type.type_dimension = -1; - ; - break;} -case 1222: -#line 5262 "preproc.y" -{ - yyval.type.type_str = make1_str("varchar"); - yyval.type.type_enum = ECPGt_varchar; - yyval.type.type_index = -1; - yyval.type.type_dimension = -1; - ; - break;} -case 1223: -#line 5269 "preproc.y" -{ - yyval.type.type_str = make1_str("float"); - yyval.type.type_enum = ECPGt_float; - yyval.type.type_index = -1; - yyval.type.type_dimension = -1; - ; - break;} -case 1224: -#line 5276 "preproc.y" -{ - yyval.type.type_str = make1_str("double"); - yyval.type.type_enum = ECPGt_double; - yyval.type.type_index = -1; - yyval.type.type_dimension = -1; - ; - break;} -case 1225: -#line 5283 "preproc.y" -{ - yyval.type.type_str = make1_str("int"); - yyval.type.type_enum = ECPGt_int; - yyval.type.type_index = -1; - yyval.type.type_dimension = -1; - ; - break;} -case 1226: -#line 5290 "preproc.y" -{ - yyval.type.type_str = make1_str("int"); - yyval.type.type_enum = ECPGt_int; - yyval.type.type_index = -1; - yyval.type.type_dimension = -1; - ; - break;} -case 1227: -#line 5297 "preproc.y" -{ - yyval.type.type_str = make1_str("short"); - yyval.type.type_enum = ECPGt_short; - yyval.type.type_index = -1; - yyval.type.type_dimension = -1; - ; - break;} -case 1228: -#line 5304 "preproc.y" -{ - yyval.type.type_str = make1_str("long"); - yyval.type.type_enum = ECPGt_long; - yyval.type.type_index = -1; - yyval.type.type_dimension = -1; - ; - break;} -case 1229: -#line 5311 "preproc.y" -{ - yyval.type.type_str = make1_str("bool"); - yyval.type.type_enum = ECPGt_bool; - yyval.type.type_index = -1; - yyval.type.type_dimension = -1; - ; - break;} -case 1230: -#line 5318 "preproc.y" -{ - yyval.type.type_str = make1_str("unsigned int"); - yyval.type.type_enum = ECPGt_unsigned_int; - yyval.type.type_index = -1; - yyval.type.type_dimension = -1; - ; - break;} -case 1231: -#line 5325 "preproc.y" -{ - yyval.type.type_str = make1_str("unsigned short"); - yyval.type.type_enum = ECPGt_unsigned_short; - yyval.type.type_index = -1; - yyval.type.type_dimension = -1; - ; - break;} -case 1232: -#line 5332 "preproc.y" -{ - yyval.type.type_str = make1_str("unsigned long"); - yyval.type.type_enum = ECPGt_unsigned_long; - yyval.type.type_index = -1; - yyval.type.type_dimension = -1; - ; - break;} -case 1233: -#line 5339 "preproc.y" -{ - struct_member_list[struct_level++] = NULL; - if (struct_level >= STRUCT_DEPTH) - yyerror("Too many levels in nested structure definition"); - ; - break;} -case 1234: -#line 5344 "preproc.y" -{ - ECPGfree_struct_member(struct_member_list[struct_level--]); - yyval.type.type_str = cat3_str(make1_str("struct {"), yyvsp[-1].str, make1_str("}")); - yyval.type.type_enum = ECPGt_struct; - yyval.type.type_index = -1; - yyval.type.type_dimension = -1; - ; - break;} -case 1235: -#line 5352 "preproc.y" -{ - struct_member_list[struct_level++] = NULL; - if (struct_level >= STRUCT_DEPTH) - yyerror("Too many levels in nested structure definition"); - ; - break;} -case 1236: -#line 5357 "preproc.y" -{ - ECPGfree_struct_member(struct_member_list[struct_level--]); - yyval.type.type_str = cat3_str(make1_str("union {"), yyvsp[-1].str, make1_str("}")); - yyval.type.type_enum = ECPGt_union; - yyval.type.type_index = -1; - yyval.type.type_dimension = -1; - ; - break;} -case 1237: -#line 5365 "preproc.y" -{ - struct typedefs *this = get_typedef(yyvsp[0].str); - - yyval.type.type_str = mm_strdup(yyvsp[0].str); - yyval.type.type_enum = this->type->type_enum; - yyval.type.type_dimension = this->type->type_dimension; - yyval.type.type_index = this->type->type_index; - struct_member_list[struct_level] = this->struct_member_list; - ; - break;} -case 1240: -#line 5378 "preproc.y" -{ - yyval.str = make1_str(""); - ; - break;} -case 1241: -#line 5382 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 1242: -#line 5388 "preproc.y" -{ - actual_type[struct_level].type_enum = yyvsp[0].type.type_enum; - actual_type[struct_level].type_dimension = yyvsp[0].type.type_dimension; - actual_type[struct_level].type_index = yyvsp[0].type.type_index; - ; - break;} -case 1243: -#line 5394 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-3].type.type_str, yyvsp[-1].str, make1_str(";")); - ; - break;} -case 1244: -#line 5399 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 1245: -#line 5403 "preproc.y" -{ - yyval.str = make3_str(yyvsp[-2].str, make1_str(","), yyvsp[0].str); - ; - break;} -case 1246: -#line 5408 "preproc.y" -{ - int dimension = yyvsp[0].index.index1; - int length = yyvsp[0].index.index2; - struct ECPGtype * type; - char dim[14L]; - - adjust_array(actual_type[struct_level].type_enum, &dimension, &length, actual_type[struct_level].type_dimension, actual_type[struct_level].type_index, strlen(yyvsp[-2].str)); - - switch (actual_type[struct_level].type_enum) - { - case ECPGt_struct: - case ECPGt_union: - if (dimension < 0) - type = ECPGmake_struct_type(struct_member_list[struct_level], actual_type[struct_level].type_enum); - else - type = ECPGmake_array_type(ECPGmake_struct_type(struct_member_list[struct_level], actual_type[struct_level].type_enum), dimension); - - break; - case ECPGt_varchar: - if (dimension == -1) - type = ECPGmake_simple_type(actual_type[struct_level].type_enum, length); - else - type = ECPGmake_array_type(ECPGmake_simple_type(actual_type[struct_level].type_enum, length), dimension); - - switch(dimension) - { - case 0: - strcpy(dim, "[]"); - break; - case -1: - case 1: - *dim = '\0'; - break; - default: - sprintf(dim, "[%d]", dimension); - break; - } - - break; - case ECPGt_char: - case ECPGt_unsigned_char: - if (dimension == -1) - type = ECPGmake_simple_type(actual_type[struct_level].type_enum, length); - else - type = ECPGmake_array_type(ECPGmake_simple_type(actual_type[struct_level].type_enum, length), dimension); - - break; - default: - if (length >= 0) - yyerror("No multi-dimensional array support for simple data types"); - - if (dimension < 0) - type = ECPGmake_simple_type(actual_type[struct_level].type_enum, 1); - else - type = ECPGmake_array_type(ECPGmake_simple_type(actual_type[struct_level].type_enum, 1), dimension); - - break; - } - - if (struct_level == 0) - new_variable(yyvsp[-1].str, type); - else - ECPGmake_struct_member(yyvsp[-1].str, type, &(struct_member_list[struct_level - 1])); - - yyval.str = cat3_str(yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].index.str); - ; - break;} -case 1247: -#line 5479 "preproc.y" -{ - struct variable *p = find_variable(yyvsp[-4].str); - int dimension = yyvsp[-1].index.index1; - int length = yyvsp[-1].index.index2; - struct ECPGtype * type; - - adjust_array(yyvsp[-2].type.type_enum, &dimension, &length, yyvsp[-2].type.type_dimension, yyvsp[-2].type.type_index, strlen(yyvsp[0].str)); - - switch (yyvsp[-2].type.type_enum) - { - case ECPGt_struct: - case ECPGt_union: - if (dimension < 0) - type = ECPGmake_struct_type(struct_member_list[struct_level], yyvsp[-2].type.type_enum); - else - type = ECPGmake_array_type(ECPGmake_struct_type(struct_member_list[struct_level], yyvsp[-2].type.type_enum), dimension); - break; - case ECPGt_varchar: - if (dimension == -1) - type = ECPGmake_simple_type(yyvsp[-2].type.type_enum, length); - else - type = ECPGmake_array_type(ECPGmake_simple_type(yyvsp[-2].type.type_enum, length), dimension); - - break; - case ECPGt_char: - case ECPGt_unsigned_char: - if (dimension == -1) - type = ECPGmake_simple_type(yyvsp[-2].type.type_enum, length); - else - type = ECPGmake_array_type(ECPGmake_simple_type(yyvsp[-2].type.type_enum, length), dimension); - - break; - default: - if (length >= 0) - yyerror("No multi-dimensional array support for simple data types"); - - if (dimension < 0) - type = ECPGmake_simple_type(yyvsp[-2].type.type_enum, 1); - else - type = ECPGmake_array_type(ECPGmake_simple_type(yyvsp[-2].type.type_enum, 1), dimension); - - break; - } - - ECPGfree_type(p->type); - p->type = type; - - yyval.str = cat5_str(cat3_str(make1_str("/* exec sql var"), mm_strdup(yyvsp[-4].str), make1_str("is")), mm_strdup(yyvsp[-2].type.type_str), mm_strdup(yyvsp[-1].index.str), yyvsp[0].str, make1_str("*/")); - ; - break;} -case 1248: -#line 5533 "preproc.y" -{ - when_error.code = yyvsp[0].action.code; - when_error.command = yyvsp[0].action.command; - yyval.str = cat3_str(make1_str("/* exec sql whenever sqlerror "), yyvsp[0].action.str, make1_str("; */\n")); -; - break;} -case 1249: -#line 5538 "preproc.y" -{ - when_nf.code = yyvsp[0].action.code; - when_nf.command = yyvsp[0].action.command; - yyval.str = cat3_str(make1_str("/* exec sql whenever not found "), yyvsp[0].action.str, make1_str("; */\n")); -; - break;} -case 1250: -#line 5543 "preproc.y" -{ - when_warn.code = yyvsp[0].action.code; - when_warn.command = yyvsp[0].action.command; - yyval.str = cat3_str(make1_str("/* exec sql whenever sql_warning "), yyvsp[0].action.str, make1_str("; */\n")); -; - break;} -case 1251: -#line 5549 "preproc.y" -{ - yyval.action.code = W_NOTHING; - yyval.action.command = NULL; - yyval.action.str = make1_str("continue"); -; - break;} -case 1252: -#line 5554 "preproc.y" -{ - yyval.action.code = W_SQLPRINT; - yyval.action.command = NULL; - yyval.action.str = make1_str("sqlprint"); -; - break;} -case 1253: -#line 5559 "preproc.y" -{ - yyval.action.code = W_STOP; - yyval.action.command = NULL; - yyval.action.str = make1_str("stop"); -; - break;} -case 1254: -#line 5564 "preproc.y" -{ - yyval.action.code = W_GOTO; - yyval.action.command = strdup(yyvsp[0].str); - yyval.action.str = cat2_str(make1_str("goto "), yyvsp[0].str); -; - break;} -case 1255: -#line 5569 "preproc.y" -{ - yyval.action.code = W_GOTO; - yyval.action.command = strdup(yyvsp[0].str); - yyval.action.str = cat2_str(make1_str("goto "), yyvsp[0].str); -; - break;} -case 1256: -#line 5574 "preproc.y" -{ - yyval.action.code = W_DO; - yyval.action.command = make4_str(yyvsp[-3].str, make1_str("("), yyvsp[-1].str, make1_str(")")); - yyval.action.str = cat2_str(make1_str("do"), mm_strdup(yyval.action.command)); -; - break;} -case 1257: -#line 5579 "preproc.y" -{ - yyval.action.code = W_BREAK; - yyval.action.command = NULL; - yyval.action.str = make1_str("break"); -; - break;} -case 1258: -#line 5584 "preproc.y" -{ - yyval.action.code = W_DO; - yyval.action.command = make4_str(yyvsp[-3].str, make1_str("("), yyvsp[-1].str, make1_str(")")); - yyval.action.str = cat2_str(make1_str("call"), mm_strdup(yyval.action.command)); -; - break;} -case 1259: -#line 5592 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 1260: -#line 5596 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1261: -#line 5598 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1262: -#line 5600 "preproc.y" -{ - yyval.str = yyvsp[0].str; - ; - break;} -case 1263: -#line 5604 "preproc.y" -{ yyval.str = cat2_str(make1_str("-"), yyvsp[0].str); ; - break;} -case 1264: -#line 5606 "preproc.y" -{ yyval.str = cat2_str(make1_str("%"), yyvsp[0].str); ; - break;} -case 1265: -#line 5608 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, make1_str("%")); ; - break;} -case 1266: -#line 5610 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("+"), yyvsp[0].str); ; - break;} -case 1267: -#line 5612 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("-"), yyvsp[0].str); ; - break;} -case 1268: -#line 5614 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("/"), yyvsp[0].str); ; - break;} -case 1269: -#line 5616 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("%"), yyvsp[0].str); ; - break;} -case 1270: -#line 5618 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("*"), yyvsp[0].str); ; - break;} -case 1271: -#line 5620 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("<"), yyvsp[0].str); ; - break;} -case 1272: -#line 5622 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str(">"), yyvsp[0].str); ; - break;} -case 1273: -#line 5624 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-2].str, make1_str("= NULL")); ; - break;} -case 1274: -#line 5626 "preproc.y" -{ yyval.str = cat2_str(make1_str("= NULL"), yyvsp[0].str); ; - break;} -case 1275: -#line 5628 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("="), yyvsp[0].str); ; - break;} -case 1276: -#line 5632 "preproc.y" -{ yyval.str = cat2_str(make1_str(";"), yyvsp[0].str); ; - break;} -case 1277: -#line 5634 "preproc.y" -{ yyval.str = cat2_str(make1_str("|"), yyvsp[0].str); ; - break;} -case 1278: -#line 5636 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-2].str, make1_str("::"), yyvsp[0].str); - ; - break;} -case 1279: -#line 5640 "preproc.y" -{ - yyval.str = cat3_str(make2_str(make1_str("cast("), yyvsp[-3].str), make1_str("as"), make2_str(yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 1280: -#line 5644 "preproc.y" -{ yyval.str = make3_str(make1_str("("), yyvsp[-1].str, make1_str(")")); ; - break;} -case 1281: -#line 5646 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 1282: -#line 5648 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("like"), yyvsp[0].str); ; - break;} -case 1283: -#line 5650 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-3].str, make1_str("not like"), yyvsp[0].str); ; - break;} -case 1284: -#line 5652 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 1285: -#line 5654 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 1286: -#line 5656 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-3].str, make1_str("(*)")); - ; - break;} -case 1287: -#line 5660 "preproc.y" -{ - yyval.str = cat2_str(yyvsp[-2].str, make1_str("()")); - ; - break;} -case 1288: -#line 5664 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-3].str, make1_str("("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1289: -#line 5668 "preproc.y" -{ - yyval.str = make1_str("current_date"); - ; - break;} -case 1290: -#line 5672 "preproc.y" -{ - yyval.str = make1_str("current_time"); - ; - break;} -case 1291: -#line 5676 "preproc.y" -{ - if (atol(yyvsp[-1].str) != 0) - fprintf(stderr,"CURRENT_TIME(%s) precision not implemented; zero used instead", yyvsp[-1].str); - yyval.str = make1_str("current_time"); - ; - break;} -case 1292: -#line 5682 "preproc.y" -{ - yyval.str = make1_str("current_timestamp"); - ; - break;} -case 1293: -#line 5686 "preproc.y" -{ - if (atol(yyvsp[-1].str) != 0) - fprintf(stderr,"CURRENT_TIMESTAMP(%s) precision not implemented; zero used instead",yyvsp[-1].str); - yyval.str = make1_str("current_timestamp"); - ; - break;} -case 1294: -#line 5692 "preproc.y" -{ - yyval.str = make1_str("current_user"); - ; - break;} -case 1295: -#line 5696 "preproc.y" -{ - yyval.str = make1_str("user"); - ; - break;} -case 1296: -#line 5700 "preproc.y" -{ - yyval.str = make3_str(make1_str("exists("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1297: -#line 5704 "preproc.y" -{ - yyval.str = make3_str(make1_str("extract("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1298: -#line 5708 "preproc.y" -{ - yyval.str = make3_str(make1_str("position("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1299: -#line 5712 "preproc.y" -{ - yyval.str = make3_str(make1_str("substring("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1300: -#line 5717 "preproc.y" -{ - yyval.str = make3_str(make1_str("trim(both"), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1301: -#line 5721 "preproc.y" -{ - yyval.str = make3_str(make1_str("trim(leading"), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1302: -#line 5725 "preproc.y" -{ - yyval.str = make3_str(make1_str("trim(trailing"), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1303: -#line 5729 "preproc.y" -{ - yyval.str = make3_str(make1_str("trim("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1304: -#line 5733 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, make1_str("isnull")); ; - break;} -case 1305: -#line 5735 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-2].str, make1_str("is null")); ; - break;} -case 1306: -#line 5737 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-1].str, make1_str("notnull")); ; - break;} -case 1307: -#line 5739 "preproc.y" -{ yyval.str = cat2_str(yyvsp[-3].str, make1_str("is not null")); ; - break;} -case 1308: -#line 5746 "preproc.y" -{ - { yyval.str = cat2_str(yyvsp[-2].str, make1_str("is true")); } - ; - break;} -case 1309: -#line 5750 "preproc.y" -{ - { yyval.str = cat2_str(yyvsp[-3].str, make1_str("is not false")); } - ; - break;} -case 1310: -#line 5754 "preproc.y" -{ - { yyval.str = cat2_str(yyvsp[-2].str, make1_str("is false")); } - ; - break;} -case 1311: -#line 5758 "preproc.y" -{ - { yyval.str = cat2_str(yyvsp[-3].str, make1_str("is not true")); } - ; - break;} -case 1312: -#line 5762 "preproc.y" -{ - yyval.str = cat5_str(yyvsp[-4].str, make1_str("between"), yyvsp[-2].str, make1_str("and"), yyvsp[0].str); - ; - break;} -case 1313: -#line 5766 "preproc.y" -{ - yyval.str = cat5_str(yyvsp[-5].str, make1_str("not between"), yyvsp[-2].str, make1_str("and"), yyvsp[0].str); - ; - break;} -case 1314: -#line 5770 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str(" in ("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1315: -#line 5774 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str(" not in ("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1316: -#line 5778 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-4].str, yyvsp[-3].str, make3_str(make1_str("("), yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 1317: -#line 5782 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str("+("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1318: -#line 5786 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str("-("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1319: -#line 5790 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str("/("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1320: -#line 5794 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str("%("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1321: -#line 5798 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str("*("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1322: -#line 5802 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str("<("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1323: -#line 5806 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str(">("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1324: -#line 5810 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-4].str, make1_str("=("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1325: -#line 5814 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-5].str, yyvsp[-4].str, make3_str(make1_str("any ("), yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 1326: -#line 5818 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("+ any("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1327: -#line 5822 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("- any("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1328: -#line 5826 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("/ any("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1329: -#line 5830 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("% any("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1330: -#line 5834 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("* any("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1331: -#line 5838 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("< any("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1332: -#line 5842 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("> any("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1333: -#line 5846 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("= any("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1334: -#line 5850 "preproc.y" -{ - yyval.str = cat3_str(yyvsp[-5].str, yyvsp[-4].str, make3_str(make1_str("all ("), yyvsp[-1].str, make1_str(")"))); - ; - break;} -case 1335: -#line 5854 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("+ all("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1336: -#line 5858 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("- all("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1337: -#line 5862 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("/ all("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1338: -#line 5866 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("% all("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1339: -#line 5870 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("* all("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1340: -#line 5874 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("< all("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1341: -#line 5878 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("> all("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1342: -#line 5882 "preproc.y" -{ - yyval.str = make4_str(yyvsp[-5].str, make1_str("=all("), yyvsp[-1].str, make1_str(")")); - ; - break;} -case 1343: -#line 5886 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("and"), yyvsp[0].str); ; - break;} -case 1344: -#line 5888 "preproc.y" -{ yyval.str = cat3_str(yyvsp[-2].str, make1_str("or"), yyvsp[0].str); ; - break;} -case 1345: -#line 5890 "preproc.y" -{ yyval.str = cat2_str(make1_str("not"), yyvsp[0].str); ; - break;} -case 1346: -#line 5892 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1347: -#line 5894 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1350: -#line 5899 "preproc.y" -{ reset_variables();; - break;} -case 1351: -#line 5901 "preproc.y" -{ yyval.str = make1_str(""); ; - break;} -case 1352: -#line 5902 "preproc.y" -{ yyval.str = make2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 1353: -#line 5904 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1354: -#line 5905 "preproc.y" -{ yyval.str = make2_str(yyvsp[-1].str, yyvsp[0].str); ; - break;} -case 1355: -#line 5907 "preproc.y" -{ - add_variable(&argsresult, find_variable(yyvsp[-1].str), (yyvsp[0].str == NULL) ? &no_indicator : find_variable(yyvsp[0].str)); -; - break;} -case 1356: -#line 5911 "preproc.y" -{ - add_variable(&argsinsert, find_variable(yyvsp[-1].str), (yyvsp[0].str == NULL) ? &no_indicator : find_variable(yyvsp[0].str)); -; - break;} -case 1357: -#line 5915 "preproc.y" -{ - add_variable(&argsinsert, find_variable(yyvsp[0].str), &no_indicator); - yyval.str = make1_str("?"); -; - break;} -case 1358: -#line 5920 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1359: -#line 5922 "preproc.y" -{ yyval.str = NULL; ; - break;} -case 1360: -#line 5923 "preproc.y" -{ check_indicator((find_variable(yyvsp[0].str))->type); yyval.str = yyvsp[0].str; ; - break;} -case 1361: -#line 5924 "preproc.y" -{ check_indicator((find_variable(yyvsp[0].str))->type); yyval.str = yyvsp[0].str; ; - break;} -case 1362: -#line 5925 "preproc.y" -{ check_indicator((find_variable(yyvsp[0].str))->type); yyval.str = yyvsp[0].str; ; - break;} -case 1363: -#line 5927 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1364: -#line 5928 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1365: -#line 5933 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1366: -#line 5935 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1367: -#line 5937 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1368: -#line 5939 "preproc.y" -{ - yyval.str = make2_str(yyvsp[-1].str, yyvsp[0].str); - ; - break;} -case 1370: -#line 5943 "preproc.y" -{ yyval.str = make1_str(";"); ; - break;} -case 1371: -#line 5945 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1372: -#line 5946 "preproc.y" -{ yyval.str = make3_str(make1_str("\""), yyvsp[0].str, make1_str("\"")); ; - break;} -case 1373: -#line 5947 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1374: -#line 5948 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1375: -#line 5949 "preproc.y" -{ yyval.str = make1_str("*"); ; - break;} -case 1376: -#line 5950 "preproc.y" -{ yyval.str = make1_str("+"); ; - break;} -case 1377: -#line 5951 "preproc.y" -{ yyval.str = make1_str("-"); ; - break;} -case 1378: -#line 5952 "preproc.y" -{ yyval.str = make1_str("/"); ; - break;} -case 1379: -#line 5953 "preproc.y" -{ yyval.str = make1_str("%"); ; - break;} -case 1380: -#line 5954 "preproc.y" -{ yyval.str = make1_str("auto"); ; - break;} -case 1381: -#line 5955 "preproc.y" -{ yyval.str = make1_str("bool"); ; - break;} -case 1382: -#line 5956 "preproc.y" -{ yyval.str = make1_str("char"); ; - break;} -case 1383: -#line 5957 "preproc.y" -{ yyval.str = make1_str("const"); ; - break;} -case 1384: -#line 5958 "preproc.y" -{ yyval.str = make1_str("double"); ; - break;} -case 1385: -#line 5959 "preproc.y" -{ yyval.str = make1_str("enum"); ; - break;} -case 1386: -#line 5960 "preproc.y" -{ yyval.str = make1_str("extern"); ; - break;} -case 1387: -#line 5961 "preproc.y" -{ yyval.str = make1_str("float"); ; - break;} -case 1388: -#line 5962 "preproc.y" -{ yyval.str = make1_str("int"); ; - break;} -case 1389: -#line 5963 "preproc.y" -{ yyval.str = make1_str("long"); ; - break;} -case 1390: -#line 5964 "preproc.y" -{ yyval.str = make1_str("register"); ; - break;} -case 1391: -#line 5965 "preproc.y" -{ yyval.str = make1_str("short"); ; - break;} -case 1392: -#line 5966 "preproc.y" -{ yyval.str = make1_str("signed"); ; - break;} -case 1393: -#line 5967 "preproc.y" -{ yyval.str = make1_str("static"); ; - break;} -case 1394: -#line 5968 "preproc.y" -{ yyval.str = make1_str("struct"); ; - break;} -case 1395: -#line 5969 "preproc.y" -{ yyval.str = make1_str("union"); ; - break;} -case 1396: -#line 5970 "preproc.y" -{ yyval.str = make1_str("unsigned"); ; - break;} -case 1397: -#line 5971 "preproc.y" -{ yyval.str = make1_str("varchar"); ; - break;} -case 1398: -#line 5972 "preproc.y" -{ yyval.str = make_name(); ; - break;} -case 1399: -#line 5973 "preproc.y" -{ yyval.str = make1_str("["); ; - break;} -case 1400: -#line 5974 "preproc.y" -{ yyval.str = make1_str("]"); ; - break;} -case 1401: -#line 5975 "preproc.y" -{ yyval.str = make1_str("("); ; - break;} -case 1402: -#line 5976 "preproc.y" -{ yyval.str = make1_str(")"); ; - break;} -case 1403: -#line 5977 "preproc.y" -{ yyval.str = make1_str("="); ; - break;} -case 1404: -#line 5978 "preproc.y" -{ yyval.str = make1_str(","); ; - break;} -case 1405: -#line 5980 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1406: -#line 5981 "preproc.y" -{ yyval.str = make3_str(make1_str("\""), yyvsp[0].str, make1_str("\""));; - break;} -case 1407: -#line 5982 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1408: -#line 5983 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1409: -#line 5984 "preproc.y" -{ yyval.str = make1_str(","); ; - break;} -case 1410: -#line 5986 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1411: -#line 5987 "preproc.y" -{ yyval.str = make3_str(make1_str("\""), yyvsp[0].str, make1_str("\"")); ; - break;} -case 1412: -#line 5988 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1413: -#line 5989 "preproc.y" -{ yyval.str = yyvsp[0].str; ; - break;} -case 1414: -#line 5990 "preproc.y" -{ yyval.str = make3_str(make1_str("{"), yyvsp[-1].str, make1_str("}")); ; - break;} -case 1415: -#line 5992 "preproc.y" -{ - braces_open++; - yyval.str = make1_str("{"); -; - break;} -case 1416: -#line 5997 "preproc.y" -{ - remove_variables(braces_open--); - yyval.str = make1_str("}"); -; - break;} -} - /* the action file gets copied in in place of this dollarsign */ -#line 498 "/usr/share/misc/bison.simple" - - yyvsp -= yylen; - yyssp -= yylen; -#ifdef YYLSP_NEEDED - yylsp -= yylen; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - - *++yyvsp = yyval; - -#ifdef YYLSP_NEEDED - yylsp++; - if (yylen == 0) - { - yylsp->first_line = yylloc.first_line; - yylsp->first_column = yylloc.first_column; - yylsp->last_line = (yylsp-1)->last_line; - yylsp->last_column = (yylsp-1)->last_column; - yylsp->text = 0; - } - else - { - yylsp->last_line = (yylsp+yylen-1)->last_line; - yylsp->last_column = (yylsp+yylen-1)->last_column; - } -#endif - - /* Now "shift" the result of the reduction. - Determine what state that goes to, - based on the state we popped back to - and the rule number reduced by. */ - - yyn = yyr1[yyn]; - - yystate = yypgoto[yyn - YYNTBASE] + *yyssp; - if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp) - yystate = yytable[yystate]; - else - yystate = yydefgoto[yyn - YYNTBASE]; - - goto yynewstate; - -yyerrlab: /* here on detecting error */ - - if (! yyerrstatus) - /* If not already recovering from an error, report this error. */ - { - ++yynerrs; - -#ifdef YYERROR_VERBOSE - yyn = yypact[yystate]; - - if (yyn > YYFLAG && yyn < YYLAST) - { - int size = 0; - char *msg; - int x, count; - - count = 0; - /* Start X at -yyn if nec to avoid negative indexes in yycheck. */ - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - size += strlen(yytname[x]) + 15, count++; - msg = (char *) malloc(size + 15); - if (msg != 0) - { - strcpy(msg, "parse error"); - - if (count < 5) - { - count = 0; - for (x = (yyn < 0 ? -yyn : 0); - x < (sizeof(yytname) / sizeof(char *)); x++) - if (yycheck[x + yyn] == x) - { - strcat(msg, count == 0 ? ", expecting `" : " or `"); - strcat(msg, yytname[x]); - strcat(msg, "'"); - count++; - } - } - yyerror(msg); - free(msg); - } - else - yyerror ("parse error; also virtual memory exceeded"); - } - else -#endif /* YYERROR_VERBOSE */ - yyerror("parse error"); - } - - goto yyerrlab1; -yyerrlab1: /* here on error raised explicitly by an action */ - - if (yyerrstatus == 3) - { - /* if just tried and failed to reuse lookahead token after an error, discard it. */ - - /* return failure if at end of input */ - if (yychar == YYEOF) - YYABORT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]); -#endif - - yychar = YYEMPTY; - } - - /* Else will try to reuse lookahead token - after shifting the error token. */ - - yyerrstatus = 3; /* Each real token shifted decrements this */ - - goto yyerrhandle; - -yyerrdefault: /* current state does not do anything special for the error token. */ - -#if 0 - /* This is wrong; only states that explicitly want error tokens - should shift them. */ - yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/ - if (yyn) goto yydefault; -#endif - -yyerrpop: /* pop the current state because it cannot handle the error token */ - - if (yyssp == yyss) YYABORT; - yyvsp--; - yystate = *--yyssp; -#ifdef YYLSP_NEEDED - yylsp--; -#endif - -#if YYDEBUG != 0 - if (yydebug) - { - short *ssp1 = yyss - 1; - fprintf (stderr, "Error: state stack now"); - while (ssp1 != yyssp) - fprintf (stderr, " %d", *++ssp1); - fprintf (stderr, "\n"); - } -#endif - -yyerrhandle: - - yyn = yypact[yystate]; - if (yyn == YYFLAG) - goto yyerrdefault; - - yyn += YYTERROR; - if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR) - goto yyerrdefault; - - yyn = yytable[yyn]; - if (yyn < 0) - { - if (yyn == YYFLAG) - goto yyerrpop; - yyn = -yyn; - goto yyreduce; - } - else if (yyn == 0) - goto yyerrpop; - - if (yyn == YYFINAL) - YYACCEPT; - -#if YYDEBUG != 0 - if (yydebug) - fprintf(stderr, "Shifting error token, "); -#endif - - *++yyvsp = yylval; -#ifdef YYLSP_NEEDED - *++yylsp = yylloc; -#endif - - yystate = yyn; - goto yynewstate; -} -#line 6002 "preproc.y" - - -void yyerror(char * error) -{ - fprintf(stderr, "%s:%d: %s\n", input_filename, yylineno, error); - exit(PARSE_ERROR); -}