diff --git a/src/dsql/dsql.tab.h b/src/dsql/dsql.tab.h index 650f959345..7ca147385e 100644 --- a/src/dsql/dsql.tab.h +++ b/src/dsql/dsql.tab.h @@ -248,8 +248,9 @@ #define ROW_COUNT 504 #define LOCK 505 #define SAVEPOINT 506 -#define STATEMENT 507 -#define LEAVE 508 -#define INSERTING 509 -#define UPDATING 510 -#define DELETING 511 +#define RELEASE 507 +#define STATEMENT 508 +#define LEAVE 509 +#define INSERTING 510 +#define UPDATING 511 +#define DELETING 512 diff --git a/src/dsql/gen.cpp b/src/dsql/gen.cpp index 45c7bea1d0..888c18929b 100644 --- a/src/dsql/gen.cpp +++ b/src/dsql/gen.cpp @@ -29,7 +29,7 @@ * 2002.10.29 Nickolay Samofatov: Added support for savepoints */ /* -$Id: gen.cpp,v 1.31 2003-04-08 00:31:20 brodsom Exp $ +$Id: gen.cpp,v 1.32 2003-06-10 13:39:04 dimitr Exp $ */ #include "firebird.h" @@ -1074,14 +1074,22 @@ void GEN_statement( DSQL_REQ request, DSQL_NOD node) case nod_end_savepoint: STUFF(blr_end_savepoint); return; - + case nod_user_savepoint: STUFF(blr_user_savepoint); + STUFF(blr_savepoint_set); STUFF_CSTRING(((STR)node->nod_arg[e_sav_name])->str_data); return; - + + case nod_release_savepoint: + STUFF(blr_user_savepoint); + STUFF(blr_savepoint_release); + STUFF_CSTRING(((STR)node->nod_arg[e_sav_name])->str_data); + return; + case nod_undo_savepoint: - STUFF(blr_undo_savepoint); + STUFF(blr_user_savepoint); + STUFF(blr_savepoint_undo); STUFF_CSTRING(((STR)node->nod_arg[e_sav_name])->str_data); return; diff --git a/src/dsql/keywords.cpp b/src/dsql/keywords.cpp index 49d54b8372..3512a44e65 100644 --- a/src/dsql/keywords.cpp +++ b/src/dsql/keywords.cpp @@ -28,7 +28,7 @@ * Contributor(s): * * - * $Id: keywords.cpp,v 1.16 2003-04-06 11:20:03 dimitr Exp $ + * $Id: keywords.cpp,v 1.17 2003-06-10 13:39:05 dimitr Exp $ * */ @@ -226,7 +226,8 @@ static const TOK tokens [] = { {REAL, "REAL", 1}, {VERSION, "RECORD_VERSION", 1}, {RECREATE, "RECREATE", 2}, - {REFERENCES, "REFERENCES", 1}, + {REFERENCES, "REFERENCES", 1}, + {RELEASE, "RELEASE", 2}, {RESERVING, "RESERV", 1}, /* Alias of RESERVING */ {RESERVING, "RESERVING", 1}, {RESTRICT, "RESTRICT", 1}, diff --git a/src/dsql/node.h b/src/dsql/node.h index 407ac1611c..084f88b933 100644 --- a/src/dsql/node.h +++ b/src/dsql/node.h @@ -326,6 +326,7 @@ typedef ENUM nod_t nod_redef_view, /* allows silent creation/overwriting of a view */ nod_for_update, /* FOR UPDATE clause */ nod_user_savepoint, /* savepoints support */ + nod_release_savepoint, nod_undo_savepoint, nod_label, /* label support */ nod_exec_into /* EXECUTE STATEMENT INTO */ diff --git a/src/dsql/parse.cpp b/src/dsql/parse.cpp index 8f66b6f01b..d720a17a30 100644 --- a/src/dsql/parse.cpp +++ b/src/dsql/parse.cpp @@ -478,3197 +478,3193 @@ static struct LexerState lex; #define ROW_COUNT 504 #define LOCK 505 #define SAVEPOINT 506 -#define STATEMENT 507 -#define LEAVE 508 -#define INSERTING 509 -#define UPDATING 510 -#define DELETING 511 +#define RELEASE 507 +#define STATEMENT 508 +#define LEAVE 509 +#define INSERTING 510 +#define UPDATING 511 +#define DELETING 512 #define YYERRCODE 256 static short yylhs[] = { -1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 9, 9, 9, 9, 9, 23, 23, 22, - 22, 22, 33, 33, 26, 34, 34, 34, 34, 34, - 25, 25, 31, 31, 27, 14, 14, 14, 14, 14, - 14, 14, 37, 28, 28, 28, 28, 38, 38, 38, - 38, 24, 24, 39, 39, 39, 29, 29, 44, 30, - 30, 45, 45, 6, 46, 46, 48, 53, 53, 53, - 50, 50, 50, 57, 57, 58, 58, 51, 51, 60, - 60, 60, 60, 60, 47, 5, 63, 63, 63, 63, - 63, 63, 63, 63, 63, 63, 63, 12, 78, 78, - 78, 13, 82, 82, 65, 65, 68, 68, 68, 76, - 91, 91, 91, 92, 92, 93, 93, 94, 94, 98, - 98, 75, 101, 101, 103, 103, 104, 104, 107, 107, - 108, 109, 109, 110, 111, 73, 77, 74, 95, 95, - 114, 115, 115, 117, 117, 118, 118, 118, 118, 118, - 116, 116, 119, 119, 120, 120, 120, 120, 122, 122, - 122, 122, 121, 121, 126, 126, 125, 99, 127, 127, - 128, 131, 132, 132, 133, 129, 130, 130, 134, 134, - 135, 135, 136, 136, 136, 97, 97, 97, 70, 80, - 137, 137, 137, 138, 138, 139, 139, 140, 140, 140, - 146, 87, 87, 142, 142, 105, 105, 100, 150, 151, - 59, 143, 143, 106, 106, 106, 106, 106, 106, 144, - 144, 158, 158, 159, 161, 161, 161, 161, 161, 141, - 160, 160, 165, 165, 165, 165, 167, 168, 169, 163, - 163, 164, 162, 162, 162, 162, 162, 170, 171, 172, - 172, 172, 172, 69, 79, 83, 177, 173, 173, 174, - 174, 178, 178, 179, 175, 175, 180, 180, 181, 182, - 182, 183, 183, 184, 184, 176, 186, 186, 186, 187, - 187, 185, 185, 185, 185, 185, 185, 185, 185, 185, - 185, 185, 185, 185, 185, 185, 185, 185, 185, 190, - 190, 191, 192, 193, 204, 204, 194, 199, 200, 195, - 195, 196, 207, 207, 197, 208, 202, 202, 202, 203, - 203, 203, 205, 205, 205, 205, 198, 201, 201, 206, - 206, 188, 188, 213, 214, 214, 215, 215, 215, 215, - 11, 217, 217, 217, 218, 218, 218, 218, 218, 218, - 72, 81, 220, 223, 223, 223, 224, 227, 231, 231, - 232, 232, 233, 233, 148, 222, 88, 90, 221, 221, - 71, 84, 236, 236, 236, 237, 240, 240, 241, 241, - 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, - 241, 241, 241, 238, 238, 239, 2, 243, 243, 243, - 243, 243, 243, 243, 251, 252, 249, 249, 253, 253, - 253, 253, 253, 253, 253, 244, 244, 254, 254, 254, - 254, 254, 254, 254, 248, 259, 259, 259, 259, 259, - 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, - 259, 259, 259, 259, 259, 259, 259, 259, 259, 259, - 259, 256, 256, 258, 258, 257, 255, 255, 255, 250, - 250, 246, 247, 247, 261, 261, 261, 261, 262, 262, - 245, 263, 263, 264, 264, 8, 265, 265, 265, 265, - 265, 265, 265, 265, 265, 265, 265, 265, 102, 102, - 145, 145, 268, 268, 271, 271, 273, 273, 54, 54, - 270, 270, 270, 270, 270, 270, 270, 270, 270, 278, - 278, 269, 269, 269, 269, 279, 279, 62, 62, 62, - 56, 56, 275, 275, 275, 272, 272, 272, 283, 283, - 283, 282, 282, 281, 281, 281, 276, 276, 286, 284, - 284, 284, 285, 285, 277, 277, 277, 277, 287, 287, - 19, 19, 19, 289, 289, 289, 16, 17, 293, 293, - 4, 15, 292, 292, 294, 294, 295, 295, 288, 296, - 296, 297, 297, 298, 298, 298, 298, 299, 299, 300, - 300, 301, 301, 303, 303, 303, 304, 304, 304, 305, - 305, 305, 302, 307, 307, 307, 308, 308, 306, 306, - 309, 311, 311, 310, 310, 290, 18, 312, 312, 312, - 313, 313, 316, 316, 317, 66, 66, 66, 319, 319, - 318, 318, 314, 314, 322, 322, 323, 323, 315, 327, - 328, 329, 320, 321, 324, 324, 324, 324, 330, 330, - 330, 331, 331, 331, 225, 225, 226, 226, 333, 333, - 334, 334, 334, 325, 337, 337, 338, 338, 339, 339, - 340, 340, 341, 341, 210, 210, 343, 343, 234, 234, - 32, 235, 235, 235, 235, 235, 235, 235, 235, 229, - 229, 344, 344, 345, 345, 345, 345, 345, 347, 347, - 347, 230, 230, 228, 228, 326, 326, 351, 352, 352, - 352, 352, 352, 353, 353, 354, 354, 355, 355, 356, - 356, 356, 357, 357, 10, 10, 359, 359, 7, 7, - 360, 361, 362, 20, 20, 363, 364, 365, 365, 189, - 335, 335, 3, 3, 367, 367, 367, 369, 369, 62, - 368, 368, 370, 370, 35, 35, 86, 85, 85, 358, - 358, 371, 372, 372, 211, 211, 211, 147, 366, 366, - 112, 112, 112, 112, 374, 374, 374, 374, 374, 374, - 374, 374, 374, 374, 374, 374, 375, 375, 375, 375, - 375, 375, 375, 375, 380, 380, 380, 380, 380, 380, - 380, 380, 380, 380, 380, 380, 380, 380, 380, 380, - 387, 387, 376, 376, 377, 377, 377, 377, 378, 378, - 382, 382, 383, 383, 383, 383, 381, 384, 379, 379, - 385, 385, 385, 388, 388, 389, 386, 391, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - 89, 89, 89, 89, 157, 157, 157, 392, 390, 390, - 152, 152, 396, 396, 396, 396, 396, 394, 394, 394, - 394, 394, 219, 153, 153, 154, 155, 155, 155, 155, - 155, 52, 52, 21, 21, 242, 397, 55, 124, 274, - 274, 96, 393, 393, 393, 393, 398, 398, 398, 398, - 398, 398, 398, 398, 398, 398, 398, 399, 348, 349, - 349, 349, 346, 346, 395, 350, 350, 401, 401, 402, - 402, 403, 403, 406, 406, 404, 404, 409, 409, 408, - 405, 407, 400, 400, 400, 400, 400, 400, 400, 400, - 332, 332, 156, 49, 280, 123, 149, 373, 166, 212, - 267, 64, 61, 216, 113, 67, 336, 36, 42, 342, - 266, 40, 43, 209, 41, 291, 260, 260, 410, 410, - 410, 410, 410, 410, 410, 410, 410, 410, 410, + 1, 9, 9, 9, 9, 9, 22, 22, 21, 21, + 21, 32, 32, 25, 33, 33, 33, 33, 33, 24, + 24, 30, 30, 26, 14, 14, 14, 14, 14, 14, + 14, 36, 27, 27, 27, 27, 37, 37, 37, 37, + 23, 23, 38, 38, 38, 28, 28, 43, 29, 29, + 44, 44, 6, 45, 45, 47, 52, 52, 52, 49, + 49, 49, 56, 56, 57, 57, 50, 50, 59, 59, + 59, 59, 59, 46, 5, 62, 62, 62, 62, 62, + 62, 62, 62, 62, 62, 62, 12, 77, 77, 77, + 13, 81, 81, 64, 64, 67, 67, 67, 75, 90, + 90, 90, 91, 91, 92, 92, 93, 93, 97, 97, + 74, 100, 100, 102, 102, 103, 103, 106, 106, 107, + 108, 108, 109, 110, 72, 76, 73, 94, 94, 113, + 114, 114, 116, 116, 117, 117, 117, 117, 117, 115, + 115, 118, 118, 119, 119, 119, 119, 121, 121, 121, + 121, 120, 120, 125, 125, 124, 98, 126, 126, 127, + 130, 131, 131, 132, 128, 129, 129, 133, 133, 134, + 134, 135, 135, 135, 96, 96, 96, 69, 79, 136, + 136, 136, 137, 137, 138, 138, 139, 139, 139, 145, + 86, 86, 141, 141, 104, 104, 99, 149, 150, 58, + 142, 142, 105, 105, 105, 105, 105, 105, 143, 143, + 157, 157, 158, 160, 160, 160, 160, 160, 140, 159, + 159, 164, 164, 164, 164, 166, 167, 168, 162, 162, + 163, 161, 161, 161, 161, 161, 169, 170, 171, 171, + 171, 171, 68, 78, 82, 176, 172, 172, 173, 173, + 177, 177, 178, 174, 174, 179, 179, 180, 181, 181, + 182, 182, 183, 183, 175, 185, 185, 185, 186, 186, + 184, 184, 184, 184, 184, 184, 184, 184, 184, 184, + 184, 184, 184, 184, 184, 184, 184, 184, 189, 189, + 190, 191, 192, 203, 203, 193, 198, 199, 194, 194, + 195, 206, 206, 196, 207, 201, 201, 201, 202, 202, + 202, 204, 204, 204, 204, 197, 200, 200, 205, 205, + 187, 187, 212, 213, 213, 214, 214, 214, 214, 11, + 216, 216, 216, 217, 217, 217, 217, 217, 217, 71, + 80, 219, 222, 222, 222, 223, 226, 230, 230, 231, + 231, 232, 232, 147, 221, 87, 89, 220, 220, 70, + 83, 235, 235, 235, 236, 239, 239, 240, 240, 240, + 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, + 240, 240, 237, 237, 238, 2, 242, 242, 242, 242, + 242, 242, 242, 250, 251, 248, 248, 252, 252, 252, + 252, 252, 252, 252, 243, 243, 253, 253, 253, 253, + 253, 253, 253, 247, 258, 258, 258, 258, 258, 258, + 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, + 258, 258, 258, 258, 258, 258, 258, 258, 258, 258, + 255, 255, 257, 257, 256, 254, 254, 254, 249, 249, + 245, 246, 246, 260, 260, 260, 260, 261, 261, 244, + 262, 262, 263, 263, 8, 264, 264, 264, 264, 264, + 264, 264, 264, 264, 264, 264, 264, 101, 101, 144, + 144, 267, 267, 270, 270, 272, 272, 53, 53, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 277, 277, + 268, 268, 268, 268, 278, 278, 61, 61, 61, 55, + 55, 274, 274, 274, 271, 271, 271, 282, 282, 282, + 281, 281, 280, 280, 280, 275, 275, 285, 283, 283, + 283, 284, 284, 276, 276, 276, 276, 286, 286, 18, + 18, 18, 288, 288, 288, 16, 16, 16, 290, 291, + 292, 295, 295, 4, 15, 294, 294, 296, 296, 297, + 297, 287, 298, 298, 299, 299, 300, 300, 300, 300, + 301, 301, 302, 302, 303, 303, 305, 305, 305, 306, + 306, 306, 307, 307, 307, 304, 309, 309, 309, 310, + 310, 308, 308, 311, 313, 313, 312, 312, 289, 17, + 314, 314, 314, 315, 315, 318, 318, 319, 65, 65, + 65, 321, 321, 320, 320, 316, 316, 324, 324, 325, + 325, 317, 329, 330, 331, 322, 323, 326, 326, 326, + 326, 332, 332, 332, 333, 333, 333, 224, 224, 225, + 225, 335, 335, 336, 336, 336, 327, 339, 339, 340, + 340, 341, 341, 342, 342, 343, 343, 209, 209, 345, + 345, 233, 233, 31, 234, 234, 234, 234, 234, 234, + 234, 234, 228, 228, 346, 346, 347, 347, 347, 347, + 347, 349, 349, 349, 229, 229, 227, 227, 328, 328, + 353, 354, 354, 354, 354, 354, 355, 355, 356, 356, + 357, 357, 358, 358, 358, 359, 359, 10, 10, 361, + 361, 7, 7, 362, 363, 364, 19, 19, 365, 366, + 367, 367, 188, 337, 337, 3, 3, 369, 369, 369, + 371, 371, 61, 370, 370, 372, 372, 34, 34, 85, + 84, 84, 360, 360, 373, 374, 374, 210, 210, 210, + 146, 368, 368, 111, 111, 111, 111, 376, 376, 376, + 376, 376, 376, 376, 376, 376, 376, 376, 376, 377, + 377, 377, 377, 377, 377, 377, 377, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, + 382, 382, 382, 389, 389, 378, 378, 379, 379, 379, + 379, 380, 380, 384, 384, 385, 385, 385, 385, 383, + 386, 381, 381, 387, 387, 387, 390, 390, 391, 388, + 393, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 88, 88, 88, + 88, 88, 88, 88, 88, 88, 88, 156, 156, 156, + 394, 392, 392, 151, 151, 398, 398, 398, 398, 398, + 396, 396, 396, 396, 396, 218, 152, 152, 153, 154, + 154, 154, 154, 154, 51, 51, 20, 20, 241, 399, + 54, 123, 273, 273, 95, 395, 395, 395, 395, 400, + 400, 400, 400, 400, 400, 400, 400, 400, 400, 400, + 401, 350, 351, 351, 351, 348, 348, 397, 352, 352, + 403, 403, 404, 404, 405, 405, 408, 408, 406, 406, + 411, 411, 410, 407, 409, 402, 402, 402, 402, 402, + 402, 402, 402, 334, 334, 155, 48, 279, 122, 148, + 375, 165, 211, 266, 63, 60, 215, 112, 66, 338, + 35, 41, 344, 265, 39, 42, 208, 40, 293, 259, + 259, 412, 412, 412, 412, 412, 412, 412, 412, 412, + 412, 412, }; static short yylen[] = { 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 7, 8, 6, 7, 5, 1, 2, 1, - 2, 1, 1, 3, 1, 1, 1, 1, 2, 2, - 3, 0, 3, 0, 1, 7, 8, 6, 7, 6, - 7, 4, 3, 1, 3, 3, 3, 2, 2, 2, - 2, 1, 3, 1, 2, 2, 1, 3, 1, 1, - 3, 1, 2, 2, 2, 3, 8, 1, 1, 5, - 0, 1, 3, 1, 3, 2, 4, 1, 3, 2, - 3, 4, 4, 2, 9, 2, 3, 7, 2, 2, + 2, 7, 8, 6, 7, 5, 1, 2, 1, 2, + 1, 1, 3, 1, 1, 1, 1, 2, 2, 3, + 0, 3, 0, 1, 7, 8, 6, 7, 6, 7, + 4, 3, 1, 3, 3, 3, 2, 2, 2, 2, + 1, 3, 1, 2, 2, 1, 3, 1, 1, 3, + 1, 2, 2, 2, 3, 8, 1, 1, 5, 0, + 1, 3, 1, 3, 2, 4, 1, 3, 2, 3, + 4, 4, 2, 9, 2, 3, 7, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 4, 2, 2, 1, 0, 1, 1, 6, 6, - 1, 1, 0, 0, 1, 0, 4, 0, 1, 1, - 2, 8, 1, 0, 3, 0, 0, 1, 1, 2, - 1, 1, 1, 2, 6, 1, 1, 3, 0, 1, - 1, 0, 1, 1, 2, 3, 4, 2, 2, 3, - 0, 1, 1, 2, 1, 1, 1, 4, 3, 3, - 3, 3, 1, 1, 6, 3, 1, 3, 1, 3, - 2, 1, 0, 2, 3, 1, 0, 1, 1, 2, - 3, 4, 0, 1, 2, 0, 1, 1, 5, 5, - 3, 2, 0, 1, 3, 1, 1, 6, 3, 2, - 6, 2, 1, 2, 2, 2, 0, 1, 1, 2, - 0, 2, 0, 1, 1, 1, 1, 1, 1, 0, - 1, 1, 2, 2, 2, 5, 1, 2, 3, 2, - 2, 0, 1, 1, 1, 1, 3, 4, 8, 4, - 0, 6, 1, 1, 2, 2, 0, 3, 3, 1, - 2, 2, 2, 8, 8, 8, 8, 3, 0, 2, - 0, 1, 3, 2, 1, 0, 1, 2, 6, 1, - 0, 2, 1, 1, 1, 3, 1, 2, 0, 1, - 2, 2, 2, 1, 1, 1, 1, 1, 1, 2, - 1, 1, 2, 1, 1, 1, 2, 2, 1, 3, - 4, 2, 6, 4, 1, 1, 7, 8, 6, 8, - 6, 4, 2, 0, 4, 2, 1, 3, 0, 2, - 4, 0, 1, 1, 3, 3, 6, 2, 2, 3, - 0, 1, 2, 4, 1, 3, 2, 2, 2, 1, - 4, 1, 3, 0, 1, 1, 1, 3, 3, 3, - 7, 7, 1, 1, 3, 4, 7, 2, 1, 3, - 1, 1, 6, 3, 0, 0, 0, 0, 3, 0, - 9, 9, 1, 1, 0, 2, 1, 1, 1, 1, - 1, 3, 3, 3, 3, 3, 3, 5, 5, 5, - 5, 5, 5, 2, 0, 4, 2, 3, 3, 2, - 2, 3, 3, 2, 3, 6, 1, 2, 4, 3, - 2, 2, 2, 2, 3, 1, 3, 3, 3, 2, - 2, 4, 4, 5, 1, 1, 1, 1, 1, 1, + 4, 2, 2, 1, 0, 1, 1, 6, 6, 1, + 1, 0, 0, 1, 0, 4, 0, 1, 1, 2, + 8, 1, 0, 3, 0, 0, 1, 1, 2, 1, + 1, 1, 2, 6, 1, 1, 3, 0, 1, 1, + 0, 1, 1, 2, 3, 4, 2, 2, 3, 0, + 1, 1, 2, 1, 1, 1, 4, 3, 3, 3, + 3, 1, 1, 6, 3, 1, 3, 1, 3, 2, + 1, 0, 2, 3, 1, 0, 1, 1, 2, 3, + 4, 0, 1, 2, 0, 1, 1, 5, 5, 3, + 2, 0, 1, 3, 1, 1, 6, 3, 2, 6, + 2, 1, 2, 2, 2, 0, 1, 1, 2, 0, + 2, 0, 1, 1, 1, 1, 1, 1, 0, 1, + 1, 2, 2, 2, 5, 1, 2, 3, 2, 2, + 0, 1, 1, 1, 1, 3, 4, 8, 4, 0, + 6, 1, 1, 2, 2, 0, 3, 3, 1, 2, + 2, 2, 8, 8, 8, 8, 3, 0, 2, 0, + 1, 3, 2, 1, 0, 1, 2, 6, 1, 0, + 2, 1, 1, 1, 3, 1, 2, 0, 1, 2, + 2, 2, 1, 1, 1, 1, 1, 1, 2, 1, + 1, 2, 1, 1, 1, 2, 2, 1, 3, 4, + 2, 6, 4, 1, 1, 7, 8, 6, 8, 6, + 4, 2, 0, 4, 2, 1, 3, 0, 2, 4, + 0, 1, 1, 3, 3, 6, 2, 2, 3, 0, + 1, 2, 4, 1, 3, 2, 2, 2, 1, 4, + 1, 3, 0, 1, 1, 1, 3, 3, 3, 7, + 7, 1, 1, 3, 4, 7, 2, 1, 3, 1, + 1, 6, 3, 0, 0, 0, 0, 3, 0, 9, + 9, 1, 1, 0, 2, 1, 1, 1, 1, 1, + 3, 3, 3, 3, 3, 3, 5, 5, 5, 5, + 5, 5, 2, 0, 4, 2, 3, 3, 2, 2, + 3, 3, 2, 3, 6, 1, 2, 4, 3, 2, + 2, 2, 2, 3, 1, 3, 3, 3, 2, 2, + 4, 4, 5, 1, 1, 1, 1, 1, 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, 1, 1, 1, 0, 2, - 2, 0, 1, 2, 2, 2, 2, 2, 1, 3, - 7, 1, 0, 1, 0, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 3, 2, 2, 2, 1, 1, - 1, 1, 4, 5, 1, 3, 1, 3, 1, 2, + 1, 2, 2, 2, 1, 1, 1, 0, 2, 2, + 0, 1, 2, 2, 2, 2, 2, 1, 3, 7, + 1, 0, 1, 0, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 3, 2, 2, 2, 1, 1, 1, + 1, 4, 5, 1, 3, 1, 3, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 4, 4, 6, 5, 3, 0, 2, 2, 0, - 3, 0, 4, 1, 5, 4, 1, 4, 1, 2, - 2, 1, 1, 1, 2, 2, 2, 2, 1, 0, - 3, 5, 1, 1, 2, 3, 1, 2, 3, 0, - 1, 1, 1, 5, 5, 6, 2, 5, 1, 0, - 3, 2, 1, 0, 2, 0, 1, 0, 3, 1, - 0, 1, 2, 1, 1, 1, 1, 2, 2, 1, - 2, 3, 1, 1, 3, 3, 1, 2, 3, 1, - 2, 0, 2, 1, 1, 0, 1, 1, 1, 3, - 2, 3, 0, 1, 3, 4, 3, 1, 3, 4, - 3, 0, 1, 3, 3, 1, 1, 0, 1, 1, - 4, 0, 4, 0, 2, 0, 2, 0, 9, 10, - 0, 0, 0, 0, 3, 2, 1, 0, 3, 5, - 3, 2, 5, 2, 1, 1, 1, 1, 1, 3, - 1, 2, 3, 2, 1, 3, 1, 1, 6, 3, - 3, 2, 3, 0, 1, 3, 1, 1, 1, 2, - 1, 1, 1, 2, 1, 2, 1, 2, 0, 3, - 0, 1, 3, 1, 1, 1, 1, 3, 1, 1, - 1, 2, 0, 2, 0, 2, 0, 4, 1, 2, - 1, 1, 0, 1, 3, 2, 1, 1, 2, 1, - 4, 2, 1, 3, 8, 5, 1, 3, 1, 1, - 4, 4, 4, 1, 1, 5, 5, 1, 3, 3, - 1, 1, 7, 7, 5, 3, 0, 1, 1, 1, - 2, 0, 1, 1, 1, 0, 3, 1, 3, 1, - 0, 3, 1, 3, 1, 3, 3, 1, 1, 3, - 1, 3, 3, 2, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 6, 6, 6, 6, 6, 6, + 4, 4, 6, 5, 3, 0, 2, 2, 0, 3, + 0, 4, 1, 5, 4, 1, 4, 1, 2, 2, + 1, 1, 1, 2, 2, 2, 2, 1, 0, 3, + 5, 1, 1, 2, 3, 1, 2, 3, 0, 1, + 1, 1, 5, 5, 6, 1, 1, 1, 2, 3, + 5, 1, 0, 3, 2, 1, 0, 2, 0, 1, + 0, 3, 1, 0, 1, 2, 1, 1, 1, 1, + 2, 2, 1, 2, 3, 1, 1, 3, 3, 1, + 2, 3, 1, 2, 0, 2, 1, 1, 0, 1, + 1, 1, 3, 2, 3, 0, 1, 3, 4, 3, + 1, 3, 4, 3, 0, 1, 3, 3, 1, 1, + 0, 1, 1, 4, 0, 4, 0, 2, 0, 2, + 0, 9, 10, 0, 0, 0, 0, 3, 2, 1, + 0, 3, 5, 3, 2, 5, 2, 1, 1, 1, + 1, 1, 3, 1, 2, 3, 2, 1, 3, 1, + 1, 6, 3, 3, 2, 3, 0, 1, 3, 1, + 1, 1, 2, 1, 1, 1, 2, 1, 2, 1, + 2, 0, 3, 0, 1, 3, 1, 1, 1, 1, + 3, 1, 1, 1, 2, 0, 2, 0, 2, 0, + 4, 1, 2, 1, 1, 0, 1, 3, 2, 1, + 1, 2, 1, 4, 2, 1, 3, 8, 5, 1, + 3, 1, 1, 4, 4, 4, 1, 1, 5, 5, + 1, 3, 3, 1, 1, 7, 7, 5, 3, 0, + 1, 1, 1, 2, 0, 1, 1, 1, 0, 3, + 1, 3, 1, 0, 3, 1, 3, 1, 3, 3, + 1, 1, 3, 1, 3, 3, 2, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 1, 1, 5, 6, 3, 4, 5, 6, 3, 4, - 3, 4, 3, 4, 4, 5, 4, 4, 3, 4, - 1, 1, 1, 1, 3, 3, 10, 10, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, - 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, - 1, 3, 1, 1, 1, 1, 1, 4, 1, 3, - 1, 2, 1, 1, 1, 1, 1, 1, 1, 2, - 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 1, 2, 1, 1, 1, 1, 1, - 2, 1, 1, 1, 1, 1, 4, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 6, 6, 6, - 8, 4, 4, 3, 6, 1, 1, 6, 6, 1, - 1, 4, 6, 4, 5, 3, 5, 4, 5, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 6, 6, 6, 1, 1, 5, 6, 3, 4, 5, + 6, 3, 4, 3, 4, 3, 4, 4, 5, 4, + 4, 3, 4, 1, 1, 1, 1, 3, 3, 10, + 10, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, + 4, 1, 3, 1, 2, 1, 1, 1, 1, 1, + 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 2, 1, 2, 1, 1, + 1, 1, 1, 2, 1, 1, 1, 1, 1, 4, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 6, 6, 6, 8, 4, 4, 3, 6, 1, 1, + 6, 6, 1, 1, 4, 6, 4, 5, 3, 5, + 4, 5, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 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 short yydefred[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 14, 15, 16, 17, 18, 19, 20, 21, 561, - 562, 563, 0, 618, 729, 730, 734, 735, 472, 0, - 0, 0, 0, 0, 0, 407, 573, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 115, 0, 0, - 96, 0, 896, 0, 22, 894, 0, 0, 74, 0, + 0, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, 16, 17, 18, 19, 20, 560, + 561, 562, 566, 567, 568, 0, 621, 732, 733, 737, + 738, 471, 0, 0, 0, 0, 0, 0, 406, 576, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 486, 0, 0, 38, 35, 37, 0, 36, - 0, 977, 979, 981, 980, 986, 982, 989, 987, 983, - 985, 988, 984, 0, 0, 0, 0, 33, 69, 67, - 969, 978, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 647, 0, 0, 0, 679, - 0, 971, 0, 0, 0, 0, 108, 976, 567, 2, - 0, 0, 0, 0, 437, 438, 439, 440, 441, 442, - 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, - 453, 454, 455, 456, 457, 458, 459, 460, 461, 0, - 435, 436, 0, 962, 0, 414, 966, 0, 411, 968, - 0, 681, 0, 410, 972, 0, 571, 892, 0, 151, - 104, 0, 105, 0, 218, 958, 768, 0, 103, 146, - 965, 0, 0, 99, 0, 106, 898, 0, 100, 0, - 101, 0, 102, 975, 147, 107, 626, 627, 0, 897, - 895, 0, 75, 0, 963, 0, 961, 494, 487, 0, - 493, 498, 488, 489, 496, 490, 491, 492, 497, 0, - 31, 0, 40, 755, 39, 0, 0, 0, 0, 0, + 114, 0, 0, 95, 0, 899, 0, 21, 897, 0, + 0, 73, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 485, 0, 0, 37, 34, + 36, 0, 35, 0, 980, 982, 984, 983, 989, 985, + 992, 990, 986, 988, 991, 987, 0, 0, 0, 0, + 32, 68, 66, 972, 981, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 650, 0, + 0, 0, 682, 0, 974, 0, 0, 0, 0, 107, + 979, 569, 0, 2, 0, 0, 0, 0, 436, 437, + 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, + 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, + 458, 459, 460, 0, 434, 435, 0, 965, 0, 413, + 969, 0, 410, 971, 0, 684, 0, 409, 975, 0, + 574, 895, 0, 150, 103, 0, 104, 0, 217, 961, + 771, 0, 102, 145, 968, 0, 0, 98, 0, 105, + 901, 0, 99, 0, 100, 0, 101, 978, 146, 106, + 629, 630, 0, 900, 898, 0, 74, 0, 966, 0, + 964, 493, 486, 0, 492, 497, 487, 488, 495, 489, + 490, 491, 496, 0, 30, 0, 39, 758, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 902, 0, 883, 641, 641, 642, 652, 654, 951, 655, - 0, 656, 646, 642, 0, 0, 0, 0, 0, 0, - 0, 590, 579, 0, 582, 584, 585, 586, 587, 593, - 594, 0, 970, 680, 0, 109, 0, 110, 0, 111, - 0, 0, 619, 0, 617, 0, 0, 0, 0, 473, - 0, 0, 377, 0, 221, 0, 417, 408, 470, 471, - 0, 0, 0, 0, 0, 0, 426, 0, 383, 384, - 0, 577, 575, 893, 0, 0, 0, 0, 0, 0, - 0, 154, 133, 0, 97, 0, 0, 112, 0, 122, - 121, 0, 0, 0, 0, 0, 0, 954, 76, 0, - 0, 0, 731, 732, 495, 0, 953, 875, 874, 873, - 0, 0, 876, 877, 0, 0, 879, 356, 357, 351, - 0, 355, 871, 878, 0, 758, 0, 0, 28, 0, - 0, 0, 72, 70, 973, 68, 34, 0, 0, 0, - 760, 0, 53, 0, 0, 0, 0, 0, 569, 0, - 0, 0, 0, 861, 889, 0, 0, 863, 0, 0, - 890, 0, 884, 0, 0, 865, 866, 867, 885, 886, - 0, 887, 888, 0, 0, 0, 891, 0, 0, 0, - 0, 0, 0, 765, 858, 859, 860, 864, 844, 0, - 843, 0, 0, 847, 905, 906, 846, 840, 841, 842, - 845, 903, 904, 926, 927, 930, 931, 649, 651, 0, - 658, 0, 742, 0, 0, 659, 0, 645, 0, 616, - 0, 591, 0, 588, 0, 589, 614, 0, 609, 0, - 0, 583, 769, 738, 0, 0, 0, 0, 0, 0, - 0, 0, 623, 620, 0, 186, 0, 0, 130, 478, - 173, 174, 0, 476, 0, 0, 0, 0, 479, 0, - 474, 0, 0, 421, 423, 422, 0, 424, 0, 418, - 219, 0, 0, 272, 0, 0, 0, 0, 430, 431, - 0, 463, 0, 0, 0, 0, 0, 0, 0, 388, - 387, 482, 0, 0, 150, 0, 0, 159, 0, 158, - 0, 165, 148, 0, 163, 166, 167, 155, 0, 0, - 517, 553, 520, 0, 554, 0, 0, 521, 0, 0, - 0, 544, 557, 516, 539, 518, 519, 514, 501, 377, - 499, 500, 502, 0, 0, 511, 512, 513, 515, 0, - 0, 0, 0, 0, 113, 0, 114, 0, 125, 0, - 0, 202, 0, 0, 375, 0, 221, 0, 0, 84, - 0, 0, 750, 0, 0, 0, 0, 0, 831, 832, - 833, 0, 0, 0, 771, 775, 776, 777, 778, 779, - 780, 781, 782, 783, 784, 785, 880, 881, 882, 872, - 0, 0, 0, 757, 29, 0, 0, 45, 73, 0, - 0, 27, 0, 763, 0, 0, 0, 726, 0, 0, - 0, 0, 0, 568, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 326, 974, 0, 0, 0, - 0, 0, 0, 0, 641, 0, 0, 0, 0, 0, - 0, 0, 967, 662, 565, 0, 900, 564, 0, 592, - 0, 600, 596, 595, 0, 0, 0, 611, 599, 0, - 0, 736, 737, 0, 0, 0, 375, 0, 0, 0, - 0, 0, 0, 131, 0, 0, 0, 0, 0, 0, - 377, 420, 0, 377, 378, 425, 509, 0, 274, 0, - 268, 270, 375, 241, 959, 0, 0, 377, 0, 0, - 210, 375, 0, 0, 0, 0, 246, 240, 243, 244, - 245, 429, 468, 467, 428, 427, 0, 0, 0, 0, - 0, 0, 386, 0, 377, 0, 156, 160, 0, 164, - 0, 0, 540, 541, 558, 0, 555, 0, 0, 547, - 545, 546, 0, 0, 0, 0, 510, 0, 0, 0, - 0, 548, 0, 0, 375, 0, 201, 0, 204, 206, - 207, 0, 0, 0, 0, 0, 221, 79, 0, 0, - 78, 528, 955, 529, 0, 0, 0, 774, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 353, 359, - 360, 358, 759, 0, 0, 0, 0, 0, 0, 0, - 0, 54, 62, 64, 0, 0, 71, 0, 0, 0, - 762, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 943, 944, 945, 946, 947, 948, 949, - 950, 0, 0, 0, 0, 0, 0, 936, 0, 0, - 0, 677, 0, 0, 856, 857, 924, 0, 0, 852, - 957, 0, 0, 0, 0, 0, 650, 0, 862, 767, - 766, 653, 0, 0, 0, 0, 667, 668, 0, 0, - 660, 663, 566, 901, 601, 610, 605, 604, 0, 615, - 770, 739, 740, 375, 0, 0, 643, 625, 624, 0, - 0, 633, 182, 176, 183, 0, 179, 0, 0, 178, - 0, 189, 170, 169, 899, 172, 171, 480, 0, 0, - 0, 419, 273, 0, 212, 377, 214, 0, 378, 209, - 215, 0, 0, 0, 0, 432, 433, 377, 375, 378, - 0, 0, 0, 404, 0, 197, 198, 157, 0, 0, - 0, 0, 0, 0, 556, 0, 0, 377, 378, 0, - 505, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 199, 0, 0, 0, 0, 364, - 0, 83, 0, 0, 0, 0, 88, 85, 0, 0, - 0, 733, 960, 0, 0, 786, 0, 0, 0, 812, - 811, 0, 0, 0, 819, 834, 829, 0, 0, 0, + 0, 0, 0, 0, 905, 0, 886, 644, 644, 645, + 655, 657, 954, 658, 0, 659, 649, 645, 0, 0, + 0, 0, 0, 0, 0, 593, 582, 0, 585, 587, + 588, 589, 590, 596, 597, 0, 973, 683, 0, 108, + 0, 109, 0, 110, 570, 0, 0, 622, 0, 620, + 0, 0, 0, 0, 472, 0, 0, 376, 0, 220, + 0, 416, 407, 469, 470, 0, 0, 0, 0, 0, + 0, 425, 0, 382, 383, 0, 580, 578, 896, 0, + 0, 0, 0, 0, 0, 0, 153, 132, 0, 96, + 0, 0, 111, 0, 121, 120, 0, 0, 0, 0, + 0, 0, 957, 75, 0, 0, 0, 734, 735, 494, + 0, 956, 878, 877, 876, 0, 0, 879, 880, 0, + 0, 882, 355, 356, 350, 0, 354, 874, 881, 0, + 761, 0, 0, 27, 0, 0, 0, 71, 69, 976, + 67, 33, 0, 0, 0, 763, 0, 52, 0, 0, + 0, 0, 0, 572, 0, 0, 0, 0, 864, 892, + 0, 0, 866, 0, 0, 893, 0, 887, 0, 0, + 868, 869, 870, 888, 889, 0, 890, 891, 0, 0, + 0, 894, 0, 0, 0, 0, 0, 0, 768, 861, + 862, 863, 867, 847, 0, 846, 0, 0, 850, 908, + 909, 849, 843, 844, 845, 848, 906, 907, 929, 930, + 933, 934, 652, 654, 0, 661, 0, 745, 0, 0, + 662, 0, 648, 0, 619, 0, 594, 0, 591, 0, + 592, 617, 0, 612, 0, 0, 586, 772, 741, 0, + 0, 0, 0, 0, 0, 0, 0, 626, 623, 0, + 185, 0, 0, 129, 477, 172, 173, 0, 475, 0, + 0, 0, 0, 478, 0, 473, 0, 0, 420, 422, + 421, 0, 423, 0, 417, 218, 0, 0, 271, 0, + 0, 0, 0, 429, 430, 0, 462, 0, 0, 0, + 0, 0, 0, 0, 387, 386, 481, 0, 0, 149, + 0, 0, 158, 0, 157, 0, 164, 147, 0, 162, + 165, 166, 154, 0, 0, 516, 552, 519, 0, 553, + 0, 0, 520, 0, 0, 0, 543, 556, 515, 538, + 517, 518, 513, 500, 376, 498, 499, 501, 0, 0, + 510, 511, 512, 514, 0, 0, 0, 0, 0, 112, + 0, 113, 0, 124, 0, 0, 201, 0, 0, 374, + 0, 220, 0, 0, 83, 0, 0, 753, 0, 0, + 0, 0, 0, 834, 835, 836, 0, 0, 0, 774, + 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, + 788, 883, 884, 885, 875, 0, 0, 0, 760, 28, + 0, 0, 44, 72, 0, 0, 26, 0, 766, 0, + 0, 0, 729, 0, 0, 0, 0, 0, 571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 773, 0, 66, - 58, 59, 65, 60, 61, 0, 0, 23, 0, 0, - 0, 43, 0, 0, 0, 744, 764, 0, 727, 0, - 743, 0, 0, 0, 0, 0, 0, 221, 0, 907, - 0, 0, 922, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 932, 0, 942, 0, 0, - 0, 0, 0, 0, 923, 868, 0, 0, 0, 0, - 0, 0, 682, 0, 0, 0, 0, 0, 607, 608, - 612, 0, 200, 0, 0, 637, 0, 0, 0, 0, - 0, 0, 190, 0, 0, 415, 224, 225, 226, 227, - 228, 229, 0, 0, 0, 277, 0, 222, 0, 0, - 0, 0, 247, 0, 464, 465, 434, 0, 0, 0, - 0, 0, 0, 377, 484, 378, 168, 956, 0, 0, - 523, 0, 522, 559, 0, 551, 0, 0, 0, 503, - 0, 531, 0, 0, 533, 536, 538, 375, 0, 0, - 0, 120, 0, 205, 377, 0, 0, 376, 0, 98, - 0, 118, 0, 94, 0, 0, 0, 0, 87, 0, - 827, 828, 0, 0, 0, 0, 0, 0, 830, 0, - 0, 0, 0, 0, 0, 0, 820, 0, 0, 0, + 325, 977, 0, 0, 0, 0, 0, 0, 0, 644, + 0, 0, 0, 0, 0, 0, 0, 970, 665, 564, + 0, 903, 563, 0, 595, 0, 603, 599, 598, 0, + 0, 0, 614, 602, 0, 0, 739, 740, 0, 0, + 0, 374, 0, 0, 0, 0, 0, 0, 130, 0, + 0, 0, 0, 0, 0, 376, 419, 0, 376, 377, + 424, 508, 0, 273, 0, 267, 269, 374, 240, 962, + 0, 0, 376, 0, 0, 209, 374, 0, 0, 0, + 0, 245, 239, 242, 243, 244, 428, 467, 466, 427, + 426, 0, 0, 0, 0, 0, 0, 385, 0, 376, + 0, 155, 159, 0, 163, 0, 0, 539, 540, 557, + 0, 554, 0, 0, 546, 544, 545, 0, 0, 0, + 0, 509, 0, 0, 0, 0, 547, 0, 0, 374, + 0, 200, 0, 203, 205, 206, 0, 0, 0, 0, + 0, 220, 78, 0, 0, 77, 527, 958, 528, 0, + 0, 0, 777, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 57, 63, 55, 56, 24, 748, 749, 0, - 746, 753, 754, 751, 0, 0, 725, 0, 0, 913, - 912, 0, 0, 909, 908, 0, 917, 916, 915, 914, - 911, 910, 0, 0, 938, 0, 0, 0, 937, 0, - 0, 0, 675, 0, 0, 670, 0, 671, 0, 688, - 684, 686, 0, 0, 0, 0, 0, 376, 629, 630, - 644, 0, 184, 180, 0, 0, 195, 191, 0, 378, - 280, 0, 0, 378, 278, 0, 0, 0, 232, 0, - 0, 248, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 481, 525, 0, 526, 0, 135, 0, 0, 0, - 139, 141, 142, 143, 506, 508, 504, 535, 0, 0, - 378, 0, 0, 0, 0, 361, 0, 365, 377, 89, - 0, 0, 91, 0, 0, 0, 0, 0, 0, 836, - 835, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 41, - 0, 0, 728, 220, 925, 918, 919, 0, 920, 934, - 933, 0, 939, 928, 0, 929, 0, 673, 0, 549, - 0, 695, 0, 0, 692, 696, 697, 699, 700, 701, - 0, 0, 639, 378, 362, 631, 0, 175, 192, 378, - 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 285, 290, 284, - 0, 0, 0, 294, 295, 296, 297, 298, 299, 301, - 302, 304, 305, 306, 309, 267, 0, 0, 208, 233, - 0, 0, 0, 0, 234, 237, 0, 0, 378, 402, - 403, 399, 398, 401, 400, 0, 524, 552, 144, 132, - 140, 0, 377, 264, 127, 378, 0, 0, 379, 366, - 0, 0, 92, 93, 80, 0, 798, 806, 0, 799, - 807, 802, 810, 0, 0, 800, 808, 801, 809, 795, - 803, 796, 804, 797, 805, 745, 0, 0, 935, 676, - 0, 0, 0, 0, 0, 709, 711, 0, 706, 0, - 265, 185, 416, 0, 312, 0, 0, 315, 316, 0, - 308, 0, 0, 0, 0, 307, 0, 338, 339, 293, - 300, 0, 303, 286, 0, 291, 0, 342, 292, 211, - 216, 235, 0, 0, 238, 0, 250, 252, 406, 378, - 0, 381, 0, 0, 0, 371, 372, 0, 0, 77, - 95, 0, 0, 921, 0, 0, 698, 693, 710, 0, - 0, 283, 0, 310, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 333, 334, 350, 0, 0, 0, - 0, 345, 343, 239, 0, 0, 0, 0, 0, 266, - 378, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 717, 0, 0, 0, 282, 279, 311, 0, 0, - 0, 0, 314, 0, 0, 0, 0, 322, 0, 325, - 0, 349, 348, 964, 347, 0, 0, 0, 0, 0, - 249, 0, 256, 0, 255, 382, 374, 0, 0, 367, - 119, 0, 0, 0, 719, 708, 0, 0, 720, 0, - 716, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 336, 335, 344, 346, 236, 0, 0, 260, 259, - 258, 0, 0, 640, 838, 715, 0, 722, 328, 0, - 0, 313, 319, 0, 0, 0, 0, 337, 263, 261, - 262, 0, 0, 0, 0, 0, 0, 340, 317, 0, - 0, 0, 0, 721, 331, 318, 320, 837, 724, + 0, 0, 0, 352, 358, 359, 357, 762, 0, 0, + 0, 0, 0, 0, 0, 0, 53, 61, 63, 0, + 0, 70, 0, 0, 0, 765, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 946, 947, + 948, 949, 950, 951, 952, 953, 0, 0, 0, 0, + 0, 0, 939, 0, 0, 0, 680, 0, 0, 859, + 860, 927, 0, 0, 855, 960, 0, 0, 0, 0, + 0, 653, 0, 865, 770, 769, 656, 0, 0, 0, + 0, 670, 671, 0, 0, 663, 666, 565, 904, 604, + 613, 608, 607, 0, 618, 773, 742, 743, 374, 0, + 0, 646, 628, 627, 0, 0, 636, 181, 175, 182, + 0, 178, 0, 0, 177, 0, 188, 169, 168, 902, + 171, 170, 479, 0, 0, 0, 418, 272, 0, 211, + 376, 213, 0, 377, 208, 214, 0, 0, 0, 0, + 431, 432, 376, 374, 377, 0, 0, 0, 403, 0, + 196, 197, 156, 0, 0, 0, 0, 0, 0, 555, + 0, 0, 376, 377, 0, 504, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 198, + 0, 0, 0, 0, 363, 0, 82, 0, 0, 0, + 0, 87, 84, 0, 0, 0, 736, 963, 0, 0, + 789, 0, 0, 0, 815, 814, 0, 0, 0, 822, + 837, 832, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 776, 0, 65, 57, 58, 64, 59, 60, + 0, 0, 22, 0, 0, 0, 42, 0, 0, 0, + 747, 767, 0, 730, 0, 746, 0, 0, 0, 0, + 0, 0, 220, 0, 910, 0, 0, 925, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 935, 0, 945, 0, 0, 0, 0, 0, 0, 926, + 871, 0, 0, 0, 0, 0, 0, 685, 0, 0, + 0, 0, 0, 610, 611, 615, 0, 199, 0, 0, + 640, 0, 0, 0, 0, 0, 0, 189, 0, 0, + 414, 223, 224, 225, 226, 227, 228, 0, 0, 0, + 276, 0, 221, 0, 0, 0, 0, 246, 0, 463, + 464, 433, 0, 0, 0, 0, 0, 0, 376, 483, + 377, 167, 959, 0, 0, 522, 0, 521, 558, 0, + 550, 0, 0, 0, 502, 0, 530, 0, 0, 532, + 535, 537, 374, 0, 0, 0, 119, 0, 204, 376, + 0, 0, 375, 0, 97, 0, 117, 0, 93, 0, + 0, 0, 0, 86, 0, 830, 831, 0, 0, 0, + 0, 0, 0, 833, 0, 0, 0, 0, 0, 0, + 0, 823, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 56, 62, 54, + 55, 23, 751, 752, 0, 749, 756, 757, 754, 0, + 0, 728, 0, 0, 916, 915, 0, 0, 912, 911, + 0, 920, 919, 918, 917, 914, 913, 0, 0, 941, + 0, 0, 0, 940, 0, 0, 0, 678, 0, 0, + 673, 0, 674, 0, 691, 687, 689, 0, 0, 0, + 0, 0, 375, 632, 633, 647, 0, 183, 179, 0, + 0, 194, 190, 0, 377, 279, 0, 0, 377, 277, + 0, 0, 0, 231, 0, 0, 247, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 480, 524, 0, 525, + 0, 134, 0, 0, 0, 138, 140, 141, 142, 505, + 507, 503, 534, 0, 0, 377, 0, 0, 0, 0, + 360, 0, 364, 376, 88, 0, 0, 90, 0, 0, + 0, 0, 0, 0, 839, 838, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 40, 0, 0, 731, 219, 928, + 921, 922, 0, 923, 937, 936, 0, 942, 931, 0, + 932, 0, 676, 0, 548, 0, 698, 0, 0, 695, + 699, 700, 702, 703, 704, 0, 0, 642, 377, 361, + 634, 0, 174, 191, 377, 144, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 284, 289, 283, 0, 0, 0, 293, 294, + 295, 296, 297, 298, 300, 301, 303, 304, 305, 308, + 266, 0, 0, 207, 232, 0, 0, 0, 0, 233, + 236, 0, 0, 377, 401, 402, 398, 397, 400, 399, + 0, 523, 551, 143, 131, 139, 0, 376, 263, 126, + 377, 0, 0, 378, 365, 0, 0, 91, 92, 79, + 0, 801, 809, 0, 802, 810, 805, 813, 0, 0, + 803, 811, 804, 812, 798, 806, 799, 807, 800, 808, + 748, 0, 0, 938, 679, 0, 0, 0, 0, 0, + 712, 714, 0, 709, 0, 264, 184, 415, 0, 311, + 0, 0, 314, 315, 0, 307, 0, 0, 0, 0, + 306, 0, 337, 338, 292, 299, 0, 302, 285, 0, + 290, 0, 341, 291, 210, 215, 234, 0, 0, 237, + 0, 249, 251, 405, 377, 0, 380, 0, 0, 0, + 370, 371, 0, 0, 76, 94, 0, 0, 924, 0, + 0, 701, 696, 713, 0, 0, 282, 0, 309, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 332, + 333, 349, 0, 0, 0, 0, 344, 342, 238, 0, + 0, 0, 0, 0, 265, 377, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 720, 0, 0, 0, + 281, 278, 310, 0, 0, 0, 0, 313, 0, 0, + 0, 0, 321, 0, 324, 0, 348, 347, 967, 346, + 0, 0, 0, 0, 0, 248, 0, 255, 0, 254, + 381, 373, 0, 0, 366, 118, 0, 0, 0, 722, + 711, 0, 0, 723, 0, 719, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 335, 334, 343, 345, + 235, 0, 0, 259, 258, 257, 0, 0, 643, 841, + 718, 0, 725, 327, 0, 0, 312, 318, 0, 0, + 0, 0, 336, 262, 260, 261, 0, 0, 0, 0, + 0, 0, 339, 316, 0, 0, 0, 0, 724, 330, + 317, 319, 840, 727, }; -static short yydgoto[] = { 19, - 20, 21, 22, 23, 24, 25, 1524, 27, 28, 1525, - 30, 31, 32, 33, 34, 35, 36, 1526, 38, 1527, - 633, 114, 398, 890, 1138, 115, 667, 891, 116, 402, - 672, 140, 117, 118, 253, 964, 130, 892, 893, 193, - 222, 119, 894, 120, 404, 79, 233, 369, 452, 628, - 1075, 387, 850, 599, 1490, 827, 629, 630, 631, 1077, - 234, 1328, 71, 183, 72, 229, 1814, 1280, 214, 219, - 221, 223, 209, 201, 203, 216, 226, 147, 306, 308, - 310, 358, 615, 617, 395, 254, 777, 533, 643, 1012, - 362, 620, 1063, 1272, 566, 727, 1038, 518, 519, 548, - 354, 600, 1049, 1419, 1549, 1216, 1420, 1421, 1422, 1423, - 1424, 644, 210, 202, 350, 573, 351, 352, 574, 575, - 576, 577, 1247, 1006, 521, 522, 996, 994, 523, 1000, - 995, 1207, 1383, 1001, 1002, 1212, 364, 838, 839, 840, - 841, 779, 1019, 1397, 601, 781, 454, 843, 950, 542, - 1343, 1217, 455, 456, 457, 942, 458, 1398, 1399, 551, - 1555, 1707, 1233, 787, 788, 774, 789, 790, 791, 1708, - 1709, 1790, 332, 546, 1224, 1528, 189, 543, 544, 1225, - 1226, 1392, 1683, 1529, 1530, 1531, 1532, 1647, 1533, 1534, - 1535, 1536, 1537, 1538, 1539, 1540, 1541, 1542, 1543, 1544, - 1545, 1730, 1775, 1630, 1694, 1779, 1692, 459, 706, 1362, - 460, 1082, 1648, 1701, 1702, 1743, 390, 391, 461, 1068, - 1278, 1436, 1069, 1070, 281, 484, 1578, 373, 1198, 1376, - 1664, 1665, 1666, 1667, 1196, 341, 562, 805, 1245, 563, - 803, 217, 56, 336, 194, 154, 319, 180, 326, 186, - 765, 762, 327, 337, 795, 338, 558, 1030, 181, 462, - 320, 530, 564, 1246, 93, 192, 238, 602, 603, 767, - 1050, 768, 1051, 1052, 606, 607, 608, 609, 1043, 854, - 610, 611, 612, 820, 613, 1492, 817, 40, 41, 42, - 149, 58, 420, 197, 343, 293, 294, 295, 296, 297, - 298, 299, 300, 301, 733, 498, 979, 1201, 499, 500, - 738, 43, 153, 315, 44, 512, 513, 988, 1381, 1205, - 1506, 751, 992, 134, 720, 1503, 678, 478, 283, 135, - 136, 282, 485, 486, 487, 724, 965, 966, 967, 968, - 1190, 463, 1178, 1494, 1495, 464, 1497, 465, 466, 467, - 1722, 1620, 1723, 1724, 1725, 1771, 1815, 410, 1150, 45, - 46, 374, 47, 48, 506, 507, 899, 1146, 1330, 1334, - 411, 675, 207, 645, 646, 647, 648, 649, 650, 651, - 652, 653, 654, 655, 656, 1297, 1093, 1095, 1096, 949, - 705, 468, 469, 470, 471, 394, 231, 472, 473, 932, - 474, 475, 476, 477, 697, 936, 1179, 1174, 698, 122, +static short yydgoto[] = { 20, + 21, 22, 23, 24, 25, 26, 1529, 28, 29, 1530, + 31, 32, 33, 34, 35, 36, 1531, 38, 1532, 638, + 117, 403, 895, 1143, 118, 672, 896, 119, 407, 677, + 143, 120, 121, 257, 969, 133, 897, 898, 197, 226, + 122, 899, 123, 409, 82, 237, 374, 457, 633, 1080, + 392, 855, 604, 1495, 832, 634, 635, 636, 1082, 238, + 1333, 74, 187, 75, 233, 1819, 1285, 218, 223, 225, + 227, 213, 205, 207, 220, 230, 150, 310, 312, 314, + 363, 620, 622, 400, 258, 782, 538, 648, 1017, 367, + 625, 1068, 1277, 571, 732, 1043, 523, 524, 553, 359, + 605, 1054, 1424, 1554, 1221, 1425, 1426, 1427, 1428, 1429, + 649, 214, 206, 355, 578, 356, 357, 579, 580, 581, + 582, 1252, 1011, 526, 527, 1001, 999, 528, 1005, 1000, + 1212, 1388, 1006, 1007, 1217, 369, 843, 844, 845, 846, + 784, 1024, 1402, 606, 786, 459, 848, 955, 547, 1348, + 1222, 460, 461, 462, 947, 463, 1403, 1404, 556, 1560, + 1712, 1238, 792, 793, 779, 794, 795, 796, 1713, 1714, + 1795, 337, 551, 1229, 1533, 193, 548, 549, 1230, 1231, + 1397, 1688, 1534, 1535, 1536, 1537, 1652, 1538, 1539, 1540, + 1541, 1542, 1543, 1544, 1545, 1546, 1547, 1548, 1549, 1550, + 1735, 1780, 1635, 1699, 1784, 1697, 464, 711, 1367, 465, + 1087, 1653, 1706, 1707, 1748, 395, 396, 466, 1073, 1283, + 1441, 1074, 1075, 285, 489, 1583, 378, 1203, 1381, 1669, + 1670, 1671, 1672, 1201, 346, 567, 810, 1250, 568, 808, + 221, 59, 341, 198, 158, 324, 184, 331, 190, 770, + 767, 332, 342, 800, 343, 563, 1035, 185, 467, 325, + 535, 569, 1251, 96, 196, 242, 607, 608, 772, 1055, + 773, 1056, 1057, 611, 612, 613, 614, 1048, 859, 615, + 616, 617, 825, 618, 1497, 822, 40, 41, 42, 43, + 44, 45, 152, 61, 425, 201, 348, 297, 298, 299, + 300, 301, 302, 303, 304, 305, 738, 503, 984, 1206, + 504, 505, 743, 46, 157, 320, 47, 517, 518, 993, + 1386, 1210, 1511, 756, 997, 137, 725, 1508, 683, 483, + 287, 138, 139, 286, 490, 491, 492, 729, 970, 971, + 972, 973, 1195, 468, 1183, 1499, 1500, 469, 1502, 470, + 471, 472, 1727, 1625, 1728, 1729, 1730, 1776, 1820, 415, + 1155, 48, 49, 379, 50, 51, 511, 512, 904, 1151, + 1335, 1339, 416, 680, 211, 650, 651, 652, 653, 654, + 655, 656, 657, 658, 659, 660, 661, 1302, 1098, 1100, + 1101, 954, 710, 473, 474, 475, 476, 399, 235, 477, + 478, 937, 479, 480, 481, 482, 702, 941, 1184, 1179, + 703, 125, }; -static short yysindex[] = { 2719, - 1836, -148, 3596, 78, 1170, 13, 4264, -39, 4577, 561, - 506, 3800, -148, 1380, 482, 4468, 1047, 4468, 0, 318, +static short yysindex[] = { 4590, + 1618, -205, 5020, 83, 1187, -10, 4209, -42, 5618, 682, + 91, 4522, -205, 1354, 793, 4583, 997, 4583, 242, 0, + 673, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 437, 0, 0, 0, 0, + 0, 0, 6377, 4583, 4583, 4583, 4583, 4583, 0, 0, + 363, 1317, 4583, 4583, 4583, 555, 4583, 380, 4583, 4583, + 0, 4583, 4583, 0, 1043, 0, 498, 0, 0, 648, + 4583, 0, 4583, 4583, 4583, 678, 4583, 4583, 4583, 4583, + 380, 4583, 4583, 4583, 4583, 0, 4583, 703, 0, 0, + 0, 1016, 0, 1016, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 737, 802, 142, 1157, + 0, 0, 0, 0, 0, 4583, 4583, 4583, 852, 894, + 926, 164, 1066, 883, 202, 205, 65, 881, 0, 4583, + 1089, 544, 0, 1168, 0, 4583, 4583, 4583, 4583, 0, + 0, 0, 4583, 0, 1362, -33, 1322, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -100, 0, 0, 0, 0, 0, 0, 7646, - 4468, 4468, 4468, 4468, 4468, 0, 0, -26, 1236, 4468, - 4468, 4468, 292, 4468, 474, 4468, 4468, 0, 4468, 4468, - 0, 71, 0, 524, 0, 0, 718, 4468, 0, 4468, - 4468, 4468, 748, 4468, 4468, 4468, 4468, 474, 4468, 4468, - 4468, 4468, 0, 4468, 693, 0, 0, 0, 1109, 0, - 1109, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 772, 779, 120, 1179, 0, 0, 0, - 0, 0, 4468, 4468, 4468, 895, 964, 982, 208, 1349, - 949, 143, 225, 601, 976, 0, 4468, 1156, 1331, 0, - 1105, 0, 4468, 4468, 4468, 4468, 0, 0, 0, 0, - 1254, 527, 1223, 25, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1078, 0, 0, 1317, 0, 41, 0, + 0, 1454, 0, 0, 1579, 0, 58, 0, 0, 1255, + 0, 0, 1208, 0, 0, 1171, 0, 1331, 0, 0, + 0, 1317, 0, 0, 0, 476, 1454, 0, 55, 0, + 0, 1381, 0, 1417, 0, 1016, 0, 0, 0, 0, + 0, 0, 1407, 0, 0, 1325, 0, 1478, 0, 1387, + 0, 0, 0, 1325, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 2935, 0, 4583, 0, 0, 0, 4214, + 1441, 4467, 4583, 1045, 1519, 1823, 1550, 1560, 4214, 1480, + 4467, 1513, 1522, 1403, 0, 9886, 0, 0, 0, 0, + 0, 0, 0, 0, 7686, 0, 0, 0, 1477, 4583, + 1553, 1465, 540, 4583, 1493, 0, 0, 544, 0, 0, + 0, 0, 0, 0, 0, 4583, 0, 0, 1454, 0, + 1381, 0, 1016, 0, 0, 9886, 1516, 0, 1496, 0, + 1076, 1585, 1156, 5, 0, 1672, 39, 0, 4583, 0, + 1078, 0, 0, 0, 0, 4583, 1549, 3486, 1495, 3934, + 1924, 0, 6377, 0, 0, 1100, 0, 0, 0, 1917, + 1917, 1317, 1621, 1317, 1488, 1171, 0, 0, 4215, 0, + 4583, 4583, 0, 1549, 0, 0, 1708, 789, 1955, 4583, + 1738, 4583, 0, 0, 1964, 191, 4879, 0, 0, 0, + 1562, 0, 0, 0, 0, 1575, 1576, 0, 0, 1760, + 1176, 0, 0, 0, 0, 1966, 0, 0, 0, 1386, + 0, 4583, 1612, 0, 4583, 4583, 147, 0, 0, 0, + 0, 0, 4583, 4583, 911, 0, 4583, 0, 1729, 4583, + 1977, 4214, 1651, 0, 4583, 2014, 2015, 2018, 0, 0, + 2025, 2026, 0, 2027, 2028, 0, 2031, 0, 0, 2035, + 0, 0, 0, 0, 0, 2037, 0, 0, 8284, 2038, + 2041, 0, 9886, 9886, 8514, 4583, 2048, 1686, 0, 0, + 0, 0, 0, 0, 1998, 0, 0, 2045, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1118, - 0, 0, 1236, 0, 535, 0, 0, 1529, 0, 0, - 1126, 0, 584, 0, 0, 1151, 0, 0, 1175, 0, - 0, 1454, 0, 1322, 0, 0, 0, 1236, 0, 0, - 0, 399, 1529, 0, 578, 0, 0, 1377, 0, 1329, - 0, 1109, 0, 0, 0, 0, 0, 0, 1387, 0, - 0, 1280, 0, 1428, 0, 1262, 0, 0, 0, 1280, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2623, - 0, 4468, 0, 0, 0, 4649, 1391, 4432, 4468, 1125, - 1473, 1740, 1484, 1502, 4649, 1420, 4432, 1461, 1463, 1342, - 0, 9887, 0, 0, 0, 0, 0, 0, 0, 0, - 7572, 0, 0, 0, 1426, 4468, 1505, 1425, 549, 4468, - 1448, 0, 0, 1331, 0, 0, 0, 0, 0, 0, - 0, 4468, 0, 0, 1529, 0, 1377, 0, 1109, 0, - 9887, 1496, 0, 1485, 0, 1464, 1557, 1053, 25, 0, - 1633, 771, 0, 4468, 0, 1118, 0, 0, 0, 0, - 4468, 1520, 3132, 1470, 3485, 1889, 0, 7646, 0, 0, - 882, 0, 0, 0, 1876, 1876, 1236, 1569, 1236, 1384, - 1454, 0, 0, 4270, 0, 4468, 4468, 0, 1520, 0, - 0, 1672, 658, 1928, 4468, 1695, 4468, 0, 0, 1936, - 193, 4934, 0, 0, 0, 1528, 0, 0, 0, 0, - 1539, 1543, 0, 0, 1402, 1866, 0, 0, 0, 0, - 1922, 0, 0, 0, 1562, 0, 4468, 1559, 0, 4468, - 4468, 159, 0, 0, 0, 0, 0, 4468, 4468, 758, - 0, 4468, 0, 1685, 4468, 1963, 4649, 1606, 0, 4468, - 1969, 1975, 1980, 0, 0, 1982, 1985, 0, 1988, 1993, - 0, 1994, 0, 0, 2007, 0, 0, 0, 0, 0, - 2012, 0, 0, 8357, 2013, 2015, 0, 9887, 9887, 8455, - 4468, 2018, 2192, 0, 0, 0, 0, 0, 0, 1970, - 0, 0, 2014, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 9887, - 0, 3125, 0, 1746, 2019, 0, 2267, 0, 134, 0, - -70, 0, -80, 0, -80, 0, 0, 2024, 0, 386, - 1643, 0, 0, 0, 2027, 198, 2020, 1520, 2034, 1811, - 1984, 2032, 0, 0, 1697, 0, 272, 1734, 0, 0, - 0, 0, 1236, 0, 1876, 1876, 1876, 1876, 0, 2040, - 0, 1807, 1808, 0, 0, 0, 1795, 0, 4270, 0, - 0, 4270, 1636, 0, 1529, 1834, 4468,11071, 0, 0, - 586, 0, 4468, 1057, 1126, 1704, 1673, 1645, 0, 0, - 0, 0, 725, 1727, 0, 1670, 474, 0, 1236, 0, - 1857, 0, 0, 1384, 0, 0, 0, 0, 230, 1691, - 0, 0, 0, 1693, 0, 1737, 2102, 0, 1800, 2104, - 576, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2056, 162, 0, 0, 0, 0, 205, - 2113, 2115, 2104, 1529, 0, 1838, 0, 1893, 0, 1236, - 1236, 0, 3132, 584, 0, 1775, 0, 1751, 2132, 0, - 6272, 786, 0, 1794, 1805, 2149, 5409, 2156, 0, 0, - 0, 5164, 9624, 556, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 9886, 0, 2084, 0, 1774, 2056, + 0, 2449, 0, 119, 0, 803, 0, 618, 0, 618, + 0, 0, 2057, 0, 145, 1676, 0, 0, 0, 2060, + 81, 2046, 1549, 2068, 1846, 1807, 2067, 0, 0, 1732, + 0, 170, 1764, 0, 0, 0, 0, 1317, 0, 1917, + 1917, 1917, 1917, 0, 2069, 0, 1838, 1839, 0, 0, + 0, 1819, 0, 4215, 0, 0, 4215, 1634, 0, 1454, + 1859, 4583,10924, 0, 0, 872, 0, 4583, 619, 1579, + 1733, 1698, 1681, 0, 0, 0, 0, 792, 1755, 0, + 1696, 380, 0, 1317, 0, 1879, 0, 0, 1488, 0, + 0, 0, 0, 130, 1710, 0, 0, 0, 1716, 0, + 1765, 2121, 0, 1818, 2125, -8, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2078, 148, + 0, 0, 0, 0, 150, 2130, 2131, 2125, 1454, 0, + 1855, 0, 1912, 0, 1317, 1317, 0, 3486, 58, 0, + 1795, 0, 1776, 2148, 0, 9622, 1372, 0, 1806, 1817, + 2160, 5356, 2165, 0, 0, 0, 5109, 3561, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1731, 1866, 4468, 0, 0, 4030, 1761, 0, 0, 1735, - 4432, 0, 1886, 0, 1753, 1380, 2166, 0, 1886, 4030, - 1888, 1891, 4468, 0, 845, 8685, 437, 4468, 9887, 926, - 1199, 1418, 2900, 9887, 5409, 3125, 1758, 777, 9887, 8685, - 1040, 1040, 1380, 2272, 2172, 0, 0, 8924, 4468, 9887, - 9887, 9887, 9887, 9887, 0, 9887, 1011, 2349, 632, 1762, - 8685, 4468, 0, 0, 0, 999, 0, 0, 537, 0, - 1767, 0, 0, 0, 4468, 806, 4468, 0, 0, 4468, - 4468, 0, 0, 8685, 1953, 3132, 0, 1714, 9887, 4468, - 1777, 1236, 1236, 0, -31, 1670, 1670, 1778, 474, 1053, - 0, 0, 2201, 0, 0, 0, 0, 1968, 0, 4468, - 0, 0, 0, 0, 0, 1979, 2217, 0, 1958, 1977, - 0, 0, 1915, 1923, 1109, 1995, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 474, 4468,11152, 1880, - 1890, 1894, 0, 474, 0, 1503, 0, 0, 1854, 0, - 114, 1861, 0, 0, 0, 474, 0, 2102, 104, 0, - 0, 0, 1987, 104, 1870, 104, 0, 2235, 474, 474, - 474, 0, 1520, 4468, 0, 1933, 0, 1757, 0, 0, - 0, 882, 1862, 4468, 1787, 136, 0, 0, 2256, 2029, - 0, 0, 0, 0, 193, 4468, 1892, 0, 1892, 4107, - 418, 9887, 9887, 6052, 2261, 1307, 6306, 9887, 6390, 1100, - 6644, 6898, 9007, 6982, 7236, 7490, 5409, 5409, 0, 0, - 0, 0, 0, 4468, 4468, 4468, 4468, 4468, 4468, 177, - 2262, 0, 0, 0, 4030, 1920, 0, -2, 1954, 4468, - 0, 601, 8685, 1954, 2268, 2262, 4030, 3450, 2009, 9887, - 9887, 2043, 9887, 2289, 9887, 2292, 2374, 9887, 9887, 9887, - 9887, 9887, 9887, 0, 0, 0, 0, 0, 0, 0, - 0, 2021, 1510, 462, 9887, 810, 8685, 0, 5409, 1901, - 3125, 0, 2294, 601, 0, 0, 0, 3125, 1814, 0, - 0, 2053, 1040, 1040, 1130, 1130, 0, 880, 0, 0, - 0, 0, 632, 2300, 2299, 1092, 0, 0, 5409, 2017, - 0, 0, 0, 0, 0, 0, 0, 0, 642, 0, - 0, 0, 0, 0, 1859, 1862, 0, 0, 0, 2311, - 1851, 0, 0, 0, 0, 1868, 0, 1876, 2095, 0, - -31, 0, 0, 0, 0, 0, 0, 0, 2322, 5409, - 1555, 0, 0, 2064, 0, 0, 0, 1555, 0, 0, - 0, 1109, 1109, 1867, 2325, 0, 0, 0, 0, 0, - -72, 381, 915, 0, 2105, 0, 0, 0, 4468, 78, - 1874, 1960, 1968, 2331, 0, 1670, 1884, 0, 0, 1319, - 0, 2317, 4468, 1325, 474, 2335, 2339, 2343, 2135, 584, - 2064, 1876, 1734, 3132, 0, 1727, 601, 1955, 1964, 0, - 607, 0, 474, 2026, 2098, 6272, 0, 0, 474, 1931, - 2109, 0, 0, 2370, 2373, 0, 2771, 3125, 2388, 0, - 0, 3125, 2390, 9237, 0, 0, 0, 2079, 2395, 3125, - 2396, 1879, 2399, 3125, 2400, 9887, 9887, 2261, 9887, 9335, - 2401, 3125, 2410, 2413, 3125, 2415, 9887, 3125, 2418, 3125, - 2420, 2425, 3125, 2427, 2428, 3125, 2429, 0, 2208, 0, - 0, 0, 0, 0, 0, 2144, 4030, 0, 4030, 177, - 2262, 0, 378, 378, 117, 0, 0, 7572, 0, 1909, - 0, 2268, 2262, 2432, 3450, 2473, 2596, 0, 2605, 0, - 2705, 9887, 0, 2763, 2884, 2918, 2957, 2965, 3017, 9887, - 474, 8685, 3125, 2038, 8685, 0, 9887, 0, 2171, 481, - 9887, 8685, 9887, 9887, 0, 0, 1092, 2439, 8685, 4468, - 632, 2096, 0, 2097, 2099, 2140, 2214, 2158, 0, 0, - 0, 2064, 0, 1955, 508, 0, 2068, 1236, 2106, 1670, - 2101, 1670, 0, 5409, 626, 0, 0, 0, 0, 0, - 0, 0, 2048, 2228, 2064, 0, 9887, 0, 2216, 2100, - 1867, 71, 0, 5409, 0, 0, 0, 2119, 2123, 2127, - 2133, 2137, 2141, 0, 0, 0, 0, 0, 2480, 78, - 0, 1778, 0, 0, 104, 0, 1555, 2150, 104, 0, - 104, 0, 1968, 2488, 0, 0, 0, 0, 882, 2228, - 1670, 0, 1734, 0, 0, 7572, 2254, 0, 552, 0, - 2311, 0, 2493, 0, 2498, 1236, 440, 2499, 0, 1236, - 0, 0, 9887, 2117, 2117, 1380, 2502, 1916, 0, 2117, - 2117, 9887, 2117, 2117, 3241, 3125, 0, 1945, 9887, 3125, - 2117, 2117, 2117, 2117, 3125, 2117, 2117, 2117, 2117, 2117, - 2117, 2159, 0, 0, 0, 0, 0, 0, 0, 2114, - 0, 0, 0, 0, 1746, 8685, 0, 3450, 2432, 0, - 0, 4270, 2514, 0, 0, 3085, 0, 0, 0, 0, - 0, 0, 3101, 372, 0, 8685, 2248, 2126, 0, 8685, - 3216, 1926, 0, 1798, 3125, 0, 1940, 0, 1092, 0, - 0, 0, 632, 4774, 5409, 2162, 2228, 0, 0, 0, - 0, 1876, 0, 0, 1236, 1503, 0, 0, 783, 0, - 0, 4468,10973, 0, 0, 3125, 2284, 2216, 0, 764, - 4468, 0, 2229, 814, 2125, 2227, 2128, 2270, 2234, 2273, - 2064, 0, 0, 2532, 0, 2535, 0, 2236, 2284, 2150, - 0, 0, 0, 0, 0, 0, 0, 0, 2064, 1727, - 0, 1503, 2105, 2266, 2202, 0, 1862, 0, 0, 0, - 2218, -92, 0, 1968, 2219, 3125, 2550, 2553, 601, 0, - 0, 2554, 2559, 3125, 2560, 2566, 9887, 9887, 3125, 2568, - 2571, 2573, 2574, 2575, 2576, 2577, 2580, 2581, 2582, 0, - 378, 1762, 0, 0, 0, 0, 0, 474, 0, 0, - 0, 8685, 0, 0, 8685, 0, 1762, 0, 1521, 0, - 2345, 0, 2586, 2583, 0, 0, 0, 0, 0, 0, - 556, 609, 0, 0, 0, 0, 1670, 0, 0, 0, - 0, 4270, 1472, -74, 2590, 352, 2593, 2295, 9887, 2594, - 2600, 2598, 2602, 2610, 2611, 2305, 2617, 0, 0, 0, - 2347,10024, 2619, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2638, 4468, 0, 0, - 2333, 2348, 4468, 1867, 0, 0, 1109, 4468, 0, 0, - 0, 0, 0, 0, 0, 2228, 0, 0, 0, 0, - 0, 2228, 0, 0, 0, 0, 811, 1762, 0, 0, - 9887, 1236, 0, 0, 0, 1236, 0, 0, 9887, 0, - 0, 0, 0, 3125, 3125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2017, 2642, 0, 0, - 2017, 5409, 4468, 975, 4774, 0, 0, 2320, 0, 2649, - 0, 0, 0, 171, 0, 9574, 4468, 0, 0, 9887, - 0, 542, 2351, 5409, 2561, 0, 5409, 0, 0, 0, - 0, 1226, 0, 0, 1058, 0, 2244, 0, 0, 0, - 0, 0, 1867, 1109, 0, 2313, 0, 0, 0, 0, - 2105, 0, 811, 2653, 1092, 0, 0, 2017, 3125, 0, - 0, 1798, 2158, 0, 2158, 556, 0, 0, 0, 3539, - 1555, 0, 2639, 0, 2899, 9804, 1764, 9887, 1226, 827, - 9887, 2641, 851, 1204, 0, 0, 0, 4468, 4468, 78, - 190, 0, 0, 0, 2313, 458, 1867, 2318, 2319, 0, - 0, 1092, 2662, 811, 2362, 2158, 2666, 1762, 2162, 2162, - 4468, 0, 2667, 2668, 1330, 0, 0, 0, 7814, 2301, - 2670, 1226, 0, 1782, 229, 2280, 3125, 0, 2412, 0, - 1226, 0, 0, 0, 0,10973, 1058, 1867, 797, 797, - 0, 2416, 0, 2276, 0, 0, 0, 1092, 811, 0, - 0, 2017, 2332, 2332, 0, 0, 3539, 2681, 0, 4468, - 0, 2272, 1950, 382, 2665, 1609, 1226, 2435, 2421,10973, -10973, 0, 0, 0, 0, 0, 2269, 34, 0, 0, - 0, 1810, 2158, 0, 0, 0, 4468, 0, 0, 1226, - 2685, 0, 0, 196, 4468,10973, 2431, 0, 0, 0, - 0, 5409, 2162, 2690, 2695, 1952,10973, 0, 0,10973, - 556, 2332, 4468, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1677, 1176, 4583, 0, 0, + 4550, 1775, 0, 0, 1757, 4467, 0, 1906, 0, 1739, + 1354, 2184, 0, 1906, 4550, 1905, 1907, 4583, 0, 944, + 8754, 169, 4583, 9886, 988, 1019, 1165, 3715, 9886, 5356, + 2084, 1778, 655, 9886, 8754, 807, 807, 1354, 1753, 2185, + 0, 0, 8818, 4583, 9886, 9886, 9886, 9886, 9886, 0, + 9886, 445, 2138, 990, 1779, 8754, 4583, 0, 0, 0, + 1053, 0, 0, -37, 0, 1785, 0, 0, 0, 4583, + 1191, 4583, 0, 0, 4583, 4583, 0, 0, 8754, 1972, + 3486, 0, 1745, 9886, 4583, 1794, 1317, 1317, 0, 507, + 1696, 1696, 1798, 380, 1156, 0, 0, 2217, 0, 0, + 0, 0, 1982, 0, 4583, 0, 0, 0, 0, 0, + 1994, 2229, 0, 1975, 1992, 0, 0, 1936, 1940, 1016, + 2005, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 380, 4583,11013, 1899, 1901, 1903, 0, 380, 0, + 1500, 0, 0, 1874, 0, 70, 1877, 0, 0, 0, + 380, 0, 2121, 100, 0, 0, 0, 1995, 100, 1878, + 100, 0, 2259, 380, 380, 380, 0, 1549, 4583, 0, + 1950, 0, 1769, 0, 0, 0, 1100, 1887, 4583, 1816, + 127, 0, 0, 2269, 2040, 0, 0, 0, 0, 191, + 4583, 1895, 0, 1895, 4052, 121, 9886, 9886, 6051, 2275, + -7, 6298, 9886, 6545, 1245, 6630, 6877, 9058, 7124, 7209, + 7456, 5356, 5356, 0, 0, 0, 0, 0, 4583, 4583, + 4583, 4583, 4583, 4583, 162, 2272, 0, 0, 0, 4550, + 1932, 0, 26, 1954, 4583, 0, 65, 8754, 1954, 2278, + 2272, 4550, 3858, 2006, 9886, 9886, 2061, 9886, 2286, 9886, + 2287, 2318, 9886, 9886, 9886, 9886, 9886, 9886, 0, 0, + 0, 0, 0, 0, 0, 0, 2013, 1220, 676, 9886, + 845, 8754, 0, 5356, 2196, 2084, 0, 2290, 65, 0, + 0, 0, 2084, 1824, 0, 0, 2062, 807, 807, 1313, + 1313, 0, 1077, 0, 0, 0, 0, 990, 2296, 2293, + 1285, 0, 0, 5356, 2016, 0, 0, 0, 0, 0, + 0, 0, 0, 321, 0, 0, 0, 0, 0, 1835, + 1887, 0, 0, 0, 2299, 1849, 0, 0, 0, 0, + 1842, 0, 1917, 2085, 0, 507, 0, 0, 0, 0, + 0, 0, 0, 2312, 5356, 2568, 0, 0, 2059, 0, + 0, 0, 2568, 0, 0, 0, 1016, 1016, 1854, 2327, + 0, 0, 0, 0, 0, 405, 689, 1085, 0, 2106, + 0, 0, 0, 4583, 83, 1880, 1949, 1982, 2331, 0, + 1696, 1891, 0, 0, 1114, 0, 2316, 4583, 1132, 380, + 2334, 2335, 2336, 2115, 58, 2059, 1917, 1764, 3486, 0, + 1755, 65, 1927, 1944, 0, 815, 0, 380, 1991, 2089, + 9622, 0, 0, 380, 1911, 2092, 0, 0, 2356, 2363, + 0, 2473, 2084, 2371, 0, 0, 2084, 2372, 9288, 0, + 0, 0, 2063, 2376, 2084, 2379, 1875, 2388, 2084, 2393, + 9886, 9886, 2275, 9886, 9352, 2394, 2084, 2395, 2397, 2084, + 2401, 9886, 2084, 2402, 2084, 2404, 2414, 2084, 2415, 2416, + 2084, 2423, 0, 2151, 0, 0, 0, 0, 0, 0, + 2137, 4550, 0, 4550, 162, 2272, 0, 219, 219, 94, + 0, 0, 7686, 0, 1935, 0, 2278, 2272, 2421, 3858, + 2384, 2444, 0, 2451, 0, 2785, 9886, 0, 2962, 3320, + 3474, 3518, 3528, 3537, 9886, 380, 8754, 2084, 2032, 8754, + 0, 9886, 0, 2158, 783, 9886, 8754, 9886, 9886, 0, + 0, 1285, 2433, 8754, 4583, 990, 2100, 0, 2102, 2107, + 2154, 2206, 2168, 0, 0, 0, 2059, 0, 1927, -163, + 0, 2080, 1317, 2110, 1696, 2112, 1696, 0, 5356, 611, + 0, 0, 0, 0, 0, 0, 0, 2064, 2235, 2059, + 0, 9886, 0, 2220, 2105, 1854, 1043, 0, 5356, 0, + 0, 0, 2123, 2127, 2133, 2135, 2136, 2144, 0, 0, + 0, 0, 0, 2476, 83, 0, 1798, 0, 0, 100, + 0, 2568, 2155, 100, 0, 100, 0, 1982, 2491, 0, + 0, 0, 0, 1100, 2235, 1696, 0, 1764, 0, 0, + 7686, 2256, 0, 477, 0, 2299, 0, 2495, 0, 2497, + 1317, 43, 2498, 0, 1317, 0, 0, 9886, 2119, 2119, + 1354, 2499, 1939, 0, 2119, 2119, 9886, 2119, 2119, 2591, + 2084, 0, 1909, 9886, 2084, 2119, 2119, 2119, 2119, 2084, + 2119, 2119, 2119, 2119, 2119, 2119, 2161, 0, 0, 0, + 0, 0, 0, 0, 2111, 0, 0, 0, 0, 1774, + 8754, 0, 3858, 2421, 0, 0, 4215, 2508, 0, 0, + 3637, 0, 0, 0, 0, 0, 0, 3811, 141, 0, + 8754, 2242, 2116, 0, 8754, 3885, 1941, 0, 1479, 2084, + 0, 1948, 0, 1285, 0, 0, 0, 990, 5303, 5356, + 2156, 2235, 0, 0, 0, 0, 1917, 0, 0, 1317, + 1500, 0, 0, 631, 0, 0, 4583,10804, 0, 0, + 2084, 2274, 2220, 0, 1158, 4583, 0, 2218, 656, 2114, + 2222, 2120, 2260, 2226, 2264, 2059, 0, 0, 2526, 0, + 2527, 0, 2219, 2274, 2155, 0, 0, 0, 0, 0, + 0, 0, 0, 2059, 1755, 0, 1500, 2106, 2249, 2189, + 0, 1887, 0, 0, 0, 2205, 353, 0, 1982, 2210, + 2084, 2541, 2542, 65, 0, 0, 2545, 2551, 2084, 2553, + 2554, 9886, 9886, 2084, 2559, 2560, 2561, 2563, 2564, 2565, + 2567, 2569, 2573, 2575, 0, 219, 1779, 0, 0, 0, + 0, 0, 380, 0, 0, 0, 8754, 0, 0, 8754, + 0, 1779, 0, 1241, 0, 2337, 0, 2572, 2581, 0, + 0, 0, 0, 0, 0, 15, -59, 0, 0, 0, + 0, 1696, 0, 0, 0, 0, 4215, 2088, 999, 2570, + 35, 2590, 2291, 9886, 2578, 2599, 2583, 2585, 2586, 2587, + 2300, 2589, 0, 0, 0, 2342,10726, 2600, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2620, 4583, 0, 0, 2310, 2319, 4583, 1854, 0, + 0, 1016, 4583, 0, 0, 0, 0, 0, 0, 0, + 2235, 0, 0, 0, 0, 0, 2235, 0, 0, 0, + 0, 1326, 1779, 0, 0, 9886, 1317, 0, 0, 0, + 1317, 0, 0, 9886, 0, 0, 0, 0, 2084, 2084, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2016, 2625, 0, 0, 2016, 5356, 4583, 1200, 5303, + 0, 0, 2304, 0, 2634, 0, 0, 0, 167, 0, + 9592, 4583, 0, 0, 9886, 0, 569, 2343, 5356, 2579, + 0, 5356, 0, 0, 0, 0, 1498, 0, 0, 534, + 0, 2225, 0, 0, 0, 0, 0, 1854, 1016, 0, + 2294, 0, 0, 0, 0, 2106, 0, 1326, 2637, 1285, + 0, 0, 2016, 2084, 0, 0, 1479, 2168, 0, 2168, + 15, 0, 0, 0, 3566, 2568, 0, 2626, 0, 2859, + 9656, 1799, 9886, 1498, 704, 9886, 2632, 740, 1378, 0, + 0, 0, 4583, 4583, 83, 226, 0, 0, 0, 2294, + 724, 1854, 2301, 2309, 0, 0, 1285, 2652, 1326, 2351, + 2168, 2654, 1779, 2156, 2156, 4583, 0, 2655, 2656, 1091, + 0, 0, 0, 7784, 2289, 2657, 1498, 0, 1711, 179, + 2267, 2084, 0, 2399, 0, 1498, 0, 0, 0, 0, +10804, 534, 1854, 374, 374, 0, 2407, 0, 2263, 0, + 0, 0, 1285, 1326, 0, 0, 2016, 2323, 2323, 0, + 0, 3566, 2671, 0, 4583, 0, 1753, 2000, 1082, 2659, + 1701, 1498, 2426, 2412,10804,10804, 0, 0, 0, 0, + 0, 2258, 574, 0, 0, 0, 1847, 2168, 0, 0, + 0, 4583, 0, 0, 1498, 2684, 0, 0, 588, 4583, +10804, 2425, 0, 0, 0, 0, 5356, 2156, 2693, 2697, + 2002,10804, 0, 0,10804, 15, 2323, 4583, 0, 0, + 0, 0, 0, 0, }; static short yyrindex[] = { 0, - 0, 202, 994, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 161, 5714, 0, 0, 0, 0, 0, 2739, + 0, 215, 1001, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 115, 5695, 0, 0, 0, 0, 0, 0, + 2739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 431, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1052, 0, 0, + 356, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2403, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2404, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2358, 0, 0, + 0, 248, 0, 248, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2361, 0, 0, 0, 141, 0, - 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2366, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1163, 0, 0, 8044, 5798, 0, 0, 0, 1196, 0, - 0, 0, 1919, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 415, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -29, 0, 0, - 0, 0, 664, 0, 0, 1297, 0, 0, 0, 0, - 0, 1817, 0, 5130, 0, 0, 0, 0, 0, 0, - 0, 0, -29, 0, 35, 0, 0, 2711, 0, 0, - 0, 2490, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1302, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1315, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1077, 0, 0, 0, 0, 0, 0, 0, 4830, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 279, 0, 0, 1327, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -29, 0, 2711, 0, 2490, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1338, 0, - 2477, 0, 0, 0, 0, 1345, 0, 0, 0, 0, - 0, 2496, 36, 9069, 0, 1378, 0, 0, 0, 0, - 417, 0, 0, 0, 2307, 2307, 0, 0, 0, 1414, - 2212, 0, 0, 0, 0, 0, 0, 0, 2496, 0, - 0, 1440, 0, 0, 0, 0, 0, 0, 0, 4761, - 2384, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1450, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1456, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1468, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1792, 0, 0, 0, 0, 0, 0, - 2402, 0, 0, 0, 2537, 2893, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3028, - 0, 2046, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 457, 0, 0, 2443, 0, 317, 0, 0, 0, - 0, 0, 343, 0, 343, 0, 0, 414, 0, 589, - 1184, 0, 0, 0, 0, 1302, 0, 2496, 0, 0, - 110, 762, 0, 0, 132, 0, 3208, 200, 0, 0, - 0, 0, 0, 0, 2307, 2307, 2307, 2307, 0, 294, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2512, 0, 0, 0, 0, 0, - 2477, 0, 0, 951, 0, 2316, 0, 0, 691, 0, - 0, 0, 0, 231, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1492, 0, 0, 0, 0, 1942, 930, - 0, 0, 0, 5283, 0, 0, 4755, 0, 0, 5525, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3054, 3358, 0, 0, 0, 0, 5670, - 1499, 0, 5525, -29, 0, 0, 0, 0, 0, 0, - 0, 0, 36, 1300, 0, 0, 0, 0, 2372, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 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, 0, 155, 0, 0, 5714, 0, 0, 155, 0, - 0, 0, 0, 0,10117, 0,10117, 0, 0,10117, -10117,10117, 0, 0, 0, 2326, 0, 0, 0, 0, - 4010, 4366, 8127, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 798, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 720, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 36, 0, 1598, 0, 0, - 432, 0, 0, 0, 3246, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 502, 0, 0, - 0, 0, 0, 0, 0, 2747, 0, 0, 799, 1719, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 596, - 686, 754, 0, 0, 0, 2263, 0, 0, 0, 0, - 0, 2224, 0, 0, 0, 0, 0, 4755, 0, 0, - 0, 0, 251, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2496, 0, 0, 345, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 6864, 0, 0, 0, 265, - 0, 0, 0, 0, 2481, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1506, - 1507, 0, 0, 0, 0, 0, 0, 0, 1534, 0, - 0, 8044, 0, 1534, 1535, 1537, 0, 0, 0, 0, + 0, 0, 0, 864, 0, 0, 8023, 5954, 0, 0, + 0, 919, 0, 0, 0, 2584, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 398, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 337, 0, 0,10117, 0, 0, 0, 1666, 0, 0, - 0, 3384, 4501, 4857, 3519, 3875, 0, 0, 0, 0, - 0, 0, 0, 939, 2344, 1864, 0, 0, 0, 894, + 0, -12, 0, 0, 0, 0, 440, 0, 0, 1194, + 0, 0, 0, 0, 0, 1172, 0, 6294, 0, 0, + 0, 0, 0, 0, 0, 0, -12, 0, -30, 0, + 0, 2705, 0, 0, 0, 2484, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1243, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 163, - 0, 0, 0, 0, 0, 0, 0, 2307, 2334, 0, - 3439, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2520, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1309, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1538, 0, 0, 0, 0, 0, - 0, 0, 2393, 0, 0, 0, 0, 0, 0, 0, - 0, 1361, 0, 0, 0, 0, 0, 0, 0, 1300, - 2520, 2307, 1574, 36, 0, 2530, 8044, 1579, 166, 0, - 0, 0, 0, 6864, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3774, 0, 0, - 0, 4265, 0, 0, 0, 0, 0, 0, 0, 6002, - 0, 6387, 0, 6979, 0, 0, 0, 0, 0, 0, - 0, 7506, 0, 0, 9004, 0, 0,10102, 0,10319, - 0, 0,10403, 0, 0,10409, 0, 0, 8675, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1506, - 1602, 0, 2359, 212, 0, 0, 0, 0, 0, 0, - 0, 1610, 1615, 1617, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1321, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1198, 0, 0, 0, 0, + 0, 0, 0, 4717, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2368, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2454, 1689, 0, 2779, - 0, 2464, 0, 2476, 2478, 0, 0, 130, 0, 0, - 0, 2520, 0, 1579, 0, 0, 3453, 0, 0, 0, - 2369, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4879, 0, 2555, 0, 0, 0, 127, 0, - 1309, 2404, 0, 0, 0, 0, 0, 902, 963, 978, - 992, 1009, 1064, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 795, 0, 0, - 0, 0, 3296, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1637, 0, 0, 0, 0, 0, 0, 0, - 1641, 0, 0, 0, 0, 0, 146, 0, 0, 0, - 0, 0, 0, 0, 0, 8127, 0, 0, 0, 0, - 0, 0, 0, 0, 0,10432, 0,10552, 0,10585, - 0, 0, 0, 0,10648, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 171, 0, 0, 1330, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -12, 0, + 2705, 0, 2484, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1335, 0, 2474, 0, 0, 0, 0, + 1348, 0, 0, 0, 0, 0, 2492, 738, 8434, 0, + 1357, 0, 0, 0, 0, 390, 0, 0, 0, 2303, + 2303, 0, 0, 0, 1361, 1301, 0, 0, 0, 0, + 0, 0, 0, 2492, 0, 0, 1442, 0, 0, 0, + 0, 0, 0, 0, 9318, 2374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1683, 0, + 0, 0, 0, 0, 0, 1377, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1395, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1456, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1762, 0, + 0, 0, 0, 0, 0, 2347, 0, 0, 0, 2482, + 2838, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 2973, 0, 1970, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 407, 0, 0, 2445, + 0, 176, 0, 0, 0, 0, 0, 749, 0, 749, + 0, 0, 635, 0, 647, 739, 0, 0, 0, 0, + 1243, 0, 2492, 0, 0, 124, 1141, 0, 0, 155, + 0, 2341, 387, 0, 0, 0, 0, 0, 0, 2303, + 2303, 2303, 2303, 0, 438, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2500, + 0, 0, 0, 0, 0, 2474, 0, 0, 1073, 0, + 2298, 0, 0, -108, 0, 0, 0, 0, 216, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1464, 0, + 0, 0, 0, 1134, 932, 0, 0, 0, 5228, 0, + 0, 5472, 0, 0, 5615, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1341, 1866, + 0, 0, 0, 0, 5627, 4700, 0, 5615, -12, 0, + 0, 0, 0, 0, 0, 0, 0, 738, 1380, 0, + 0, 0, 0, 2355, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1707, 0, 0, 0, 2070, 0, - 0, 0, 0, 0, 0, 387, 0, 0, 0, 0, - 0, 2307, 0, 0, 0, 2962, 0, 0, 0, 0, - 0, 0, 2516, 0, 0, 2787, 1599, 1489, 0, 2477, + 0, 0, 0, 0, 0, 0, 0, 276, 0, 0, + 5695, 0, 0, 276, 0, 0, 0, 0, 0, 9969, + 0, 9969, 0, 0, 9969, 9969, 9969, 0, 0, 0, + 2320, 0, 0, 0, 0, 3955, 4311, 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2520, 0, 0, 0, 0, 0, 0, 0, 1694, 940, - 0, 0, 0, 0, 0, 0, 0, 0, 2520, 2530, - 0, 350, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 448, 0,10698, 0, 0,10117, 0, - 0, 0, 0,10830, 0, 0, 0, 0,10841, 0, + 0, 0, 0, 0, 1129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 212, 1160, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1049, 0, 2454, 0, - 1295, 0, 0, 1015, 0, 0, 0, 0, 0, 0, - 219, 2790, 0, 0, 0, 0, 0, 0, 0, 0, + 415, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 738, 0, 1069, 0, 0, 418, 0, 0, 0, 3191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1642, 1728, 0, 0, 0, 0, 0, 0, 0, - 0, 2524, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 940, 0, 0, 0, 0, 0, 0, 0, + 2729, 0, 0, 974, 2373, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1743, 0, 0, 101, 0, 0, 0, + 0, 0, 0, 0, 465, 701, 767, 0, 0, 0, + 2907, 0, 0, 0, 0, 0, 1161, 0, 0, 0, + 0, 0, 5472, 0, 0, 0, 0, 933, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2492, 0, 0, + 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, +11101, 0, 0, 0, 246, 0, 0, 0, 0, 2463, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0,10864,10999, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1264, 0, 0, 0, - 769, 0, 0, 0, 0, 0, 0, 2793, 0, 0, - 0, 0, 0, 2776, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2777, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2539, 0, 0, 0, - 0, 0, 1743, 140, 0, 129, 0, 0, 0, 0, - 0, 0, 0, 223, 594, 0, 0, 150, 2787, 0, - 0, 0, 305, 0, 282, 3270, 0, 0, 0, 2790, - 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 157, 0, 1309, 167, 466, 0, - 0, 2454, 1842, 0, 0, 182, 0, 1049, 308, 121, - 1335, 0, 0, 2799, 0, 0, 0, 0, 0, 2784, - 217, 0, 0, 0, 2545, 0, 2791, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1743, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, - 0, 769, 955, 2810, 0, 0, 2790, 0, 0, 0, - 0, 2808, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1518, 1546, 0, 0, 0, 0, + 0, 0, 0, 1557, 0, 0, 8023, 0, 1557, 1559, + 1596, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2454, 282, 0, 0, 0, 0, 0, 0, 0, - 2800, 0, 0, 0, 0, 0, 8264, 0, 0, 0, - 0, 0, 121, 2819, 0, 0, 0, 0, 0, 0, - 852, 2810, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 962, 0, 0, 9969, 0, + 0, 0, 1349, 0, 0, 0, 3329, 4446, 4802, 3464, + 3820, 0, 0, 0, 0, 0, 0, 0, 784, 1797, + 1588, 0, 0, 0, 571, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 166, 0, 0, 0, 0, 0, + 0, 0, 2303, 2317, 0, 3398, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 2503, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1730, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1608, + 0, 0, 0, 0, 0, 0, 0, 2279, 0, 0, + 0, 0, 0, 0, 0, 0, 1189, 0, 0, 0, + 0, 0, 0, 0, 1380, 2503, 2303, 1613, 738, 0, + 2513, 8023, 1626, 153, 0, 0, 0, 0,11101, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1622, 0, 0, 0, 3719, 0, 0, 0, + 0, 0, 0, 0, 4210, 0, 6295, 0, 7422, 0, + 0, 0, 0, 0, 0, 0, 7662, 0, 0, 7973, + 0, 0, 8834, 0, 9034, 0, 0,10163, 0, 0, +10174, 0, 0, 2118, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1518, 1627, 0, 2345, 350, 0, + 0, 0, 0, 0, 0, 0, 1665, 1673, 1684, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 2344, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2435, 1869, 0, 3215, 0, 2440, 0, 2442, 2443, + 0, 0, 135, 0, 0, 0, 2503, 0, 1626, 0, + 0, 3866, 0, 0, 0, 2330, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 4775, 0, 2521, + 0, 0, 0, 3088, 0, 1730, 2403, 0, 0, 0, + 0, 0, 799, 806, 831, 898, 901, 928, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 980, 0, 0, 0, 0, 2999, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1687, 0, 0, + 0, 0, 0, 0, 0, 1693, 0, 0, 0, 0, + 0, 132, 0, 0, 0, 0, 0, 0, 0, 0, + 8175, 0, 0, 0, 0, 0, 0, 0, 0, 0, +10237, 0,10257, 0,10320, 0, 0, 0, 0,10365, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1713, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1740, + 0, 0, 0, 3116, 0, 0, 0, 0, 0, 0, + 535, 0, 0, 0, 0, 0, 2303, 0, 0, 0, + 2039, 0, 0, 0, 0, 0, 0, 2487, 0, 0, + 2755, 1867, 3490, 0, 2474, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 2503, 0, 0, 0, 0, + 0, 0, 0, 1714, 1064, 0, 0, 0, 0, 0, + 0, 0, 0, 2503, 2513, 0, 313, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 152, 0, +10466, 0, 0, 9969, 0, 0, 0, 0,10530, 0, + 0, 0, 0,10593, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 350, 1101, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 657, 0, 2435, 0, 473, 0, 0, 1009, 0, + 0, 0, 0, 0, 0, 160, 2757, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 1486, 1731, 0, 0, + 0, 0, 0, 0, 0, 0, 2496, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 3039, 0, + 0, 136, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 238, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0,10673,10694, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 969, 0, 0, 0, 138, 0, 0, 0, 0, + 0, 0, 2765, 0, 0, 0, 0, 0, 2749, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 2752, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2504, 0, 0, 0, 0, 0, 3039, 347, 0, + 143, 0, 0, 0, 0, 0, 0, 0, 234, 229, + 0, 0, 159, 2755, 0, 0, 0, 295, 0, 687, + 3690, 0, 0, 0, 2757, 0, 0, 0, 0, 0, + 126, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 378, + 0, 1730, 386, 564, 0, 0, 2435, 1965, 0, 0, + 133, 0, 657, 376, 259, 1309, 0, 0, 2775, 0, + 0, 0, 0, 0, 2759, 243, 0, 0, 0, 2515, + 0, 2761, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 3039, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 255, 0, 0, 0, 138, 1312, 2780, 0, + 0, 2757, 0, 0, 0, 0, 2787, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2435, 687, 0, 0, + 0, 0, 0, 0, 0, 2770, 0, 0, 0, 0, + 0,10753, 0, 0, 0, 0, 0, 259, 2783, 0, + 0, 0, 0, 0, 0, 2750, 2780, 0, 0, 0, + 0, 0, 0, 0, }; static short yygindex[] = { 0, - 0, 0, 0, 0, 0, 0, 2864, 0, 0, 2866, - 0, 0, 0, 0, 0, 0, 0, 4, 0, 2867, - 2, 260, 21, -556, 1729, 280, -208, -45, 2859, 2606, - 0, -28, 0, 2614, -91, -40, 0, 631, -403, 22, - -25, 14, -188, 2616, 2211, 0, 0, 0, 1498, 0, - 0, -36, 1803, -534, -1, -868, 2257, 2036, -288, 1812, - 2803, -277, 0, -53, 0, -462, -50, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 2833, 0, 0, 2834, + 0, 0, 0, 0, 0, 0, 10, 0, 2835, 2, + 300, 14, -531, 1695, 337, -187, 256, 2831, 2574, 0, + -28, 0, 2593, -96, -40, 0, 73, -330, -3, -57, + -22, -139, 2588, 2178, 0, 0, 0, 1525, 0, 0, + -36, 1786, -536, -2, -813, 2234, 2020, -297, 1791, 2786, + -280, 0, -60, 0, -478, -53, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -572, -96, 1818, -296, 709, -927, - 0, 0, 0, 0, -332, -117, -239, 1825, -328, -49, - 0, -516, 0, 0, 1476, -962, 0, 1480, 0, 0, - 2585, -609, 6, 0, 0, 0, 0, 2547, 0, 2337, - 2592, -211, 1869, -659, 0, 0, 0, -694, 0, 0, - 0, 0, 0, 0, 1911, 0, 2607, 2173, 1881, 2588, - 2595, 0, 1306, 0, -508, 2152, -35, -608,-1228, 0, - 0, -20, -916, -913, -900, -233, -898, 0, 1545, -936, - 0, 1243,-1138, 1549, 0, 2398, 0, 0, 0, 1247, - 1249, 1214, 180, -251, -261, -375, 0, 0, 2197, 0, - 1744, 0, 0, -548, 0, 0, 0, 0, -193, 0, + 0, 0, 0, -550, -1, 1801, -298, 1021, -913, 0, + 0, 0, 0, -333, -121,-1067, 1820, -335, -50, 0, + -518, 0, 0, 1450, -984, 0, 1461, 0, 0, 2549, + -539, -6, 0, 0, 0, 0, 2531, 0, 2311, 2582, + -219, 1831, -690, 0, 0, 0, -705, 0, 0, 0, + 0, 0, 0, 1888, 0, 2597, 2142, 1827, 2576, 2592, + 0, 1281, 0, -513, 2128, -35, -631, -718, 0, 0, + -85, -929, -921, -911, -233, -907, 0, 1520, -991, 0, + 1206,-1138, 1521, 0, 2366, 0, 0, 0, 1207, 1212, + 1173, 105, -254, -135, -801, 0, 0, 2157, 0, 1705, + 0, 0, 274, 0, 0, 0, 0, -154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1336, -553, 0, 0, 785, 0,-1126, - 836, 1165, 1324, 0, 1227, 0, 0, 2587, -112, 1990, - 1774, 1601, 0,-1025, -803, -816, 0, -487, -267,-1374, - 0, -397, 1318, 346, -167, -465, -698, -910,-1209, 0, - 0, 1, 0, 0, 0, 0, 0, 2644, 0, 0, - 0, 0, 2657, 2437, 0, 0, 0, 0, 0, -9, - 2674, 0, 0, 0, 0, -15, 0, 0, 0, -319, - 2161, -304, 1736, -422, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2381, 0, 0, 2178, 0, 0, 0, - 2591, 2990, 0, 0, 0, 0, 0, 2720, 0, 0, - 0, 0, 2522, 0, 2510, 0, 0, 0, 2282, 0, - 0, 0, -370, 0, 598, 0, 2274, 0, 0, 0, - 0, 0, 0, -557, -970, -712, 807, -150, 1478, 0, - 2880, 1178, 0, 2298, -618, 2302, 0, -766, 2059, 0, - 0, -125, -670, 0, 1415,-1164, 0,-1159,-1135,-1094, - 1532, 0, 1268, 0, 1310, 0, 1218, 0, 0, 0, - 0, 2541, 0, 0, 0, -309, 2371, 2145, -939, 0, - 0, 0, -678, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2762, 1080, 1944, 0, -468, - 0, 0, 0, -238, 0, 2676, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -115, 1878, 0, 0, + 0, 0, 1300, -14, 0, 0, 240, 0,-1123, -511, + 1130, 1292, 0, 1193, 0, 0, 2555, -112, 1956, 1744, + 1572, 0, -988, -848, -881, 0, -494, -687, -390, 0, + -580, 1288, 1098, -638, -523, -734, -925, -749, 0, 0, + 1, 0, 0, 0, 0, 0, 2616, 0, 0, 0, + 0, 2629, 2405, 0, 0, 0, 0, 0, -9, 2638, + 0, 0, 0, 0, -15, 0, 0, 0, -340, 2132, + -327, 1697, -451, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 2346, 0, 0, 2145, 0, 0, 0, 0, + 0, 0, 54, 2956, 0, 0, 0, 0, 0, 2672, + 0, 0, 0, 0, 2480, 0, 2477, 0, 0, 0, + 2238, 0, 0, 0, -951, 0, 93, 0, 2232, 0, + 0, 0, 0, 0, 0, -611, -974, -923, 681, -129, + 1532, 0, 2841, 1277, 0, 2262, -622, 2265, 0, -839, + 2021, 0, 0, -134, -683, 0, 1373,-1176, 0,-1131, +-1122,-1118, 1487, 0, 1224, 0, 1274, 0, 1178, 0, + 0, 0, 0, 2490, 0, 0, 0, -352, 2324, 2101, + -971, 0, 0, 0, -680, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3177, 1571, 1900, + 0, -572, 0, 0, 0, -243, 0, 2622, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -32, 1837, + 0, 0, }; -#define YYTABLESIZE 11660 -static short yytable[] = { 121, - 143, 185, 121, 37, 76, 75, 142, 208, 148, 255, - 204, 393, 188, 567, 274, 277, 389, 304, 742, 275, - 278, 572, 200, 213, 205, 191, 537, 858, 239, 943, - 766, 778, 861, 769, 604, 243, 539, 218, 961, 780, - 182, 184, 187, 190, 142, 195, 244, 483, 748, 605, - 206, 184, 211, 250, 190, 1228, 142, 195, 997, 224, - 121, 981, 1367, 215, 143, 248, 728, 912, 235, 403, - 142, 237, 184, 246, 235, 211, 187, 190, 403, 142, - 195, 224, 121, 225, 190, 934, 245, 261, 220, 263, - 242, 1229, 1402, 634, 1218, 262, 851, 1219, 1148, 674, - 756, 1218, 1237, 305, 1219, 249, 529, 618, 504, 628, - 1220, 247, 1222, 206, 142, 206, 307, 1220, 902, 1222, - 309, 1258, 74, 905, 479, 983, 230, 211, 257, 703, - 366, 636, 705, 303, 190, 142, 224, 392, 986, 756, - 1183, 756, 285, 1066, 756, 944, 328, 393, 1046, 691, - 628, 1041, 389, 628, 747, 1275, 257, 1040, 842, 756, - 574, 707, 635, 259, 1014, 363, 253, 230, 628, 257, - 230, 355, 257, 1021, 1253, 1074, 505, 990, 726, 273, - 756, 703, 272, 756, 756, 230, 90, 257, 703, 754, - 636, 705, 756, 757, 758, 759, 1187, 257, 756, 475, - 257, 574, 671, 329, 1331, 273, 681, 253, 691, 1496, - 253, 530, 669, 747, 1498, 257, 396, 510, 702, 574, - 1137, 635, 368, 1576, 363, 253, 1061, 399, 604, 388, - 405, 1681, 970, 1747, 269, 490, 399, 74, 1499, 1741, - 703, 741, 206, 605, 829, 572, 142, 958, 405, 121, - 136, 259, 826, 1438, 786, 142, 745, 405, 475, 702, - 574, 497, 1583, 1276, 276, 1238, 503, 1128, 1129, 811, - 530, 127, 1741, 392, 74, 327, 187, 702, 597, 1500, - 142, 368, 316, 505, 1149, 414, 151, 273, 538, 405, - 1028, 128, 1400, 477, 1417, 541, 731, 205, 1719, 554, - 1720, 812, 556, 823, 703, 86, 57, 707, 86, 136, - 568, 753, 570, 242, 206, 614, 626, 1143, 1412, 1651, - 123, 206, 703, 206, 998, 206, 622, 1627, 559, 1180, - 317, 1335, 80, 1810, 729, 227, 624, 597, 1140, 152, - 1218, 1760, 602, 1219, 126, 703, 190, 195, 707, 196, - 1152, 1154, 477, 291, 242, 142, 1220, 187, 1222, 668, - 661, 141, 94, 703, 1472, 388, 707, 732, 665, 1239, - 1628, 76, 228, 503, 668, 1202, 150, 678, 616, 673, - 678, 269, 196, 679, 1677, 1811, 707, 142, 399, 268, - 190, 405, 359, 1487, 1427, 678, 1047, 999, 142, 1584, - 1215, 602, 142, 126, 242, 190, 230, 142, 196, 269, - 148, 1580, 1479, 603, 634, 1655, 483, 756, 1813, 756, - 1236, 1800, 74, 393, 1369, 236, 756, 628, 881, 737, - 622, 638, 1629, 1144, 257, 242, 257, 682, 825, 451, - 273, 707, 318, 257, 253, 707, 253, 703, 806, 628, - 1496, 1711, 483, 253, 90, 1498, 741, 475, 1086, 1434, - 705, 1400, 1511, 705, 1009, 254, 1546, 1011, 1547, 703, - 1018, 636, 603, 634, 909, 483, 242, 723, 914, 1499, - 691, 1017, 403, 756, 508, 1332, 755, 483, 532, 622, - 638, 532, 1778, 1746, 405, 123, 123, 741, 1281, 1817, - 741, 532, 635, 1574, 242, 475, 254, 707, 1035, 254, - 483, 1363, 782, 1384, 1704, 741, 703, 756, 1363, 1573, - 1500, 747, 756, 756, 254, 703, 242, 267, 136, 1073, - 136, 1606, 808, 242, 257, 73, 702, 775, 206, 756, - 752, 851, 532, 775, 253, 532, 756, 982, 1008, 882, - 368, 477, 212, 368, 329, 258, 257, 1076, 702, 1731, - 532, 271, 532, 257, 957, 807, 253, 242, 1751, 703, - 1430, 1005, 705, 253, 1005, 1585, 1621, 1081, 530, 76, - 756, 1059, 1623, 836, 837, 636, 705, 205, 613, 691, - 1147, 271, 1415, 369, 1269, 391, 574, 257, 1339, 477, - 271, 756, 1773, 691, 1389, 702, 1489, 253, 974, 1786, - 574, 628, 670, 206, 702, 505, 635, 475, 725, 363, - 597, 703, 853, 632, 1404, 1298, 327, 883, 136, 257, - 1136, 1658, 76, 852, 906, 703, 661, 369, 1003, 1004, - 756, 880, 668, 678, 678, 1589, 252, 613, 1662, 372, - 73, 828, 369, 206, 391, 597, 405, 257, 702, 1429, - 632, 405, 368, 385, 1632, 1210, 1390, 253, 703, 483, - 405, 963, 702, 190, 368, 86, 368, 703, 211, 877, - 483, 1240, 271, 597, 602, 389, 597, 73, 1024, 1478, - 1508, 703, 126, 916, 707, 1130, 279, 196, 1133, 951, - 703, 1718, 597, 736, 707, 503, 497, 206, 980, 190, - 205, 477, 723, 1442, 396, 993, 993, 1473, 1726, 1227, - 741, 532, 385, 877, 772, 142, 707, 142, 597, 1271, - 206, 1235, 1710, 1324, 541, 1326, 206, 370, 1449, 913, - 206, 1717, 877, 254, 389, 254, 678, 602, 622, 313, - 602, 1257, 254, 390, 634, 603, 532, 1007, 1749, 532, - 206, 621, 1027, 1029, 1218, 1501, 602, 1219, 14, 1403, - 622, 638, 393, 707, 505, 532, 741, 1221, 125, 393, - 1220, 370, 1222, 1756, 1221, 1076, 312, 678, 206, 206, - 603, 329, 602, 833, 137, 1026, 370, 705, 223, 1270, - 356, 532, 621, 878, 1034, 1060, 137, 532, 632, 691, - 532, 1437, 390, 483, 1610, 1071, 1044, 877, 603, 493, - 621, 603, 1241, 1510, 142, 1474, 707, 1056, 1057, 1058, - 74, 493, 1416, 123, 142, 73, 357, 603, 1426, 223, - 339, 102, 223, 254, 1131, 360, 1083, 878, 1394, 1141, - 1663, 373, 821, 137, 1559, 76, 705, 223, 532, 391, - 279, 1153, 1134, 603, 503, 254, 878, 1736, 330, 1342, - 103, 104, 254, 105, 405, 190, 195, 405, 224, 121, - 106, 107, 108, 109, 110, 405, 111, 877, 112, 113, - 776, 1739, 373, 691, 1431, 373, 1172, 405, 405, 1750, - 124, 396, 1135, 280, 783, 1443, 254, 1132, 741, 514, - 373, 138, 532, 532, 483, 1360, 741, 340, 139, 532, - 822, 369, 385, 1184, 369, 1230, 1231, 385, 974, 542, - 613, 73, 494, 385, 1324, 961, 689, 532, 674, 138, - 1377, 878, 361, 14, 754, 741, 741, 1411, 741, 389, - 469, 1616, 691, 190, 622, 741, 741, 741, 741, 741, - 396, 741, 397, 741, 741, 613, 254, 532, 1067, 542, - 542, 532, 1186, 542, 1282, 495, 1617, 393, 1433, 674, - 453, 230, 674, 1646, 1607, 784, 1628, 495, 542, 482, - 542, 392, 391, 613, 469, 622, 613, 674, 138, 1611, - 1379, 1504, 1676, 1624, 496, 621, 1763, 1764, 395, 469, - 1380, 878, 613, 622, 690, 1363, 960, 390, 393, 511, - 542, 397, 604, 1221, 1690, 800, 785, 1693, 205, 1248, - 1329, 1329, 1333, 369, 1618, 396, 393, 605, 613, 232, - 76, 1249, 483, 1248, 877, 369, 1199, 369, 1629, 1507, - 392, 576, 960, 1264, 206, 690, 1355, 535, 1363, 1357, - 385, 206, 801, 394, 1368, 370, 102, 395, 370, 240, - 536, 1284, 377, 690, 137, 877, 223, 1288, 223, 621, - 689, 713, 389, 937, 938, 223, 714, 958, 877, 705, - 1668, 102, 1386, 251, 1388, 103, 104, 1200, 105, 691, - 1822, 621, 483, 786, 279, 106, 107, 108, 109, 110, - 576, 111, 877, 112, 113, 705, 1175, 1176, 198, 199, - 103, 104, 394, 105, 606, 705, 436, 405, 705, 405, - 106, 107, 108, 109, 110, 1735, 111, 705, 112, 113, - 560, 1551, 1581, 76, 76, 405, 1509, 910, 252, 1566, - 390, 561, 696, 1432, 256, 691, 701, 702, 704, 705, - 958, 257, 572, 1552, 691, 396, 802, 1572, 878, 1354, - 1553, 993, 373, 1787, 676, 606, 223, 370, 1776, 373, - 303, 190, 373, 598, 705, 279, 373, 542, 718, 370, - 1659, 370, 1575, 705, 373, 581, 1660, 1784, 223, 878, - 705, 677, 1821, 542, 1554, 223, 542, 542, 977, 542, - 373, 691, 878, 542, 1788, 1242, 542, 377, 705, 138, - 1801, 572, 260, 1804, 691, 978, 397, 939, 918, 542, - 1762, 1807, 1808, 691, 373, 542, 878, 705, 542, 223, - 1480, 393, 598, 73, 1483, 102, 1816, 1741, 1493, 1441, - 76, 1414, 1243, 1445, 581, 392, 674, 1819, 116, 674, - 1177, 1789, 1740, 691, 373, 1712, 674, 505, 1826, 674, - 102, 1827, 395, 674, 103, 104, 1661, 105, 674, 264, - 691, 674, 704, 451, 106, 107, 108, 109, 110, 691, - 111, 373, 112, 113, 694, 116, 578, 674, 396, 103, - 104, 705, 105, 373, 691, 373, 959, 542, 251, 106, - 107, 108, 109, 110, 354, 111, 1758, 112, 113, 709, - 1697, 674, 691, 704, 710, 674, 580, 394, 405, 542, - 116, 525, 690, 691, 674, 694, 542, 412, 694, 1673, - 542, 704, 1512, 1675, 413, 690, 265, 542, 993, 251, - 860, 674, 251, 694, 690, 578, 205, 503, 1329, 397, - 705, 1792, 1259, 190, 266, 542, 1609, 251, 1259, 1698, - 542, 1106, 1557, 354, 393, 321, 705, 409, 674, 705, - 1699, 526, 206, 333, 270, 580, 334, 1107, 392, 1622, - 674, 142, 1794, 1795, 482, 542, 412, 917, 674, 542, - 1716, 690, 933, 413, 507, 395, 505, 940, 941, 709, - 690, 1260, 1192, 161, 710, 527, 948, 1263, 952, 953, - 954, 955, 956, 322, 948, 96, 1193, 674, 674, 482, - 674, 335, 1108, 528, 102, 705, 409, 674, 674, 674, - 674, 674, 393, 674, 705, 674, 674, 1221, 144, 352, - 1194, 1828, 482, 507, 690, 44, 271, 511, 279, 1626, - 394, 1109, 98, 103, 104, 1656, 105, 52, 690, 133, - 102, 76, 161, 106, 107, 108, 109, 110, 1608, 111, - 145, 112, 113, 973, 1700, 77, 78, 705, 231, 1493, - 705, 162, 286, 761, 1793, 146, 503, 1715, 537, 103, - 104, 920, 105, 184, 1195, 42, 25, 1657, 352, 106, - 107, 108, 109, 110, 44, 111, 1493, 112, 113, 1633, - 761, 793, 302, 794, 1654, 598, 52, 311, 1110, 231, - 1625, 99, 231, 752, 48, 323, 50, 485, 951, 537, - 314, 100, 537, 142, 1715, 1670, 705, 231, 187, 1671, - 162, 713, 711, 324, 712, 705, 714, 537, 385, 537, - 598, 143, 1705, 1493, 42, 25, 101, 142, 331, 385, - 1087, 1088, 1092, 128, 342, 1100, 1102, 1104, 380, 1112, - 1115, 1118, 1120, 1123, 1126, 353, 1686, 325, 598, 537, - 1715, 598, 752, 48, 691, 50, 485, 632, 217, 385, - 704, 26, 664, 951, 206, 663, 1493, 598, 95, 49, - 704, 482, 694, 704, 51, 1493, 46, 190, 1156, 1157, - 505, 1159, 704, 1161, 1715, 694, 1164, 1165, 1166, 1167, - 1168, 1169, 128, 598, 694, 344, 129, 380, 632, 217, - 117, 632, 217, 1173, 1742, 941, 365, 143, 1493, 96, - 691, 1493, 1741, 142, 505, 505, 632, 217, 1097, 691, - 26, 97, 525, 1084, 1721, 1085, 1768, 1803, 49, 704, - 142, 718, 287, 51, 1493, 46, 771, 279, 704, 770, - 505, 694, 47, 571, 1098, 102, 98, 979, 184, 1744, - 694, 505, 363, 217, 505, 129, 198, 199, 143, 117, - 76, 1745, 979, 1769, 142, 1721, 869, 288, 718, 869, - 503, 142, 526, 372, 103, 104, 1770, 105, 499, 1798, - 922, 718, 704, 367, 106, 107, 108, 109, 110, 370, - 111, 516, 112, 113, 694, 289, 704, 375, 290, 368, - 517, 47, 251, 143, 503, 503, 527, 870, 694, 142, - 870, 1721, 217, 480, 291, 99, 537, 142, 869, 499, - 187, 488, 499, 371, 528, 100, 242, 1323, 231, 1325, - 503, 879, 537, 984, 662, 537, 537, 499, 537, 409, - 292, 503, 537, 251, 503, 537, 251, 187, 984, 709, - 101, 977, 400, 901, 710, 1083, 900, 1065, 537, 870, - 1064, 251, 948, 412, 537, 713, 711, 537, 712, 345, - 714, 516, 408, 187, 1305, 1306, 152, 1308, 1310, 413, - 517, 415, 1733, 713, 711, 1315, 712, 1072, 714, 1171, - 847, 954, 977, 977, 977, 977, 977, 977, 977, 713, - 711, 1192, 712, 417, 714, 418, 346, 419, 347, 376, - 977, 977, 977, 977, 1185, 1193, 482, 1184, 378, 379, - 380, 489, 911, 665, 915, 491, 242, 919, 921, 923, - 1346, 348, 132, 133, 492, 152, 537, 425, 1353, 1194, - 941, 501, 977, 941, 977, 1173, 383, 384, 242, 1361, - 941, 1364, 1365, 1036, 1037, 242, 349, 941, 537, 1203, - 124, 124, 1064, 1612, 665, 537, 377, 665, 1209, 537, - 385, 1208, 14, 524, 1251, 632, 537, 1250, 681, 532, - 713, 711, 665, 712, 1256, 714, 515, 1255, 273, 242, - 545, 102, 555, 1195, 537, 1396, 565, 632, 552, 537, - 569, 530, 713, 711, 1181, 712, 1101, 714, 1105, 1337, - 1113, 1116, 1336, 1121, 1124, 1127, 1451, 619, 625, 1184, - 103, 104, 681, 105, 537, 662, 1486, 623, 537, 1485, - 106, 107, 108, 109, 110, 627, 111, 681, 112, 113, - 1488, 431, 530, 1485, 482, 530, 713, 711, 657, 712, - 1799, 714, 1825, 1485, 666, 1741, 499, 433, 499, 658, - 530, 1446, 530, 659, 680, 499, 671, 683, 685, 667, - 1454, 378, 379, 380, 686, 198, 199, 1459, 499, 687, - 251, 688, 251, 667, 689, 713, 711, 690, 712, 251, - 714, 667, 691, 692, 381, 382, 436, 437, 438, 383, - 384, 439, 440, 709, 482, 958, 693, 667, 710, 442, - 443, 694, 699, 977, 700, 977, 977, 708, 447, 717, - 716, 709, 721, 977, 941, 719, 710, 735, 941, 666, - 739, 977, 740, 746, 747, 749, 977, 709, 750, 977, - 744, 516, 710, 760, 761, 763, 958, 958, 958, 958, - 958, 970, 958, 977, 764, 152, 499, 773, 977, 977, - 797, 667, 977, 1732, 958, 958, 958, 958, 798, 977, - 666, 977, 977, 666, 799, 977, 152, 719, 499, 977, - 251, 1777, 977, 804, 977, 499, 977, 271, 666, 49, - 1192, 977, 977, 809, 977, 815, 958, 813, 958, 814, - 50, 816, 251, 819, 1193, 152, 824, 51, 818, 251, - 977, 977, 830, 977, 831, 834, 835, 844, 709, 499, - 376, 846, 371, 710, 152, 1594, 1595, 977, 1194, 977, - 977, 977, 52, 152, 977, 847, 371, 977, 977, 152, - 709, 665, 855, 251, 371, 710, 856, 977, 857, 1302, - 941, 665, 1812, 941, 665, 859, 895, 152, 896, 530, - 371, 977, 898, 665, 977, 903, 689, 907, 935, 1491, - 908, 153, 946, 969, 975, 987, 984, 377, 530, 530, - 977, 530, 1195, 527, 709, 530, 977, 1635, 530, 710, - 991, 977, 715, 713, 711, 1005, 712, 53, 714, 681, - 1010, 530, 977, 977, 825, 977, 681, 530, 227, 681, - 665, 977, 1015, 681, 371, 1458, 1016, 1018, 1022, 665, - 776, 681, 196, 709, 527, 1031, 1023, 527, 710, 54, - 153, 1039, 1025, 55, 1055, 1032, 1042, 681, 1067, 1033, - 977, 977, 527, 977, 527, 228, 1048, 1053, 1062, 1669, - 977, 977, 977, 977, 977, 1079, 977, 1672, 977, 977, - 1094, 681, 1080, 665, 1142, 1139, 1158, 958, 676, 958, - 958, 1137, 945, 713, 711, 665, 712, 958, 714, 530, - 1145, 196, 378, 379, 380, 958, 198, 199, 1155, 1160, - 958, 681, 709, 958, 1685, 1162, 681, 1182, 1687, 1189, - 1170, 530, 1191, 664, 1197, 381, 382, 958, 530, 958, - 383, 384, 958, 958, 663, 1206, 958, 530, 681, 530, - 1211, 1214, 1223, 958, 1234, 958, 958, 1232, 1244, 958, - 681, 1254, 681, 958, 1261, 1265, 958, 530, 958, 1266, - 958, 1252, 530, 1267, 664, 958, 958, 666, 958, 962, - 713, 711, 532, 712, 941, 714, 1734, 666, 1268, 1737, - 666, 981, 664, 1279, 958, 958, 1286, 958, 1277, 666, - 1291, 530, 689, 1292, 1163, 713, 711, 1290, 712, 1073, - 714, 958, 1289, 958, 958, 958, 1695, 1294, 958, 1295, - 1299, 958, 958, 532, 1300, 1301, 532, 1772, 1303, 1304, - 1311, 958, 981, 981, 981, 981, 981, 981, 981, 1312, - 1491, 532, 1313, 532, 1314, 958, 666, 1316, 958, 1317, - 981, 981, 981, 981, 1318, 666, 1319, 1320, 1321, 877, - 1322, 709, 1356, 1695, 958, 1338, 710, 1696, 1359, 1366, - 958, 527, 1373, 1370, 1371, 958, 1372, 1374, 1375, 1382, - 153, 1387, 981, 1391, 981, 1385, 958, 958, 1393, 958, - 527, 527, 547, 527, 1405, 958, 1401, 527, 1406, 666, - 527, 153, 1407, 1340, 713, 711, 1695, 712, 1408, 714, - 1413, 666, 1409, 527, 1696, 1782, 1410, 1418, 1428, 527, - 722, 1435, 1439, 1296, 958, 958, 986, 958, 1440, 1444, - 153, 196, 1450, 1470, 958, 958, 958, 958, 958, 1471, - 958, 709, 958, 958, 1475, 1481, 710, 1502, 1695, 153, - 1482, 1695, 196, 1548, 1561, 1558, 1560, 1696, 153, 1562, - 1563, 1564, 1567, 1565, 153, 1568, 1783, 986, 986, 986, - 986, 986, 986, 986, 1695, 1577, 1579, 1569, 1582, 1586, - 1587, 196, 153, 1588, 1590, 986, 986, 986, 986, 1591, - 1592, 527, 713, 711, 1691, 712, 1593, 714, 1596, 1696, - 196, 1597, 1696, 1598, 1599, 1600, 1601, 1602, 196, 196, - 1603, 1604, 1605, 527, 1613, 196, 1615, 986, 709, 986, - 527, 1614, 1634, 710, 124, 1696, 1341, 713, 711, 1637, - 712, 527, 714, 196, 1642, 1344, 713, 711, 1631, 712, - 532, 714, 1636, 709, 1644, 196, 1638, 196, 710, 527, - 1639, 664, 386, 981, 527, 981, 981, 385, 1640, 1641, - 532, 664, 532, 981, 664, 1643, 532, 1649, 1650, 532, - 196, 981, 1674, 664, 1652, 273, 981, 1679, 1680, 981, - 1689, 1653, 532, 527, 1645, 1706, 1714, 1727, 532, 1738, - 1752, 1754, 1757, 981, 1759, 196, 1761, 1766, 981, 981, - 1774, 1767, 981, 1485, 1780, 1781, 1749, 1750, 151, 981, - 1797, 981, 981, 1802, 1806, 981, 102, 1805, 1741, 981, - 664, 1809, 981, 1823, 981, 1824, 981, 1820, 1, 664, - 628, 981, 981, 30, 981, 1345, 713, 711, 32, 712, - 203, 714, 709, 756, 377, 103, 104, 710, 105, 271, - 981, 981, 657, 981, 149, 106, 107, 108, 109, 110, - 532, 111, 530, 112, 113, 269, 941, 981, 672, 981, - 981, 981, 82, 664, 981, 466, 213, 981, 981, 530, - 276, 193, 532, 405, 530, 664, 689, 981, 986, 532, - 986, 986, 940, 1347, 713, 711, 687, 712, 986, 714, - 532, 981, 713, 711, 981, 712, 986, 714, 683, 672, - 685, 986, 672, 289, 986, 275, 194, 378, 532, 713, - 981, 287, 712, 532, 223, 324, 981, 672, 986, 714, - 709, 981, 332, 986, 986, 710, 288, 986, 341, 323, - 622, 678, 981, 981, 986, 981, 986, 986, 330, 723, - 986, 981, 532, 26, 986, 29, 39, 986, 1327, 986, - 129, 986, 416, 407, 406, 709, 986, 986, 1287, 986, - 710, 897, 1078, 845, 709, 1285, 241, 1273, 1283, 710, - 981, 981, 982, 981, 1570, 986, 986, 578, 986, 1571, - 981, 981, 981, 981, 981, 534, 981, 520, 981, 981, - 810, 1213, 986, 509, 986, 986, 986, 376, 985, 986, - 549, 1262, 986, 986, 1348, 713, 711, 550, 712, 1682, - 714, 1020, 986, 982, 982, 982, 982, 982, 982, 982, - 713, 711, 1550, 712, 1274, 714, 986, 1748, 1556, 986, - 792, 982, 982, 982, 982, 1755, 1753, 1728, 1349, 713, - 711, 196, 712, 1791, 714, 986, 1013, 1688, 1395, 1818, - 1703, 986, 661, 1785, 377, 1204, 986, 1378, 1505, 1, - 1713, 557, 540, 982, 709, 982, 1054, 986, 986, 710, - 986, 796, 531, 832, 1425, 1045, 986, 1350, 713, 711, - 2, 712, 131, 714, 734, 1351, 713, 711, 3, 712, - 684, 714, 730, 502, 284, 4, 976, 5, 971, 6, - 196, 1188, 989, 972, 7, 986, 986, 839, 986, 1678, - 1765, 8, 1293, 1619, 1796, 986, 986, 986, 986, 986, - 1829, 986, 709, 986, 986, 9, 743, 710, 1151, 904, - 709, 1307, 0, 509, 1358, 710, 10, 1352, 713, 711, - 660, 712, 0, 714, 0, 0, 0, 0, 839, 839, - 839, 839, 839, 0, 839, 0, 0, 0, 0, 378, - 379, 380, 0, 198, 199, 0, 839, 839, 839, 839, - 0, 0, 0, 0, 509, 0, 672, 509, 0, 672, - 0, 0, 381, 382, 0, 0, 672, 383, 384, 672, - 0, 0, 509, 672, 0, 0, 0, 0, 672, 0, - 839, 672, 0, 11, 0, 1476, 713, 711, 0, 712, - 12, 714, 0, 13, 0, 14, 15, 672, 0, 0, - 0, 1477, 713, 711, 0, 712, 0, 714, 0, 0, - 0, 0, 0, 0, 982, 0, 982, 982, 0, 0, - 16, 672, 0, 709, 982, 672, 713, 711, 710, 712, - 0, 714, 982, 0, 672, 0, 0, 982, 709, 0, - 982, 0, 0, 710, 0, 0, 0, 0, 0, 0, - 0, 672, 0, 0, 982, 0, 0, 709, 0, 982, - 982, 0, 710, 982, 0, 0, 0, 177, 0, 17, - 982, 0, 982, 982, 0, 0, 982, 0, 672, 196, - 982, 0, 0, 982, 18, 982, 0, 982, 0, 0, - 672, 0, 982, 982, 0, 982, 709, 0, 0, 0, - 196, 710, 0, 0, 709, 187, 0, 0, 0, 710, - 0, 982, 982, 0, 982, 0, 1484, 713, 711, 0, - 712, 196, 714, 0, 0, 0, 177, 196, 982, 669, - 982, 982, 982, 0, 0, 982, 0, 0, 982, 982, - 0, 0, 713, 711, 0, 712, 0, 714, 982, 839, - 196, 839, 839, 0, 0, 532, 709, 0, 0, 839, - 0, 710, 982, 0, 187, 982, 0, 839, 0, 196, - 669, 0, 839, 669, 0, 839, 0, 196, 196, 0, - 0, 982, 0, 0, 196, 0, 0, 982, 669, 839, - 0, 509, 982, 509, 839, 839, 532, 509, 839, 532, - 509, 0, 196, 982, 982, 839, 982, 839, 839, 0, - 0, 839, 982, 509, 532, 839, 0, 532, 839, 0, - 839, 0, 839, 0, 709, 0, 0, 839, 839, 710, - 839, 924, 925, 926, 927, 928, 929, 930, 931, 196, - 709, 982, 982, 851, 982, 710, 839, 839, 0, 839, - 196, 982, 982, 982, 982, 982, 0, 982, 532, 982, - 982, 532, 0, 839, 709, 839, 839, 839, 0, 710, - 839, 0, 0, 839, 839, 0, 532, 0, 547, 0, - 0, 0, 0, 839, 851, 851, 851, 851, 851, 0, - 851, 509, 0, 0, 0, 0, 0, 839, 188, 0, - 839, 0, 851, 851, 851, 851, 0, 0, 0, 0, - 0, 0, 181, 509, 0, 0, 839, 0, 0, 0, - 509, 0, 839, 0, 0, 177, 0, 839, 0, 0, - 0, 0, 0, 0, 0, 0, 851, 0, 839, 839, - 0, 839, 0, 0, 0, 0, 177, 839, 0, 0, - 0, 0, 0, 181, 509, 709, 181, 188, 0, 0, - 710, 0, 1457, 187, 0, 0, 0, 177, 0, 0, - 0, 181, 0, 177, 0, 0, 839, 839, 854, 839, - 709, 0, 0, 0, 187, 710, 839, 839, 839, 839, - 839, 0, 839, 0, 839, 839, 177, 0, 0, 0, - 0, 0, 0, 0, 0, 187, 0, 0, 0, 0, - 0, 187, 0, 0, 0, 177, 0, 0, 0, 854, - 854, 854, 854, 854, 177, 854, 0, 0, 0, 0, - 177, 0, 0, 532, 187, 532, 0, 854, 854, 854, - 854, 0, 532, 0, 0, 0, 0, 669, 177, 0, - 669, 102, 0, 187, 0, 532, 0, 669, 0, 0, - 669, 0, 187, 0, 669, 0, 0, 0, 187, 669, - 0, 854, 669, 0, 0, 0, 0, 0, 0, 0, - 103, 104, 0, 105, 0, 177, 187, 0, 669, 0, - 106, 107, 108, 109, 110, 532, 111, 532, 112, 113, - 0, 532, 0, 0, 532, 851, 0, 851, 851, 0, - 0, 0, 669, 0, 0, 851, 669, 532, 0, 0, - 0, 0, 0, 187, 0, 669, 0, 0, 851, 0, - 0, 851, 0, 532, 0, 0, 0, 0, 0, 0, - 0, 0, 669, 0, 0, 851, 0, 0, 0, 0, - 851, 851, 0, 0, 851, 532, 188, 0, 0, 0, - 0, 851, 532, 851, 851, 0, 0, 851, 0, 669, - 181, 851, 0, 0, 851, 0, 851, 188, 851, 0, - 0, 669, 0, 851, 851, 0, 851, 0, 0, 0, - 0, 181, 0, 0, 0, 532, 532, 0, 188, 0, - 0, 0, 851, 851, 188, 851, 0, 0, 0, 0, - 0, 0, 181, 0, 0, 0, 0, 532, 181, 851, - 0, 851, 851, 851, 532, 0, 851, 188, 0, 851, - 851, 553, 0, 821, 0, 0, 0, 884, 0, 851, - 854, 181, 854, 854, 0, 0, 188, 0, 0, 0, - 854, 0, 0, 851, 0, 188, 851, 0, 532, 0, - 181, 188, 0, 0, 0, 0, 854, 0, 0, 181, - 0, 0, 851, 0, 821, 181, 0, 821, 851, 188, - 854, 0, 0, 851, 0, 854, 854, 0, 0, 854, - 0, 0, 821, 181, 851, 851, 854, 851, 854, 854, - 0, 0, 854, 851, 0, 0, 854, 0, 0, 854, - 0, 854, 0, 854, 0, 0, 188, 0, 854, 854, - 0, 854, 0, 0, 0, 0, 0, 0, 0, 0, - 181, 0, 851, 851, 855, 851, 0, 854, 854, 0, - 854, 1616, 851, 851, 851, 851, 851, 0, 851, 59, - 851, 851, 887, 0, 854, 0, 854, 854, 854, 0, - 60, 854, 0, 0, 854, 854, 1617, 61, 0, 102, - 0, 0, 0, 0, 854, 855, 855, 855, 855, 855, - 62, 855, 0, 0, 0, 0, 0, 0, 854, 0, - 0, 854, 0, 855, 855, 855, 855, 0, 103, 104, - 0, 105, 0, 0, 102, 0, 0, 854, 106, 107, - 108, 109, 110, 854, 111, 0, 112, 113, 854, 0, - 0, 0, 0, 0, 1618, 0, 0, 855, 0, 854, - 854, 0, 854, 103, 104, 0, 105, 0, 854, 0, - 0, 63, 0, 106, 107, 108, 109, 110, 0, 111, - 0, 112, 113, 0, 0, 0, 0, 64, 102, 0, - 0, 0, 0, 0, 0, 0, 0, 854, 854, 849, - 854, 0, 0, 0, 65, 0, 0, 854, 854, 854, - 854, 854, 0, 854, 0, 854, 854, 103, 104, 66, - 105, 0, 0, 67, 0, 821, 68, 106, 107, 108, - 109, 110, 0, 111, 69, 112, 113, 0, 0, 0, - 849, 0, 849, 849, 849, 1447, 1448, 0, 0, 95, - 0, 1452, 1453, 70, 1455, 1456, 0, 0, 849, 849, - 849, 849, 1460, 1461, 1462, 1463, 0, 1464, 1465, 1466, - 1467, 1468, 1469, 0, 0, 0, 0, 0, 0, 0, - 0, 821, 0, 0, 821, 0, 0, 0, 0, 0, - 96, 821, 849, 0, 821, 0, 0, 0, 821, 0, - 0, 0, 97, 821, 0, 0, 821, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 126, 0, 0, 0, - 0, 0, 821, 0, 0, 0, 855, 98, 855, 855, - 0, 0, 0, 0, 0, 0, 855, 945, 713, 711, - 0, 712, 0, 714, 0, 0, 821, 0, 0, 821, - 821, 0, 855, 0, 0, 0, 875, 874, 876, 821, - 0, 0, 0, 0, 0, 0, 855, 0, 0, 0, - 0, 855, 855, 0, 0, 855, 821, 0, 0, 0, - 0, 0, 855, 0, 855, 855, 0, 0, 855, 0, - 0, 0, 855, 0, 0, 855, 99, 855, 821, 855, - 0, 0, 0, 821, 855, 855, 100, 855, 0, 0, - 0, 0, 0, 0, 0, 821, 0, 821, 0, 0, - 0, 0, 0, 855, 855, 0, 855, 0, 0, 0, - 0, 101, 0, 0, 0, 0, 0, 0, 0, 0, - 855, 0, 855, 855, 855, 0, 0, 855, 0, 102, - 855, 855, 0, 0, 790, 0, 0, 0, 0, 0, - 855, 849, 0, 849, 849, 0, 0, 0, 0, 0, - 0, 849, 0, 0, 855, 0, 0, 855, 103, 104, - 0, 105, 0, 0, 0, 0, 0, 849, 106, 107, - 108, 109, 110, 855, 111, 790, 112, 113, 790, 855, - 0, 849, 0, 0, 855, 0, 849, 849, 0, 0, - 849, 0, 0, 790, 0, 855, 855, 849, 855, 849, - 849, 0, 0, 849, 855, 0, 0, 849, 0, 0, - 849, 0, 849, 0, 849, 0, 0, 0, 0, 849, - 849, 0, 849, 0, 0, 0, 0, 884, 0, 0, - 0, 0, 0, 855, 855, 848, 855, 0, 849, 849, - 0, 849, 0, 855, 855, 855, 855, 855, 862, 855, - 0, 855, 855, 0, 0, 849, 709, 849, 849, 849, - 0, 710, 849, 0, 863, 849, 849, 0, 0, 0, - 0, 0, 0, 0, 0, 849, 848, 0, 848, 848, - 848, 0, 0, 0, 0, 0, 0, 0, 0, 849, - 0, 0, 849, 0, 848, 848, 848, 848, 0, 0, - 864, 885, 0, 0, 0, 0, 0, 0, 849, 865, - 0, 0, 0, 0, 849, 0, 0, 866, 0, 849, - 0, 0, 0, 0, 0, 0, 0, 0, 848, 0, - 849, 849, 0, 849, 0, 0, 867, 886, 868, 849, - 0, 0, 887, 0, 0, 0, 0, 0, 888, 0, - 0, 0, 869, 0, 870, 871, 872, 0, 0, 102, - 0, 0, 0, 0, 0, 0, 0, 889, 849, 849, - 850, 849, 0, 0, 0, 0, 0, 0, 849, 849, - 849, 849, 849, 0, 849, 0, 849, 849, 103, 104, - 0, 105, 0, 0, 0, 0, 790, 0, 106, 107, - 108, 109, 110, 0, 111, 873, 112, 113, 0, 0, - 0, 850, 579, 850, 850, 850, 580, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 850, - 850, 850, 850, 0, 581, 0, 0, 582, 81, 0, - 0, 0, 0, 0, 0, 82, 0, 0, 0, 83, - 84, 0, 790, 0, 0, 790, 0, 0, 85, 0, - 0, 0, 790, 850, 0, 790, 0, 0, 0, 790, - 86, 0, 0, 0, 790, 0, 0, 790, 583, 0, - 0, 0, 0, 0, 584, 585, 586, 0, 587, 588, - 589, 0, 590, 790, 0, 0, 0, 848, 0, 848, - 848, 0, 0, 0, 0, 0, 0, 848, 0, 0, - 0, 0, 591, 0, 592, 0, 0, 790, 0, 0, - 790, 790, 0, 848, 0, 0, 0, 0, 0, 0, - 790, 0, 0, 0, 0, 87, 0, 848, 0, 0, - 0, 0, 848, 848, 0, 593, 848, 790, 0, 0, - 0, 0, 88, 848, 0, 848, 848, 0, 0, 848, - 0, 0, 594, 848, 0, 0, 848, 89, 848, 790, - 848, 90, 0, 0, 790, 848, 848, 0, 848, 0, - 0, 0, 91, 0, 595, 0, 790, 0, 790, 0, - 0, 0, 0, 0, 848, 848, 0, 848, 0, 0, - 0, 92, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 848, 0, 848, 848, 848, 0, 0, 848, 596, - 597, 848, 848, 0, 560, 0, 0, 0, 0, 0, - 0, 848, 850, 0, 850, 850, 598, 0, 0, 0, - 0, 0, 850, 0, 0, 848, 0, 0, 848, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 850, 0, - 0, 0, 0, 0, 848, 560, 0, 0, 560, 0, - 848, 0, 850, 0, 0, 848, 0, 850, 850, 0, - 0, 850, 0, 560, 0, 560, 848, 848, 850, 848, - 850, 850, 0, 0, 850, 848, 0, 0, 850, 0, - 0, 850, 0, 850, 0, 850, 95, 0, 0, 0, - 850, 850, 0, 850, 0, 560, 0, 0, 0, 0, - 0, 0, 0, 0, 848, 848, 853, 848, 0, 850, - 850, 0, 850, 0, 848, 848, 848, 848, 848, 0, - 848, 0, 848, 848, 401, 0, 850, 96, 850, 850, - 850, 0, 0, 850, 0, 0, 850, 850, 0, 97, - 0, 102, 0, 0, 0, 0, 850, 853, 0, 853, - 853, 853, 0, 0, 0, 0, 0, 0, 0, 0, - 850, 0, 0, 850, 98, 853, 853, 853, 853, 0, - 103, 104, 0, 105, 0, 0, 0, 102, 0, 850, - 106, 107, 108, 109, 110, 850, 111, 0, 112, 113, - 850, 0, 0, 0, 0, 0, 0, 0, 0, 853, - 0, 850, 850, 0, 850, 0, 103, 104, 0, 105, - 850, 0, 0, 0, 0, 0, 106, 107, 108, 109, - 110, 0, 111, 642, 112, 113, 448, 0, 449, 0, - 0, 0, 0, 99, 0, 0, 0, 0, 0, 850, - 850, 451, 850, 100, 0, 0, 273, 0, 0, 850, - 850, 850, 850, 850, 0, 850, 0, 850, 850, 0, - 0, 0, 560, 0, 0, 0, 0, 0, 101, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 560, 0, - 0, 0, 560, 221, 560, 0, 102, 221, 560, 0, - 0, 560, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 221, 0, 0, 560, 221, 0, 0, 221, 0, - 560, 0, 0, 560, 0, 103, 104, 0, 105, 0, - 0, 0, 0, 0, 0, 106, 107, 108, 109, 110, - 0, 111, 397, 112, 113, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 221, - 0, 0, 0, 0, 0, 221, 221, 221, 102, 221, - 221, 221, 0, 221, 0, 0, 0, 0, 853, 0, - 853, 853, 0, 0, 0, 0, 0, 427, 853, 0, - 0, 0, 560, 221, 0, 221, 0, 103, 104, 0, - 105, 0, 0, 0, 853, 0, 0, 106, 107, 108, - 109, 110, 0, 111, 560, 112, 113, 0, 853, 0, - 0, 560, 0, 853, 853, 560, 221, 853, 0, 0, - 0, 81, 560, 0, 853, 0, 853, 853, 0, 0, - 853, 0, 0, 221, 853, 0, 0, 853, 0, 853, - 560, 853, 0, 0, 0, 560, 853, 853, 0, 853, - 421, 0, 0, 642, 0, 221, 448, 0, 449, 422, - 0, 0, 0, 0, 0, 853, 853, 0, 853, 0, - 560, 451, 423, 0, 560, 635, 273, 0, 376, 424, - 0, 73, 853, 434, 853, 853, 853, 0, 0, 853, - 221, 221, 853, 853, 435, 0, 0, 636, 0, 0, - 0, 0, 853, 0, 0, 0, 425, 221, 0, 426, - 0, 0, 103, 441, 0, 105, 853, 0, 0, 853, - 0, 444, 445, 446, 108, 109, 110, 0, 111, 0, - 112, 113, 543, 0, 0, 853, 0, 427, 428, 570, - 0, 853, 0, 0, 0, 0, 853, 0, 0, 429, - 0, 0, 0, 430, 0, 0, 0, 853, 853, 0, - 853, 637, 0, 0, 0, 0, 853, 0, 570, 570, - 0, 570, 543, 543, 0, 0, 543, 0, 570, 570, - 570, 570, 570, 0, 570, 0, 570, 570, 281, 0, - 0, 543, 0, 543, 0, 853, 853, 0, 853, 0, - 0, 0, 0, 0, 638, 853, 853, 853, 853, 853, - 431, 853, 0, 853, 853, 0, 432, 281, 281, 0, - 281, 0, 0, 543, 0, 0, 433, 281, 281, 281, - 281, 281, 0, 281, 0, 281, 281, 0, 0, 0, - 378, 379, 380, 434, 198, 199, 0, 0, 0, 0, - 0, 0, 134, 0, 435, 0, 134, 0, 0, 0, - 0, 0, 0, 381, 382, 436, 437, 438, 383, 384, - 439, 440, 103, 441, 134, 105, 0, 134, 442, 443, - 421, 444, 445, 446, 108, 109, 110, 447, 111, 422, - 112, 113, 639, 640, 641, 0, 0, 0, 642, 0, - 0, 448, 423, 449, 0, 0, 0, 0, 376, 424, - 0, 0, 0, 0, 0, 0, 451, 0, 134, 0, - 0, 273, 0, 0, 134, 134, 134, 636, 134, 134, - 134, 0, 134, 0, 0, 0, 425, 0, 0, 426, +#define YYTABLESIZE 11598 +static short yytable[] = { 124, + 146, 189, 124, 212, 79, 78, 145, 259, 151, 37, + 398, 308, 208, 278, 281, 192, 747, 572, 609, 577, + 394, 948, 279, 282, 243, 204, 217, 209, 195, 542, + 771, 610, 544, 774, 783, 247, 252, 753, 1233, 785, + 222, 966, 733, 186, 188, 191, 194, 145, 199, 248, + 229, 488, 1002, 210, 188, 215, 254, 194, 1153, 145, + 199, 679, 228, 124, 986, 219, 224, 146, 917, 907, + 1372, 239, 253, 145, 241, 188, 250, 239, 215, 191, + 194, 246, 145, 199, 228, 124, 1223, 194, 249, 251, + 265, 313, 267, 1223, 1224, 639, 949, 1407, 266, 856, + 1188, 1224, 863, 534, 1225, 847, 309, 866, 1227, 623, + 1234, 1225, 1071, 1045, 577, 1227, 210, 145, 210, 311, + 991, 1242, 408, 631, 746, 1046, 988, 77, 1192, 371, + 215, 408, 706, 289, 706, 759, 307, 194, 145, 228, + 1263, 397, 256, 151, 1051, 1280, 1019, 398, 963, 484, + 333, 509, 362, 910, 639, 1026, 277, 394, 694, 705, + 939, 1091, 707, 731, 631, 638, 1079, 631, 393, 816, + 600, 510, 89, 577, 77, 360, 759, 1336, 694, 759, + 125, 1484, 631, 256, 328, 263, 256, 759, 742, 834, + 676, 706, 531, 706, 759, 531, 761, 762, 763, 764, + 705, 256, 1501, 707, 995, 1142, 315, 263, 1066, 758, + 919, 362, 609, 639, 577, 404, 515, 694, 705, 664, + 401, 707, 1746, 1281, 638, 610, 317, 1686, 368, 600, + 975, 404, 686, 367, 1258, 77, 495, 708, 831, 125, + 404, 276, 1405, 577, 280, 498, 210, 1503, 318, 60, + 145, 268, 410, 124, 369, 122, 1504, 791, 750, 145, + 1505, 410, 321, 77, 277, 502, 674, 277, 826, 1752, + 508, 1340, 368, 577, 404, 750, 882, 1422, 397, 510, + 191, 277, 419, 1621, 145, 1154, 85, 368, 961, 85, + 1033, 759, 367, 543, 706, 1443, 708, 334, 369, 710, + 546, 326, 209, 817, 559, 393, 828, 561, 1622, 83, + 322, 130, 195, 369, 344, 573, 1447, 575, 631, 210, + 619, 364, 365, 1514, 283, 540, 210, 435, 210, 1384, + 210, 627, 1223, 564, 750, 706, 827, 1417, 541, 1385, + 1224, 629, 1133, 1134, 1102, 1148, 759, 1637, 131, 529, + 1225, 194, 199, 706, 1227, 579, 1374, 1207, 621, 97, + 145, 961, 191, 128, 673, 1477, 1623, 284, 1145, 1580, + 1103, 195, 1052, 670, 335, 710, 79, 256, 508, 673, + 1157, 1159, 882, 14, 678, 252, 474, 759, 684, 482, + 759, 345, 145, 404, 1492, 194, 410, 637, 268, 1439, + 883, 500, 1241, 145, 1185, 759, 744, 145, 529, 519, + 194, 1405, 145, 513, 579, 151, 710, 641, 256, 366, + 1660, 256, 323, 398, 830, 531, 252, 1399, 283, 252, + 122, 122, 272, 886, 710, 687, 256, 476, 757, 384, + 89, 631, 1783, 1501, 252, 474, 712, 744, 482, 811, + 744, 14, 706, 1585, 1432, 625, 637, 488, 1483, 1337, + 531, 1149, 741, 631, 390, 744, 1023, 1014, 694, 273, + 1016, 918, 697, 1436, 706, 1220, 641, 705, 689, 404, + 707, 1516, 728, 271, 1022, 1551, 965, 1552, 1503, 694, + 707, 760, 488, 707, 639, 664, 476, 1504, 384, 705, + 914, 1505, 707, 1368, 1611, 638, 883, 1389, 1448, 1578, + 1368, 1040, 600, 697, 625, 488, 697, 787, 759, 1709, + 1078, 706, 1579, 390, 694, 1286, 1303, 1010, 125, 1751, + 706, 697, 377, 694, 710, 328, 408, 813, 1494, 1435, + 76, 1274, 780, 210, 856, 1013, 705, 600, 780, 707, + 577, 1010, 1152, 1081, 887, 705, 368, 275, 707, 368, + 637, 367, 531, 253, 367, 708, 1420, 1736, 708, 812, + 694, 692, 706, 1756, 706, 600, 275, 262, 600, 1086, + 1509, 885, 369, 1064, 79, 369, 706, 76, 841, 842, + 962, 987, 209, 710, 600, 1626, 833, 692, 694, 705, + 675, 1628, 707, 730, 253, 1594, 362, 253, 639, 979, + 1778, 510, 694, 705, 1791, 1141, 707, 531, 210, 638, + 600, 637, 253, 577, 759, 631, 759, 858, 1344, 694, + 759, 1746, 888, 759, 606, 1590, 759, 79, 857, 1008, + 1009, 1434, 750, 256, 474, 710, 616, 673, 76, 637, + 1663, 1395, 326, 482, 777, 256, 85, 256, 210, 275, + 195, 410, 275, 252, 256, 252, 410, 1667, 368, 1215, + 744, 1515, 252, 367, 488, 410, 76, 708, 194, 1394, + 368, 706, 368, 215, 1513, 367, 921, 367, 1581, 1454, + 706, 708, 474, 606, 369, 476, 1564, 708, 384, 1409, + 388, 1731, 1723, 384, 956, 616, 369, 1588, 369, 384, + 508, 502, 210, 985, 194, 209, 529, 728, 1478, 401, + 998, 998, 1232, 838, 759, 1204, 744, 706, 390, 759, + 145, 154, 145, 1276, 1240, 210, 1442, 637, 601, 546, + 964, 210, 1243, 476, 1741, 210, 759, 153, 605, 1135, + 1792, 1715, 1138, 759, 1262, 256, 1223, 641, 1408, 388, + 1722, 1012, 710, 252, 1224, 210, 389, 1032, 1034, 1664, + 510, 200, 398, 625, 1225, 1665, 1205, 256, 1227, 398, + 1744, 1081, 1226, 677, 256, 252, 482, 759, 1029, 1226, + 697, 1793, 252, 210, 210, 625, 1702, 601, 395, 1031, + 1768, 1769, 1761, 697, 474, 396, 1615, 605, 1421, 1039, + 1065, 1329, 697, 1331, 1431, 216, 1799, 1800, 256, 609, + 1076, 1049, 498, 155, 677, 389, 252, 677, 1479, 145, + 392, 1061, 1062, 1063, 1656, 1139, 384, 76, 1794, 145, + 1506, 253, 677, 253, 1589, 1703, 1244, 759, 718, 1136, + 253, 1088, 710, 719, 256, 476, 1704, 395, 744, 697, + 79, 390, 1003, 575, 396, 1347, 744, 1496, 697, 508, + 609, 1140, 882, 1815, 710, 1833, 156, 361, 256, 410, + 194, 199, 410, 228, 124, 291, 252, 1137, 694, 392, + 410, 1822, 882, 1072, 1827, 744, 744, 391, 744, 1682, + 394, 694, 410, 410, 105, 744, 744, 744, 744, 744, + 694, 744, 697, 362, 744, 744, 1716, 882, 584, 488, + 292, 710, 575, 499, 1678, 1816, 697, 393, 1680, 979, + 1275, 541, 135, 106, 107, 1004, 108, 882, 966, 531, + 911, 253, 759, 109, 110, 111, 112, 113, 293, 114, + 1416, 294, 115, 116, 126, 234, 391, 694, 194, 394, + 1705, 942, 943, 253, 388, 882, 694, 295, 694, 236, + 253, 541, 541, 222, 710, 541, 606, 584, 500, 136, + 531, 1438, 1612, 531, 708, 1721, 393, 708, 616, 1245, + 541, 135, 541, 296, 736, 501, 883, 1616, 531, 244, + 531, 882, 681, 1629, 253, 681, 609, 1368, 693, 694, + 694, 606, 1329, 1633, 222, 241, 883, 222, 398, 610, + 681, 127, 541, 616, 1754, 1235, 1236, 694, 1226, 968, + 389, 1720, 222, 209, 1253, 1334, 1334, 1338, 136, 606, + 401, 883, 606, 708, 882, 79, 1254, 488, 1253, 693, + 1368, 616, 708, 1512, 616, 256, 241, 1269, 606, 210, + 1373, 883, 395, 137, 253, 737, 210, 693, 635, 396, + 616, 1382, 468, 706, 1287, 1289, 1634, 1681, 1720, 1798, + 601, 1293, 706, 798, 606, 799, 714, 1717, 1673, 883, + 605, 715, 805, 1391, 392, 1393, 616, 388, 781, 1695, + 708, 677, 1698, 255, 677, 944, 791, 488, 1496, 635, + 1177, 677, 635, 144, 677, 601, 468, 140, 677, 260, + 1189, 1805, 137, 677, 1720, 883, 677, 635, 708, 806, + 1246, 468, 410, 529, 410, 1701, 626, 241, 1763, 456, + 624, 708, 677, 601, 1360, 1586, 601, 1362, 79, 79, + 410, 1180, 1181, 605, 1437, 1146, 605, 1264, 1720, 708, + 526, 391, 601, 389, 394, 1755, 677, 1158, 883, 1191, + 677, 151, 605, 1359, 529, 1264, 998, 529, 241, 677, + 240, 624, 1701, 1797, 261, 307, 194, 708, 601, 541, + 788, 393, 529, 581, 529, 395, 677, 531, 605, 624, + 264, 526, 396, 283, 526, 541, 1265, 734, 541, 541, + 135, 541, 135, 531, 1328, 541, 1330, 1365, 541, 526, + 390, 526, 141, 677, 1268, 1701, 295, 392, 1767, 142, + 151, 541, 506, 807, 1788, 677, 268, 541, 277, 531, + 541, 965, 708, 677, 1498, 531, 915, 283, 531, 202, + 203, 222, 581, 222, 1446, 79, 1419, 376, 1450, 136, + 222, 718, 716, 510, 717, 115, 719, 1701, 681, 681, + 1701, 789, 677, 677, 105, 677, 269, 1826, 283, 1666, + 1571, 506, 677, 677, 677, 677, 677, 1724, 677, 1725, + 923, 677, 677, 1701, 391, 1182, 458, 394, 1577, 694, + 152, 708, 115, 106, 107, 487, 108, 231, 270, 541, + 135, 625, 790, 109, 110, 111, 112, 113, 274, 114, + 353, 925, 115, 116, 393, 98, 693, 681, 1485, 583, + 1765, 541, 1488, 410, 411, 326, 516, 115, 541, 693, + 508, 376, 541, 137, 232, 99, 1517, 412, 693, 541, + 531, 222, 625, 998, 682, 694, 408, 531, 565, 152, + 160, 209, 508, 1334, 694, 1668, 99, 541, 194, 566, + 625, 681, 541, 222, 136, 531, 351, 1562, 100, 353, + 222, 508, 101, 327, 508, 1247, 635, 210, 583, 872, + 1627, 529, 872, 411, 43, 693, 145, 541, 147, 508, + 1632, 541, 510, 101, 693, 531, 412, 1818, 635, 531, + 529, 529, 681, 529, 222, 408, 77, 529, 526, 160, + 529, 1746, 1248, 521, 283, 290, 669, 1773, 708, 668, + 148, 708, 522, 529, 530, 351, 1745, 526, 526, 529, + 526, 872, 398, 1633, 526, 149, 708, 526, 693, 105, + 151, 102, 1226, 43, 1614, 51, 708, 1631, 624, 708, + 526, 103, 693, 161, 1774, 1661, 526, 927, 708, 701, + 381, 151, 102, 706, 707, 709, 79, 1775, 106, 107, + 624, 108, 103, 1613, 531, 1498, 104, 708, 109, 110, + 111, 112, 113, 336, 114, 328, 708, 115, 116, 714, + 151, 508, 80, 81, 715, 723, 1634, 104, 188, 1662, + 275, 529, 1498, 329, 51, 708, 1111, 41, 532, 151, + 718, 716, 161, 717, 708, 719, 350, 382, 151, 1659, + 1638, 982, 1112, 529, 151, 1556, 533, 978, 526, 1176, + 529, 105, 1089, 956, 1090, 24, 982, 330, 145, 529, + 1675, 529, 151, 191, 1676, 456, 755, 1557, 47, 1498, + 526, 1197, 1710, 351, 1558, 352, 146, 526, 708, 529, + 106, 107, 145, 108, 529, 1198, 41, 1113, 526, 152, + 109, 110, 111, 112, 113, 306, 114, 668, 353, 115, + 116, 1691, 714, 982, 358, 49, 526, 715, 1559, 1199, + 152, 526, 1498, 529, 24, 1197, 1114, 484, 956, 210, + 983, 1498, 127, 354, 764, 755, 510, 47, 508, 1198, + 508, 824, 194, 1617, 508, 379, 25, 508, 668, 152, + 526, 668, 383, 384, 385, 316, 202, 203, 384, 319, + 508, 764, 1747, 1199, 1498, 721, 668, 1498, 152, 384, + 510, 510, 146, 1200, 49, 386, 387, 152, 145, 105, + 388, 389, 824, 152, 48, 824, 484, 865, 349, 1726, + 1498, 127, 50, 1115, 776, 145, 510, 775, 347, 1740, + 824, 152, 721, 45, 379, 25, 128, 510, 106, 107, + 510, 108, 116, 188, 1749, 721, 368, 1200, 109, 110, + 111, 112, 113, 146, 114, 79, 1750, 115, 116, 145, + 1726, 487, 46, 216, 922, 508, 145, 884, 508, 938, + 667, 1803, 1781, 48, 945, 946, 720, 718, 716, 250, + 717, 50, 719, 953, 370, 957, 958, 959, 960, 961, + 508, 953, 45, 372, 1746, 128, 487, 508, 146, 508, + 508, 116, 718, 716, 145, 717, 1726, 719, 714, 1808, + 375, 980, 145, 715, 1806, 191, 530, 1809, 380, 487, + 250, 46, 216, 250, 516, 508, 987, 202, 203, 906, + 873, 508, 905, 873, 373, 105, 508, 576, 250, 508, + 1821, 987, 191, 950, 718, 716, 667, 717, 724, 719, + 1088, 957, 980, 980, 980, 980, 980, 980, 980, 1070, + 1651, 485, 1069, 376, 106, 107, 531, 108, 191, 493, + 980, 980, 980, 980, 109, 110, 111, 112, 113, 76, + 114, 105, 873, 115, 116, 521, 338, 667, 377, 339, + 718, 716, 405, 717, 522, 719, 135, 136, 718, 716, + 532, 717, 980, 719, 980, 667, 1077, 1738, 413, 852, + 106, 107, 414, 108, 1190, 531, 216, 1189, 533, 417, + 109, 110, 111, 112, 113, 1208, 114, 418, 1069, 115, + 116, 420, 1214, 824, 340, 1213, 1700, 1092, 1093, 1097, + 1041, 1042, 1105, 1107, 1109, 422, 1117, 1120, 1123, 1125, + 1128, 1131, 123, 123, 423, 668, 531, 216, 424, 531, + 216, 52, 494, 496, 497, 668, 718, 716, 668, 717, + 1256, 719, 53, 1255, 531, 216, 506, 668, 487, 54, + 692, 1261, 14, 1700, 1260, 1161, 1162, 520, 1164, 824, + 1166, 529, 824, 1169, 1170, 1171, 1172, 1173, 1174, 824, + 718, 716, 824, 717, 55, 719, 824, 105, 537, 550, + 1178, 824, 946, 557, 824, 714, 916, 560, 920, 961, + 715, 924, 926, 928, 668, 1342, 1700, 570, 1341, 1456, + 824, 1491, 1189, 668, 1490, 1787, 106, 107, 1493, 108, + 714, 1490, 574, 624, 628, 715, 109, 110, 111, 112, + 113, 630, 114, 632, 824, 115, 116, 824, 824, 667, + 961, 961, 961, 961, 961, 973, 961, 824, 1700, 56, + 676, 1700, 662, 980, 1789, 980, 980, 668, 961, 961, + 961, 961, 714, 980, 824, 663, 664, 715, 195, 668, + 1804, 980, 1830, 1490, 1700, 1746, 980, 671, 685, 980, + 1782, 57, 688, 690, 691, 58, 824, 692, 1812, 1813, + 961, 824, 961, 980, 693, 694, 695, 696, 980, 980, + 697, 231, 980, 824, 698, 824, 699, 704, 714, 980, + 705, 980, 980, 715, 1824, 980, 714, 713, 721, 980, + 722, 715, 980, 724, 980, 1831, 980, 195, 1832, 726, + 740, 980, 980, 744, 980, 745, 749, 751, 232, 752, + 754, 521, 765, 755, 667, 766, 768, 775, 769, 953, + 980, 980, 778, 980, 667, 718, 716, 667, 717, 802, + 719, 1310, 1311, 803, 1313, 1315, 667, 980, 1737, 980, + 980, 980, 1320, 531, 980, 531, 1630, 980, 980, 531, + 804, 809, 531, 275, 714, 814, 818, 980, 775, 715, + 821, 775, 819, 820, 824, 531, 823, 1197, 829, 835, + 836, 980, 839, 487, 980, 840, 775, 849, 967, 718, + 716, 1198, 717, 667, 719, 1307, 851, 1351, 714, 670, + 980, 852, 667, 715, 860, 1358, 980, 946, 861, 862, + 946, 980, 1178, 670, 864, 1199, 1366, 946, 1369, 1370, + 900, 670, 980, 980, 946, 980, 383, 384, 385, 1463, + 901, 980, 903, 908, 912, 951, 913, 670, 940, 1817, + 974, 961, 980, 961, 961, 989, 667, 718, 716, 1186, + 717, 961, 719, 531, 388, 389, 992, 996, 667, 961, + 980, 980, 1401, 980, 961, 1010, 1015, 961, 830, 1200, + 980, 980, 980, 980, 980, 531, 980, 1020, 1021, 980, + 980, 961, 531, 961, 1023, 781, 961, 961, 531, 1027, + 961, 670, 1030, 1028, 1036, 370, 1037, 961, 1038, 961, + 961, 1044, 1047, 961, 1053, 1058, 195, 961, 1060, 370, + 961, 487, 961, 1072, 961, 1067, 531, 370, 1084, 961, + 961, 681, 961, 1085, 1099, 1144, 1147, 195, 1451, 531, + 1150, 1142, 531, 370, 1163, 1160, 1165, 1459, 961, 961, + 1167, 961, 1175, 1187, 1464, 1194, 1196, 531, 195, 531, + 176, 714, 668, 1202, 195, 961, 984, 961, 961, 961, + 1216, 1219, 961, 1211, 1237, 961, 961, 1228, 1168, 718, + 716, 487, 717, 714, 719, 961, 1239, 195, 715, 1249, + 1257, 1259, 498, 1266, 1270, 1271, 1272, 370, 1273, 961, + 1282, 946, 961, 1284, 1078, 946, 195, 984, 984, 984, + 984, 984, 984, 984, 195, 195, 1296, 1291, 961, 176, + 1295, 195, 1294, 1297, 961, 984, 984, 984, 984, 961, + 1299, 1300, 882, 498, 1304, 1305, 498, 714, 1306, 195, + 961, 961, 715, 961, 1345, 718, 716, 1308, 717, 961, + 719, 498, 1309, 1316, 1317, 775, 1318, 984, 775, 984, + 1319, 1321, 1106, 1322, 1110, 775, 1118, 1121, 775, 1126, + 1129, 1132, 775, 1323, 1324, 1325, 195, 775, 961, 961, + 775, 961, 1326, 1327, 1343, 1364, 1361, 195, 961, 961, + 961, 961, 961, 1371, 961, 714, 775, 961, 961, 1379, + 715, 989, 1599, 1600, 1346, 718, 716, 1375, 717, 1376, + 719, 1349, 718, 716, 1377, 717, 1378, 719, 1380, 1390, + 775, 1387, 1392, 775, 775, 1398, 552, 946, 1410, 1396, + 946, 1406, 1411, 775, 718, 716, 1418, 717, 1412, 719, + 1413, 1414, 989, 989, 989, 989, 989, 989, 989, 1415, + 775, 1433, 1423, 1440, 1444, 1301, 531, 1445, 1449, 1455, + 989, 989, 989, 989, 1640, 1475, 1476, 105, 1480, 1486, + 1487, 1507, 775, 1553, 1563, 1565, 531, 775, 531, 1566, + 1568, 1567, 531, 1569, 1570, 531, 1572, 1573, 1582, 775, + 1574, 775, 989, 1584, 989, 1587, 106, 107, 531, 108, + 1591, 1592, 1593, 684, 531, 1595, 109, 110, 111, 112, + 113, 1596, 114, 1597, 1598, 115, 116, 714, 176, 1601, + 1602, 1603, 715, 1604, 1605, 1606, 1674, 1607, 984, 1608, + 984, 984, 390, 1609, 1677, 1610, 1618, 1619, 984, 176, + 718, 716, 1696, 717, 1620, 719, 984, 684, 1636, 1639, + 127, 984, 718, 716, 984, 717, 1641, 719, 1642, 1647, + 176, 1643, 684, 1644, 1645, 1646, 176, 1648, 984, 1649, + 498, 1690, 498, 984, 984, 1692, 531, 984, 1654, 498, + 1655, 1657, 1658, 714, 984, 1679, 984, 984, 715, 176, + 984, 1684, 498, 1685, 984, 1650, 1711, 984, 531, 984, + 1719, 984, 1694, 1757, 1732, 531, 984, 984, 176, 984, + 1743, 1759, 1762, 1764, 1766, 1771, 531, 176, 1779, 1772, + 1490, 1785, 1786, 176, 1755, 984, 984, 1754, 984, 155, + 1802, 946, 727, 1739, 531, 1811, 1742, 1807, 1810, 531, + 1814, 176, 984, 714, 984, 984, 984, 1746, 715, 984, + 714, 1825, 984, 984, 1298, 715, 1828, 1829, 1, 631, + 29, 31, 984, 989, 202, 989, 989, 759, 531, 372, + 498, 376, 714, 989, 1777, 270, 984, 715, 176, 984, + 148, 989, 529, 268, 660, 81, 989, 465, 212, 989, + 944, 529, 498, 275, 192, 984, 404, 692, 943, 498, + 529, 984, 690, 989, 686, 688, 984, 193, 989, 989, + 372, 274, 989, 372, 288, 377, 716, 984, 984, 989, + 984, 989, 989, 286, 715, 989, 984, 222, 372, 989, + 323, 287, 989, 498, 989, 717, 989, 331, 340, 322, + 625, 989, 989, 726, 989, 1350, 718, 716, 329, 717, + 681, 719, 27, 30, 39, 984, 984, 985, 984, 1332, + 989, 989, 132, 989, 421, 984, 984, 984, 984, 984, + 411, 984, 1462, 902, 984, 984, 412, 989, 714, 989, + 989, 989, 381, 715, 989, 850, 1292, 989, 989, 1290, + 714, 1083, 245, 1575, 539, 715, 1288, 989, 985, 985, + 985, 985, 985, 985, 985, 1576, 583, 1278, 1267, 815, + 430, 989, 990, 1218, 989, 1279, 985, 985, 985, 985, + 718, 716, 525, 717, 684, 719, 195, 514, 105, 1687, + 989, 684, 1025, 554, 684, 1753, 989, 1733, 684, 382, + 1760, 989, 1555, 797, 1758, 1561, 684, 1796, 985, 555, + 985, 1018, 989, 989, 1400, 989, 1693, 106, 107, 1823, + 108, 989, 684, 1708, 1790, 666, 1209, 109, 110, 111, + 112, 113, 1383, 114, 1510, 1718, 115, 116, 562, 545, + 1430, 536, 1059, 837, 801, 195, 684, 1050, 134, 507, + 989, 989, 842, 989, 391, 735, 739, 981, 288, 390, + 989, 989, 989, 989, 989, 994, 989, 976, 1193, 989, + 989, 977, 1683, 1624, 436, 1801, 684, 277, 531, 1770, + 748, 684, 1352, 718, 716, 1834, 717, 909, 719, 1156, + 438, 665, 1312, 842, 842, 842, 842, 842, 1363, 842, + 0, 0, 0, 684, 383, 384, 385, 0, 202, 203, + 0, 842, 842, 842, 842, 684, 0, 684, 250, 531, + 0, 0, 531, 0, 0, 0, 0, 386, 387, 441, + 442, 443, 388, 389, 444, 445, 0, 531, 0, 0, + 0, 0, 447, 448, 714, 842, 0, 0, 0, 715, + 372, 452, 0, 0, 0, 0, 0, 372, 0, 250, + 372, 0, 250, 0, 372, 0, 0, 229, 0, 0, + 0, 0, 372, 0, 0, 0, 0, 250, 0, 985, + 0, 985, 985, 0, 0, 0, 0, 0, 372, 985, + 0, 0, 0, 0, 0, 669, 0, 985, 0, 0, + 0, 0, 985, 0, 0, 985, 0, 0, 229, 0, + 0, 229, 372, 0, 0, 0, 0, 0, 714, 985, + 0, 0, 0, 715, 985, 985, 229, 0, 985, 0, + 0, 0, 0, 0, 0, 985, 669, 985, 985, 669, + 0, 985, 372, 0, 0, 985, 0, 0, 985, 0, + 985, 0, 985, 0, 669, 0, 0, 985, 985, 0, + 985, 0, 0, 0, 0, 195, 0, 0, 0, 372, + 186, 0, 0, 0, 0, 0, 985, 985, 0, 985, + 0, 372, 0, 372, 0, 0, 195, 0, 0, 0, + 0, 0, 0, 985, 675, 985, 985, 985, 0, 0, + 985, 0, 0, 985, 985, 0, 0, 0, 0, 381, + 0, 0, 0, 985, 842, 195, 842, 842, 0, 0, + 0, 714, 0, 0, 842, 0, 715, 985, 0, 186, + 985, 0, 842, 0, 195, 675, 0, 842, 675, 0, + 842, 0, 195, 195, 0, 0, 985, 0, 0, 195, + 0, 0, 985, 675, 842, 0, 531, 985, 531, 842, + 842, 0, 0, 842, 0, 531, 382, 195, 985, 985, + 842, 985, 842, 842, 0, 0, 842, 985, 531, 195, + 842, 195, 0, 842, 0, 842, 0, 842, 0, 0, + 0, 0, 842, 842, 0, 842, 250, 0, 250, 0, + 0, 0, 0, 0, 195, 250, 985, 985, 854, 985, + 0, 842, 842, 0, 842, 0, 985, 985, 985, 985, + 985, 0, 985, 0, 0, 985, 985, 0, 842, 195, + 842, 842, 842, 0, 0, 842, 0, 0, 842, 842, + 1353, 718, 716, 0, 717, 241, 719, 229, 842, 854, + 854, 854, 854, 854, 0, 854, 531, 0, 0, 0, + 0, 0, 842, 0, 0, 842, 0, 854, 854, 854, + 854, 383, 384, 385, 0, 202, 203, 187, 531, 0, + 0, 842, 0, 0, 0, 531, 0, 842, 0, 0, + 0, 0, 842, 0, 386, 387, 250, 0, 0, 388, + 389, 854, 0, 842, 842, 0, 842, 0, 0, 0, + 0, 0, 842, 669, 0, 0, 0, 0, 250, 531, + 0, 0, 0, 669, 0, 250, 669, 0, 186, 0, + 0, 0, 0, 0, 0, 669, 187, 0, 692, 0, + 0, 842, 842, 857, 842, 241, 0, 0, 0, 186, + 0, 842, 842, 842, 842, 842, 0, 842, 0, 250, + 842, 842, 0, 0, 0, 0, 0, 241, 0, 230, + 186, 0, 0, 0, 241, 0, 186, 0, 0, 0, + 0, 0, 669, 0, 857, 857, 857, 857, 857, 0, + 857, 669, 0, 0, 1354, 718, 716, 0, 717, 186, + 719, 0, 857, 857, 857, 857, 0, 0, 241, 0, + 230, 0, 675, 230, 0, 675, 0, 0, 186, 0, + 0, 0, 675, 0, 0, 675, 0, 186, 230, 675, + 0, 0, 0, 186, 675, 669, 857, 675, 1355, 718, + 716, 0, 717, 0, 719, 0, 0, 669, 1356, 718, + 716, 186, 717, 675, 719, 0, 0, 1357, 718, 716, + 0, 717, 0, 719, 0, 0, 0, 0, 0, 0, + 854, 0, 854, 854, 0, 0, 0, 675, 0, 714, + 854, 675, 718, 716, 715, 717, 0, 719, 186, 0, + 675, 0, 0, 854, 0, 0, 854, 0, 0, 0, + 880, 879, 881, 0, 0, 0, 0, 675, 0, 0, + 854, 0, 0, 0, 0, 854, 854, 0, 0, 854, + 0, 0, 0, 0, 0, 0, 854, 0, 854, 854, + 0, 0, 854, 0, 675, 187, 854, 0, 0, 854, + 0, 854, 0, 854, 0, 0, 675, 0, 854, 854, + 0, 854, 0, 0, 0, 0, 187, 1481, 718, 716, + 0, 717, 0, 719, 0, 0, 0, 854, 854, 672, + 854, 0, 0, 0, 0, 0, 0, 187, 0, 0, + 0, 0, 0, 187, 854, 0, 854, 854, 854, 0, + 0, 854, 0, 0, 854, 854, 0, 0, 793, 0, + 0, 0, 0, 0, 854, 857, 187, 857, 857, 0, + 672, 0, 0, 672, 0, 857, 0, 0, 854, 0, + 0, 854, 0, 0, 0, 187, 0, 0, 672, 0, + 0, 857, 0, 714, 187, 0, 0, 854, 715, 793, + 187, 0, 793, 854, 0, 857, 0, 241, 854, 230, + 857, 857, 552, 0, 857, 0, 0, 793, 187, 854, + 854, 857, 854, 857, 857, 0, 0, 857, 854, 0, + 0, 857, 0, 0, 857, 0, 857, 714, 857, 0, + 0, 0, 715, 857, 857, 0, 857, 714, 0, 0, + 0, 0, 715, 0, 0, 187, 714, 854, 854, 858, + 854, 715, 857, 857, 0, 857, 0, 854, 854, 854, + 854, 854, 867, 854, 0, 0, 854, 854, 0, 857, + 714, 857, 857, 857, 0, 715, 857, 0, 868, 857, + 857, 1482, 718, 716, 0, 717, 0, 719, 0, 857, + 858, 858, 858, 858, 858, 180, 858, 241, 0, 0, + 0, 0, 0, 857, 0, 0, 857, 0, 858, 858, + 858, 858, 0, 0, 869, 0, 0, 0, 0, 241, + 0, 0, 857, 870, 0, 0, 241, 0, 857, 0, + 0, 871, 0, 857, 0, 0, 180, 0, 1621, 180, + 0, 0, 858, 0, 857, 857, 714, 857, 0, 0, + 872, 715, 873, 857, 180, 1489, 718, 716, 0, 717, + 241, 719, 0, 1622, 0, 0, 874, 0, 875, 876, + 877, 0, 0, 0, 0, 105, 0, 0, 0, 0, + 0, 0, 857, 857, 852, 857, 0, 0, 0, 0, + 0, 0, 857, 857, 857, 857, 857, 0, 857, 0, + 0, 857, 857, 0, 106, 107, 0, 108, 0, 0, + 793, 0, 0, 0, 109, 110, 111, 112, 113, 878, + 114, 1623, 0, 115, 116, 852, 0, 852, 852, 852, + 0, 0, 0, 0, 0, 0, 0, 672, 0, 0, + 672, 0, 0, 852, 852, 852, 852, 672, 0, 0, + 672, 0, 0, 0, 672, 105, 0, 0, 0, 672, + 0, 0, 672, 0, 0, 0, 793, 0, 0, 793, + 0, 0, 0, 0, 0, 0, 793, 852, 672, 793, + 0, 0, 0, 793, 106, 107, 0, 108, 793, 0, + 0, 793, 0, 0, 109, 110, 111, 112, 113, 0, + 114, 0, 672, 115, 116, 0, 672, 793, 0, 0, + 0, 858, 0, 858, 858, 672, 0, 0, 0, 0, + 714, 858, 950, 718, 716, 715, 717, 0, 719, 0, + 0, 793, 672, 0, 793, 793, 0, 858, 0, 0, + 0, 880, 879, 881, 793, 0, 0, 0, 0, 0, + 0, 858, 0, 180, 0, 0, 858, 858, 0, 672, + 858, 793, 0, 0, 0, 0, 0, 858, 0, 858, + 858, 672, 0, 858, 180, 0, 0, 858, 0, 0, + 858, 0, 858, 793, 858, 0, 0, 0, 793, 858, + 858, 0, 858, 0, 714, 180, 0, 0, 0, 715, + 793, 180, 793, 0, 0, 0, 0, 0, 858, 858, + 0, 858, 0, 0, 0, 889, 929, 930, 931, 932, + 933, 934, 935, 936, 180, 858, 0, 858, 858, 858, + 0, 0, 858, 0, 0, 858, 858, 0, 0, 794, + 0, 0, 0, 180, 0, 858, 852, 0, 852, 852, + 558, 0, 180, 0, 0, 0, 852, 0, 180, 858, + 0, 0, 858, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 852, 0, 0, 0, 180, 0, 858, 0, + 794, 0, 0, 794, 858, 0, 852, 0, 0, 858, + 0, 852, 852, 0, 0, 852, 0, 0, 794, 0, + 858, 858, 852, 858, 852, 852, 0, 0, 852, 858, + 0, 0, 852, 180, 0, 852, 0, 852, 0, 852, + 0, 0, 0, 0, 852, 852, 0, 852, 0, 0, + 892, 0, 0, 0, 0, 0, 0, 0, 858, 858, + 851, 858, 0, 852, 852, 0, 852, 105, 858, 858, + 858, 858, 858, 867, 858, 0, 0, 858, 858, 0, + 852, 714, 852, 852, 852, 0, 715, 852, 0, 868, + 852, 852, 0, 0, 0, 0, 106, 107, 0, 108, + 852, 851, 0, 851, 851, 851, 109, 110, 111, 112, + 113, 0, 114, 0, 852, 115, 116, 852, 0, 851, + 851, 851, 851, 0, 0, 869, 0, 0, 0, 0, + 0, 0, 0, 852, 870, 0, 0, 0, 0, 852, + 0, 0, 871, 105, 852, 0, 0, 0, 0, 0, + 0, 0, 0, 851, 0, 852, 852, 0, 852, 0, + 0, 872, 0, 873, 852, 0, 0, 0, 0, 0, + 0, 0, 106, 107, 0, 108, 0, 874, 0, 875, + 876, 877, 109, 110, 111, 112, 113, 0, 114, 0, + 0, 115, 116, 852, 852, 853, 852, 0, 0, 0, + 0, 0, 0, 852, 852, 852, 852, 852, 0, 852, + 0, 0, 852, 852, 0, 0, 0, 0, 0, 0, + 0, 794, 0, 0, 0, 1452, 1453, 0, 0, 0, + 878, 1457, 1458, 0, 1460, 1461, 853, 584, 853, 853, + 853, 585, 1465, 1466, 1467, 1468, 0, 1469, 1470, 1471, + 1472, 1473, 1474, 0, 853, 853, 853, 853, 0, 586, + 0, 0, 587, 84, 0, 0, 0, 0, 0, 0, + 85, 0, 0, 0, 86, 87, 0, 794, 0, 0, + 794, 0, 0, 88, 0, 0, 0, 794, 853, 0, + 794, 0, 0, 0, 794, 89, 0, 0, 0, 794, + 0, 0, 794, 588, 0, 0, 0, 0, 0, 589, + 590, 591, 0, 592, 593, 594, 0, 595, 794, 0, + 0, 0, 851, 0, 851, 851, 0, 0, 0, 0, + 0, 0, 851, 0, 0, 0, 0, 596, 0, 597, + 0, 0, 794, 0, 0, 794, 794, 0, 851, 0, + 0, 0, 0, 0, 0, 794, 0, 0, 0, 0, + 90, 0, 851, 0, 0, 0, 0, 851, 851, 0, + 598, 851, 794, 0, 0, 0, 0, 91, 851, 0, + 851, 851, 0, 0, 851, 0, 0, 599, 851, 0, + 0, 851, 92, 851, 794, 851, 93, 402, 0, 794, + 851, 851, 0, 851, 0, 0, 0, 94, 0, 600, + 0, 794, 0, 794, 0, 0, 0, 0, 0, 851, + 851, 0, 851, 105, 0, 0, 95, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 851, 0, 851, 851, + 851, 0, 0, 851, 601, 602, 851, 851, 0, 536, + 0, 0, 106, 107, 0, 108, 851, 853, 0, 853, + 853, 603, 109, 110, 111, 112, 113, 853, 114, 0, + 851, 115, 116, 851, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 853, 0, 0, 0, 0, 0, 851, + 536, 0, 0, 536, 0, 851, 0, 853, 0, 0, + 851, 0, 853, 853, 0, 0, 853, 0, 536, 0, + 536, 851, 851, 853, 851, 853, 853, 0, 0, 853, + 851, 0, 0, 853, 0, 0, 853, 0, 853, 0, + 853, 98, 0, 0, 0, 853, 853, 0, 853, 0, + 536, 0, 0, 0, 0, 0, 0, 0, 0, 851, + 851, 856, 851, 0, 853, 853, 0, 853, 0, 851, + 851, 851, 851, 851, 0, 851, 0, 0, 851, 851, + 0, 853, 99, 853, 853, 853, 0, 0, 853, 0, + 0, 853, 853, 0, 100, 0, 0, 0, 0, 0, + 0, 853, 856, 0, 856, 856, 856, 0, 129, 0, + 1, 0, 0, 0, 0, 853, 0, 0, 853, 101, + 856, 856, 856, 856, 0, 0, 0, 0, 0, 0, + 0, 2, 0, 0, 853, 0, 0, 889, 0, 3, + 853, 0, 0, 0, 0, 853, 4, 0, 5, 0, + 6, 0, 0, 0, 856, 7, 853, 853, 0, 853, + 0, 0, 8, 0, 0, 853, 0, 0, 0, 406, + 0, 0, 0, 0, 0, 0, 9, 0, 647, 0, + 0, 453, 0, 454, 0, 0, 105, 10, 102, 0, + 0, 0, 0, 0, 853, 853, 456, 853, 103, 0, + 0, 277, 0, 0, 853, 853, 853, 853, 853, 0, + 853, 890, 0, 853, 853, 106, 107, 536, 108, 0, + 0, 0, 0, 104, 0, 109, 110, 111, 112, 113, + 0, 114, 0, 536, 115, 116, 536, 536, 0, 536, + 0, 105, 0, 536, 0, 0, 536, 891, 0, 0, + 0, 0, 892, 0, 11, 0, 0, 0, 893, 536, + 0, 12, 0, 0, 13, 536, 14, 15, 536, 105, + 106, 107, 0, 108, 0, 0, 0, 894, 0, 0, + 109, 110, 111, 112, 113, 0, 114, 0, 0, 115, + 116, 16, 0, 0, 0, 0, 0, 0, 106, 107, + 0, 108, 105, 0, 0, 0, 0, 0, 109, 110, + 111, 112, 113, 0, 114, 0, 0, 115, 116, 0, + 0, 0, 0, 856, 0, 856, 856, 0, 0, 0, + 0, 106, 107, 856, 108, 0, 0, 536, 0, 0, + 17, 109, 110, 111, 112, 113, 0, 114, 0, 856, + 115, 116, 0, 0, 0, 18, 19, 0, 0, 536, + 0, 0, 0, 856, 0, 0, 536, 0, 856, 856, + 536, 0, 856, 0, 0, 0, 0, 536, 0, 856, + 0, 856, 856, 0, 0, 856, 0, 0, 0, 856, + 0, 0, 856, 0, 856, 536, 856, 0, 0, 0, + 536, 856, 856, 0, 856, 426, 0, 0, 647, 0, + 0, 453, 0, 454, 427, 0, 0, 0, 0, 0, + 856, 856, 0, 856, 0, 536, 456, 428, 0, 536, + 640, 277, 0, 381, 429, 0, 573, 856, 0, 856, + 856, 856, 0, 0, 856, 0, 0, 856, 856, 0, + 0, 0, 641, 0, 0, 0, 0, 856, 0, 0, + 0, 430, 0, 0, 431, 573, 573, 0, 573, 0, + 0, 856, 0, 0, 856, 573, 573, 573, 573, 573, + 0, 573, 0, 0, 573, 573, 0, 542, 0, 0, + 856, 0, 432, 433, 280, 0, 856, 0, 0, 0, + 0, 856, 0, 0, 434, 0, 0, 0, 435, 0, + 0, 0, 856, 856, 0, 856, 642, 0, 0, 0, + 0, 856, 0, 280, 280, 0, 280, 542, 542, 0, + 0, 542, 0, 280, 280, 280, 280, 280, 0, 280, + 0, 0, 280, 280, 0, 0, 542, 0, 542, 0, + 856, 856, 0, 856, 0, 0, 0, 0, 0, 643, + 856, 856, 856, 856, 856, 436, 856, 0, 0, 856, + 856, 437, 0, 62, 0, 0, 0, 0, 542, 0, + 0, 438, 0, 0, 63, 0, 0, 0, 0, 0, + 0, 64, 0, 0, 0, 383, 384, 385, 439, 202, + 203, 0, 0, 0, 65, 0, 0, 0, 0, 440, + 0, 0, 0, 0, 0, 0, 0, 0, 386, 387, + 441, 442, 443, 388, 389, 444, 445, 106, 446, 0, + 108, 0, 0, 447, 448, 426, 449, 450, 451, 111, + 112, 113, 452, 114, 427, 0, 115, 116, 644, 645, + 646, 0, 0, 0, 0, 647, 0, 428, 453, 0, + 454, 0, 0, 381, 429, 66, 0, 0, 0, 0, + 0, 0, 0, 456, 0, 0, 0, 0, 277, 0, + 0, 67, 641, 0, 0, 0, 0, 0, 0, 0, + 0, 430, 0, 0, 431, 0, 0, 0, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 134, 0, 134, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 427, 428, 0, - 0, 0, 0, 0, 550, 0, 0, 0, 0, 429, - 0, 0, 0, 430, 0, 134, 0, 0, 0, 0, - 543, 637, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 134, 0, 0, 0, 543, 0, 0, 543, - 543, 0, 543, 0, 0, 550, 543, 0, 550, 543, - 0, 0, 0, 0, 134, 0, 0, 0, 0, 0, - 703, 0, 543, 550, 638, 550, 0, 0, 543, 0, - 431, 543, 0, 0, 0, 0, 432, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 433, 0, 0, 134, - 134, 0, 0, 0, 0, 550, 0, 0, 0, 0, - 378, 379, 380, 434, 198, 199, 134, 0, 0, 0, - 0, 0, 0, 0, 435, 0, 0, 0, 0, 0, - 0, 0, 0, 381, 382, 436, 437, 438, 383, 384, - 439, 440, 103, 441, 0, 105, 0, 0, 442, 443, - 543, 444, 445, 446, 108, 109, 110, 447, 111, 534, - 112, 113, 639, 640, 641, 421, 0, 0, 0, 0, - 0, 0, 543, 0, 422, 0, 0, 0, 0, 543, - 0, 0, 0, 543, 0, 0, 0, 423, 0, 0, - 543, 0, 0, 376, 424, 0, 0, 0, 0, 0, - 534, 0, 0, 534, 0, 0, 0, 0, 543, 0, - 0, 0, 636, 543, 0, 0, 0, 0, 534, 0, - 534, 425, 0, 0, 426, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 543, 0, - 0, 0, 543, 648, 0, 648, 648, 0, 648, 0, - 534, 0, 427, 428, 0, 0, 0, 0, 0, 0, - 0, 648, 0, 0, 429, 0, 648, 0, 430, 0, - 0, 0, 550, 0, 0, 0, 637, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 550, 0, - 0, 0, 550, 0, 550, 0, 0, 0, 550, 0, - 0, 550, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 550, 0, 0, 0, 0, 638, - 550, 0, 0, 550, 0, 431, 0, 642, 0, 642, - 642, 432, 642, 0, 0, 0, 0, 0, 0, 0, - 0, 433, 0, 0, 0, 642, 0, 0, 0, 0, - 642, 0, 0, 0, 0, 378, 379, 380, 434, 198, - 199, 0, 0, 0, 0, 0, 0, 0, 0, 435, - 0, 0, 0, 0, 0, 0, 0, 0, 381, 382, - 436, 437, 438, 383, 384, 439, 440, 103, 441, 0, - 105, 0, 550, 442, 443, 0, 444, 445, 446, 108, - 109, 110, 447, 111, 0, 112, 113, 639, 640, 641, - 0, 0, 0, 0, 550, 0, 0, 534, 0, 0, - 0, 550, 0, 0, 0, 550, 0, 0, 0, 0, - 0, 0, 550, 534, 0, 0, 0, 534, 0, 534, - 0, 0, 0, 534, 0, 0, 534, 0, 0, 0, - 550, 0, 0, 0, 0, 550, 0, 0, 0, 534, - 0, 0, 0, 648, 0, 534, 0, 0, 534, 0, - 648, 0, 0, 0, 0, 0, 0, 0, 0, 648, - 550, 0, 0, 0, 550, 0, 0, 0, 0, 0, - 0, 791, 648, 0, 0, 0, 0, 0, 648, 648, - 0, 0, 0, 0, 0, 0, 648, 0, 0, 0, + 0, 0, 0, 69, 0, 0, 0, 70, 0, 0, + 71, 0, 432, 433, 0, 0, 0, 0, 72, 0, + 0, 559, 0, 0, 434, 0, 0, 0, 435, 0, + 0, 0, 0, 0, 0, 542, 642, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 648, 0, 0, 648, - 0, 0, 791, 0, 0, 791, 0, 534, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 642, 0, 0, - 791, 0, 0, 0, 642, 648, 0, 648, 648, 534, - 0, 0, 0, 642, 0, 0, 534, 0, 0, 648, - 534, 0, 0, 648, 0, 0, 642, 534, 0, 0, - 0, 450, 642, 642, 448, 0, 449, 0, 0, 0, - 642, 0, 0, 0, 0, 534, 0, 0, 0, 451, - 534, 0, 0, 0, 273, 0, 0, 0, 0, 0, - 642, 0, 0, 642, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 534, 0, 0, 0, 534, - 648, 0, 0, 0, 0, 0, 648, 0, 0, 642, - 0, 642, 642, 0, 0, 0, 648, 0, 0, 0, - 0, 0, 0, 642, 0, 0, 0, 642, 0, 0, - 648, 648, 648, 648, 648, 648, 0, 0, 0, 0, - 0, 0, 0, 0, 648, 0, 0, 0, 0, 0, - 0, 0, 0, 648, 648, 648, 648, 648, 648, 648, - 648, 648, 648, 648, 0, 648, 0, 0, 648, 648, - 0, 648, 648, 648, 648, 648, 648, 648, 648, 0, - 648, 648, 0, 0, 642, 0, 0, 0, 0, 0, - 642, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 642, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 642, 642, 642, 642, 642, 642, - 0, 0, 0, 791, 0, 0, 0, 0, 642, 0, - 0, 0, 0, 0, 0, 0, 0, 642, 642, 642, - 642, 642, 642, 642, 642, 642, 642, 642, 0, 642, - 0, 0, 642, 642, 0, 642, 642, 642, 642, 642, - 642, 642, 642, 0, 642, 642, 0, 0, 0, 0, - 0, 1089, 0, 0, 1090, 0, 0, 0, 421, 791, - 0, 0, 791, 0, 0, 0, 0, 422, 0, 791, - 0, 0, 791, 0, 0, 0, 791, 0, 0, 0, - 423, 791, 0, 0, 791, 450, 376, 424, 448, 0, - 449, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 791, 0, 0, 451, 0, 0, 0, 0, 273, 0, - 0, 0, 0, 0, 425, 0, 0, 426, 0, 0, - 0, 0, 0, 0, 791, 0, 815, 791, 791, 0, - 0, 0, 0, 0, 0, 0, 0, 791, 0, 0, - 0, 0, 0, 0, 0, 427, 428, 0, 0, 0, - 0, 0, 0, 0, 791, 0, 0, 429, 0, 0, - 0, 430, 0, 0, 0, 0, 0, 815, 0, 450, - 815, 0, 448, 0, 449, 0, 791, 0, 0, 0, - 0, 791, 0, 0, 0, 815, 0, 451, 0, 0, - 0, 0, 273, 791, 0, 791, 0, 0, 0, 0, + 0, 542, 0, 0, 542, 542, 0, 542, 0, 0, + 0, 542, 559, 0, 542, 559, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 708, 0, 542, 0, 643, + 559, 0, 559, 542, 0, 436, 542, 0, 0, 0, + 0, 437, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 438, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 559, 0, 0, 383, 384, 385, 439, 202, + 203, 0, 0, 0, 0, 0, 0, 0, 0, 440, + 0, 0, 0, 0, 0, 0, 0, 0, 386, 387, + 441, 442, 443, 388, 389, 444, 445, 106, 446, 0, + 108, 0, 0, 447, 448, 542, 449, 450, 451, 111, + 112, 113, 452, 114, 549, 0, 115, 116, 644, 645, + 646, 0, 426, 0, 0, 0, 533, 542, 0, 0, + 0, 427, 0, 0, 542, 0, 0, 0, 542, 0, + 0, 0, 0, 0, 428, 542, 0, 0, 0, 0, + 381, 429, 0, 0, 0, 549, 432, 0, 549, 0, + 0, 0, 0, 542, 0, 0, 0, 533, 542, 641, + 533, 0, 0, 549, 0, 549, 0, 0, 430, 0, + 0, 431, 0, 0, 0, 533, 0, 533, 0, 0, + 0, 0, 0, 542, 0, 0, 0, 542, 0, 0, + 0, 0, 0, 0, 0, 549, 0, 0, 0, 432, + 433, 0, 0, 0, 0, 0, 0, 533, 0, 0, + 0, 434, 0, 0, 0, 435, 0, 0, 0, 559, + 0, 0, 0, 642, 651, 0, 651, 651, 0, 651, + 0, 0, 0, 0, 0, 559, 0, 0, 0, 559, + 0, 559, 651, 0, 0, 559, 0, 651, 559, 0, + 76, 0, 439, 0, 0, 0, 0, 0, 0, 0, + 0, 559, 0, 440, 0, 0, 643, 559, 0, 0, + 559, 0, 436, 0, 0, 0, 0, 0, 437, 0, + 0, 106, 446, 0, 108, 0, 0, 0, 438, 0, + 449, 450, 451, 111, 112, 113, 0, 114, 0, 0, + 115, 116, 383, 384, 385, 439, 202, 203, 0, 0, + 0, 0, 0, 0, 0, 0, 440, 0, 0, 0, + 0, 0, 0, 0, 0, 386, 387, 441, 442, 443, + 388, 389, 444, 445, 106, 446, 0, 108, 0, 559, + 447, 448, 0, 449, 450, 451, 111, 112, 113, 452, + 114, 0, 0, 115, 116, 644, 645, 646, 0, 0, + 0, 559, 549, 0, 0, 0, 0, 98, 559, 0, + 0, 0, 559, 0, 533, 0, 0, 0, 549, 559, + 0, 0, 549, 0, 549, 0, 0, 0, 549, 0, + 533, 549, 0, 0, 533, 0, 533, 559, 0, 0, + 533, 0, 559, 533, 549, 0, 0, 0, 99, 0, + 549, 0, 0, 549, 0, 0, 533, 0, 0, 0, + 100, 0, 533, 0, 0, 533, 0, 559, 0, 0, + 0, 559, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 651, 101, 0, 0, 0, 0, + 0, 651, 0, 0, 0, 0, 0, 0, 0, 0, + 651, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 651, 0, 0, 0, 0, 0, 651, + 651, 0, 549, 645, 0, 645, 645, 651, 645, 0, + 0, 0, 0, 0, 533, 0, 0, 0, 0, 0, + 0, 645, 0, 0, 549, 0, 645, 651, 0, 0, + 651, 549, 0, 0, 102, 549, 533, 0, 0, 0, + 0, 0, 549, 533, 103, 0, 0, 533, 0, 0, + 0, 0, 0, 0, 533, 0, 651, 0, 651, 651, + 549, 0, 0, 0, 0, 549, 0, 0, 0, 104, + 651, 0, 533, 0, 651, 0, 0, 533, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 105, 0, 0, + 549, 0, 0, 0, 549, 0, 0, 0, 0, 0, + 455, 0, 533, 453, 0, 454, 533, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 106, 107, 456, 108, + 0, 0, 0, 277, 0, 0, 109, 110, 111, 112, + 113, 651, 114, 0, 0, 115, 116, 651, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 651, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1091, 0, 431, 0, - 0, 0, 0, 0, 432, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 433, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 378, 379, - 380, 434, 198, 199, 0, 0, 0, 0, 0, 0, - 0, 0, 435, 0, 0, 0, 0, 0, 0, 0, - 0, 381, 382, 436, 437, 438, 383, 384, 439, 440, - 103, 441, 0, 105, 848, 0, 442, 443, 580, 444, - 445, 446, 108, 109, 110, 447, 111, 0, 112, 113, - 0, 0, 849, 0, 0, 1099, 581, 0, 1090, 582, - 0, 0, 421, 0, 0, 0, 0, 0, 0, 0, - 0, 422, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 423, 0, 0, 0, 0, 0, - 376, 424, 0, 0, 0, 0, 0, 0, 0, 0, - 583, 0, 0, 0, 0, 0, 584, 585, 586, 0, - 587, 588, 589, 0, 590, 0, 0, 0, 425, 0, - 0, 426, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 591, 0, 592, 0, 815, 1103, - 0, 0, 1090, 0, 0, 0, 421, 0, 0, 427, - 428, 0, 0, 0, 0, 422, 0, 0, 0, 0, - 0, 429, 0, 0, 0, 430, 0, 593, 423, 0, - 0, 0, 0, 450, 376, 424, 448, 0, 449, 0, - 0, 0, 0, 0, 594, 0, 0, 0, 0, 0, - 0, 451, 0, 0, 815, 0, 273, 815, 0, 0, - 0, 0, 425, 0, 815, 426, 595, 815, 0, 0, - 0, 815, 0, 0, 0, 0, 815, 0, 0, 815, - 1091, 0, 431, 0, 0, 0, 0, 0, 432, 0, - 0, 0, 0, 427, 428, 815, 0, 0, 433, 0, - 0, 596, 597, 0, 0, 429, 0, 0, 0, 430, - 0, 0, 378, 379, 380, 434, 198, 199, 598, 815, - 0, 0, 815, 815, 0, 0, 435, 0, 0, 0, - 0, 0, 815, 0, 0, 381, 382, 436, 437, 438, - 383, 384, 439, 440, 103, 441, 0, 105, 0, 815, - 442, 443, 0, 444, 445, 446, 108, 109, 110, 447, - 111, 0, 112, 113, 1091, 0, 431, 0, 0, 0, - 0, 815, 432, 0, 0, 0, 815, 0, 0, 0, - 0, 0, 433, 0, 0, 0, 0, 0, 815, 0, - 815, 0, 0, 0, 0, 0, 378, 379, 380, 434, - 198, 199, 0, 0, 0, 0, 0, 0, 0, 0, - 435, 0, 0, 0, 0, 0, 0, 0, 0, 381, - 382, 436, 437, 438, 383, 384, 439, 440, 103, 441, - 0, 105, 0, 0, 442, 443, 0, 444, 445, 446, - 108, 109, 110, 447, 111, 0, 112, 113, 0, 0, - 0, 0, 0, 1111, 0, 0, 1090, 0, 0, 0, - 421, 0, 0, 0, 0, 0, 0, 0, 0, 422, + 0, 651, 651, 651, 651, 651, 651, 0, 0, 0, + 0, 0, 0, 0, 0, 651, 0, 0, 0, 0, + 0, 0, 0, 0, 651, 651, 651, 651, 651, 651, + 651, 651, 651, 651, 651, 0, 651, 0, 0, 651, + 651, 0, 651, 651, 651, 651, 651, 651, 651, 651, + 0, 0, 651, 651, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 645, 0, 0, 0, 0, 0, 0, + 645, 0, 0, 0, 0, 0, 0, 0, 0, 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 423, 0, 0, 0, 0, 450, 376, 424, - 448, 0, 449, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 451, 0, 0, 0, 0, - 273, 0, 0, 0, 0, 0, 425, 0, 0, 426, - 0, 0, 0, 0, 0, 0, 0, 0, 794, 0, + 0, 0, 645, 0, 0, 0, 0, 0, 645, 645, + 0, 0, 0, 0, 0, 0, 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 427, 428, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 429, - 0, 0, 0, 430, 0, 0, 0, 0, 0, 794, - 0, 450, 794, 0, 448, 0, 449, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 794, 0, 451, - 0, 0, 0, 0, 273, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 645, 0, 0, 645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1091, 0, - 431, 0, 0, 0, 0, 0, 432, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 433, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 378, 379, 380, 434, 198, 199, 0, 0, 0, 0, - 0, 0, 0, 0, 435, 0, 0, 0, 0, 0, - 0, 0, 0, 381, 382, 436, 437, 438, 383, 384, - 439, 440, 103, 441, 0, 105, 221, 0, 442, 443, - 221, 444, 445, 446, 108, 109, 110, 447, 111, 0, - 112, 113, 0, 0, 221, 0, 0, 1114, 221, 0, - 1090, 221, 0, 0, 421, 0, 0, 0, 0, 0, - 0, 0, 0, 422, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 423, 0, 0, 0, - 0, 0, 376, 424, 0, 0, 0, 0, 0, 0, - 0, 0, 221, 0, 0, 0, 0, 0, 221, 221, - 221, 0, 221, 221, 221, 0, 221, 0, 0, 0, - 425, 0, 0, 426, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 221, 0, 221, 0, - 794, 1119, 0, 0, 1090, 0, 0, 0, 421, 0, - 0, 427, 428, 0, 0, 0, 0, 422, 0, 0, - 0, 0, 0, 429, 0, 0, 0, 430, 0, 221, - 423, 0, 0, 0, 0, 450, 376, 424, 448, 0, - 449, 0, 0, 0, 0, 0, 221, 0, 0, 0, - 0, 0, 0, 451, 0, 0, 794, 0, 273, 794, - 0, 0, 0, 0, 425, 0, 794, 426, 221, 794, - 0, 0, 0, 794, 0, 0, 0, 0, 794, 0, - 0, 794, 1091, 0, 431, 0, 0, 0, 0, 0, - 432, 0, 0, 0, 0, 427, 428, 794, 0, 0, - 433, 0, 0, 221, 221, 0, 0, 429, 0, 0, - 0, 430, 0, 0, 378, 379, 380, 434, 198, 199, - 221, 794, 0, 0, 794, 794, 0, 0, 435, 0, - 0, 0, 0, 0, 794, 0, 0, 381, 382, 436, - 437, 438, 383, 384, 439, 440, 103, 441, 0, 105, - 0, 794, 442, 443, 0, 444, 445, 446, 108, 109, - 110, 447, 111, 0, 112, 113, 1091, 0, 431, 0, - 0, 0, 0, 794, 432, 0, 0, 0, 794, 0, - 0, 0, 0, 0, 433, 0, 0, 0, 0, 0, - 794, 0, 794, 0, 0, 0, 0, 0, 378, 379, - 380, 434, 198, 199, 0, 0, 0, 0, 0, 0, - 0, 0, 435, 0, 0, 0, 0, 0, 0, 0, - 0, 381, 382, 436, 437, 438, 383, 384, 439, 440, - 103, 441, 0, 105, 0, 0, 442, 443, 0, 444, - 445, 446, 108, 109, 110, 447, 111, 0, 112, 113, - 0, 0, 0, 0, 0, 1122, 0, 0, 1090, 0, - 0, 0, 421, 0, 0, 792, 0, 0, 0, 0, - 0, 422, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 423, 0, 0, 0, 0, 450, - 376, 424, 448, 0, 449, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 792, 451, 0, 792, - 0, 0, 273, 0, 0, 0, 0, 0, 425, 0, - 0, 426, 0, 0, 792, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 427, - 428, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 429, 0, 0, 0, 430, 0, 0, 0, 0, - 0, 450, 0, 481, 448, 0, 449, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 451, - 0, 0, 0, 0, 273, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1091, 0, 431, 0, 0, 0, 0, 0, 432, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 433, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 378, 379, 380, 434, 198, 199, 0, 0, - 0, 0, 0, 0, 0, 0, 435, 0, 0, 0, - 0, 0, 0, 0, 0, 381, 382, 436, 437, 438, - 383, 384, 439, 440, 103, 441, 0, 105, 0, 0, - 442, 443, 0, 444, 445, 446, 108, 109, 110, 447, - 111, 0, 112, 113, 0, 0, 0, 0, 0, 1125, - 0, 0, 1090, 0, 0, 0, 421, 0, 0, 0, - 0, 0, 0, 0, 0, 422, 0, 792, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 423, 0, - 0, 0, 0, 0, 376, 424, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 425, 0, 0, 426, 0, 0, 0, 0, - 0, 0, 0, 792, 0, 0, 792, 0, 0, 0, - 0, 0, 0, 792, 0, 0, 792, 0, 421, 0, - 792, 0, 0, 427, 428, 792, 0, 422, 792, 0, - 0, 0, 0, 450, 0, 429, 448, 0, 449, 430, - 423, 0, 0, 0, 792, 0, 376, 424, 0, 0, - 0, 451, 0, 0, 0, 0, 273, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 792, 0, - 0, 792, 792, 0, 425, 0, 0, 426, 0, 0, - 0, 792, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1091, 0, 431, 0, 792, 0, - 0, 0, 432, 377, 0, 427, 428, 0, 0, 0, - 0, 0, 433, 0, 0, 0, 0, 429, 0, 0, - 792, 430, 0, 0, 0, 792, 378, 379, 380, 434, - 198, 199, 0, 0, 0, 0, 0, 792, 0, 792, - 435, 0, 0, 0, 0, 0, 0, 0, 0, 381, - 382, 436, 437, 438, 383, 384, 439, 440, 103, 441, - 0, 105, 0, 0, 442, 443, 0, 444, 445, 446, - 108, 109, 110, 447, 111, 0, 112, 113, 431, 0, - 0, 0, 0, 0, 432, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 433, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 378, 379, - 380, 434, 198, 199, 0, 0, 0, 0, 0, 0, - 0, 0, 435, 0, 0, 0, 0, 0, 0, 0, - 0, 381, 382, 436, 437, 438, 383, 384, 439, 440, - 103, 441, 0, 105, 0, 0, 442, 443, 0, 444, - 445, 446, 108, 109, 110, 447, 111, 0, 112, 113, - 421, 0, 0, 952, 0, 952, 952, 0, 952, 422, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 952, 423, 0, 0, 102, 952, 0, 376, 424, - 0, 0, 0, 0, 155, 156, 157, 158, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 0, 0, 171, 172, 103, 104, 425, 105, 0, 426, - 173, 174, 0, 0, 106, 107, 108, 109, 110, 175, - 111, 176, 112, 113, 177, 178, 179, 0, 0, 0, - 0, 0, 0, 0, 0, 377, 648, 427, 428, 648, - 0, 648, 0, 0, 0, 0, 0, 0, 0, 429, - 0, 0, 0, 430, 648, 0, 0, 0, 0, 648, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 703, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 431, 0, 0, 0, 0, 0, 432, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 433, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 378, 379, 380, 434, 198, 199, 0, 0, 0, 0, - 0, 0, 0, 0, 435, 0, 0, 0, 0, 0, - 0, 0, 0, 381, 382, 436, 437, 438, 383, 384, - 439, 440, 103, 441, 0, 105, 0, 0, 442, 443, - 952, 444, 445, 446, 108, 109, 110, 447, 111, 952, - 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 952, 0, 0, 0, 0, 0, 952, 952, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 952, 0, 0, 952, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 648, 0, 0, 0, - 0, 0, 0, 648, 0, 952, 450, 952, 952, 448, - 0, 449, 648, 0, 0, 0, 0, 0, 0, 952, - 0, 0, 0, 952, 451, 648, 0, 0, 0, 273, - 0, 648, 648, 0, 0, 0, 0, 0, 0, 648, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 648, - 0, 0, 648, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 952, 0, 0, 0, 0, 0, 952, 0, 0, 0, - 648, 648, 0, 0, 0, 0, 952, 0, 0, 0, - 0, 0, 648, 0, 450, 0, 648, 448, 0, 449, - 952, 952, 952, 952, 952, 952, 0, 0, 0, 0, - 0, 0, 451, 0, 952, 0, 0, 273, 0, 0, - 0, 0, 0, 952, 952, 952, 952, 952, 952, 952, - 952, 952, 952, 952, 321, 952, 0, 0, 952, 952, - 0, 952, 952, 952, 952, 952, 952, 952, 952, 0, - 952, 952, 0, 648, 0, 0, 0, 0, 0, 648, - 0, 0, 0, 0, 321, 0, 0, 0, 0, 648, - 0, 321, 0, 0, 0, 321, 321, 0, 321, 0, - 0, 321, 0, 648, 648, 648, 648, 648, 648, 0, - 0, 0, 0, 0, 0, 321, 0, 648, 0, 0, - 0, 321, 0, 0, 0, 0, 648, 648, 648, 648, - 648, 648, 648, 648, 648, 648, 648, 0, 648, 0, - 0, 648, 648, 421, 648, 648, 648, 648, 648, 648, - 648, 648, 422, 648, 648, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 423, 0, 0, 0, 0, - 0, 376, 424, 0, 0, 0, 0, 0, 0, 0, - 0, 321, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 772, 0, 0, 0, 0, 425, - 321, 0, 426, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 321, 0, 0, 0, 0, - 427, 428, 0, 0, 321, 772, 321, 0, 772, 0, - 0, 421, 429, 321, 450, 0, 430, 448, 0, 449, - 422, 0, 0, 772, 0, 0, 0, 0, 0, 0, - 0, 0, 451, 423, 0, 0, 0, 273, 0, 376, - 424, 0, 321, 321, 0, 321, 0, 0, 0, 0, - 0, 0, 321, 321, 321, 321, 321, 0, 321, 0, - 321, 321, 0, 0, 0, 0, 0, 425, 0, 0, - 426, 0, 0, 431, 0, 0, 0, 0, 0, 432, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 433, - 0, 0, 0, 0, 0, 0, 0, 695, 427, 428, - 0, 0, 0, 378, 379, 380, 434, 198, 199, 0, - 429, 0, 0, 0, 430, 0, 0, 435, 0, 0, - 0, 0, 0, 0, 0, 0, 381, 382, 436, 437, - 438, 383, 384, 439, 440, 103, 441, 0, 105, 0, - 0, 442, 443, 0, 444, 445, 446, 108, 109, 110, - 447, 111, 0, 112, 113, 0, 0, 0, 0, 0, - 0, 703, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 431, 0, 0, 0, 0, 0, 432, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 433, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 378, 379, 380, 434, 198, 199, 0, 0, 0, - 0, 0, 0, 0, 0, 435, 0, 0, 0, 0, - 0, 0, 0, 0, 381, 382, 436, 437, 438, 383, - 384, 439, 440, 103, 441, 0, 105, 0, 0, 442, - 443, 421, 444, 445, 446, 108, 109, 110, 447, 111, - 422, 112, 113, 450, 947, 0, 448, 0, 449, 0, - 0, 0, 0, 423, 0, 0, 0, 0, 0, 376, - 424, 451, 0, 0, 0, 0, 273, 0, 0, 0, - 0, 0, 772, 0, 0, 772, 0, 0, 0, 0, - 0, 0, 772, 793, 0, 772, 0, 425, 0, 772, - 426, 0, 0, 0, 772, 0, 0, 772, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 772, 0, 0, 377, 0, 427, 428, - 0, 0, 0, 0, 793, 0, 450, 793, 0, 448, - 429, 449, 0, 0, 430, 0, 0, 772, 0, 0, - 772, 772, 793, 0, 451, 0, 0, 0, 0, 273, - 772, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 772, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 772, - 0, 431, 0, 0, 772, 0, 0, 432, 0, 0, - 0, 0, 0, 0, 0, 0, 772, 433, 772, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 378, 379, 380, 434, 198, 199, 0, 0, 0, - 0, 0, 0, 0, 0, 435, 0, 0, 0, 0, - 0, 0, 0, 0, 381, 382, 436, 437, 438, 383, - 384, 439, 440, 103, 441, 0, 105, 0, 0, 442, - 443, 0, 444, 445, 446, 108, 109, 110, 447, 111, - 421, 112, 113, 0, 0, 0, 0, 0, 0, 422, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 423, 0, 0, 0, 0, 0, 376, 424, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 425, 0, 0, 426, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 793, 0, 0, 0, 0, - 0, 0, 0, 421, 0, 0, 450, 427, 428, 448, - 0, 449, 422, 0, 0, 0, 0, 0, 0, 429, - 0, 0, 0, 430, 451, 423, 0, 0, 0, 273, - 0, 376, 424, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 793, 0, 0, 793, 0, 0, 0, 0, 425, - 0, 793, 426, 0, 793, 0, 0, 0, 793, 0, - 0, 0, 0, 793, 0, 0, 793, 0, 0, 0, - 431, 0, 0, 0, 0, 0, 432, 0, 0, 0, - 427, 428, 793, 0, 0, 0, 433, 0, 0, 0, - 0, 0, 429, 0, 450, 0, 430, 448, 0, 449, - 378, 379, 380, 434, 198, 199, 793, 0, 0, 793, - 793, 0, 451, 0, 435, 0, 0, 273, 0, 793, - 0, 0, 0, 381, 382, 436, 437, 438, 383, 384, - 439, 440, 103, 441, 0, 105, 793, 0, 442, 443, - 0, 444, 445, 446, 108, 109, 110, 447, 111, 0, - 112, 113, 0, 431, 0, 0, 0, 0, 793, 432, - 0, 0, 0, 793, 0, 0, 0, 0, 0, 433, - 0, 0, 0, 0, 0, 793, 0, 793, 0, 0, - 1117, 0, 0, 378, 379, 380, 434, 198, 199, 0, - 0, 0, 0, 0, 0, 0, 0, 435, 0, 0, - 0, 0, 0, 0, 0, 0, 381, 382, 436, 437, - 438, 383, 384, 439, 440, 103, 441, 0, 105, 0, - 0, 442, 443, 421, 444, 445, 446, 108, 109, 110, - 447, 111, 422, 112, 113, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 423, 0, 0, 462, 0, - 0, 376, 424, 0, 0, 0, 0, 0, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 462, 462, 462, 0, 0, 462, 462, 462, 462, 425, - 462, 0, 426, 462, 462, 0, 0, 462, 462, 462, - 462, 462, 462, 462, 462, 462, 462, 462, 462, 462, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 427, 428, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 421, 429, 0, 0, 0, 430, 0, 0, 0, - 422, 0, 0, 450, 0, 0, 448, 0, 449, 0, - 0, 0, 0, 423, 0, 0, 0, 0, 0, 376, - 424, 451, 1684, 0, 0, 0, 273, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1296, 0, 0, 0, 425, 0, 0, - 426, 0, 0, 431, 0, 713, 711, 0, 712, 432, - 714, 0, 0, 0, 0, 0, 0, 0, 0, 433, - 0, 0, 0, 875, 874, 876, 0, 0, 427, 428, - 0, 0, 0, 378, 379, 380, 434, 198, 199, 0, - 429, 0, 0, 0, 430, 0, 0, 435, 0, 0, - 0, 0, 0, 0, 0, 0, 381, 382, 436, 437, - 438, 383, 384, 439, 440, 103, 441, 0, 105, 0, - 0, 442, 443, 0, 444, 445, 446, 108, 109, 110, - 447, 111, 0, 112, 113, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 431, 0, 0, 0, 0, 0, 432, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 433, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1309, 0, - 0, 378, 379, 380, 434, 198, 199, 0, 0, 0, - 0, 0, 0, 0, 0, 435, 0, 0, 0, 0, - 0, 0, 0, 0, 381, 382, 436, 437, 438, 383, - 384, 439, 440, 103, 441, 0, 105, 0, 0, 442, - 443, 0, 444, 445, 446, 108, 109, 110, 447, 111, - 421, 112, 113, 1729, 0, 0, 448, 0, 449, 422, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 451, 423, 0, 0, 0, 273, 0, 376, 424, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 862, 425, 0, 0, 426, - 0, 0, 0, 709, 0, 0, 0, 0, 710, 0, - 0, 863, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 450, 427, 428, 448, - 0, 449, 0, 0, 0, 0, 0, 0, 0, 429, - 0, 0, 0, 430, 451, 0, 0, 864, 0, 273, - 0, 0, 0, 0, 0, 0, 865, 0, 0, 0, - 0, 0, 0, 0, 866, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 867, 0, 868, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 869, - 431, 870, 871, 872, 0, 0, 432, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 433, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 378, 379, 380, 434, 198, 199, 0, 0, 0, 0, - 0, 0, 0, 0, 435, 0, 0, 0, 0, 0, - 0, 0, 873, 381, 382, 436, 437, 438, 383, 384, - 439, 440, 103, 441, 0, 105, 0, 0, 442, 443, - 421, 444, 445, 446, 108, 109, 110, 447, 111, 422, - 112, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 423, 0, 0, 0, 0, 0, 376, 424, - 0, 823, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 425, 0, 0, 426, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 823, 0, 0, 823, 0, 0, 0, 0, - 0, 0, 0, 421, 0, 377, 952, 427, 428, 952, - 823, 952, 422, 0, 0, 0, 0, 0, 0, 429, - 0, 0, 0, 430, 952, 423, 0, 0, 0, 952, - 0, 376, 424, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 425, - 0, 0, 426, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 431, 0, 0, 0, 0, 0, 432, 0, 0, 0, - 427, 428, 0, 0, 0, 0, 433, 0, 0, 0, - 0, 0, 429, 0, 0, 0, 430, 0, 0, 0, - 378, 379, 380, 434, 198, 199, 0, 0, 0, 0, - 0, 0, 0, 0, 435, 0, 0, 0, 0, 0, - 0, 0, 0, 381, 382, 436, 437, 438, 383, 384, - 439, 440, 103, 441, 1393, 105, 0, 0, 442, 443, - 0, 444, 445, 446, 108, 109, 110, 447, 111, 0, - 112, 113, 0, 431, 0, 0, 0, 0, 787, 432, - 0, 0, 0, 0, 6, 0, 0, 0, 0, 433, - 0, 0, 0, 0, 0, 1513, 1514, 0, 1515, 0, - 0, 1516, 0, 378, 379, 380, 434, 198, 199, 0, - 0, 0, 0, 0, 0, 1517, 0, 435, 0, 787, - 0, 1518, 787, 823, 0, 0, 381, 382, 436, 437, - 438, 383, 384, 439, 440, 103, 441, 787, 105, 0, - 0, 442, 443, 952, 444, 445, 446, 108, 109, 110, - 447, 111, 952, 112, 113, 0, 0, 0, 0, 0, - 0, 0, 788, 0, 0, 952, 0, 0, 789, 0, - 0, 952, 952, 0, 0, 0, 0, 0, 0, 823, - 0, 1519, 823, 0, 0, 0, 0, 0, 0, 823, - 0, 822, 823, 0, 0, 0, 823, 0, 0, 952, - 14, 823, 952, 788, 823, 0, 788, 0, 0, 789, - 0, 0, 789, 0, 0, 1520, 0, 0, 0, 0, - 823, 788, 0, 0, 0, 16, 0, 789, 0, 0, - 952, 952, 822, 0, 1645, 822, 1521, 0, 0, 0, - 0, 0, 952, 102, 823, 0, 952, 823, 823, 0, - 822, 0, 0, 0, 0, 0, 0, 823, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1522, 104, 823, 105, 0, 0, 0, 0, - 0, 0, 106, 107, 108, 109, 110, 0, 111, 0, - 112, 1523, 0, 0, 0, 0, 823, 0, 0, 0, - 0, 823, 0, 952, 0, 0, 0, 0, 0, 952, - 0, 816, 0, 823, 0, 823, 0, 0, 0, 952, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 952, 952, 952, 952, 952, 952, 0, - 787, 0, 0, 0, 824, 0, 0, 952, 0, 0, - 0, 0, 816, 0, 0, 816, 952, 952, 952, 952, - 952, 952, 952, 952, 952, 952, 952, 0, 952, 0, - 816, 952, 952, 0, 952, 952, 952, 952, 952, 952, - 952, 952, 0, 952, 952, 824, 0, 0, 824, 0, - 0, 0, 0, 0, 0, 0, 787, 0, 0, 787, - 0, 0, 0, 824, 0, 0, 787, 825, 0, 787, - 0, 0, 0, 787, 0, 0, 0, 0, 787, 0, - 0, 787, 0, 0, 788, 0, 0, 0, 0, 0, - 789, 0, 0, 0, 0, 0, 0, 787, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 825, 0, - 0, 825, 0, 822, 0, 0, 0, 813, 0, 0, - 0, 787, 0, 0, 787, 787, 825, 0, 0, 0, - 0, 0, 0, 0, 787, 0, 0, 0, 0, 0, - 788, 0, 0, 788, 0, 0, 789, 0, 0, 789, - 788, 787, 0, 788, 0, 0, 789, 788, 813, 789, - 0, 813, 788, 789, 0, 788, 0, 0, 789, 822, - 0, 789, 822, 787, 0, 0, 813, 0, 787, 822, - 0, 788, 822, 0, 0, 0, 822, 789, 0, 0, - 787, 822, 787, 0, 822, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 788, 0, 0, 788, 788, - 822, 789, 0, 0, 789, 789, 0, 0, 788, 0, - 0, 0, 0, 0, 789, 0, 0, 0, 0, 0, - 0, 0, 0, 816, 822, 788, 0, 822, 822, 0, - 0, 789, 0, 0, 0, 0, 0, 822, 0, 817, - 0, 0, 0, 0, 0, 0, 0, 788, 0, 0, - 826, 0, 788, 789, 822, 0, 824, 0, 789, 0, - 0, 0, 0, 0, 788, 0, 788, 0, 0, 0, - 789, 0, 789, 814, 0, 0, 822, 0, 0, 816, - 817, 822, 816, 817, 0, 0, 0, 0, 0, 816, - 0, 826, 816, 822, 826, 822, 816, 0, 817, 0, - 0, 816, 0, 0, 816, 0, 0, 0, 0, 826, - 0, 0, 824, 0, 814, 824, 0, 814, 0, 825, - 816, 0, 824, 0, 0, 824, 0, 0, 0, 824, - 0, 0, 814, 0, 824, 0, 0, 824, 0, 0, - 0, 0, 0, 0, 816, 0, 0, 816, 816, 0, - 0, 0, 0, 824, 0, 0, 0, 816, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 813, - 0, 0, 0, 0, 816, 825, 0, 824, 825, 0, - 824, 824, 0, 0, 0, 825, 0, 0, 825, 0, - 824, 0, 825, 0, 0, 0, 816, 825, 0, 0, - 825, 816, 0, 0, 0, 0, 0, 824, 818, 0, - 0, 0, 0, 816, 0, 816, 825, 0, 0, 0, - 0, 0, 0, 0, 0, 813, 0, 0, 813, 824, - 0, 0, 0, 0, 824, 813, 0, 0, 813, 0, - 825, 0, 813, 825, 825, 0, 824, 813, 824, 818, - 813, 0, 818, 825, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 813, 818, 0, 0, - 825, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 813, 0, 825, 813, 813, 0, 0, 825, 0, 0, - 0, 817, 0, 813, 0, 0, 0, 0, 0, 825, - 0, 825, 826, 0, 0, 0, 0, 0, 0, 0, - 813, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 814, 0, 0, 0, 0, - 0, 0, 813, 0, 0, 0, 0, 813, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 817, 0, 813, - 817, 813, 0, 0, 0, 0, 0, 817, 826, 0, - 817, 826, 0, 0, 817, 0, 0, 0, 826, 817, - 0, 826, 817, 0, 0, 826, 0, 0, 0, 0, - 826, 814, 0, 826, 814, 0, 0, 0, 817, 0, - 0, 814, 0, 0, 814, 0, 0, 0, 814, 826, - 0, 0, 0, 814, 0, 0, 814, 0, 0, 0, - 0, 0, 817, 0, 0, 817, 817, 0, 0, 0, - 0, 0, 814, 826, 0, 817, 826, 826, 0, 0, - 0, 0, 0, 0, 0, 0, 826, 0, 0, 0, - 0, 0, 817, 1393, 0, 0, 814, 0, 0, 814, - 814, 0, 0, 826, 0, 0, 0, 0, 0, 814, - 818, 0, 0, 0, 817, 0, 0, 0, 0, 817, - 0, 0, 0, 6, 0, 826, 814, 0, 0, 0, - 826, 817, 0, 817, 1513, 1514, 0, 1515, 0, 0, - 1516, 0, 826, 0, 826, 0, 0, 0, 814, 0, - 0, 0, 0, 814, 1517, 0, 0, 0, 0, 0, - 1518, 0, 0, 0, 0, 814, 818, 814, 0, 818, - 0, 0, 0, 0, 0, 0, 818, 0, 0, 818, - 0, 0, 0, 818, 0, 0, 0, 0, 818, 0, - 0, 818, 0, 579, 0, 0, 0, 580, 0, 0, - 0, 0, 0, 0, 776, 0, 0, 818, 0, 0, - 0, 0, 0, 0, 0, 581, 0, 0, 582, 0, - 1519, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 818, 0, 0, 818, 818, 0, 0, 0, 14, 0, 0, 0, 0, 818, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1520, 0, 0, 0, 0, 583, - 0, 818, 0, 0, 16, 584, 585, 586, 0, 587, - 588, 589, 0, 590, 579, 1521, 0, 0, 580, 0, - 0, 0, 102, 818, 0, 0, 0, 0, 818, 0, - 0, 0, 0, 591, 0, 592, 581, 0, 0, 582, - 818, 0, 818, 0, 0, 0, 0, 0, 0, 0, - 0, 1522, 104, 0, 105, 0, 0, 0, 0, 0, - 0, 106, 107, 108, 109, 110, 593, 111, 0, 112, - 1523, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 583, 0, 0, 594, 0, 0, 584, 585, 586, 0, - 587, 588, 589, 0, 590, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 595, 0, 0, 0, 0, - 0, 0, 0, 0, 591, 0, 592, 0, 0, 0, - 102, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 645, 0, 645, 645, 0, + 1094, 0, 0, 1095, 0, 0, 0, 426, 0, 645, + 0, 0, 0, 645, 0, 0, 427, 0, 0, 0, + 0, 0, 0, 0, 0, 818, 0, 455, 818, 428, + 453, 0, 454, 0, 0, 381, 429, 0, 0, 0, + 0, 0, 0, 818, 0, 456, 0, 0, 0, 0, + 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 430, 0, 0, 431, 0, 0, 0, + 645, 0, 0, 0, 0, 0, 645, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 645, 0, 0, 0, + 0, 0, 0, 0, 432, 433, 0, 0, 0, 0, + 645, 645, 645, 645, 645, 645, 434, 0, 0, 0, + 435, 0, 0, 0, 645, 0, 0, 0, 0, 0, + 0, 0, 0, 645, 645, 645, 645, 645, 645, 645, + 645, 645, 645, 645, 0, 645, 0, 0, 645, 645, + 0, 645, 645, 645, 645, 645, 645, 645, 645, 0, + 0, 645, 645, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1096, 0, 436, 0, 0, + 0, 0, 0, 437, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 438, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 383, 384, 385, + 439, 202, 203, 0, 0, 0, 0, 0, 0, 0, + 0, 440, 0, 0, 0, 0, 0, 0, 0, 0, + 386, 387, 441, 442, 443, 388, 389, 444, 445, 106, + 446, 0, 108, 0, 0, 447, 448, 0, 449, 450, + 451, 111, 112, 113, 452, 114, 818, 1104, 115, 116, + 1095, 0, 0, 0, 426, 0, 133, 0, 0, 0, + 133, 0, 0, 427, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 455, 0, 428, 453, 133, 454, + 0, 133, 381, 429, 0, 0, 0, 0, 0, 0, + 0, 0, 456, 0, 0, 0, 0, 277, 0, 0, + 0, 0, 818, 0, 0, 818, 0, 0, 0, 0, + 430, 0, 818, 431, 0, 818, 0, 0, 0, 818, + 0, 0, 133, 0, 818, 0, 0, 818, 133, 133, + 133, 0, 133, 133, 133, 0, 133, 0, 0, 0, + 0, 432, 433, 818, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 434, 0, 0, 133, 435, 133, 455, + 0, 0, 453, 0, 454, 0, 0, 818, 0, 0, + 818, 818, 0, 0, 0, 0, 0, 456, 0, 0, + 818, 0, 277, 0, 0, 0, 0, 0, 0, 133, + 0, 0, 0, 0, 0, 0, 0, 818, 0, 0, + 0, 0, 0, 0, 0, 0, 133, 0, 0, 0, + 0, 0, 1096, 0, 436, 0, 0, 0, 0, 818, + 437, 0, 0, 0, 818, 0, 0, 0, 133, 0, + 438, 0, 0, 0, 0, 0, 818, 0, 818, 0, + 0, 0, 0, 0, 383, 384, 385, 439, 202, 203, + 0, 0, 0, 0, 0, 0, 0, 0, 440, 0, + 0, 0, 0, 133, 133, 0, 0, 386, 387, 441, + 442, 443, 388, 389, 444, 445, 106, 446, 0, 108, + 133, 0, 447, 448, 0, 449, 450, 451, 111, 112, + 113, 452, 114, 0, 1108, 115, 116, 1095, 0, 0, + 0, 426, 0, 0, 0, 0, 0, 0, 0, 0, + 427, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 428, 0, 0, 105, 0, 0, 381, + 429, 0, 0, 0, 0, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, + 174, 0, 0, 175, 176, 106, 107, 430, 108, 0, + 431, 177, 178, 0, 0, 109, 110, 111, 112, 113, + 179, 114, 180, 0, 115, 116, 181, 182, 183, 1116, + 0, 0, 1095, 0, 0, 0, 426, 0, 432, 433, + 0, 0, 0, 0, 0, 427, 0, 0, 0, 0, + 434, 0, 0, 0, 435, 0, 455, 0, 428, 453, + 0, 454, 0, 0, 381, 429, 0, 0, 0, 0, + 0, 0, 0, 0, 456, 0, 0, 0, 0, 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 596, 597, 0, 0, 0, 0, 0, 593, 0, 103, - 104, 0, 105, 0, 0, 0, 0, 598, 0, 106, - 107, 108, 109, 110, 594, 111, 0, 112, 113, 0, + 0, 0, 430, 0, 0, 431, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1096, + 0, 436, 0, 0, 0, 0, 0, 437, 0, 0, + 0, 0, 0, 432, 433, 0, 0, 438, 0, 0, + 0, 0, 0, 0, 0, 434, 0, 0, 0, 435, + 0, 383, 384, 385, 439, 202, 203, 0, 0, 0, + 0, 0, 0, 0, 0, 440, 0, 0, 0, 0, + 0, 0, 0, 0, 386, 387, 441, 442, 443, 388, + 389, 444, 445, 106, 446, 0, 108, 0, 0, 447, + 448, 0, 449, 450, 451, 111, 112, 113, 452, 114, + 0, 0, 115, 116, 1096, 0, 436, 0, 0, 0, + 0, 0, 437, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 438, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 383, 384, 385, 439, + 202, 203, 0, 0, 0, 0, 0, 0, 0, 0, + 440, 0, 0, 0, 0, 0, 0, 0, 0, 386, + 387, 441, 442, 443, 388, 389, 444, 445, 106, 446, + 0, 108, 0, 0, 447, 448, 0, 449, 450, 451, + 111, 112, 113, 452, 114, 0, 1119, 115, 116, 1095, + 0, 0, 0, 426, 0, 0, 0, 0, 0, 0, + 0, 0, 427, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 455, 0, 428, 453, 0, 454, 0, + 0, 381, 429, 0, 0, 0, 0, 0, 0, 0, + 0, 456, 0, 0, 0, 0, 277, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 430, + 0, 0, 431, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 595, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 102, 0, 0, 0, 0, 0, 0, 0, 0, + 432, 433, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 434, 0, 0, 0, 435, 0, 455, 0, + 0, 453, 0, 454, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 456, 0, 0, 0, + 0, 277, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 596, 597, 0, 0, 0, 0, 0, 0, 0, - 103, 104, 0, 105, 0, 0, 0, 0, 598, 0, - 106, 107, 108, 109, 110, 0, 111, 0, 112, 113, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1096, 0, 436, 0, 0, 0, 0, 0, 437, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 438, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 383, 384, 385, 439, 202, 203, 0, + 0, 0, 0, 0, 0, 0, 0, 440, 0, 0, + 0, 0, 0, 0, 0, 0, 386, 387, 441, 442, + 443, 388, 389, 444, 445, 106, 446, 0, 108, 0, + 0, 447, 448, 0, 449, 450, 451, 111, 112, 113, + 452, 114, 0, 1124, 115, 116, 1095, 0, 0, 0, + 426, 0, 0, 0, 0, 0, 0, 0, 0, 427, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 428, 0, 0, 0, 0, 0, 381, 429, + 0, 797, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 430, 0, 0, 431, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 797, 0, 0, 797, 0, 0, 1127, 0, + 0, 1095, 0, 0, 0, 426, 0, 432, 433, 0, + 797, 0, 0, 0, 427, 0, 0, 0, 0, 434, + 0, 0, 0, 435, 0, 455, 0, 428, 453, 0, + 454, 0, 0, 381, 429, 0, 0, 0, 0, 0, + 0, 0, 0, 456, 0, 0, 0, 0, 277, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 430, 0, 0, 431, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 1096, 0, + 436, 0, 0, 0, 0, 0, 437, 0, 0, 0, + 0, 0, 432, 433, 0, 0, 438, 0, 0, 0, + 0, 0, 0, 0, 434, 0, 0, 0, 435, 0, + 383, 384, 385, 439, 202, 203, 0, 0, 0, 0, + 0, 0, 0, 0, 440, 0, 0, 0, 0, 0, + 0, 0, 0, 386, 387, 441, 442, 443, 388, 389, + 444, 445, 106, 446, 0, 108, 0, 0, 447, 448, + 0, 449, 450, 451, 111, 112, 113, 452, 114, 0, + 0, 115, 116, 1096, 0, 436, 0, 0, 0, 0, + 0, 437, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 438, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 795, 0, 0, 0, 383, 384, 385, 439, 202, + 203, 0, 0, 0, 0, 0, 0, 0, 0, 440, + 0, 0, 0, 797, 0, 0, 0, 0, 386, 387, + 441, 442, 443, 388, 389, 444, 445, 106, 446, 0, + 108, 0, 795, 447, 448, 795, 449, 450, 451, 111, + 112, 113, 452, 114, 0, 1130, 115, 116, 1095, 0, + 795, 0, 426, 0, 0, 455, 0, 486, 453, 0, + 454, 427, 0, 0, 0, 0, 0, 0, 0, 797, + 0, 0, 797, 456, 428, 0, 0, 0, 277, 797, + 381, 429, 797, 0, 0, 0, 797, 0, 0, 0, + 0, 797, 0, 0, 797, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 430, 0, + 797, 431, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 797, 0, 0, 797, 797, 432, + 433, 0, 0, 0, 0, 0, 0, 797, 0, 0, + 0, 434, 0, 455, 0, 435, 453, 0, 454, 0, + 0, 0, 0, 0, 797, 0, 0, 0, 0, 0, + 0, 456, 0, 0, 0, 0, 277, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 797, 0, 0, 0, + 0, 797, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 797, 0, 797, 0, 0, 0, 0, + 1096, 0, 436, 0, 0, 0, 0, 0, 437, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 438, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 383, 384, 385, 439, 202, 203, 0, 0, + 0, 0, 0, 795, 0, 0, 440, 0, 0, 0, + 0, 0, 0, 0, 0, 386, 387, 441, 442, 443, + 388, 389, 444, 445, 106, 446, 0, 108, 0, 0, + 447, 448, 426, 449, 450, 451, 111, 112, 113, 452, + 114, 427, 0, 115, 116, 0, 0, 0, 0, 0, + 0, 0, 796, 0, 428, 0, 0, 0, 0, 795, + 381, 429, 795, 0, 0, 0, 0, 0, 0, 795, + 0, 0, 795, 0, 0, 0, 795, 0, 0, 0, + 0, 795, 0, 0, 795, 0, 0, 0, 430, 0, + 0, 431, 0, 796, 0, 0, 796, 0, 0, 0, + 795, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 796, 0, 0, 0, 0, 0, 382, 0, 432, + 433, 0, 0, 0, 795, 0, 0, 795, 795, 0, + 426, 434, 0, 0, 0, 435, 0, 795, 0, 427, + 0, 0, 955, 0, 955, 955, 0, 955, 0, 0, + 0, 0, 428, 0, 795, 0, 0, 0, 381, 429, + 955, 0, 0, 0, 0, 955, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 795, 0, 0, 0, + 0, 795, 0, 0, 0, 0, 430, 0, 0, 431, + 0, 0, 436, 795, 0, 795, 0, 0, 437, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 438, 0, + 0, 0, 0, 0, 0, 382, 0, 432, 433, 0, + 0, 0, 383, 384, 385, 439, 202, 203, 0, 434, + 0, 0, 0, 435, 0, 0, 440, 0, 0, 0, + 0, 0, 0, 0, 0, 386, 387, 441, 442, 443, + 388, 389, 444, 445, 106, 446, 0, 108, 0, 0, + 447, 448, 0, 449, 450, 451, 111, 112, 113, 452, + 114, 0, 0, 115, 116, 0, 0, 0, 0, 0, + 708, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 436, 0, 0, 0, 651, 0, 437, 651, 0, 651, + 0, 0, 0, 0, 0, 0, 438, 0, 0, 0, + 0, 0, 651, 0, 796, 0, 0, 651, 0, 0, + 383, 384, 385, 439, 202, 203, 0, 0, 0, 0, + 0, 0, 0, 0, 440, 0, 0, 0, 0, 0, + 0, 0, 0, 386, 387, 441, 442, 443, 388, 389, + 444, 445, 106, 446, 0, 108, 0, 0, 447, 448, + 0, 449, 450, 451, 111, 112, 113, 452, 114, 955, + 796, 115, 116, 796, 0, 0, 0, 0, 955, 0, + 796, 0, 0, 796, 0, 0, 0, 796, 0, 0, + 0, 955, 796, 0, 0, 796, 0, 955, 955, 0, + 0, 0, 0, 455, 0, 0, 453, 0, 454, 0, + 0, 796, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 456, 0, 0, 0, 955, 277, 0, 955, 0, + 0, 0, 0, 0, 0, 796, 0, 0, 796, 796, + 0, 0, 0, 0, 0, 0, 0, 0, 796, 0, + 0, 0, 0, 0, 955, 0, 955, 955, 0, 0, + 0, 0, 0, 0, 0, 796, 0, 0, 955, 0, + 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 796, 0, 0, + 0, 0, 796, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 796, 0, 796, 0, 0, 0, + 0, 0, 0, 0, 651, 0, 0, 0, 0, 0, + 0, 651, 0, 0, 0, 0, 0, 0, 0, 955, + 651, 0, 0, 0, 0, 955, 0, 0, 0, 0, + 0, 0, 0, 651, 0, 955, 0, 0, 0, 651, + 651, 0, 0, 0, 0, 0, 0, 651, 0, 955, + 955, 955, 955, 955, 955, 0, 0, 0, 0, 0, + 0, 0, 0, 955, 0, 0, 0, 651, 0, 0, + 651, 0, 955, 955, 955, 955, 955, 955, 955, 955, + 955, 955, 955, 0, 955, 0, 0, 955, 955, 0, + 955, 955, 955, 955, 955, 955, 955, 955, 651, 651, + 955, 955, 0, 0, 0, 0, 0, 0, 0, 0, + 651, 0, 0, 0, 651, 0, 0, 0, 0, 0, + 426, 0, 0, 455, 0, 0, 453, 0, 454, 427, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 456, 428, 0, 0, 0, 277, 0, 381, 429, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 651, 0, 0, 0, 0, 430, 651, 0, 431, + 0, 0, 0, 0, 0, 0, 0, 651, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 651, 651, 651, 651, 651, 651, 432, 433, 0, + 0, 0, 0, 0, 0, 651, 0, 0, 0, 434, + 0, 0, 0, 435, 651, 651, 651, 651, 651, 651, + 651, 651, 651, 651, 651, 0, 651, 0, 0, 651, + 651, 0, 651, 651, 651, 651, 651, 651, 651, 651, + 0, 0, 651, 651, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 436, 0, 0, 0, 0, 0, 437, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 438, 0, 0, 0, + 0, 0, 0, 0, 700, 0, 0, 0, 0, 0, + 383, 384, 385, 439, 202, 203, 0, 0, 0, 0, + 0, 0, 0, 0, 440, 0, 0, 0, 0, 0, + 0, 0, 0, 386, 387, 441, 442, 443, 388, 389, + 444, 445, 106, 446, 0, 108, 0, 0, 447, 448, + 426, 449, 450, 451, 111, 112, 113, 452, 114, 427, + 0, 115, 116, 455, 0, 0, 453, 0, 454, 0, + 0, 0, 428, 0, 0, 0, 0, 0, 381, 429, + 0, 456, 0, 0, 0, 0, 277, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 826, 0, 0, 430, 0, 0, 431, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 455, 952, 0, + 453, 0, 454, 0, 0, 0, 0, 432, 433, 0, + 0, 0, 0, 0, 826, 456, 0, 826, 0, 434, + 277, 0, 0, 435, 0, 0, 0, 0, 0, 0, + 0, 0, 826, 461, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 461, 461, 461, 461, 461, 461, 461, + 461, 461, 461, 461, 461, 461, 461, 461, 0, 0, + 461, 461, 461, 461, 0, 461, 0, 0, 461, 461, + 708, 0, 461, 461, 461, 461, 461, 461, 461, 461, + 436, 461, 461, 461, 461, 461, 437, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 438, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 383, 384, 385, 439, 202, 203, 0, 0, 0, 0, + 0, 0, 0, 0, 440, 0, 0, 0, 0, 0, + 0, 0, 0, 386, 387, 441, 442, 443, 388, 389, + 444, 445, 106, 446, 0, 108, 0, 0, 447, 448, + 0, 449, 450, 451, 111, 112, 113, 452, 114, 0, + 426, 115, 116, 0, 0, 0, 0, 0, 0, 427, + 0, 0, 0, 790, 0, 0, 0, 0, 0, 0, + 0, 0, 428, 0, 0, 0, 0, 0, 381, 429, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 790, 0, 430, 790, 0, 431, + 0, 0, 0, 0, 426, 0, 0, 0, 0, 0, + 0, 0, 790, 427, 0, 826, 0, 455, 0, 0, + 453, 0, 454, 0, 0, 382, 428, 432, 433, 0, + 0, 0, 381, 429, 0, 456, 0, 0, 0, 434, + 277, 0, 0, 435, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 430, 0, 0, 431, 0, 0, 0, 0, 0, 0, + 0, 826, 0, 0, 826, 0, 0, 0, 0, 0, + 0, 826, 0, 0, 826, 0, 0, 0, 826, 0, + 0, 432, 433, 826, 0, 0, 826, 0, 0, 0, + 436, 0, 0, 434, 0, 0, 437, 435, 0, 0, + 0, 0, 826, 0, 0, 0, 438, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 383, 384, 385, 439, 202, 203, 826, 0, 0, 826, + 826, 0, 0, 0, 440, 0, 0, 0, 0, 826, + 0, 0, 0, 386, 387, 441, 442, 443, 388, 389, + 444, 445, 106, 446, 436, 108, 826, 0, 447, 448, + 437, 449, 450, 451, 111, 112, 113, 452, 114, 0, + 438, 115, 116, 0, 0, 0, 0, 0, 826, 0, + 0, 0, 0, 826, 383, 384, 385, 439, 202, 203, + 0, 0, 0, 0, 0, 826, 0, 826, 440, 0, + 0, 0, 0, 0, 0, 790, 0, 386, 387, 441, + 442, 443, 388, 389, 444, 445, 106, 446, 0, 108, + 0, 0, 447, 448, 0, 449, 450, 451, 111, 112, + 113, 452, 114, 0, 426, 115, 116, 455, 0, 0, + 453, 0, 454, 427, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 456, 428, 0, 0, 0, + 277, 790, 381, 429, 790, 0, 0, 0, 0, 0, + 0, 790, 0, 0, 790, 0, 0, 0, 790, 0, + 0, 0, 0, 790, 0, 0, 790, 0, 0, 0, + 430, 0, 0, 431, 0, 0, 0, 0, 0, 0, + 0, 455, 790, 0, 453, 0, 454, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 456, + 0, 432, 433, 0, 277, 0, 790, 0, 0, 790, + 790, 0, 0, 434, 0, 0, 0, 435, 0, 790, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 790, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 790, 0, + 0, 0, 0, 790, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 436, 790, 0, 790, 0, 0, + 437, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 438, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1122, 0, 0, 383, 384, 385, 439, 202, 203, + 0, 0, 0, 0, 0, 0, 0, 0, 440, 0, + 0, 0, 0, 0, 0, 0, 0, 386, 387, 441, + 442, 443, 388, 389, 444, 445, 106, 446, 0, 108, + 0, 0, 447, 448, 426, 449, 450, 451, 111, 112, + 113, 452, 114, 427, 0, 115, 116, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 428, 0, 0, 0, + 0, 0, 381, 429, 0, 0, 0, 0, 0, 0, + 220, 0, 0, 0, 220, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, + 430, 0, 220, 431, 0, 220, 0, 0, 426, 0, + 0, 0, 0, 0, 0, 0, 0, 427, 0, 0, + 0, 455, 0, 0, 453, 0, 454, 0, 0, 0, + 428, 432, 433, 0, 0, 0, 381, 429, 0, 456, + 1689, 0, 0, 434, 277, 0, 220, 435, 0, 0, + 0, 0, 220, 220, 220, 0, 220, 220, 220, 0, + 220, 0, 0, 0, 430, 0, 0, 431, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 220, 0, 220, 0, 0, 1734, 0, 0, 453, 0, + 454, 0, 0, 0, 1301, 432, 433, 0, 0, 0, + 0, 0, 0, 456, 436, 0, 0, 434, 277, 0, + 437, 435, 0, 220, 0, 0, 0, 0, 80, 0, + 438, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 220, 0, 0, 0, 383, 384, 385, 439, 202, 203, + 0, 0, 0, 0, 0, 0, 0, 0, 440, 0, + 0, 0, 220, 0, 0, 0, 0, 386, 387, 441, + 442, 443, 388, 389, 444, 445, 106, 446, 436, 108, + 0, 0, 447, 448, 437, 449, 450, 451, 111, 112, + 113, 452, 114, 0, 438, 115, 116, 220, 220, 0, + 0, 0, 0, 0, 0, 1314, 0, 0, 383, 384, + 385, 439, 202, 203, 220, 0, 0, 0, 0, 0, + 0, 0, 440, 0, 0, 0, 0, 0, 0, 0, + 0, 386, 387, 441, 442, 443, 388, 389, 444, 445, + 106, 446, 0, 108, 0, 0, 447, 448, 0, 449, + 450, 451, 111, 112, 113, 452, 114, 0, 426, 115, + 116, 0, 0, 0, 0, 0, 0, 427, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 428, 0, 0, 0, 0, 0, 381, 429, 0, 0, + 0, 0, 0, 0, 853, 0, 0, 0, 585, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 854, 0, 430, 0, 586, 431, 0, 587, + 0, 0, 426, 0, 0, 455, 0, 0, 453, 0, + 454, 427, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 456, 428, 432, 433, 0, 277, 0, + 381, 429, 0, 0, 0, 0, 0, 434, 0, 0, + 588, 435, 0, 0, 0, 0, 589, 590, 591, 0, + 592, 593, 594, 0, 595, 0, 0, 0, 430, 0, + 0, 431, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 596, 0, 597, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 382, 955, 432, + 433, 955, 0, 955, 0, 0, 0, 0, 436, 0, + 0, 434, 0, 0, 437, 435, 955, 598, 0, 0, + 0, 955, 0, 0, 438, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 599, 0, 0, 0, 383, 384, + 385, 439, 202, 203, 0, 0, 0, 0, 0, 0, + 0, 0, 440, 0, 0, 0, 600, 0, 0, 0, + 0, 386, 387, 441, 442, 443, 388, 389, 444, 445, + 106, 446, 436, 108, 0, 0, 447, 448, 437, 449, + 450, 451, 111, 112, 113, 452, 114, 0, 438, 115, + 116, 601, 602, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 383, 384, 385, 439, 202, 203, 603, 0, + 0, 0, 0, 0, 0, 0, 440, 0, 0, 0, + 0, 0, 0, 0, 0, 386, 387, 441, 442, 443, + 388, 389, 444, 445, 106, 446, 0, 108, 0, 0, + 447, 448, 426, 449, 450, 451, 111, 112, 113, 452, + 114, 427, 791, 115, 116, 0, 0, 0, 0, 0, + 0, 0, 0, 792, 428, 0, 0, 0, 0, 0, + 381, 429, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 791, 0, 0, 791, 0, 430, 0, + 0, 431, 0, 0, 792, 0, 0, 792, 0, 0, + 0, 791, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 792, 0, 0, 955, 825, 0, 0, 432, + 433, 0, 0, 0, 955, 0, 0, 0, 0, 0, + 0, 434, 0, 0, 0, 435, 819, 955, 0, 0, + 0, 0, 0, 955, 955, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 825, 0, 0, + 825, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 955, 0, 0, 955, 825, 0, 819, 0, 0, + 819, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 436, 0, 0, 819, 0, 0, 437, 827, + 0, 0, 955, 955, 0, 0, 0, 0, 438, 0, + 0, 0, 0, 0, 955, 0, 0, 0, 955, 0, + 0, 0, 383, 384, 385, 439, 202, 203, 0, 0, + 0, 0, 0, 0, 0, 0, 440, 0, 0, 0, + 827, 0, 0, 827, 828, 386, 387, 441, 442, 443, + 388, 389, 444, 445, 106, 446, 0, 108, 827, 0, + 447, 448, 0, 449, 450, 451, 111, 112, 113, 452, + 114, 0, 0, 115, 116, 955, 0, 0, 0, 0, + 0, 955, 0, 0, 0, 828, 0, 0, 828, 0, + 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 828, 791, 955, 955, 955, 955, 955, + 955, 0, 0, 0, 0, 792, 0, 0, 0, 955, + 0, 0, 0, 0, 0, 0, 0, 0, 955, 955, + 955, 955, 955, 955, 955, 955, 955, 955, 955, 0, + 955, 0, 0, 955, 955, 816, 955, 955, 955, 955, + 955, 955, 955, 955, 0, 0, 955, 955, 0, 0, + 791, 0, 0, 791, 0, 0, 0, 0, 0, 0, + 791, 792, 0, 791, 792, 0, 0, 791, 825, 0, + 0, 792, 791, 0, 792, 791, 816, 0, 792, 816, + 0, 0, 0, 792, 0, 0, 792, 0, 819, 0, + 0, 791, 0, 0, 816, 0, 0, 0, 0, 820, + 0, 0, 792, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 791, 0, 0, 791, 791, + 0, 0, 0, 0, 825, 0, 792, 825, 791, 792, + 792, 0, 0, 0, 825, 0, 0, 825, 0, 792, + 820, 825, 0, 820, 819, 791, 825, 819, 0, 825, + 0, 827, 0, 0, 819, 0, 792, 819, 820, 0, + 0, 819, 829, 0, 0, 825, 819, 791, 0, 819, + 0, 0, 791, 0, 0, 0, 0, 0, 792, 0, + 0, 0, 0, 792, 791, 819, 791, 0, 0, 825, + 0, 0, 825, 825, 0, 792, 828, 792, 0, 0, + 0, 0, 825, 829, 0, 0, 829, 827, 0, 819, + 827, 0, 819, 819, 0, 0, 0, 827, 0, 825, + 827, 829, 819, 0, 827, 0, 0, 0, 0, 827, + 0, 0, 827, 0, 0, 0, 0, 0, 0, 819, + 0, 825, 817, 0, 0, 0, 825, 0, 827, 0, + 0, 0, 828, 0, 0, 828, 0, 0, 825, 0, + 825, 819, 828, 821, 0, 828, 819, 0, 0, 828, + 0, 0, 827, 0, 828, 827, 827, 828, 819, 0, + 819, 0, 0, 817, 0, 827, 817, 0, 0, 0, + 0, 0, 0, 828, 0, 0, 0, 816, 0, 0, + 0, 817, 827, 0, 821, 0, 0, 821, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 828, 0, 0, + 828, 828, 821, 0, 827, 0, 0, 0, 0, 827, + 828, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 827, 0, 827, 0, 0, 0, 828, 0, 0, + 0, 0, 0, 816, 0, 0, 816, 0, 0, 0, + 0, 820, 0, 816, 0, 0, 816, 0, 0, 828, + 816, 0, 0, 0, 828, 816, 0, 0, 816, 0, + 0, 0, 0, 0, 0, 0, 828, 0, 828, 0, + 0, 0, 0, 0, 816, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 820, 816, 0, + 820, 816, 816, 0, 829, 0, 0, 820, 0, 0, + 820, 816, 0, 0, 820, 0, 0, 0, 0, 820, + 0, 0, 820, 0, 0, 0, 0, 0, 816, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 820, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 816, 0, 0, 0, 0, 816, 0, 0, 0, 0, + 829, 0, 820, 829, 0, 820, 820, 816, 0, 816, + 829, 0, 0, 829, 0, 820, 0, 829, 0, 0, + 0, 0, 829, 0, 817, 829, 0, 0, 0, 0, + 0, 0, 820, 0, 0, 0, 0, 0, 0, 0, + 0, 829, 0, 0, 0, 821, 0, 0, 0, 0, + 0, 0, 0, 0, 820, 0, 0, 0, 0, 820, + 0, 0, 0, 0, 0, 829, 0, 0, 829, 829, + 0, 820, 0, 820, 0, 0, 0, 0, 829, 0, + 817, 0, 0, 817, 0, 0, 1398, 0, 0, 0, + 817, 0, 0, 817, 0, 829, 0, 817, 0, 0, + 0, 821, 817, 0, 821, 817, 0, 0, 0, 0, + 0, 821, 0, 320, 821, 0, 6, 829, 821, 0, + 0, 817, 829, 821, 0, 0, 821, 1518, 1519, 0, + 1520, 0, 0, 1521, 829, 0, 829, 0, 0, 0, + 0, 0, 821, 320, 0, 817, 0, 1522, 817, 817, + 320, 0, 0, 1523, 320, 320, 0, 320, 817, 0, + 320, 0, 0, 0, 1398, 0, 821, 0, 0, 821, + 821, 0, 0, 0, 320, 817, 0, 0, 0, 821, + 320, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 6, 0, 821, 817, 0, 0, + 0, 0, 817, 0, 0, 1518, 1519, 0, 1520, 0, + 0, 1521, 0, 1524, 817, 0, 817, 0, 821, 0, + 0, 0, 0, 821, 0, 1522, 0, 0, 0, 0, + 0, 1523, 14, 0, 0, 821, 0, 821, 0, 0, + 320, 0, 0, 0, 0, 0, 0, 1525, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 16, 0, 320, + 0, 0, 0, 0, 0, 0, 1650, 0, 1526, 0, + 0, 0, 0, 0, 320, 105, 0, 0, 0, 0, + 0, 0, 0, 0, 320, 0, 584, 0, 0, 0, + 585, 1524, 0, 320, 0, 320, 0, 781, 0, 0, + 0, 0, 320, 0, 1527, 107, 0, 108, 586, 0, + 14, 587, 0, 0, 109, 110, 111, 112, 113, 0, + 114, 0, 0, 115, 1528, 1525, 0, 0, 0, 0, + 0, 320, 320, 0, 320, 16, 0, 0, 0, 0, + 0, 320, 320, 320, 320, 320, 1526, 320, 0, 0, + 320, 320, 588, 105, 0, 0, 0, 0, 589, 590, + 591, 0, 592, 593, 594, 0, 595, 0, 0, 0, + 0, 0, 0, 0, 0, 584, 0, 0, 0, 585, + 0, 0, 1527, 107, 0, 108, 596, 0, 597, 0, + 0, 0, 109, 110, 111, 112, 113, 586, 114, 0, + 587, 115, 1528, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 598, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 599, 0, 0, 0, + 0, 588, 0, 0, 0, 0, 0, 589, 590, 591, + 0, 592, 593, 594, 0, 595, 0, 0, 600, 0, + 0, 0, 0, 220, 0, 0, 0, 220, 0, 0, + 0, 0, 0, 105, 0, 596, 0, 597, 0, 0, + 0, 220, 0, 0, 0, 220, 0, 0, 220, 0, + 0, 0, 0, 601, 602, 0, 0, 0, 0, 0, + 0, 0, 106, 107, 0, 108, 0, 0, 598, 0, + 603, 0, 109, 110, 111, 112, 113, 0, 114, 0, + 0, 115, 116, 0, 0, 599, 0, 0, 0, 220, + 0, 0, 0, 0, 0, 220, 220, 220, 0, 220, + 220, 220, 0, 220, 0, 0, 0, 600, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 105, 220, 0, 220, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 601, 602, 0, 0, 0, 0, 0, 0, + 0, 106, 107, 0, 108, 0, 220, 0, 0, 603, + 0, 109, 110, 111, 112, 113, 0, 114, 0, 0, + 115, 116, 0, 220, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 220, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 220, 220, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 220, }; static short yycheck[] = { 9, - 16, 52, 12, 0, 4, 4, 16, 61, 18, 101, - 60, 250, 53, 346, 132, 133, 250, 143, 506, 132, - 133, 350, 59, 64, 60, 54, 323, 637, 82, 700, - 539, 548, 642, 542, 354, 86, 325, 66, 717, 548, - 50, 51, 52, 53, 54, 55, 87, 281, 511, 354, - 60, 61, 62, 94, 64, 1018, 66, 67, 753, 69, - 70, 740, 1189, 65, 80, 91, 489, 686, 78, 258, - 80, 81, 82, 89, 84, 85, 86, 87, 267, 89, - 90, 91, 92, 70, 94, 695, 88, 123, 67, 125, - 85, 1019, 1231, 371, 1011, 124, 631, 1011, 902, 409, - 0, 1018, 1030, 144, 1018, 92, 318, 359, 302, 0, - 1011, 90, 1011, 123, 124, 125, 145, 1018, 676, 1018, - 146, 1049, 45, 680, 275, 744, 0, 137, 0, 0, - 222, 0, 0, 143, 144, 145, 146, 250, 747, 0, - 944, 41, 137, 842, 44, 703, 183, 386, 45, 0, - 41, 811, 386, 44, 0, 1066, 0, 44, 624, 59, - 0, 41, 0, 44, 773, 0, 0, 41, 59, 41, - 44, 208, 44, 782, 1043, 40, 302, 750, 45, 63, - 41, 0, 40, 44, 44, 59, 41, 59, 59, 518, - 59, 59, 525, 526, 527, 528, 963, 41, 59, 0, - 44, 0, 44, 59, 1144, 63, 415, 41, 59, 1374, - 44, 0, 401, 59, 1374, 59, 252, 309, 0, 59, - 44, 59, 0, 1433, 59, 59, 835, 256, 548, 250, - 0, 61, 720, 44, 264, 286, 265, 45, 1374, 44, - 59, 44, 252, 548, 40, 574, 256, 716, 258, 259, - 0, 44, 91, 1279, 551, 265, 508, 267, 59, 41, - 59, 290, 355, 1067, 40, 338, 302, 877, 878, 40, - 59, 12, 44, 386, 45, 59, 286, 59, 0, 1374, - 290, 59, 258, 409, 903, 265, 387, 63, 324, 59, - 799, 12, 1229, 0, 1257, 331, 377, 333, 1673, 335, - 1675, 579, 338, 600, 0, 41, 455, 0, 44, 59, - 347, 40, 349, 278, 324, 356, 367, 320, 1246, 1548, - 286, 331, 41, 333, 356, 335, 363, 402, 338, 939, - 306, 1148, 320, 300, 405, 265, 365, 59, 895, 440, - 1257, 1716, 0, 1257, 0, 41, 356, 357, 41, 0, - 907, 908, 59, 424, 319, 365, 1257, 367, 1257, 400, - 44, 16, 402, 59, 1335, 386, 59, 448, 397, 442, - 445, 371, 302, 409, 415, 984, 59, 41, 357, 408, - 44, 411, 409, 412, 1613, 352, 0, 397, 417, 130, - 400, 401, 213, 1364, 1263, 59, 819, 429, 408, 492, - 1010, 59, 412, 59, 278, 415, 280, 417, 59, 130, - 420, 1437, 41, 0, 0, 1554, 0, 278, 1793, 280, - 1029, 40, 45, 662, 1191, 80, 287, 318, 662, 44, - 0, 0, 507, 436, 278, 400, 280, 417, 277, 58, - 63, 451, 418, 287, 278, 59, 280, 318, 566, 340, - 1615, 1661, 686, 287, 309, 1615, 0, 258, 41, 1276, - 328, 1398, 1390, 331, 761, 0, 1394, 764, 1396, 340, - 300, 340, 59, 59, 683, 59, 441, 487, 42, 1615, - 331, 778, 671, 383, 305, 1145, 523, 721, 41, 59, - 59, 44, 264, 304, 264, 461, 462, 41, 1071, 304, - 44, 0, 340, 1431, 378, 306, 41, 387, 805, 44, - 744, 1182, 548, 1208, 1653, 59, 387, 378, 1189, 1430, - 1615, 367, 383, 383, 59, 396, 400, 320, 278, 394, - 280, 1471, 569, 407, 378, 458, 318, 547, 548, 400, - 269, 1076, 41, 553, 378, 44, 407, 741, 760, 662, - 328, 258, 261, 331, 410, 436, 400, 846, 340, 1686, - 59, 458, 61, 407, 715, 567, 400, 441, 1707, 440, - 1269, 458, 440, 407, 458, 1444, 1504, 855, 367, 579, - 441, 833, 1510, 620, 621, 454, 454, 623, 0, 440, - 900, 458, 1252, 0, 1060, 0, 436, 441, 1155, 306, - 458, 501, 1729, 454, 1214, 387, 1373, 441, 726, 1748, - 409, 502, 454, 623, 396, 741, 454, 418, 485, 454, - 342, 440, 632, 431, 1234, 1094, 410, 663, 378, 501, - 454, 1559, 632, 632, 680, 454, 320, 44, 756, 757, - 501, 662, 683, 307, 308, 1449, 40, 59, 1576, 452, - 458, 447, 59, 663, 59, 377, 666, 501, 440, 1268, - 431, 671, 440, 0, 313, 998, 41, 501, 387, 903, - 680, 40, 454, 683, 452, 411, 454, 396, 688, 262, - 264, 301, 458, 405, 342, 0, 408, 458, 785, 318, - 1385, 387, 348, 688, 387, 884, 260, 348, 887, 709, - 396, 1672, 424, 318, 318, 741, 735, 717, 737, 719, - 746, 418, 722, 274, 750, 752, 753, 1336, 1681, 1016, - 264, 274, 59, 262, 545, 735, 340, 737, 450, 1062, - 740, 1028, 1660, 1137, 770, 1139, 746, 0, 1296, 303, - 750, 1669, 262, 278, 59, 280, 410, 405, 318, 152, - 408, 1048, 287, 0, 340, 342, 309, 759, 301, 258, - 770, 0, 798, 799, 1681, 1375, 424, 1681, 417, 1232, - 340, 340, 1011, 387, 900, 274, 320, 1011, 273, 1018, - 1681, 44, 1681, 1711, 1018, 1074, 260, 451, 798, 799, - 377, 257, 450, 614, 0, 797, 59, 0, 0, 1061, - 402, 300, 41, 386, 804, 834, 325, 306, 431, 41, - 309, 260, 59, 397, 1485, 844, 816, 262, 405, 283, - 59, 408, 442, 41, 834, 1342, 440, 829, 830, 831, - 45, 283, 1255, 273, 844, 458, 438, 424, 1261, 41, - 257, 460, 44, 378, 885, 268, 856, 386, 1224, 895, - 40, 0, 277, 59, 41, 855, 59, 59, 411, 264, - 260, 907, 888, 450, 900, 400, 386, 41, 334, 1158, - 489, 490, 407, 492, 884, 885, 886, 887, 888, 889, - 499, 500, 501, 502, 503, 895, 505, 262, 507, 508, - 284, 41, 41, 0, 1270, 44, 435, 907, 908, 442, - 340, 0, 889, 303, 319, 466, 441, 886, 452, 312, - 59, 430, 411, 466, 1148, 435, 460, 334, 437, 418, - 345, 328, 259, 44, 331, 1022, 1023, 264, 1046, 0, - 342, 458, 384, 270, 1338, 1614, 343, 436, 0, 0, - 1202, 386, 365, 417, 1273, 489, 490, 1244, 492, 264, - 0, 343, 59, 963, 0, 499, 500, 501, 502, 503, - 59, 505, 0, 507, 508, 377, 501, 466, 417, 40, - 41, 470, 93, 44, 1071, 439, 368, 0, 1275, 41, - 272, 458, 44, 1532, 1472, 400, 445, 439, 59, 281, - 61, 0, 397, 405, 44, 41, 408, 59, 59, 1487, - 493, 1377, 1612, 1512, 456, 348, 1719, 1720, 0, 59, - 503, 386, 424, 59, 0, 1686, 42, 264, 1257, 311, - 91, 59, 1342, 1257, 1634, 301, 441, 1637, 1064, 1039, - 1143, 1144, 1145, 440, 426, 1071, 59, 1342, 450, 322, - 1040, 1040, 1276, 1053, 262, 452, 405, 454, 507, 1382, - 59, 0, 42, 1055, 1064, 41, 1172, 287, 1729, 1175, - 397, 1071, 338, 0, 1190, 328, 460, 59, 331, 322, - 300, 1073, 278, 59, 280, 262, 278, 1079, 280, 318, - 343, 42, 397, 307, 308, 287, 47, 397, 262, 41, - 1578, 460, 1210, 401, 1212, 489, 490, 456, 492, 331, - 1813, 340, 1336, 1400, 260, 499, 500, 501, 502, 503, - 59, 505, 262, 507, 508, 318, 307, 308, 461, 462, - 489, 490, 59, 492, 405, 328, 436, 1137, 331, 1139, - 499, 500, 501, 502, 503, 1689, 505, 340, 507, 508, - 259, 378, 1439, 1143, 1144, 1155, 1386, 303, 40, 1411, - 397, 270, 444, 1271, 383, 387, 448, 449, 450, 0, - 470, 383, 0, 400, 396, 264, 442, 1429, 386, 1171, - 407, 1208, 321, 377, 417, 456, 378, 440, 1732, 328, - 1190, 1191, 331, 0, 387, 260, 335, 258, 480, 452, - 1566, 454, 1432, 396, 343, 0, 1572, 1746, 400, 386, - 41, 444, 1812, 274, 441, 407, 277, 278, 403, 280, - 359, 318, 386, 284, 418, 301, 287, 278, 59, 280, - 1774, 59, 44, 1777, 331, 420, 264, 451, 303, 300, - 1718, 1780, 1781, 340, 383, 306, 386, 440, 309, 441, - 1356, 264, 59, 458, 1360, 460, 1800, 44, 1374, 1286, - 1250, 1250, 338, 1290, 59, 264, 318, 1806, 265, 321, - 451, 465, 59, 0, 413, 1663, 328, 1393, 1817, 331, - 460, 1820, 264, 335, 489, 490, 1573, 492, 340, 385, - 387, 343, 0, 58, 499, 500, 501, 502, 503, 396, - 505, 440, 507, 508, 0, 302, 0, 359, 397, 489, - 490, 0, 492, 452, 41, 454, 296, 378, 0, 499, - 500, 501, 502, 503, 0, 505, 1714, 507, 508, 280, - 263, 383, 59, 41, 285, 387, 0, 264, 1338, 400, - 337, 279, 318, 440, 396, 41, 407, 0, 44, 1607, - 411, 59, 1392, 1611, 0, 331, 383, 418, 1385, 41, - 642, 413, 44, 59, 340, 59, 1392, 1393, 1471, 397, - 59, 1759, 44, 1373, 383, 436, 1482, 59, 44, 312, - 441, 272, 1401, 59, 397, 258, 328, 0, 440, 331, - 323, 329, 1392, 258, 436, 59, 261, 288, 397, 1507, - 452, 1401, 1763, 1764, 686, 466, 59, 689, 460, 470, - 1668, 387, 694, 59, 44, 397, 1532, 699, 700, 280, - 396, 93, 321, 0, 285, 363, 708, 93, 710, 711, - 712, 713, 714, 306, 716, 301, 335, 489, 490, 721, - 492, 306, 333, 381, 460, 387, 59, 499, 500, 501, - 502, 503, 1681, 505, 396, 507, 508, 1681, 402, 0, - 359, 1822, 744, 93, 440, 0, 458, 749, 260, 1513, - 397, 362, 338, 489, 490, 1557, 492, 0, 454, 494, - 460, 1471, 59, 499, 500, 501, 502, 503, 1478, 505, - 434, 507, 508, 485, 427, 316, 317, 328, 0, 1615, - 331, 0, 337, 417, 1762, 449, 1532, 1665, 0, 489, - 490, 303, 492, 1513, 413, 0, 0, 1558, 59, 499, - 500, 501, 502, 503, 59, 505, 1642, 507, 508, 1516, - 444, 465, 418, 467, 1553, 342, 59, 274, 429, 41, - 59, 407, 44, 0, 0, 418, 0, 0, 1548, 41, - 318, 417, 44, 1553, 1712, 1582, 387, 59, 1558, 1586, - 59, 42, 43, 436, 45, 396, 47, 59, 259, 61, - 377, 1577, 1654, 1689, 59, 59, 442, 1577, 40, 270, - 862, 863, 864, 0, 424, 867, 868, 869, 0, 871, - 872, 873, 874, 875, 876, 264, 1627, 470, 405, 91, - 1758, 408, 59, 59, 331, 59, 59, 0, 0, 45, - 318, 0, 41, 1613, 1614, 44, 1732, 424, 260, 0, - 328, 903, 318, 331, 0, 1741, 0, 1627, 910, 911, - 1746, 913, 340, 915, 1792, 331, 918, 919, 920, 921, - 922, 923, 59, 450, 340, 461, 0, 59, 41, 41, - 0, 44, 44, 935, 1698, 937, 318, 1663, 1774, 301, - 387, 1777, 44, 1663, 1780, 1781, 59, 59, 352, 396, - 59, 313, 279, 857, 1680, 859, 337, 59, 59, 387, - 1680, 337, 342, 59, 1800, 59, 41, 260, 396, 44, - 1806, 387, 0, 300, 378, 460, 338, 46, 1698, 1699, - 396, 1817, 316, 0, 1820, 59, 461, 462, 1714, 59, - 1700, 1700, 61, 374, 1714, 1721, 41, 377, 374, 44, - 1746, 1721, 329, 452, 489, 490, 387, 492, 0, 1770, - 303, 387, 440, 337, 499, 500, 501, 502, 503, 232, - 505, 348, 507, 508, 440, 405, 454, 240, 408, 460, - 357, 59, 0, 1759, 1780, 1781, 363, 41, 454, 1759, - 44, 1767, 59, 276, 424, 407, 258, 1767, 93, 41, - 1770, 284, 44, 336, 381, 417, 278, 1137, 280, 1139, - 1806, 41, 274, 46, 44, 277, 278, 59, 280, 40, - 450, 1817, 284, 41, 1820, 287, 44, 1797, 61, 280, - 442, 0, 402, 41, 285, 1805, 44, 41, 300, 93, - 44, 59, 1094, 320, 306, 42, 43, 309, 45, 356, - 47, 348, 340, 1823, 1106, 1107, 0, 1109, 1110, 318, - 357, 402, 59, 42, 43, 1117, 45, 41, 47, 320, - 44, 40, 41, 42, 43, 44, 45, 46, 47, 42, - 43, 321, 45, 383, 47, 383, 393, 506, 395, 295, - 59, 60, 61, 62, 41, 335, 1148, 44, 457, 458, - 459, 436, 685, 0, 687, 361, 378, 690, 691, 692, - 1162, 418, 493, 494, 450, 59, 378, 323, 1170, 359, - 1172, 434, 91, 1175, 93, 1177, 485, 486, 400, 1181, - 1182, 1183, 1184, 391, 392, 407, 443, 1189, 400, 41, - 461, 462, 44, 383, 41, 407, 352, 44, 41, 411, - 45, 44, 417, 357, 41, 318, 418, 44, 0, 287, - 42, 43, 59, 45, 41, 47, 442, 44, 63, 441, - 411, 460, 44, 413, 436, 1227, 61, 340, 469, 441, - 372, 0, 42, 43, 44, 45, 867, 47, 869, 41, - 871, 872, 44, 874, 875, 876, 41, 286, 264, 44, - 489, 490, 44, 492, 466, 44, 41, 40, 470, 44, - 499, 500, 501, 502, 503, 40, 505, 59, 507, 508, - 41, 427, 41, 44, 1276, 44, 42, 43, 461, 45, - 41, 47, 41, 44, 436, 44, 278, 443, 280, 461, - 59, 1293, 61, 461, 320, 287, 44, 402, 40, 321, - 1302, 457, 458, 459, 40, 461, 462, 1309, 300, 40, - 278, 40, 280, 335, 40, 42, 43, 40, 45, 287, - 47, 343, 40, 40, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 280, 1336, 0, 40, 359, 285, 495, - 496, 40, 40, 262, 40, 264, 265, 40, 504, 46, - 91, 280, 44, 272, 1356, 320, 285, 44, 1360, 0, - 428, 280, 46, 40, 264, 44, 285, 280, 382, 288, - 61, 348, 285, 44, 278, 278, 41, 42, 43, 44, - 45, 46, 47, 302, 300, 279, 378, 264, 307, 308, - 397, 413, 311, 340, 59, 60, 61, 62, 436, 318, - 41, 320, 321, 44, 470, 324, 300, 320, 400, 328, - 378, 340, 331, 397, 333, 407, 335, 458, 59, 294, - 321, 340, 341, 277, 343, 399, 91, 447, 93, 447, - 305, 40, 400, 40, 335, 329, 91, 312, 349, 407, - 359, 360, 40, 362, 40, 318, 264, 383, 280, 441, - 295, 411, 321, 285, 348, 1457, 1458, 376, 359, 378, - 379, 380, 337, 357, 383, 44, 335, 386, 387, 363, - 280, 318, 389, 441, 343, 285, 382, 396, 40, 311, - 1482, 328, 383, 1485, 331, 40, 436, 381, 464, 258, - 359, 410, 317, 340, 413, 40, 343, 320, 451, 1374, - 320, 0, 41, 452, 448, 502, 264, 352, 277, 278, - 429, 280, 413, 0, 280, 284, 435, 1519, 287, 285, - 454, 440, 41, 42, 43, 458, 45, 402, 47, 321, - 40, 300, 451, 452, 277, 454, 328, 306, 265, 331, - 387, 460, 274, 335, 413, 311, 40, 300, 344, 396, - 284, 343, 0, 280, 41, 386, 344, 44, 285, 434, - 59, 418, 278, 438, 40, 386, 416, 359, 417, 386, - 489, 490, 59, 492, 61, 302, 300, 418, 356, 1581, - 499, 500, 501, 502, 503, 40, 505, 1589, 507, 508, - 40, 383, 274, 440, 385, 44, 264, 262, 417, 264, - 265, 44, 41, 42, 43, 452, 45, 272, 47, 378, - 367, 59, 457, 458, 459, 280, 461, 462, 320, 41, - 285, 413, 280, 288, 1626, 44, 418, 44, 1630, 40, - 320, 400, 44, 0, 328, 480, 481, 302, 407, 304, - 485, 486, 307, 308, 44, 505, 311, 416, 440, 418, - 266, 40, 299, 318, 40, 320, 321, 501, 264, 324, - 452, 41, 454, 328, 58, 41, 331, 436, 333, 41, - 335, 422, 441, 41, 41, 340, 341, 318, 343, 41, - 42, 43, 0, 45, 1686, 47, 1688, 328, 264, 1691, - 331, 0, 59, 440, 359, 360, 309, 362, 454, 340, - 41, 470, 343, 41, 41, 42, 43, 309, 45, 394, - 47, 376, 492, 378, 379, 380, 1642, 40, 383, 40, - 352, 386, 387, 41, 40, 40, 44, 1729, 40, 40, - 40, 396, 41, 42, 43, 44, 45, 46, 47, 40, - 1615, 59, 40, 61, 40, 410, 387, 40, 413, 40, - 59, 60, 61, 62, 40, 396, 40, 40, 40, 262, - 327, 280, 435, 1689, 429, 44, 285, 1642, 308, 41, - 435, 258, 343, 388, 388, 440, 388, 274, 331, 422, - 279, 391, 91, 446, 93, 390, 451, 452, 271, 454, - 277, 278, 287, 280, 386, 460, 407, 284, 386, 440, - 287, 300, 386, 41, 42, 43, 1732, 45, 386, 47, - 41, 452, 386, 300, 1689, 1741, 386, 378, 41, 306, - 264, 278, 40, 417, 489, 490, 0, 492, 41, 41, - 329, 279, 41, 385, 499, 500, 501, 502, 503, 436, - 505, 280, 507, 508, 41, 308, 285, 396, 1774, 348, - 435, 1777, 300, 280, 338, 337, 442, 1732, 357, 442, - 301, 338, 41, 301, 363, 41, 1741, 41, 42, 43, - 44, 45, 46, 47, 1800, 320, 385, 352, 371, 371, - 41, 329, 381, 41, 41, 59, 60, 61, 62, 41, - 41, 378, 42, 43, 44, 45, 41, 47, 41, 1774, - 348, 41, 1777, 41, 41, 41, 41, 41, 356, 357, - 41, 41, 41, 400, 280, 363, 44, 91, 280, 93, - 407, 46, 40, 285, 340, 1800, 41, 42, 43, 40, - 45, 418, 47, 381, 340, 41, 42, 43, 59, 45, - 258, 47, 59, 280, 308, 393, 59, 395, 285, 436, - 59, 318, 40, 262, 441, 264, 265, 45, 59, 59, - 278, 328, 280, 272, 331, 59, 284, 59, 41, 287, - 418, 280, 41, 340, 352, 63, 285, 368, 40, 288, - 340, 344, 300, 470, 451, 383, 44, 59, 306, 59, - 383, 383, 41, 302, 343, 443, 41, 41, 307, 308, - 410, 44, 311, 44, 435, 304, 301, 442, 387, 318, - 40, 320, 321, 59, 304, 324, 460, 293, 44, 328, - 387, 463, 331, 44, 333, 41, 335, 307, 0, 396, - 337, 340, 341, 383, 343, 41, 42, 43, 383, 45, - 40, 47, 280, 264, 278, 489, 490, 285, 492, 264, - 359, 360, 320, 362, 458, 499, 500, 501, 502, 503, - 378, 505, 389, 507, 508, 264, 451, 376, 0, 378, - 379, 380, 411, 440, 383, 470, 40, 386, 387, 309, - 271, 458, 400, 264, 436, 452, 343, 396, 262, 407, - 264, 265, 435, 41, 42, 43, 343, 45, 272, 47, - 418, 410, 42, 43, 413, 45, 280, 47, 343, 41, - 343, 285, 44, 308, 288, 271, 458, 41, 436, 40, - 429, 308, 40, 441, 59, 59, 435, 59, 302, 41, - 280, 440, 59, 307, 308, 285, 308, 311, 304, 59, - 41, 44, 451, 452, 318, 454, 320, 321, 59, 41, - 324, 460, 470, 0, 328, 0, 0, 331, 1140, 333, - 12, 335, 267, 260, 259, 280, 340, 341, 1076, 343, - 285, 671, 847, 627, 280, 1074, 84, 1063, 1071, 285, - 489, 490, 0, 492, 1419, 359, 360, 351, 362, 1420, - 499, 500, 501, 502, 503, 321, 505, 316, 507, 508, - 574, 1001, 376, 307, 378, 379, 380, 295, 746, 383, - 333, 1053, 386, 387, 41, 42, 43, 333, 45, 1624, - 47, 780, 396, 41, 42, 43, 44, 45, 46, 47, - 42, 43, 1398, 45, 1064, 47, 410, 1705, 1400, 413, - 553, 59, 60, 61, 62, 1709, 1708, 59, 41, 42, - 43, 0, 45, 1750, 47, 429, 770, 1632, 1225, 1805, - 1647, 435, 386, 1747, 352, 986, 440, 1204, 1378, 261, - 1663, 338, 326, 91, 280, 93, 826, 451, 452, 285, - 454, 555, 319, 613, 1259, 818, 460, 41, 42, 43, - 282, 45, 13, 47, 495, 41, 42, 43, 290, 45, - 420, 47, 491, 294, 135, 297, 735, 299, 721, 301, - 59, 963, 749, 722, 306, 489, 490, 0, 492, 1615, - 1721, 313, 262, 1502, 1767, 499, 500, 501, 502, 503, - 1823, 505, 280, 507, 508, 327, 506, 285, 904, 679, - 280, 1108, -1, 0, 1177, 285, 338, 41, 42, 43, - 385, 45, -1, 47, -1, -1, -1, -1, 41, 42, - 43, 44, 45, -1, 47, -1, -1, -1, -1, 457, - 458, 459, -1, 461, 462, -1, 59, 60, 61, 62, - -1, -1, -1, -1, 41, -1, 318, 44, -1, 321, - -1, -1, 480, 481, -1, -1, 328, 485, 486, 331, - -1, -1, 59, 335, -1, -1, -1, -1, 340, -1, - 93, 343, -1, 405, -1, 41, 42, 43, -1, 45, - 412, 47, -1, 415, -1, 417, 418, 359, -1, -1, - -1, 41, 42, 43, -1, 45, -1, 47, -1, -1, - -1, -1, -1, -1, 262, -1, 264, 265, -1, -1, - 442, 383, -1, 280, 272, 387, 42, 43, 285, 45, - -1, 47, 280, -1, 396, -1, -1, 285, 280, -1, - 288, -1, -1, 285, -1, -1, -1, -1, -1, -1, - -1, 413, -1, -1, 302, -1, -1, 280, -1, 307, - 308, -1, 285, 311, -1, -1, -1, 0, -1, 491, - 318, -1, 320, 321, -1, -1, 324, -1, 440, 258, - 328, -1, -1, 331, 506, 333, -1, 335, -1, -1, - 452, -1, 340, 341, -1, 343, 280, -1, -1, -1, - 279, 285, -1, -1, 280, 0, -1, -1, -1, 285, - -1, 359, 360, -1, 362, -1, 41, 42, 43, -1, - 45, 300, 47, -1, -1, -1, 59, 306, 376, 0, + 16, 55, 12, 64, 4, 4, 16, 104, 18, 0, + 254, 146, 63, 135, 136, 56, 511, 351, 359, 355, + 254, 705, 135, 136, 85, 62, 67, 63, 57, 328, + 544, 359, 330, 547, 553, 89, 94, 516, 1023, 553, + 69, 722, 494, 53, 54, 55, 56, 57, 58, 90, + 73, 285, 758, 63, 64, 65, 97, 67, 907, 69, + 70, 414, 72, 73, 745, 68, 70, 83, 691, 681, + 1194, 81, 95, 83, 84, 85, 92, 87, 88, 89, + 90, 88, 92, 93, 94, 95, 1016, 97, 91, 93, + 126, 149, 128, 1023, 1016, 376, 708, 1236, 127, 636, + 949, 1023, 642, 323, 1016, 629, 147, 647, 1016, 364, + 1024, 1023, 847, 44, 0, 1023, 126, 127, 128, 148, + 752, 1035, 262, 0, 44, 816, 749, 45, 968, 226, + 140, 271, 0, 140, 0, 0, 146, 147, 148, 149, + 1054, 254, 0, 153, 45, 1071, 778, 391, 721, 279, + 187, 306, 0, 685, 0, 787, 63, 391, 0, 0, + 700, 41, 0, 45, 41, 0, 40, 44, 254, 40, + 0, 306, 41, 59, 45, 212, 41, 1149, 41, 44, + 0, 41, 59, 41, 59, 44, 44, 523, 44, 40, + 44, 59, 41, 59, 59, 44, 530, 531, 532, 533, + 41, 59, 1379, 41, 755, 44, 153, 44, 840, 40, + 42, 59, 553, 59, 0, 0, 313, 59, 59, 44, + 256, 59, 44, 1072, 59, 553, 260, 61, 0, 59, + 725, 260, 420, 0, 1048, 45, 290, 0, 91, 59, + 269, 40, 1234, 579, 40, 283, 256, 1379, 156, 455, + 260, 264, 262, 263, 0, 286, 1379, 556, 513, 269, + 1379, 271, 258, 45, 63, 294, 406, 63, 277, 44, + 306, 1153, 44, 59, 59, 0, 262, 1262, 391, 414, + 290, 63, 269, 343, 294, 908, 41, 59, 397, 44, + 804, 44, 59, 329, 0, 1284, 59, 257, 44, 41, + 336, 59, 338, 584, 340, 391, 605, 343, 368, 320, + 306, 12, 0, 59, 257, 352, 274, 354, 372, 329, + 361, 217, 268, 1391, 260, 287, 336, 436, 338, 493, + 340, 368, 1262, 343, 59, 41, 345, 1251, 300, 503, + 1262, 370, 882, 883, 352, 320, 0, 313, 12, 0, + 1262, 361, 362, 59, 1262, 0, 1196, 989, 362, 402, + 370, 470, 372, 273, 405, 1340, 426, 303, 900, 1437, + 378, 59, 824, 402, 334, 0, 376, 0, 414, 420, + 912, 913, 262, 417, 413, 0, 0, 41, 417, 0, + 44, 334, 402, 422, 1369, 405, 406, 0, 411, 1281, + 386, 439, 1034, 413, 944, 59, 0, 417, 59, 317, + 420, 1403, 422, 309, 59, 425, 41, 0, 41, 365, + 1559, 44, 418, 667, 277, 274, 41, 1229, 260, 44, + 461, 462, 133, 667, 59, 422, 59, 0, 269, 0, + 309, 318, 264, 1620, 59, 59, 456, 41, 59, 571, + 44, 417, 318, 1442, 1268, 0, 59, 691, 318, 1150, + 309, 436, 318, 340, 0, 59, 300, 766, 331, 133, + 769, 303, 0, 1275, 340, 1015, 59, 318, 425, 264, + 318, 1395, 492, 320, 783, 1399, 42, 1401, 1620, 331, + 328, 528, 726, 331, 340, 320, 59, 1620, 59, 340, + 688, 1620, 340, 1187, 1476, 340, 386, 1213, 466, 1435, + 1194, 810, 342, 41, 59, 749, 44, 553, 383, 1658, + 394, 387, 1436, 59, 387, 1076, 1099, 458, 348, 304, + 396, 59, 452, 396, 0, 410, 676, 574, 1378, 1274, + 458, 1065, 552, 553, 1081, 765, 387, 377, 558, 387, + 436, 458, 905, 851, 667, 396, 328, 458, 396, 331, + 431, 328, 411, 0, 331, 328, 1257, 1691, 331, 572, + 0, 343, 440, 1712, 440, 405, 458, 436, 408, 860, + 1382, 667, 328, 838, 584, 331, 454, 458, 625, 626, + 720, 746, 628, 59, 424, 1509, 447, 343, 440, 440, + 454, 1515, 440, 485, 41, 1454, 454, 44, 454, 731, + 1734, 746, 454, 454, 1753, 454, 454, 466, 628, 454, + 450, 431, 59, 409, 278, 502, 280, 637, 1160, 59, + 383, 44, 668, 287, 0, 1449, 501, 637, 637, 761, + 762, 1273, 367, 501, 258, 387, 0, 688, 458, 431, + 1564, 41, 410, 264, 550, 278, 411, 280, 668, 458, + 348, 671, 458, 278, 287, 280, 676, 1581, 440, 1003, + 264, 41, 287, 440, 908, 685, 458, 440, 688, 1219, + 452, 387, 454, 693, 1390, 452, 693, 454, 1438, 1301, + 396, 454, 306, 59, 440, 258, 41, 41, 259, 1239, + 0, 1686, 1677, 264, 714, 59, 452, 355, 454, 270, + 746, 740, 722, 742, 724, 751, 367, 727, 1341, 755, + 757, 758, 1021, 619, 378, 405, 320, 41, 264, 383, + 740, 59, 742, 1067, 1033, 745, 260, 340, 0, 775, + 296, 751, 338, 306, 41, 755, 400, 506, 0, 889, + 377, 1665, 892, 407, 1053, 378, 1686, 340, 1237, 59, + 1674, 764, 387, 378, 1686, 775, 0, 803, 804, 1571, + 905, 409, 1016, 318, 1686, 1577, 456, 400, 1686, 1023, + 41, 1079, 1016, 0, 407, 400, 397, 441, 790, 1023, + 318, 418, 407, 803, 804, 340, 263, 59, 0, 802, + 1724, 1725, 1716, 331, 418, 0, 1490, 59, 1260, 809, + 839, 1142, 340, 1144, 1266, 261, 1768, 1769, 441, 405, + 849, 821, 283, 387, 41, 59, 441, 44, 1347, 839, + 0, 834, 835, 836, 1553, 893, 397, 458, 465, 849, + 1380, 278, 59, 280, 492, 312, 442, 501, 42, 890, + 287, 861, 318, 47, 40, 418, 323, 59, 452, 387, + 860, 397, 356, 0, 59, 1163, 460, 1379, 396, 905, + 456, 894, 262, 300, 340, 1827, 440, 402, 501, 889, + 890, 891, 892, 893, 894, 342, 501, 891, 318, 59, + 900, 304, 262, 417, 1818, 489, 490, 0, 492, 1618, + 0, 331, 912, 913, 460, 499, 500, 501, 502, 503, + 340, 505, 440, 438, 508, 509, 1666, 262, 0, 1153, + 377, 387, 59, 384, 1612, 352, 454, 0, 1616, 1051, + 1066, 0, 0, 489, 490, 429, 492, 262, 1619, 0, + 685, 378, 1278, 499, 500, 501, 502, 503, 405, 505, + 1249, 408, 508, 509, 273, 458, 59, 387, 968, 59, + 427, 307, 308, 400, 264, 262, 396, 424, 0, 322, + 407, 40, 41, 0, 440, 44, 342, 59, 439, 0, + 41, 1280, 1477, 44, 328, 1673, 59, 331, 342, 301, + 59, 59, 61, 450, 377, 456, 386, 1492, 59, 322, + 61, 262, 41, 1517, 441, 44, 1347, 1691, 0, 41, + 440, 377, 1343, 445, 41, 278, 386, 44, 1262, 1347, + 59, 340, 91, 377, 301, 1027, 1028, 59, 1262, 40, + 264, 1670, 59, 1069, 1044, 1148, 1149, 1150, 59, 405, + 1076, 386, 408, 387, 262, 1045, 1045, 1281, 1058, 41, + 1734, 405, 396, 1387, 408, 40, 319, 1060, 424, 1069, + 1195, 386, 264, 0, 501, 448, 1076, 59, 0, 264, + 424, 1207, 0, 387, 1076, 1078, 508, 1617, 1717, 1767, + 342, 1084, 396, 465, 450, 467, 280, 1668, 1583, 386, + 342, 285, 301, 1215, 264, 1217, 450, 397, 284, 1639, + 0, 318, 1642, 401, 321, 451, 1405, 1341, 1620, 41, + 435, 328, 44, 16, 331, 377, 44, 325, 335, 383, + 44, 40, 59, 340, 1763, 386, 343, 59, 0, 338, + 442, 59, 1142, 0, 1144, 1647, 348, 400, 1719, 58, + 0, 41, 359, 405, 1177, 1444, 408, 1180, 1148, 1149, + 1160, 307, 308, 405, 1276, 900, 408, 44, 1797, 59, + 0, 264, 424, 397, 264, 442, 383, 912, 386, 93, + 387, 0, 424, 1176, 41, 44, 1213, 44, 441, 396, + 83, 41, 1694, 1764, 383, 1195, 1196, 59, 450, 258, + 319, 264, 59, 0, 61, 397, 413, 258, 450, 59, + 44, 41, 397, 260, 44, 274, 93, 405, 277, 278, + 278, 280, 280, 274, 1142, 284, 1144, 435, 287, 59, + 45, 61, 430, 440, 93, 1737, 424, 397, 1723, 437, + 59, 300, 44, 442, 1746, 452, 385, 306, 63, 300, + 309, 42, 0, 460, 1379, 306, 303, 260, 309, 461, + 462, 278, 59, 280, 1291, 1255, 1255, 278, 1295, 280, + 287, 42, 43, 1398, 45, 265, 47, 1779, 307, 308, + 1782, 400, 489, 490, 460, 492, 383, 1817, 260, 1578, + 1416, 93, 499, 500, 501, 502, 503, 1678, 505, 1680, + 303, 508, 509, 1805, 397, 451, 276, 397, 1434, 331, + 0, 59, 302, 489, 490, 285, 492, 265, 383, 378, + 378, 0, 441, 499, 500, 501, 502, 503, 436, 505, + 0, 303, 508, 509, 397, 260, 318, 417, 1361, 0, + 1721, 400, 1365, 1343, 0, 258, 316, 337, 407, 331, + 0, 278, 411, 280, 302, 301, 1397, 0, 340, 418, + 411, 378, 41, 1390, 444, 387, 0, 418, 259, 59, + 0, 1397, 1398, 1476, 396, 40, 301, 436, 1378, 270, + 59, 410, 441, 400, 494, 436, 0, 1406, 313, 59, + 407, 41, 338, 306, 44, 301, 318, 1397, 59, 41, + 1512, 258, 44, 59, 0, 387, 1406, 466, 402, 59, + 402, 470, 1537, 338, 396, 466, 59, 1798, 340, 470, + 277, 278, 451, 280, 441, 59, 45, 284, 258, 59, + 287, 44, 338, 348, 260, 337, 41, 337, 328, 44, + 434, 331, 357, 300, 279, 59, 59, 277, 278, 306, + 280, 93, 1686, 445, 284, 449, 318, 287, 440, 460, + 279, 407, 1686, 59, 1487, 0, 328, 1518, 318, 331, + 300, 417, 454, 0, 374, 1562, 306, 303, 340, 449, + 295, 300, 407, 453, 454, 455, 1476, 387, 489, 490, + 340, 492, 417, 1483, 329, 1620, 442, 387, 499, 500, + 501, 502, 503, 40, 505, 418, 396, 508, 509, 280, + 329, 1537, 316, 317, 285, 485, 508, 442, 1518, 1563, + 458, 378, 1647, 436, 59, 387, 272, 0, 363, 348, + 42, 43, 59, 45, 396, 47, 356, 352, 357, 1558, + 1521, 46, 288, 400, 363, 378, 381, 485, 378, 320, + 407, 460, 862, 1553, 864, 0, 61, 470, 1558, 416, + 1587, 418, 381, 1563, 1591, 58, 0, 400, 0, 1694, + 400, 321, 1659, 393, 407, 395, 1582, 407, 440, 436, + 489, 490, 1582, 492, 441, 335, 59, 333, 418, 279, + 499, 500, 501, 502, 503, 418, 505, 0, 418, 508, + 509, 1632, 280, 403, 264, 0, 436, 285, 441, 359, + 300, 441, 1737, 470, 59, 321, 362, 0, 1618, 1619, + 420, 1746, 0, 443, 417, 59, 1751, 59, 278, 335, + 280, 0, 1632, 383, 284, 0, 0, 287, 41, 329, + 470, 44, 457, 458, 459, 274, 461, 462, 259, 318, + 300, 444, 1703, 359, 1779, 337, 59, 1782, 348, 270, + 1785, 1786, 1668, 413, 59, 480, 481, 357, 1668, 460, + 485, 486, 41, 363, 0, 44, 59, 647, 461, 1685, + 1805, 59, 0, 429, 41, 1685, 1811, 44, 424, 1694, + 59, 381, 374, 0, 59, 59, 0, 1822, 489, 490, + 1825, 492, 0, 1703, 1704, 387, 316, 413, 499, 500, + 501, 502, 503, 1719, 505, 1705, 1705, 508, 509, 1719, + 1726, 691, 0, 0, 694, 1751, 1726, 41, 378, 699, + 44, 1775, 1737, 59, 704, 705, 41, 42, 43, 0, + 45, 59, 47, 713, 318, 715, 716, 717, 718, 719, + 400, 721, 59, 337, 44, 59, 726, 407, 1764, 1785, + 1786, 59, 42, 43, 1764, 45, 1772, 47, 280, 59, + 236, 0, 1772, 285, 1779, 1775, 279, 1782, 244, 749, + 41, 59, 59, 44, 754, 1811, 46, 461, 462, 41, + 41, 441, 44, 44, 460, 460, 1822, 300, 59, 1825, + 1805, 61, 1802, 41, 42, 43, 0, 45, 320, 47, + 1810, 40, 41, 42, 43, 44, 45, 46, 47, 41, + 1537, 280, 44, 336, 489, 490, 329, 492, 1828, 288, + 59, 60, 61, 62, 499, 500, 501, 502, 503, 458, + 505, 460, 93, 508, 509, 348, 258, 41, 452, 261, + 42, 43, 402, 45, 357, 47, 493, 494, 42, 43, + 363, 45, 91, 47, 93, 59, 41, 59, 340, 44, + 489, 490, 40, 492, 41, 0, 0, 44, 381, 320, + 499, 500, 501, 502, 503, 41, 505, 318, 44, 508, + 509, 402, 41, 262, 306, 44, 1647, 867, 868, 869, + 391, 392, 872, 873, 874, 383, 876, 877, 878, 879, + 880, 881, 461, 462, 383, 318, 41, 41, 506, 44, + 44, 294, 436, 361, 450, 328, 42, 43, 331, 45, + 41, 47, 305, 44, 59, 59, 434, 340, 908, 312, + 343, 41, 417, 1694, 44, 915, 916, 442, 918, 318, + 920, 357, 321, 923, 924, 925, 926, 927, 928, 328, + 42, 43, 331, 45, 337, 47, 335, 460, 287, 411, + 940, 340, 942, 469, 343, 280, 690, 44, 692, 0, + 285, 695, 696, 697, 387, 41, 1737, 61, 44, 41, + 359, 41, 44, 396, 44, 1746, 489, 490, 41, 492, + 280, 44, 372, 286, 40, 285, 499, 500, 501, 502, + 503, 264, 505, 40, 383, 508, 509, 386, 387, 44, + 41, 42, 43, 44, 45, 46, 47, 396, 1779, 402, + 44, 1782, 461, 262, 1751, 264, 265, 440, 59, 60, + 61, 62, 280, 272, 413, 461, 461, 285, 0, 452, + 41, 280, 41, 44, 1805, 44, 285, 436, 320, 288, + 340, 434, 402, 40, 40, 438, 435, 40, 1785, 1786, + 91, 440, 93, 302, 40, 40, 40, 40, 307, 308, + 40, 265, 311, 452, 40, 454, 40, 40, 280, 318, + 40, 320, 321, 285, 1811, 324, 280, 40, 91, 328, + 46, 285, 331, 320, 333, 1822, 335, 59, 1825, 44, + 44, 340, 341, 428, 343, 46, 61, 40, 302, 264, + 44, 348, 44, 382, 318, 278, 278, 0, 300, 1099, + 359, 360, 264, 362, 328, 42, 43, 331, 45, 397, + 47, 1111, 1112, 436, 1114, 1115, 340, 376, 340, 378, + 379, 380, 1122, 278, 383, 280, 59, 386, 387, 284, + 470, 397, 287, 458, 280, 277, 447, 396, 41, 285, + 40, 44, 447, 399, 40, 300, 349, 321, 91, 40, + 40, 410, 318, 1153, 413, 264, 59, 383, 41, 42, + 43, 335, 45, 387, 47, 311, 411, 1167, 280, 321, + 429, 44, 396, 285, 389, 1175, 435, 1177, 382, 40, + 1180, 440, 1182, 335, 40, 359, 1186, 1187, 1188, 1189, + 436, 343, 451, 452, 1194, 454, 457, 458, 459, 311, + 464, 460, 317, 40, 320, 41, 320, 359, 451, 383, + 452, 262, 448, 264, 265, 264, 440, 42, 43, 44, + 45, 272, 47, 378, 485, 486, 502, 454, 452, 280, + 489, 490, 1232, 492, 285, 458, 40, 288, 277, 413, + 499, 500, 501, 502, 503, 400, 505, 274, 40, 508, + 509, 302, 407, 304, 300, 284, 307, 308, 0, 344, + 311, 413, 278, 344, 386, 321, 386, 318, 386, 320, + 321, 418, 416, 324, 300, 418, 258, 328, 40, 335, + 331, 1281, 333, 417, 335, 356, 441, 343, 40, 340, + 341, 417, 343, 274, 40, 44, 385, 279, 1298, 41, + 367, 44, 44, 359, 264, 320, 41, 1307, 359, 360, + 44, 362, 320, 44, 1314, 40, 44, 59, 300, 61, + 0, 280, 44, 328, 306, 376, 0, 378, 379, 380, + 266, 40, 383, 505, 501, 386, 387, 299, 41, 42, + 43, 1341, 45, 280, 47, 396, 40, 329, 285, 264, + 422, 41, 0, 58, 41, 41, 41, 413, 264, 410, + 454, 1361, 413, 440, 394, 1365, 348, 41, 42, 43, + 44, 45, 46, 47, 356, 357, 41, 309, 429, 59, + 309, 363, 492, 41, 435, 59, 60, 61, 62, 440, + 40, 40, 262, 41, 352, 40, 44, 280, 40, 381, + 451, 452, 285, 454, 41, 42, 43, 40, 45, 460, + 47, 59, 40, 40, 40, 318, 40, 91, 321, 93, + 40, 40, 872, 40, 874, 328, 876, 877, 331, 879, + 880, 881, 335, 40, 40, 40, 418, 340, 489, 490, + 343, 492, 40, 327, 44, 308, 435, 429, 499, 500, + 501, 502, 503, 41, 505, 280, 359, 508, 509, 274, + 285, 0, 1462, 1463, 41, 42, 43, 388, 45, 388, + 47, 41, 42, 43, 388, 45, 343, 47, 331, 390, + 383, 422, 391, 386, 387, 271, 287, 1487, 386, 446, + 1490, 407, 386, 396, 42, 43, 41, 45, 386, 47, + 386, 386, 41, 42, 43, 44, 45, 46, 47, 386, + 413, 41, 378, 278, 40, 417, 258, 41, 41, 41, + 59, 60, 61, 62, 1524, 385, 436, 460, 41, 308, + 435, 396, 435, 280, 337, 442, 278, 440, 280, 338, + 301, 442, 284, 338, 301, 287, 41, 41, 320, 452, + 352, 454, 91, 385, 93, 371, 489, 490, 300, 492, + 371, 41, 41, 0, 306, 41, 499, 500, 501, 502, + 503, 41, 505, 41, 41, 508, 509, 280, 258, 41, + 41, 41, 285, 41, 41, 41, 1586, 41, 262, 41, + 264, 265, 45, 41, 1594, 41, 280, 46, 272, 279, + 42, 43, 44, 45, 44, 47, 280, 44, 59, 40, + 340, 285, 42, 43, 288, 45, 59, 47, 40, 340, + 300, 59, 59, 59, 59, 59, 306, 59, 302, 308, + 278, 1631, 280, 307, 308, 1635, 378, 311, 59, 287, + 41, 352, 344, 280, 318, 41, 320, 321, 285, 329, + 324, 368, 300, 40, 328, 451, 383, 331, 400, 333, + 44, 335, 340, 383, 59, 407, 340, 341, 348, 343, + 59, 383, 41, 343, 41, 41, 418, 357, 410, 44, + 44, 435, 304, 363, 442, 359, 360, 301, 362, 387, + 40, 1691, 264, 1693, 436, 304, 1696, 59, 293, 441, + 463, 381, 376, 280, 378, 379, 380, 44, 285, 383, + 280, 307, 386, 387, 262, 285, 44, 41, 0, 337, + 383, 383, 396, 262, 40, 264, 265, 264, 470, 0, + 378, 278, 280, 272, 1734, 264, 410, 285, 418, 413, + 458, 280, 389, 264, 320, 411, 285, 470, 40, 288, + 451, 309, 400, 271, 458, 429, 264, 343, 435, 407, + 436, 435, 343, 302, 343, 343, 440, 458, 307, 308, + 41, 271, 311, 44, 308, 41, 40, 451, 452, 318, + 454, 320, 321, 308, 40, 324, 460, 59, 59, 328, + 59, 308, 331, 441, 333, 41, 335, 59, 304, 59, + 41, 340, 341, 41, 343, 41, 42, 43, 59, 45, + 44, 47, 0, 0, 0, 489, 490, 0, 492, 1145, + 359, 360, 12, 362, 271, 499, 500, 501, 502, 503, + 263, 505, 262, 676, 508, 509, 264, 376, 280, 378, + 379, 380, 295, 285, 383, 632, 1081, 386, 387, 1079, + 280, 852, 87, 1424, 326, 285, 1076, 396, 41, 42, + 43, 44, 45, 46, 47, 1425, 356, 1068, 1058, 579, + 323, 410, 751, 1006, 413, 1069, 59, 60, 61, 62, + 42, 43, 321, 45, 321, 47, 0, 311, 460, 1629, + 429, 328, 785, 338, 331, 1710, 435, 59, 335, 352, + 1714, 440, 1403, 558, 1713, 1405, 343, 1755, 91, 338, + 93, 775, 451, 452, 1230, 454, 1637, 489, 490, 1810, + 492, 460, 359, 1652, 1752, 391, 991, 499, 500, 501, + 502, 503, 1209, 505, 1383, 1668, 508, 509, 343, 331, + 1264, 324, 831, 618, 560, 59, 383, 823, 13, 298, + 489, 490, 0, 492, 40, 496, 500, 740, 138, 45, + 499, 500, 501, 502, 503, 754, 505, 726, 968, 508, + 509, 727, 1620, 1507, 427, 1772, 413, 63, 0, 1726, + 511, 418, 41, 42, 43, 1828, 45, 684, 47, 909, + 443, 390, 1113, 41, 42, 43, 44, 45, 1182, 47, + -1, -1, -1, 440, 457, 458, 459, -1, 461, 462, + -1, 59, 60, 61, 62, 452, -1, 454, 0, 41, + -1, -1, 44, -1, -1, -1, -1, 480, 481, 482, + 483, 484, 485, 486, 487, 488, -1, 59, -1, -1, + -1, -1, 495, 496, 280, 93, -1, -1, -1, 285, + 321, 504, -1, -1, -1, -1, -1, 328, -1, 41, + 331, -1, 44, -1, 335, -1, -1, 0, -1, -1, + -1, -1, 343, -1, -1, -1, -1, 59, -1, 262, + -1, 264, 265, -1, -1, -1, -1, -1, 359, 272, + -1, -1, -1, -1, -1, 0, -1, 280, -1, -1, + -1, -1, 285, -1, -1, 288, -1, -1, 41, -1, + -1, 44, 383, -1, -1, -1, -1, -1, 280, 302, + -1, -1, -1, 285, 307, 308, 59, -1, 311, -1, + -1, -1, -1, -1, -1, 318, 41, 320, 321, 44, + -1, 324, 413, -1, -1, 328, -1, -1, 331, -1, + 333, -1, 335, -1, 59, -1, -1, 340, 341, -1, + 343, -1, -1, -1, -1, 279, -1, -1, -1, 440, + 0, -1, -1, -1, -1, -1, 359, 360, -1, 362, + -1, 452, -1, 454, -1, -1, 300, -1, -1, -1, + -1, -1, -1, 376, 0, 378, 379, 380, -1, -1, + 383, -1, -1, 386, 387, -1, -1, -1, -1, 295, + -1, -1, -1, 396, 262, 329, 264, 265, -1, -1, + -1, 280, -1, -1, 272, -1, 285, 410, -1, 59, + 413, -1, 280, -1, 348, 41, -1, 285, 44, -1, + 288, -1, 356, 357, -1, -1, 429, -1, -1, 363, + -1, -1, 435, 59, 302, -1, 278, 440, 280, 307, + 308, -1, -1, 311, -1, 287, 352, 381, 451, 452, + 318, 454, 320, 321, -1, -1, 324, 460, 300, 393, + 328, 395, -1, 331, -1, 333, -1, 335, -1, -1, + -1, -1, 340, 341, -1, 343, 278, -1, 280, -1, + -1, -1, -1, -1, 418, 287, 489, 490, 0, 492, + -1, 359, 360, -1, 362, -1, 499, 500, 501, 502, + 503, -1, 505, -1, -1, 508, 509, -1, 376, 443, 378, 379, 380, -1, -1, 383, -1, -1, 386, 387, - -1, -1, 42, 43, -1, 45, -1, 47, 396, 262, - 329, 264, 265, -1, -1, 0, 280, -1, -1, 272, - -1, 285, 410, -1, 59, 413, -1, 280, -1, 348, - 41, -1, 285, 44, -1, 288, -1, 356, 357, -1, - -1, 429, -1, -1, 363, -1, -1, 435, 59, 302, - -1, 278, 440, 280, 307, 308, 41, 284, 311, 44, - 287, -1, 381, 451, 452, 318, 454, 320, 321, -1, - -1, 324, 460, 300, 59, 328, -1, 0, 331, -1, - 333, -1, 335, -1, 280, -1, -1, 340, 341, 285, - 343, 472, 473, 474, 475, 476, 477, 478, 479, 418, - 280, 489, 490, 0, 492, 285, 359, 360, -1, 362, - 429, 499, 500, 501, 502, 503, -1, 505, 41, 507, - 508, 44, -1, 376, 280, 378, 379, 380, -1, 285, - 383, -1, -1, 386, 387, -1, 59, -1, 287, -1, - -1, -1, -1, 396, 41, 42, 43, 44, 45, -1, - 47, 378, -1, -1, -1, -1, -1, 410, 0, -1, - 413, -1, 59, 60, 61, 62, -1, -1, -1, -1, - -1, -1, 0, 400, -1, -1, 429, -1, -1, -1, - 407, -1, 435, -1, -1, 258, -1, 440, -1, -1, - -1, -1, -1, -1, -1, -1, 93, -1, 451, 452, - -1, 454, -1, -1, -1, -1, 279, 460, -1, -1, - -1, -1, -1, 41, 441, 280, 44, 59, -1, -1, - 285, -1, 262, 258, -1, -1, -1, 300, -1, -1, - -1, 59, -1, 306, -1, -1, 489, 490, 0, 492, - 280, -1, -1, -1, 279, 285, 499, 500, 501, 502, - 503, -1, 505, -1, 507, 508, 329, -1, -1, -1, - -1, -1, -1, -1, -1, 300, -1, -1, -1, -1, - -1, 306, -1, -1, -1, 348, -1, -1, -1, 41, - 42, 43, 44, 45, 357, 47, -1, -1, -1, -1, - 363, -1, -1, 278, 329, 280, -1, 59, 60, 61, - 62, -1, 287, -1, -1, -1, -1, 318, 381, -1, - 321, 460, -1, 348, -1, 300, -1, 328, -1, -1, - 331, -1, 357, -1, 335, -1, -1, -1, 363, 340, - -1, 93, 343, -1, -1, -1, -1, -1, -1, -1, - 489, 490, -1, 492, -1, 418, 381, -1, 359, -1, - 499, 500, 501, 502, 503, 278, 505, 280, 507, 508, - -1, 284, -1, -1, 287, 262, -1, 264, 265, -1, - -1, -1, 383, -1, -1, 272, 387, 300, -1, -1, - -1, -1, -1, 418, -1, 396, -1, -1, 285, -1, - -1, 288, -1, 378, -1, -1, -1, -1, -1, -1, - -1, -1, 413, -1, -1, 302, -1, -1, -1, -1, - 307, 308, -1, -1, 311, 400, 258, -1, -1, -1, - -1, 318, 407, 320, 321, -1, -1, 324, -1, 440, - 258, 328, -1, -1, 331, -1, 333, 279, 335, -1, - -1, 452, -1, 340, 341, -1, 343, -1, -1, -1, - -1, 279, -1, -1, -1, 378, 441, -1, 300, -1, - -1, -1, 359, 360, 306, 362, -1, -1, -1, -1, - -1, -1, 300, -1, -1, -1, -1, 400, 306, 376, - -1, 378, 379, 380, 407, -1, 383, 329, -1, 386, - 387, 287, -1, 0, -1, -1, -1, 328, -1, 396, - 262, 329, 264, 265, -1, -1, 348, -1, -1, -1, - 272, -1, -1, 410, -1, 357, 413, -1, 441, -1, - 348, 363, -1, -1, -1, -1, 288, -1, -1, 357, - -1, -1, 429, -1, 41, 363, -1, 44, 435, 381, - 302, -1, -1, 440, -1, 307, 308, -1, -1, 311, - -1, -1, 59, 381, 451, 452, 318, 454, 320, 321, - -1, -1, 324, 460, -1, -1, 328, -1, -1, 331, - -1, 333, -1, 335, -1, -1, 418, -1, 340, 341, - -1, 343, -1, -1, -1, -1, -1, -1, -1, -1, - 418, -1, 489, 490, 0, 492, -1, 359, 360, -1, - 362, 343, 499, 500, 501, 502, 503, -1, 505, 294, - 507, 508, 443, -1, 376, -1, 378, 379, 380, -1, - 305, 383, -1, -1, 386, 387, 368, 312, -1, 460, - -1, -1, -1, -1, 396, 41, 42, 43, 44, 45, - 325, 47, -1, -1, -1, -1, -1, -1, 410, -1, - -1, 413, -1, 59, 60, 61, 62, -1, 489, 490, - -1, 492, -1, -1, 460, -1, -1, 429, 499, 500, - 501, 502, 503, 435, 505, -1, 507, 508, 440, -1, - -1, -1, -1, -1, 426, -1, -1, 93, -1, 451, - 452, -1, 454, 489, 490, -1, 492, -1, 460, -1, - -1, 386, -1, 499, 500, 501, 502, 503, -1, 505, - -1, 507, 508, -1, -1, -1, -1, 402, 460, -1, - -1, -1, -1, -1, -1, -1, -1, 489, 490, 0, - 492, -1, -1, -1, 419, -1, -1, 499, 500, 501, - 502, 503, -1, 505, -1, 507, 508, 489, 490, 434, - 492, -1, -1, 438, -1, 262, 441, 499, 500, 501, - 502, 503, -1, 505, 449, 507, 508, -1, -1, -1, - 41, -1, 43, 44, 45, 1294, 1295, -1, -1, 260, - -1, 1300, 1301, 468, 1303, 1304, -1, -1, 59, 60, - 61, 62, 1311, 1312, 1313, 1314, -1, 1316, 1317, 1318, - 1319, 1320, 1321, -1, -1, -1, -1, -1, -1, -1, - -1, 318, -1, -1, 321, -1, -1, -1, -1, -1, - 301, 328, 93, -1, 331, -1, -1, -1, 335, -1, - -1, -1, 313, 340, -1, -1, 343, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 327, -1, -1, -1, - -1, -1, 359, -1, -1, -1, 262, 338, 264, 265, - -1, -1, -1, -1, -1, -1, 272, 41, 42, 43, - -1, 45, -1, 47, -1, -1, 383, -1, -1, 386, - 387, -1, 288, -1, -1, -1, 60, 61, 62, 396, - -1, -1, -1, -1, -1, -1, 302, -1, -1, -1, - -1, 307, 308, -1, -1, 311, 413, -1, -1, -1, - -1, -1, 318, -1, 320, 321, -1, -1, 324, -1, - -1, -1, 328, -1, -1, 331, 407, 333, 435, 335, - -1, -1, -1, 440, 340, 341, 417, 343, -1, -1, - -1, -1, -1, -1, -1, 452, -1, 454, -1, -1, - -1, -1, -1, 359, 360, -1, 362, -1, -1, -1, - -1, 442, -1, -1, -1, -1, -1, -1, -1, -1, - 376, -1, 378, 379, 380, -1, -1, 383, -1, 460, - 386, 387, -1, -1, 0, -1, -1, -1, -1, -1, - 396, 262, -1, 264, 265, -1, -1, -1, -1, -1, - -1, 272, -1, -1, 410, -1, -1, 413, 489, 490, - -1, 492, -1, -1, -1, -1, -1, 288, 499, 500, - 501, 502, 503, 429, 505, 41, 507, 508, 44, 435, - -1, 302, -1, -1, 440, -1, 307, 308, -1, -1, - 311, -1, -1, 59, -1, 451, 452, 318, 454, 320, - 321, -1, -1, 324, 460, -1, -1, 328, -1, -1, - 331, -1, 333, -1, 335, -1, -1, -1, -1, 340, - 341, -1, 343, -1, -1, -1, -1, 328, -1, -1, - -1, -1, -1, 489, 490, 0, 492, -1, 359, 360, - -1, 362, -1, 499, 500, 501, 502, 503, 272, 505, - -1, 507, 508, -1, -1, 376, 280, 378, 379, 380, - -1, 285, 383, -1, 288, 386, 387, -1, -1, -1, - -1, -1, -1, -1, -1, 396, 41, -1, 43, 44, - 45, -1, -1, -1, -1, -1, -1, -1, -1, 410, - -1, -1, 413, -1, 59, 60, 61, 62, -1, -1, - 324, 402, -1, -1, -1, -1, -1, -1, 429, 333, - -1, -1, -1, -1, 435, -1, -1, 341, -1, 440, - -1, -1, -1, -1, -1, -1, -1, -1, 93, -1, - 451, 452, -1, 454, -1, -1, 360, 438, 362, 460, - -1, -1, 443, -1, -1, -1, -1, -1, 449, -1, - -1, -1, 376, -1, 378, 379, 380, -1, -1, 460, - -1, -1, -1, -1, -1, -1, -1, 468, 489, 490, - 0, 492, -1, -1, -1, -1, -1, -1, 499, 500, - 501, 502, 503, -1, 505, -1, 507, 508, 489, 490, - -1, 492, -1, -1, -1, -1, 262, -1, 499, 500, - 501, 502, 503, -1, 505, 429, 507, 508, -1, -1, - -1, 41, 273, 43, 44, 45, 277, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, - 60, 61, 62, -1, 295, -1, -1, 298, 305, -1, - -1, -1, -1, -1, -1, 312, -1, -1, -1, 316, - 317, -1, 318, -1, -1, 321, -1, -1, 325, -1, - -1, -1, 328, 93, -1, 331, -1, -1, -1, 335, - 337, -1, -1, -1, 340, -1, -1, 343, 339, -1, - -1, -1, -1, -1, 345, 346, 347, -1, 349, 350, - 351, -1, 353, 359, -1, -1, -1, 262, -1, 264, - 265, -1, -1, -1, -1, -1, -1, 272, -1, -1, - -1, -1, 373, -1, 375, -1, -1, 383, -1, -1, - 386, 387, -1, 288, -1, -1, -1, -1, -1, -1, - 396, -1, -1, -1, -1, 402, -1, 302, -1, -1, - -1, -1, 307, 308, -1, 406, 311, 413, -1, -1, - -1, -1, 419, 318, -1, 320, 321, -1, -1, 324, - -1, -1, 423, 328, -1, -1, 331, 434, 333, 435, - 335, 438, -1, -1, 440, 340, 341, -1, 343, -1, - -1, -1, 449, -1, 445, -1, 452, -1, 454, -1, - -1, -1, -1, -1, 359, 360, -1, 362, -1, -1, - -1, 468, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 376, -1, 378, 379, 380, -1, -1, 383, 480, - 481, 386, 387, -1, 0, -1, -1, -1, -1, -1, - -1, 396, 262, -1, 264, 265, 497, -1, -1, -1, - -1, -1, 272, -1, -1, 410, -1, -1, 413, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 288, -1, - -1, -1, -1, -1, 429, 41, -1, -1, 44, -1, - 435, -1, 302, -1, -1, 440, -1, 307, 308, -1, - -1, 311, -1, 59, -1, 61, 451, 452, 318, 454, - 320, 321, -1, -1, 324, 460, -1, -1, 328, -1, - -1, 331, -1, 333, -1, 335, 260, -1, -1, -1, - 340, 341, -1, 343, -1, 91, -1, -1, -1, -1, - -1, -1, -1, -1, 489, 490, 0, 492, -1, 359, - 360, -1, 362, -1, 499, 500, 501, 502, 503, -1, - 505, -1, 507, 508, 443, -1, 376, 301, 378, 379, - 380, -1, -1, 383, -1, -1, 386, 387, -1, 313, - -1, 460, -1, -1, -1, -1, 396, 41, -1, 43, - 44, 45, -1, -1, -1, -1, -1, -1, -1, -1, - 410, -1, -1, 413, 338, 59, 60, 61, 62, -1, - 489, 490, -1, 492, -1, -1, -1, 460, -1, 429, - 499, 500, 501, 502, 503, 435, 505, -1, 507, 508, - 440, -1, -1, -1, -1, -1, -1, -1, -1, 93, - -1, 451, 452, -1, 454, -1, 489, 490, -1, 492, - 460, -1, -1, -1, -1, -1, 499, 500, 501, 502, - 503, -1, 505, 40, 507, 508, 43, -1, 45, -1, - -1, -1, -1, 407, -1, -1, -1, -1, -1, 489, - 490, 58, 492, 417, -1, -1, 63, -1, -1, 499, - 500, 501, 502, 503, -1, 505, -1, 507, 508, -1, - -1, -1, 258, -1, -1, -1, -1, -1, 442, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 274, -1, - -1, -1, 278, 273, 280, -1, 460, 277, 284, -1, - -1, 287, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 291, -1, -1, 300, 295, -1, -1, 298, -1, - 306, -1, -1, 309, -1, 489, 490, -1, 492, -1, - -1, -1, -1, -1, -1, 499, 500, 501, 502, 503, - -1, 505, 434, 507, 508, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 339, - -1, -1, -1, -1, -1, 345, 346, 347, 460, 349, - 350, 351, -1, 353, -1, -1, -1, -1, 262, -1, - 264, 265, -1, -1, -1, -1, -1, 354, 272, -1, - -1, -1, 378, 373, -1, 375, -1, 489, 490, -1, - 492, -1, -1, -1, 288, -1, -1, 499, 500, 501, - 502, 503, -1, 505, 400, 507, 508, -1, 302, -1, - -1, 407, -1, 307, 308, 411, 406, 311, -1, -1, - -1, 411, 418, -1, 318, -1, 320, 321, -1, -1, - 324, -1, -1, 423, 328, -1, -1, 331, -1, 333, - 436, 335, -1, -1, -1, 441, 340, 341, -1, 343, - 267, -1, -1, 40, -1, 445, 43, -1, 45, 276, - -1, -1, -1, -1, -1, 359, 360, -1, 362, -1, - 466, 58, 289, -1, 470, 292, 63, -1, 295, 296, - -1, 458, 376, 460, 378, 379, 380, -1, -1, 383, - 480, 481, 386, 387, 471, -1, -1, 314, -1, -1, - -1, -1, 396, -1, -1, -1, 323, 497, -1, 326, - -1, -1, 489, 490, -1, 492, 410, -1, -1, 413, - -1, 498, 499, 500, 501, 502, 503, -1, 505, -1, - 507, 508, 0, -1, -1, 429, -1, 354, 355, 460, - -1, 435, -1, -1, -1, -1, 440, -1, -1, 366, - -1, -1, -1, 370, -1, -1, -1, 451, 452, -1, - 454, 378, -1, -1, -1, -1, 460, -1, 489, 490, - -1, 492, 40, 41, -1, -1, 44, -1, 499, 500, - 501, 502, 503, -1, 505, -1, 507, 508, 460, -1, - -1, 59, -1, 61, -1, 489, 490, -1, 492, -1, - -1, -1, -1, -1, 421, 499, 500, 501, 502, 503, - 427, 505, -1, 507, 508, -1, 433, 489, 490, -1, - 492, -1, -1, 91, -1, -1, 443, 499, 500, 501, - 502, 503, -1, 505, -1, 507, 508, -1, -1, -1, - 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, - -1, -1, 273, -1, 471, -1, 277, -1, -1, -1, - -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, 295, 492, -1, 298, 495, 496, - 267, 498, 499, 500, 501, 502, 503, 504, 505, 276, - 507, 508, 509, 510, 511, -1, -1, -1, 40, -1, - -1, 43, 289, 45, -1, -1, -1, -1, 295, 296, - -1, -1, -1, -1, -1, -1, 58, -1, 339, -1, - -1, 63, -1, -1, 345, 346, 347, 314, 349, 350, - 351, -1, 353, -1, -1, -1, 323, -1, -1, 326, + 41, 42, 43, -1, 45, 278, 47, 280, 396, 41, + 42, 43, 44, 45, -1, 47, 378, -1, -1, -1, + -1, -1, 410, -1, -1, 413, -1, 59, 60, 61, + 62, 457, 458, 459, -1, 461, 462, 0, 400, -1, + -1, 429, -1, -1, -1, 407, -1, 435, -1, -1, + -1, -1, 440, -1, 480, 481, 378, -1, -1, 485, + 486, 93, -1, 451, 452, -1, 454, -1, -1, -1, + -1, -1, 460, 318, -1, -1, -1, -1, 400, 441, + -1, -1, -1, 328, -1, 407, 331, -1, 258, -1, + -1, -1, -1, -1, -1, 340, 59, -1, 343, -1, + -1, 489, 490, 0, 492, 378, -1, -1, -1, 279, + -1, 499, 500, 501, 502, 503, -1, 505, -1, 441, + 508, 509, -1, -1, -1, -1, -1, 400, -1, 0, + 300, -1, -1, -1, 407, -1, 306, -1, -1, -1, + -1, -1, 387, -1, 41, 42, 43, 44, 45, -1, + 47, 396, -1, -1, 41, 42, 43, -1, 45, 329, + 47, -1, 59, 60, 61, 62, -1, -1, 441, -1, + 41, -1, 318, 44, -1, 321, -1, -1, 348, -1, + -1, -1, 328, -1, -1, 331, -1, 357, 59, 335, + -1, -1, -1, 363, 340, 440, 93, 343, 41, 42, + 43, -1, 45, -1, 47, -1, -1, 452, 41, 42, + 43, 381, 45, 359, 47, -1, -1, 41, 42, 43, + -1, 45, -1, 47, -1, -1, -1, -1, -1, -1, + 262, -1, 264, 265, -1, -1, -1, 383, -1, 280, + 272, 387, 42, 43, 285, 45, -1, 47, 418, -1, + 396, -1, -1, 285, -1, -1, 288, -1, -1, -1, + 60, 61, 62, -1, -1, -1, -1, 413, -1, -1, + 302, -1, -1, -1, -1, 307, 308, -1, -1, 311, + -1, -1, -1, -1, -1, -1, 318, -1, 320, 321, + -1, -1, 324, -1, 440, 258, 328, -1, -1, 331, + -1, 333, -1, 335, -1, -1, 452, -1, 340, 341, + -1, 343, -1, -1, -1, -1, 279, 41, 42, 43, + -1, 45, -1, 47, -1, -1, -1, 359, 360, 0, + 362, -1, -1, -1, -1, -1, -1, 300, -1, -1, + -1, -1, -1, 306, 376, -1, 378, 379, 380, -1, + -1, 383, -1, -1, 386, 387, -1, -1, 0, -1, + -1, -1, -1, -1, 396, 262, 329, 264, 265, -1, + 41, -1, -1, 44, -1, 272, -1, -1, 410, -1, + -1, 413, -1, -1, -1, 348, -1, -1, 59, -1, + -1, 288, -1, 280, 357, -1, -1, 429, 285, 41, + 363, -1, 44, 435, -1, 302, -1, 278, 440, 280, + 307, 308, 287, -1, 311, -1, -1, 59, 381, 451, + 452, 318, 454, 320, 321, -1, -1, 324, 460, -1, + -1, 328, -1, -1, 331, -1, 333, 280, 335, -1, + -1, -1, 285, 340, 341, -1, 343, 280, -1, -1, + -1, -1, 285, -1, -1, 418, 280, 489, 490, 0, + 492, 285, 359, 360, -1, 362, -1, 499, 500, 501, + 502, 503, 272, 505, -1, -1, 508, 509, -1, 376, + 280, 378, 379, 380, -1, 285, 383, -1, 288, 386, + 387, 41, 42, 43, -1, 45, -1, 47, -1, 396, + 41, 42, 43, 44, 45, 0, 47, 378, -1, -1, + -1, -1, -1, 410, -1, -1, 413, -1, 59, 60, + 61, 62, -1, -1, 324, -1, -1, -1, -1, 400, + -1, -1, 429, 333, -1, -1, 407, -1, 435, -1, + -1, 341, -1, 440, -1, -1, 41, -1, 343, 44, + -1, -1, 93, -1, 451, 452, 280, 454, -1, -1, + 360, 285, 362, 460, 59, 41, 42, 43, -1, 45, + 441, 47, -1, 368, -1, -1, 376, -1, 378, 379, + 380, -1, -1, -1, -1, 460, -1, -1, -1, -1, + -1, -1, 489, 490, 0, 492, -1, -1, -1, -1, + -1, -1, 499, 500, 501, 502, 503, -1, 505, -1, + -1, 508, 509, -1, 489, 490, -1, 492, -1, -1, + 262, -1, -1, -1, 499, 500, 501, 502, 503, 429, + 505, 426, -1, 508, 509, 41, -1, 43, 44, 45, + -1, -1, -1, -1, -1, -1, -1, 318, -1, -1, + 321, -1, -1, 59, 60, 61, 62, 328, -1, -1, + 331, -1, -1, -1, 335, 460, -1, -1, -1, 340, + -1, -1, 343, -1, -1, -1, 318, -1, -1, 321, + -1, -1, -1, -1, -1, -1, 328, 93, 359, 331, + -1, -1, -1, 335, 489, 490, -1, 492, 340, -1, + -1, 343, -1, -1, 499, 500, 501, 502, 503, -1, + 505, -1, 383, 508, 509, -1, 387, 359, -1, -1, + -1, 262, -1, 264, 265, 396, -1, -1, -1, -1, + 280, 272, 41, 42, 43, 285, 45, -1, 47, -1, + -1, 383, 413, -1, 386, 387, -1, 288, -1, -1, + -1, 60, 61, 62, 396, -1, -1, -1, -1, -1, + -1, 302, -1, 258, -1, -1, 307, 308, -1, 440, + 311, 413, -1, -1, -1, -1, -1, 318, -1, 320, + 321, 452, -1, 324, 279, -1, -1, 328, -1, -1, + 331, -1, 333, 435, 335, -1, -1, -1, 440, 340, + 341, -1, 343, -1, 280, 300, -1, -1, -1, 285, + 452, 306, 454, -1, -1, -1, -1, -1, 359, 360, + -1, 362, -1, -1, -1, 328, 472, 473, 474, 475, + 476, 477, 478, 479, 329, 376, -1, 378, 379, 380, + -1, -1, 383, -1, -1, 386, 387, -1, -1, 0, + -1, -1, -1, 348, -1, 396, 262, -1, 264, 265, + 287, -1, 357, -1, -1, -1, 272, -1, 363, 410, + -1, -1, 413, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 288, -1, -1, -1, 381, -1, 429, -1, + 41, -1, -1, 44, 435, -1, 302, -1, -1, 440, + -1, 307, 308, -1, -1, 311, -1, -1, 59, -1, + 451, 452, 318, 454, 320, 321, -1, -1, 324, 460, + -1, -1, 328, 418, -1, 331, -1, 333, -1, 335, + -1, -1, -1, -1, 340, 341, -1, 343, -1, -1, + 443, -1, -1, -1, -1, -1, -1, -1, 489, 490, + 0, 492, -1, 359, 360, -1, 362, 460, 499, 500, + 501, 502, 503, 272, 505, -1, -1, 508, 509, -1, + 376, 280, 378, 379, 380, -1, 285, 383, -1, 288, + 386, 387, -1, -1, -1, -1, 489, 490, -1, 492, + 396, 41, -1, 43, 44, 45, 499, 500, 501, 502, + 503, -1, 505, -1, 410, 508, 509, 413, -1, 59, + 60, 61, 62, -1, -1, 324, -1, -1, -1, -1, + -1, -1, -1, 429, 333, -1, -1, -1, -1, 435, + -1, -1, 341, 460, 440, -1, -1, -1, -1, -1, + -1, -1, -1, 93, -1, 451, 452, -1, 454, -1, + -1, 360, -1, 362, 460, -1, -1, -1, -1, -1, + -1, -1, 489, 490, -1, 492, -1, 376, -1, 378, + 379, 380, 499, 500, 501, 502, 503, -1, 505, -1, + -1, 508, 509, 489, 490, 0, 492, -1, -1, -1, + -1, -1, -1, 499, 500, 501, 502, 503, -1, 505, + -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, + -1, 262, -1, -1, -1, 1299, 1300, -1, -1, -1, + 429, 1305, 1306, -1, 1308, 1309, 41, 273, 43, 44, + 45, 277, 1316, 1317, 1318, 1319, -1, 1321, 1322, 1323, + 1324, 1325, 1326, -1, 59, 60, 61, 62, -1, 295, + -1, -1, 298, 305, -1, -1, -1, -1, -1, -1, + 312, -1, -1, -1, 316, 317, -1, 318, -1, -1, + 321, -1, -1, 325, -1, -1, -1, 328, 93, -1, + 331, -1, -1, -1, 335, 337, -1, -1, -1, 340, + -1, -1, 343, 339, -1, -1, -1, -1, -1, 345, + 346, 347, -1, 349, 350, 351, -1, 353, 359, -1, + -1, -1, 262, -1, 264, 265, -1, -1, -1, -1, + -1, -1, 272, -1, -1, -1, -1, 373, -1, 375, + -1, -1, 383, -1, -1, 386, 387, -1, 288, -1, + -1, -1, -1, -1, -1, 396, -1, -1, -1, -1, + 402, -1, 302, -1, -1, -1, -1, 307, 308, -1, + 406, 311, 413, -1, -1, -1, -1, 419, 318, -1, + 320, 321, -1, -1, 324, -1, -1, 423, 328, -1, + -1, 331, 434, 333, 435, 335, 438, 434, -1, 440, + 340, 341, -1, 343, -1, -1, -1, 449, -1, 445, + -1, 452, -1, 454, -1, -1, -1, -1, -1, 359, + 360, -1, 362, 460, -1, -1, 468, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 376, -1, 378, 379, + 380, -1, -1, 383, 480, 481, 386, 387, -1, 0, + -1, -1, 489, 490, -1, 492, 396, 262, -1, 264, + 265, 497, 499, 500, 501, 502, 503, 272, 505, -1, + 410, 508, 509, 413, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 288, -1, -1, -1, -1, -1, 429, + 41, -1, -1, 44, -1, 435, -1, 302, -1, -1, + 440, -1, 307, 308, -1, -1, 311, -1, 59, -1, + 61, 451, 452, 318, 454, 320, 321, -1, -1, 324, + 460, -1, -1, 328, -1, -1, 331, -1, 333, -1, + 335, 260, -1, -1, -1, 340, 341, -1, 343, -1, + 91, -1, -1, -1, -1, -1, -1, -1, -1, 489, + 490, 0, 492, -1, 359, 360, -1, 362, -1, 499, + 500, 501, 502, 503, -1, 505, -1, -1, 508, 509, + -1, 376, 301, 378, 379, 380, -1, -1, 383, -1, + -1, 386, 387, -1, 313, -1, -1, -1, -1, -1, + -1, 396, 41, -1, 43, 44, 45, -1, 327, -1, + 261, -1, -1, -1, -1, 410, -1, -1, 413, 338, + 59, 60, 61, 62, -1, -1, -1, -1, -1, -1, + -1, 282, -1, -1, 429, -1, -1, 328, -1, 290, + 435, -1, -1, -1, -1, 440, 297, -1, 299, -1, + 301, -1, -1, -1, 93, 306, 451, 452, -1, 454, + -1, -1, 313, -1, -1, 460, -1, -1, -1, 443, + -1, -1, -1, -1, -1, -1, 327, -1, 40, -1, + -1, 43, -1, 45, -1, -1, 460, 338, 407, -1, + -1, -1, -1, -1, 489, 490, 58, 492, 417, -1, + -1, 63, -1, -1, 499, 500, 501, 502, 503, -1, + 505, 402, -1, 508, 509, 489, 490, 258, 492, -1, + -1, -1, -1, 442, -1, 499, 500, 501, 502, 503, + -1, 505, -1, 274, 508, 509, 277, 278, -1, 280, + -1, 460, -1, 284, -1, -1, 287, 438, -1, -1, + -1, -1, 443, -1, 405, -1, -1, -1, 449, 300, + -1, 412, -1, -1, 415, 306, 417, 418, 309, 460, + 489, 490, -1, 492, -1, -1, -1, 468, -1, -1, + 499, 500, 501, 502, 503, -1, 505, -1, -1, 508, + 509, 442, -1, -1, -1, -1, -1, -1, 489, 490, + -1, 492, 460, -1, -1, -1, -1, -1, 499, 500, + 501, 502, 503, -1, 505, -1, -1, 508, 509, -1, + -1, -1, -1, 262, -1, 264, 265, -1, -1, -1, + -1, 489, 490, 272, 492, -1, -1, 378, -1, -1, + 491, 499, 500, 501, 502, 503, -1, 505, -1, 288, + 508, 509, -1, -1, -1, 506, 507, -1, -1, 400, + -1, -1, -1, 302, -1, -1, 407, -1, 307, 308, + 411, -1, 311, -1, -1, -1, -1, 418, -1, 318, + -1, 320, 321, -1, -1, 324, -1, -1, -1, 328, + -1, -1, 331, -1, 333, 436, 335, -1, -1, -1, + 441, 340, 341, -1, 343, 267, -1, -1, 40, -1, + -1, 43, -1, 45, 276, -1, -1, -1, -1, -1, + 359, 360, -1, 362, -1, 466, 58, 289, -1, 470, + 292, 63, -1, 295, 296, -1, 460, 376, -1, 378, + 379, 380, -1, -1, 383, -1, -1, 386, 387, -1, + -1, -1, 314, -1, -1, -1, -1, 396, -1, -1, + -1, 323, -1, -1, 326, 489, 490, -1, 492, -1, + -1, 410, -1, -1, 413, 499, 500, 501, 502, 503, + -1, 505, -1, -1, 508, 509, -1, 0, -1, -1, + 429, -1, 354, 355, 460, -1, 435, -1, -1, -1, + -1, 440, -1, -1, 366, -1, -1, -1, 370, -1, + -1, -1, 451, 452, -1, 454, 378, -1, -1, -1, + -1, 460, -1, 489, 490, -1, 492, 40, 41, -1, + -1, 44, -1, 499, 500, 501, 502, 503, -1, 505, + -1, -1, 508, 509, -1, -1, 59, -1, 61, -1, + 489, 490, -1, 492, -1, -1, -1, -1, -1, 421, + 499, 500, 501, 502, 503, 427, 505, -1, -1, 508, + 509, 433, -1, 294, -1, -1, -1, -1, 91, -1, + -1, 443, -1, -1, 305, -1, -1, -1, -1, -1, + -1, 312, -1, -1, -1, 457, 458, 459, 460, 461, + 462, -1, -1, -1, 325, -1, -1, -1, -1, 471, + -1, -1, -1, -1, -1, -1, -1, -1, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + 492, -1, -1, 495, 496, 267, 498, 499, 500, 501, + 502, 503, 504, 505, 276, -1, 508, 509, 510, 511, + 512, -1, -1, -1, -1, 40, -1, 289, 43, -1, + 45, -1, -1, 295, 296, 386, -1, -1, -1, -1, + -1, -1, -1, 58, -1, -1, -1, -1, 63, -1, + -1, 402, 314, -1, -1, -1, -1, -1, -1, -1, + -1, 323, -1, -1, 326, -1, -1, -1, 419, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 373, -1, 375, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 354, 355, -1, - -1, -1, -1, -1, 0, -1, -1, -1, -1, 366, - -1, -1, -1, 370, -1, 406, -1, -1, -1, -1, - 258, 378, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 423, -1, -1, -1, 274, -1, -1, 277, - 278, -1, 280, -1, -1, 41, 284, -1, 44, 287, - -1, -1, -1, -1, 445, -1, -1, -1, -1, -1, - 417, -1, 300, 59, 421, 61, -1, -1, 306, -1, - 427, 309, -1, -1, -1, -1, 433, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 443, -1, -1, 480, - 481, -1, -1, -1, -1, 91, -1, -1, -1, -1, - 457, 458, 459, 460, 461, 462, 497, -1, -1, -1, - -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, - -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, - 378, 498, 499, 500, 501, 502, 503, 504, 505, 0, - 507, 508, 509, 510, 511, 267, -1, -1, -1, -1, - -1, -1, 400, -1, 276, -1, -1, -1, -1, 407, - -1, -1, -1, 411, -1, -1, -1, 289, -1, -1, - 418, -1, -1, 295, 296, -1, -1, -1, -1, -1, - 41, -1, -1, 44, -1, -1, -1, -1, 436, -1, - -1, -1, 314, 441, -1, -1, -1, -1, 59, -1, - 61, 323, -1, -1, 326, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 466, -1, - -1, -1, 470, 40, -1, 42, 43, -1, 45, -1, - 91, -1, 354, 355, -1, -1, -1, -1, -1, -1, - -1, 58, -1, -1, 366, -1, 63, -1, 370, -1, - -1, -1, 258, -1, -1, -1, 378, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 274, -1, - -1, -1, 278, -1, 280, -1, -1, -1, 284, -1, - -1, 287, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 300, -1, -1, -1, -1, 421, - 306, -1, -1, 309, -1, 427, -1, 40, -1, 42, - 43, 433, 45, -1, -1, -1, -1, -1, -1, -1, - -1, 443, -1, -1, -1, 58, -1, -1, -1, -1, - 63, -1, -1, -1, -1, 457, 458, 459, 460, 461, + -1, -1, -1, 434, -1, -1, -1, 438, -1, -1, + 441, -1, 354, 355, -1, -1, -1, -1, 449, -1, + -1, 0, -1, -1, 366, -1, -1, -1, 370, -1, + -1, -1, -1, -1, -1, 258, 378, 468, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 274, -1, -1, 277, 278, -1, 280, -1, -1, + -1, 284, 41, -1, 287, 44, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 417, -1, 300, -1, 421, + 59, -1, 61, 306, -1, 427, 309, -1, -1, -1, + -1, 433, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 443, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 91, -1, -1, 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, - 492, -1, 378, 495, 496, -1, 498, 499, 500, 501, - 502, 503, 504, 505, -1, 507, 508, 509, 510, 511, - -1, -1, -1, -1, 400, -1, -1, 258, -1, -1, - -1, 407, -1, -1, -1, 411, -1, -1, -1, -1, - -1, -1, 418, 274, -1, -1, -1, 278, -1, 280, - -1, -1, -1, 284, -1, -1, 287, -1, -1, -1, - 436, -1, -1, -1, -1, 441, -1, -1, -1, 300, - -1, -1, -1, 260, -1, 306, -1, -1, 309, -1, - 267, -1, -1, -1, -1, -1, -1, -1, -1, 276, + 492, -1, -1, 495, 496, 378, 498, 499, 500, 501, + 502, 503, 504, 505, 0, -1, 508, 509, 510, 511, + 512, -1, 267, -1, -1, -1, 0, 400, -1, -1, + -1, 276, -1, -1, 407, -1, -1, -1, 411, -1, + -1, -1, -1, -1, 289, 418, -1, -1, -1, -1, + 295, 296, -1, -1, -1, 41, 354, -1, 44, -1, + -1, -1, -1, 436, -1, -1, -1, 41, 441, 314, + 44, -1, -1, 59, -1, 61, -1, -1, 323, -1, + -1, 326, -1, -1, -1, 59, -1, 61, -1, -1, + -1, -1, -1, 466, -1, -1, -1, 470, -1, -1, + -1, -1, -1, -1, -1, 91, -1, -1, -1, 354, + 355, -1, -1, -1, -1, -1, -1, 91, -1, -1, + -1, 366, -1, -1, -1, 370, -1, -1, -1, 258, + -1, -1, -1, 378, 40, -1, 42, 43, -1, 45, + -1, -1, -1, -1, -1, 274, -1, -1, -1, 278, + -1, 280, 58, -1, -1, 284, -1, 63, 287, -1, + 458, -1, 460, -1, -1, -1, -1, -1, -1, -1, + -1, 300, -1, 471, -1, -1, 421, 306, -1, -1, + 309, -1, 427, -1, -1, -1, -1, -1, 433, -1, + -1, 489, 490, -1, 492, -1, -1, -1, 443, -1, + 498, 499, 500, 501, 502, 503, -1, 505, -1, -1, + 508, 509, 457, 458, 459, 460, 461, 462, -1, -1, + -1, -1, -1, -1, -1, -1, 471, -1, -1, -1, + -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, -1, 492, -1, 378, + 495, 496, -1, 498, 499, 500, 501, 502, 503, 504, + 505, -1, -1, 508, 509, 510, 511, 512, -1, -1, + -1, 400, 258, -1, -1, -1, -1, 260, 407, -1, + -1, -1, 411, -1, 258, -1, -1, -1, 274, 418, + -1, -1, 278, -1, 280, -1, -1, -1, 284, -1, + 274, 287, -1, -1, 278, -1, 280, 436, -1, -1, + 284, -1, 441, 287, 300, -1, -1, -1, 301, -1, + 306, -1, -1, 309, -1, -1, 300, -1, -1, -1, + 313, -1, 306, -1, -1, 309, -1, 466, -1, -1, + -1, 470, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 260, 338, -1, -1, -1, -1, + -1, 267, -1, -1, -1, -1, -1, -1, -1, -1, + 276, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 289, -1, -1, -1, -1, -1, 295, + 296, -1, 378, 40, -1, 42, 43, 303, 45, -1, + -1, -1, -1, -1, 378, -1, -1, -1, -1, -1, + -1, 58, -1, -1, 400, -1, 63, 323, -1, -1, + 326, 407, -1, -1, 407, 411, 400, -1, -1, -1, + -1, -1, 418, 407, 417, -1, -1, 411, -1, -1, + -1, -1, -1, -1, 418, -1, 352, -1, 354, 355, + 436, -1, -1, -1, -1, 441, -1, -1, -1, 442, + 366, -1, 436, -1, 370, -1, -1, 441, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 460, -1, -1, 466, -1, -1, -1, 470, -1, -1, -1, -1, -1, - -1, 0, 289, -1, -1, -1, -1, -1, 295, 296, + 40, -1, 466, 43, -1, 45, 470, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 489, 490, 58, 492, + -1, -1, -1, 63, -1, -1, 499, 500, 501, 502, + 503, 427, 505, -1, -1, 508, 509, 433, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 443, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 457, 458, 459, 460, 461, 462, -1, -1, -1, + -1, -1, -1, -1, -1, 471, -1, -1, -1, -1, + -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, + 496, -1, 498, 499, 500, 501, 502, 503, 504, 505, + -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 260, -1, -1, -1, -1, -1, -1, + 267, -1, -1, -1, -1, -1, -1, -1, -1, 276, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 289, -1, -1, -1, -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, 303, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 323, -1, -1, 326, - -1, -1, 41, -1, -1, 44, -1, 378, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 260, -1, -1, - 59, -1, -1, -1, 267, 352, -1, 354, 355, 400, - -1, -1, -1, 276, -1, -1, 407, -1, -1, 366, - 411, -1, -1, 370, -1, -1, 289, 418, -1, -1, - -1, 40, 295, 296, 43, -1, 45, -1, -1, -1, - 303, -1, -1, -1, -1, 436, -1, -1, -1, 58, - 441, -1, -1, -1, 63, -1, -1, -1, -1, -1, - 323, -1, -1, 326, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 466, -1, -1, -1, 470, - 427, -1, -1, -1, -1, -1, 433, -1, -1, 352, - -1, 354, 355, -1, -1, -1, 443, -1, -1, -1, - -1, -1, -1, 366, -1, -1, -1, 370, -1, -1, - 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, - -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 352, -1, 354, 355, -1, + 260, -1, -1, 263, -1, -1, -1, 267, -1, 366, + -1, -1, -1, 370, -1, -1, 276, -1, -1, -1, + -1, -1, -1, -1, -1, 41, -1, 40, 44, 289, + 43, -1, 45, -1, -1, 295, 296, -1, -1, -1, + -1, -1, -1, 59, -1, 58, -1, -1, -1, -1, + 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 323, -1, -1, 326, -1, -1, -1, + 427, -1, -1, -1, -1, -1, 433, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 443, -1, -1, -1, + -1, -1, -1, -1, 354, 355, -1, -1, -1, -1, + 457, 458, 459, 460, 461, 462, 366, -1, -1, -1, + 370, -1, -1, -1, 471, -1, -1, -1, -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, -1, 498, 499, 500, 501, 502, 503, 504, 505, -1, - 507, 508, -1, -1, 427, -1, -1, -1, -1, -1, - 433, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 508, 509, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 425, -1, 427, -1, -1, + -1, -1, -1, 433, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 443, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 457, 458, 459, + 460, 461, 462, -1, -1, -1, -1, -1, -1, -1, + -1, 471, -1, -1, -1, -1, -1, -1, -1, -1, + 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, + 490, -1, 492, -1, -1, 495, 496, -1, 498, 499, + 500, 501, 502, 503, 504, 505, 262, 260, 508, 509, + 263, -1, -1, -1, 267, -1, 273, -1, -1, -1, + 277, -1, -1, 276, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 40, -1, 289, 43, 295, 45, + -1, 298, 295, 296, -1, -1, -1, -1, -1, -1, + -1, -1, 58, -1, -1, -1, -1, 63, -1, -1, + -1, -1, 318, -1, -1, 321, -1, -1, -1, -1, + 323, -1, 328, 326, -1, 331, -1, -1, -1, 335, + -1, -1, 339, -1, 340, -1, -1, 343, 345, 346, + 347, -1, 349, 350, 351, -1, 353, -1, -1, -1, + -1, 354, 355, 359, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 366, -1, -1, 373, 370, 375, 40, + -1, -1, 43, -1, 45, -1, -1, 383, -1, -1, + 386, 387, -1, -1, -1, -1, -1, 58, -1, -1, + 396, -1, 63, -1, -1, -1, -1, -1, -1, 406, + -1, -1, -1, -1, -1, -1, -1, 413, -1, -1, + -1, -1, -1, -1, -1, -1, 423, -1, -1, -1, + -1, -1, 425, -1, 427, -1, -1, -1, -1, 435, + 433, -1, -1, -1, 440, -1, -1, -1, 445, -1, + 443, -1, -1, -1, -1, -1, 452, -1, 454, -1, -1, -1, -1, -1, 457, 458, 459, 460, 461, 462, - -1, -1, -1, 262, -1, -1, -1, -1, 471, -1, - -1, -1, -1, -1, -1, -1, -1, 480, 481, 482, + -1, -1, -1, -1, -1, -1, -1, -1, 471, -1, + -1, -1, -1, 480, 481, -1, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, - -1, -1, 495, 496, -1, 498, 499, 500, 501, 502, - 503, 504, 505, -1, 507, 508, -1, -1, -1, -1, - -1, 260, -1, -1, 263, -1, -1, -1, 267, 318, - -1, -1, 321, -1, -1, -1, -1, 276, -1, 328, - -1, -1, 331, -1, -1, -1, 335, -1, -1, -1, - 289, 340, -1, -1, 343, 40, 295, 296, 43, -1, - 45, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 359, -1, -1, 58, -1, -1, -1, -1, 63, -1, - -1, -1, -1, -1, 323, -1, -1, 326, -1, -1, - -1, -1, -1, -1, 383, -1, 0, 386, 387, -1, - -1, -1, -1, -1, -1, -1, -1, 396, -1, -1, - -1, -1, -1, -1, -1, 354, 355, -1, -1, -1, - -1, -1, -1, -1, 413, -1, -1, 366, -1, -1, - -1, 370, -1, -1, -1, -1, -1, 41, -1, 40, - 44, -1, 43, -1, 45, -1, 435, -1, -1, -1, - -1, 440, -1, -1, -1, 59, -1, 58, -1, -1, - -1, -1, 63, 452, -1, 454, -1, -1, -1, -1, + 497, -1, 495, 496, -1, 498, 499, 500, 501, 502, + 503, 504, 505, -1, 260, 508, 509, 263, -1, -1, + -1, 267, -1, -1, -1, -1, -1, -1, -1, -1, + 276, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 289, -1, -1, 460, -1, -1, 295, + 296, -1, -1, -1, -1, 469, 470, 471, 472, 473, + 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, + 484, -1, -1, 487, 488, 489, 490, 323, 492, -1, + 326, 495, 496, -1, -1, 499, 500, 501, 502, 503, + 504, 505, 506, -1, 508, 509, 510, 511, 512, 260, + -1, -1, 263, -1, -1, -1, 267, -1, 354, 355, + -1, -1, -1, -1, -1, 276, -1, -1, -1, -1, + 366, -1, -1, -1, 370, -1, 40, -1, 289, 43, + -1, 45, -1, -1, 295, 296, -1, -1, -1, -1, + -1, -1, -1, -1, 58, -1, -1, -1, -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 425, -1, 427, -1, - -1, -1, -1, -1, 433, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 443, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 457, 458, - 459, 460, 461, 462, -1, -1, -1, -1, -1, -1, - -1, -1, 471, -1, -1, -1, -1, -1, -1, -1, - -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, -1, 492, 273, -1, 495, 496, 277, 498, - 499, 500, 501, 502, 503, 504, 505, -1, 507, 508, - -1, -1, 291, -1, -1, 260, 295, -1, 263, 298, - -1, -1, 267, -1, -1, -1, -1, -1, -1, -1, - -1, 276, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 289, -1, -1, -1, -1, -1, - 295, 296, -1, -1, -1, -1, -1, -1, -1, -1, - 339, -1, -1, -1, -1, -1, 345, 346, 347, -1, - 349, 350, 351, -1, 353, -1, -1, -1, 323, -1, - -1, 326, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 373, -1, 375, -1, 262, 260, - -1, -1, 263, -1, -1, -1, 267, -1, -1, 354, - 355, -1, -1, -1, -1, 276, -1, -1, -1, -1, - -1, 366, -1, -1, -1, 370, -1, 406, 289, -1, - -1, -1, -1, 40, 295, 296, 43, -1, 45, -1, - -1, -1, -1, -1, 423, -1, -1, -1, -1, -1, - -1, 58, -1, -1, 318, -1, 63, 321, -1, -1, - -1, -1, 323, -1, 328, 326, 445, 331, -1, -1, - -1, 335, -1, -1, -1, -1, 340, -1, -1, 343, - 425, -1, 427, -1, -1, -1, -1, -1, 433, -1, - -1, -1, -1, 354, 355, 359, -1, -1, 443, -1, - -1, 480, 481, -1, -1, 366, -1, -1, -1, 370, - -1, -1, 457, 458, 459, 460, 461, 462, 497, 383, - -1, -1, 386, 387, -1, -1, 471, -1, -1, -1, - -1, -1, 396, -1, -1, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, -1, 492, -1, 413, - 495, 496, -1, 498, 499, 500, 501, 502, 503, 504, - 505, -1, 507, 508, 425, -1, 427, -1, -1, -1, - -1, 435, 433, -1, -1, -1, 440, -1, -1, -1, - -1, -1, 443, -1, -1, -1, -1, -1, 452, -1, - 454, -1, -1, -1, -1, -1, 457, 458, 459, 460, + -1, -1, 323, -1, -1, 326, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 425, + -1, 427, -1, -1, -1, -1, -1, 433, -1, -1, + -1, -1, -1, 354, 355, -1, -1, 443, -1, -1, + -1, -1, -1, -1, -1, 366, -1, -1, -1, 370, + -1, 457, 458, 459, 460, 461, 462, -1, -1, -1, + -1, -1, -1, -1, -1, 471, -1, -1, -1, -1, + -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, + 496, -1, 498, 499, 500, 501, 502, 503, 504, 505, + -1, -1, 508, 509, 425, -1, 427, -1, -1, -1, + -1, -1, 433, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 443, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, -1, 498, 499, 500, - 501, 502, 503, 504, 505, -1, 507, 508, -1, -1, - -1, -1, -1, 260, -1, -1, 263, -1, -1, -1, - 267, -1, -1, -1, -1, -1, -1, -1, -1, 276, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 289, -1, -1, -1, -1, 40, 295, 296, - 43, -1, 45, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 58, -1, -1, -1, -1, - 63, -1, -1, -1, -1, -1, 323, -1, -1, 326, - -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 354, 355, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 366, - -1, -1, -1, 370, -1, -1, -1, -1, -1, 41, - -1, 40, 44, -1, 43, -1, 45, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 59, -1, 58, - -1, -1, -1, -1, 63, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 425, -1, - 427, -1, -1, -1, -1, -1, 433, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 443, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, - -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, - -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, -1, 492, 273, -1, 495, 496, - 277, 498, 499, 500, 501, 502, 503, 504, 505, -1, - 507, 508, -1, -1, 291, -1, -1, 260, 295, -1, - 263, 298, -1, -1, 267, -1, -1, -1, -1, -1, - -1, -1, -1, 276, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 289, -1, -1, -1, - -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, - -1, -1, 339, -1, -1, -1, -1, -1, 345, 346, - 347, -1, 349, 350, 351, -1, 353, -1, -1, -1, - 323, -1, -1, 326, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 373, -1, 375, -1, - 262, 260, -1, -1, 263, -1, -1, -1, 267, -1, - -1, 354, 355, -1, -1, -1, -1, 276, -1, -1, - -1, -1, -1, 366, -1, -1, -1, 370, -1, 406, - 289, -1, -1, -1, -1, 40, 295, 296, 43, -1, - 45, -1, -1, -1, -1, -1, 423, -1, -1, -1, - -1, -1, -1, 58, -1, -1, 318, -1, 63, 321, - -1, -1, -1, -1, 323, -1, 328, 326, 445, 331, - -1, -1, -1, 335, -1, -1, -1, -1, 340, -1, - -1, 343, 425, -1, 427, -1, -1, -1, -1, -1, - 433, -1, -1, -1, -1, 354, 355, 359, -1, -1, - 443, -1, -1, 480, 481, -1, -1, 366, -1, -1, - -1, 370, -1, -1, 457, 458, 459, 460, 461, 462, - 497, 383, -1, -1, 386, 387, -1, -1, 471, -1, - -1, -1, -1, -1, 396, -1, -1, 480, 481, 482, - 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, - -1, 413, 495, 496, -1, 498, 499, 500, 501, 502, - 503, 504, 505, -1, 507, 508, 425, -1, 427, -1, - -1, -1, -1, 435, 433, -1, -1, -1, 440, -1, - -1, -1, -1, -1, 443, -1, -1, -1, -1, -1, - 452, -1, 454, -1, -1, -1, -1, -1, 457, 458, - 459, 460, 461, 462, -1, -1, -1, -1, -1, -1, - -1, -1, 471, -1, -1, -1, -1, -1, -1, -1, - -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, -1, 492, -1, -1, 495, 496, -1, 498, - 499, 500, 501, 502, 503, 504, 505, -1, 507, 508, - -1, -1, -1, -1, -1, 260, -1, -1, 263, -1, - -1, -1, 267, -1, -1, 0, -1, -1, -1, -1, - -1, 276, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 289, -1, -1, -1, -1, 40, - 295, 296, 43, -1, 45, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 41, 58, -1, 44, - -1, -1, 63, -1, -1, -1, -1, -1, 323, -1, - -1, 326, -1, -1, 59, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 354, - 355, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 366, -1, -1, -1, 370, -1, -1, -1, -1, - -1, 40, -1, 42, 43, -1, 45, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, - -1, -1, -1, -1, 63, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 425, -1, 427, -1, -1, -1, -1, -1, 433, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 443, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 457, 458, 459, 460, 461, 462, -1, -1, - -1, -1, -1, -1, -1, -1, 471, -1, -1, -1, - -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, - 485, 486, 487, 488, 489, 490, -1, 492, -1, -1, - 495, 496, -1, 498, 499, 500, 501, 502, 503, 504, - 505, -1, 507, 508, -1, -1, -1, -1, -1, 260, - -1, -1, 263, -1, -1, -1, 267, -1, -1, -1, - -1, -1, -1, -1, -1, 276, -1, 262, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 289, -1, - -1, -1, -1, -1, 295, 296, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 323, -1, -1, 326, -1, -1, -1, -1, - -1, -1, -1, 318, -1, -1, 321, -1, -1, -1, - -1, -1, -1, 328, -1, -1, 331, -1, 267, -1, - 335, -1, -1, 354, 355, 340, -1, 276, 343, -1, - -1, -1, -1, 40, -1, 366, 43, -1, 45, 370, - 289, -1, -1, -1, 359, -1, 295, 296, -1, -1, + 501, 502, 503, 504, 505, -1, 260, 508, 509, 263, + -1, -1, -1, 267, -1, -1, -1, -1, -1, -1, + -1, -1, 276, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 40, -1, 289, 43, -1, 45, -1, + -1, 295, 296, -1, -1, -1, -1, -1, -1, -1, -1, 58, -1, -1, -1, -1, 63, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 383, -1, - -1, 386, 387, -1, 323, -1, -1, 326, -1, -1, - -1, 396, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 425, -1, 427, -1, 413, -1, - -1, -1, 433, 352, -1, 354, 355, -1, -1, -1, - -1, -1, 443, -1, -1, -1, -1, 366, -1, -1, - 435, 370, -1, -1, -1, 440, 457, 458, 459, 460, - 461, 462, -1, -1, -1, -1, -1, 452, -1, 454, - 471, -1, -1, -1, -1, -1, -1, -1, -1, 480, - 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, - -1, 492, -1, -1, 495, 496, -1, 498, 499, 500, - 501, 502, 503, 504, 505, -1, 507, 508, 427, -1, - -1, -1, -1, -1, 433, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 443, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 457, 458, - 459, 460, 461, 462, -1, -1, -1, -1, -1, -1, - -1, -1, 471, -1, -1, -1, -1, -1, -1, -1, - -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, - 489, 490, -1, 492, -1, -1, 495, 496, -1, 498, - 499, 500, 501, 502, 503, 504, 505, -1, 507, 508, - 267, -1, -1, 40, -1, 42, 43, -1, 45, 276, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 58, 289, -1, -1, 460, 63, -1, 295, 296, - -1, -1, -1, -1, 469, 470, 471, 472, 473, 474, - 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, - -1, -1, 487, 488, 489, 490, 323, 492, -1, 326, - 495, 496, -1, -1, 499, 500, 501, 502, 503, 504, - 505, 506, 507, 508, 509, 510, 511, -1, -1, -1, - -1, -1, -1, -1, -1, 352, 40, 354, 355, 43, - -1, 45, -1, -1, -1, -1, -1, -1, -1, 366, - -1, -1, -1, 370, 58, -1, -1, -1, -1, 63, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 417, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 427, -1, -1, -1, -1, -1, 433, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 443, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, - -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, - -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, - 267, 498, 499, 500, 501, 502, 503, 504, 505, 276, - 507, 508, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 289, -1, -1, -1, -1, -1, 295, 296, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 323, -1, -1, 326, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 260, -1, -1, -1, - -1, -1, -1, 267, -1, 352, 40, 354, 355, 43, - -1, 45, 276, -1, -1, -1, -1, -1, -1, 366, - -1, -1, -1, 370, 58, 289, -1, -1, -1, 63, - -1, 295, 296, -1, -1, -1, -1, -1, -1, 303, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 323, -1, -1, 326, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 427, -1, -1, -1, -1, -1, 433, -1, -1, -1, - 354, 355, -1, -1, -1, -1, 443, -1, -1, -1, - -1, -1, 366, -1, 40, -1, 370, 43, -1, 45, - 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, - -1, -1, 58, -1, 471, -1, -1, 63, -1, -1, - -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, 271, 492, -1, -1, 495, 496, - -1, 498, 499, 500, 501, 502, 503, 504, 505, -1, - 507, 508, -1, 427, -1, -1, -1, -1, -1, 433, - -1, -1, -1, -1, 301, -1, -1, -1, -1, 443, - -1, 308, -1, -1, -1, 312, 313, -1, 315, -1, - -1, 318, -1, 457, 458, 459, 460, 461, 462, -1, - -1, -1, -1, -1, -1, 332, -1, 471, -1, -1, - -1, 338, -1, -1, -1, -1, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, -1, 492, -1, - -1, 495, 496, 267, 498, 499, 500, 501, 502, 503, - 504, 505, 276, 507, 508, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 289, -1, -1, -1, -1, - -1, 295, 296, -1, -1, -1, -1, -1, -1, -1, - -1, 398, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 0, -1, -1, -1, -1, 323, - 417, -1, 326, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 432, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 442, -1, -1, -1, -1, - 354, 355, -1, -1, 451, 41, 453, -1, 44, -1, - -1, 267, 366, 460, 40, -1, 370, 43, -1, 45, - 276, -1, -1, 59, -1, -1, -1, -1, -1, -1, - -1, -1, 58, 289, -1, -1, -1, 63, -1, 295, - 296, -1, 489, 490, -1, 492, -1, -1, -1, -1, - -1, -1, 499, 500, 501, 502, 503, -1, 505, -1, - 507, 508, -1, -1, -1, -1, -1, 323, -1, -1, - 326, -1, -1, 427, -1, -1, -1, -1, -1, 433, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 354, 355, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 366, -1, -1, -1, 370, -1, 40, -1, + -1, 43, -1, 45, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 58, -1, -1, -1, + -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 425, -1, 427, -1, -1, -1, -1, -1, 433, -1, -1, -1, -1, -1, -1, -1, -1, -1, 443, - -1, -1, -1, -1, -1, -1, -1, 451, 354, 355, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 457, 458, 459, 460, 461, 462, -1, - 366, -1, -1, -1, 370, -1, -1, 471, -1, -1, - -1, -1, -1, -1, -1, -1, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, -1, 492, -1, - -1, 495, 496, -1, 498, 499, 500, 501, 502, 503, - 504, 505, -1, 507, 508, -1, -1, -1, -1, -1, - -1, 417, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 427, -1, -1, -1, -1, -1, 433, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 443, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 457, 458, 459, 460, 461, 462, -1, -1, -1, - -1, -1, -1, -1, -1, 471, -1, -1, -1, -1, - -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, - 496, 267, 498, 499, 500, 501, 502, 503, 504, 505, - 276, 507, 508, 40, 41, -1, 43, -1, 45, -1, - -1, -1, -1, 289, -1, -1, -1, -1, -1, 295, - 296, 58, -1, -1, -1, -1, 63, -1, -1, -1, - -1, -1, 318, -1, -1, 321, -1, -1, -1, -1, - -1, -1, 328, 0, -1, 331, -1, 323, -1, 335, - 326, -1, -1, -1, 340, -1, -1, 343, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 359, -1, -1, 352, -1, 354, 355, - -1, -1, -1, -1, 41, -1, 40, 44, -1, 43, - 366, 45, -1, -1, 370, -1, -1, 383, -1, -1, - 386, 387, 59, -1, 58, -1, -1, -1, -1, 63, - 396, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 413, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 435, - -1, 427, -1, -1, 440, -1, -1, 433, -1, -1, - -1, -1, -1, -1, -1, -1, 452, 443, 454, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 457, 458, 459, 460, 461, 462, -1, -1, -1, - -1, -1, -1, -1, -1, 471, -1, -1, -1, -1, - -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, - 496, -1, 498, 499, 500, 501, 502, 503, 504, 505, - 267, 507, 508, -1, -1, -1, -1, -1, -1, 276, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 289, -1, -1, -1, -1, -1, 295, 296, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 323, -1, -1, 326, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 262, -1, -1, -1, -1, - -1, -1, -1, 267, -1, -1, 40, 354, 355, 43, - -1, 45, 276, -1, -1, -1, -1, -1, -1, 366, - -1, -1, -1, 370, 58, 289, -1, -1, -1, 63, - -1, 295, 296, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 318, -1, -1, 321, -1, -1, -1, -1, 323, - -1, 328, 326, -1, 331, -1, -1, -1, 335, -1, - -1, -1, -1, 340, -1, -1, 343, -1, -1, -1, - 427, -1, -1, -1, -1, -1, 433, -1, -1, -1, - 354, 355, 359, -1, -1, -1, 443, -1, -1, -1, - -1, -1, 366, -1, 40, -1, 370, 43, -1, 45, - 457, 458, 459, 460, 461, 462, 383, -1, -1, 386, - 387, -1, 58, -1, 471, -1, -1, 63, -1, 396, - -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, -1, 492, 413, -1, 495, 496, - -1, 498, 499, 500, 501, 502, 503, 504, 505, -1, - 507, 508, -1, 427, -1, -1, -1, -1, 435, 433, - -1, -1, -1, 440, -1, -1, -1, -1, -1, 443, - -1, -1, -1, -1, -1, 452, -1, 454, -1, -1, - 454, -1, -1, 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, -1, -1, -1, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, -1, 492, -1, - -1, 495, 496, 267, 498, 499, 500, 501, 502, 503, - 504, 505, 276, 507, 508, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 289, -1, -1, 460, -1, - -1, 295, 296, -1, -1, -1, -1, -1, 470, 471, - 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, - 482, 483, 484, -1, -1, 487, 488, 489, 490, 323, - 492, -1, 326, 495, 496, -1, -1, 499, 500, 501, - 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 354, 355, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 267, 366, -1, -1, -1, 370, -1, -1, -1, - 276, -1, -1, 40, -1, -1, 43, -1, 45, -1, - -1, -1, -1, 289, -1, -1, -1, -1, -1, 295, - 296, 58, 59, -1, -1, -1, 63, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 417, -1, -1, -1, 323, -1, -1, - 326, -1, -1, 427, -1, 42, 43, -1, 45, 433, - 47, -1, -1, -1, -1, -1, -1, -1, -1, 443, - -1, -1, -1, 60, 61, 62, -1, -1, 354, 355, - -1, -1, -1, 457, 458, 459, 460, 461, 462, -1, - 366, -1, -1, -1, 370, -1, -1, 471, -1, -1, - -1, -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, -1, 498, 499, 500, 501, 502, 503, - 504, 505, -1, 507, 508, -1, -1, -1, -1, -1, + 504, 505, -1, 260, 508, 509, 263, -1, -1, -1, + 267, -1, -1, -1, -1, -1, -1, -1, -1, 276, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 427, -1, -1, -1, -1, -1, 433, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 443, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 454, -1, - -1, 457, 458, 459, 460, 461, 462, -1, -1, -1, - -1, -1, -1, -1, -1, 471, -1, -1, -1, -1, - -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, - 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, - 496, -1, 498, 499, 500, 501, 502, 503, 504, 505, - 267, 507, 508, 40, -1, -1, 43, -1, 45, 276, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 58, 289, -1, -1, -1, 63, -1, 295, 296, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 272, 323, -1, -1, 326, - -1, -1, -1, 280, -1, -1, -1, -1, 285, -1, - -1, 288, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 40, 354, 355, 43, - -1, 45, -1, -1, -1, -1, -1, -1, -1, 366, - -1, -1, -1, 370, 58, -1, -1, 324, -1, 63, - -1, -1, -1, -1, -1, -1, 333, -1, -1, -1, - -1, -1, -1, -1, 341, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 360, -1, 362, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 376, - 427, 378, 379, 380, -1, -1, 433, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 443, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, - -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, - -1, -1, 429, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, - 267, 498, 499, 500, 501, 502, 503, 504, 505, 276, - 507, 508, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 289, -1, -1, -1, -1, -1, 295, 296, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 323, -1, -1, 326, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 41, -1, -1, 44, -1, -1, -1, -1, - -1, -1, -1, 267, -1, 352, 40, 354, 355, 43, - 59, 45, 276, -1, -1, -1, -1, -1, -1, 366, - -1, -1, -1, 370, 58, 289, -1, -1, -1, 63, - -1, 295, 296, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 323, - -1, -1, 326, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 41, -1, -1, 44, -1, -1, 260, -1, + -1, 263, -1, -1, -1, 267, -1, 354, 355, -1, + 59, -1, -1, -1, 276, -1, -1, -1, -1, 366, + -1, -1, -1, 370, -1, 40, -1, 289, 43, -1, + 45, -1, -1, 295, 296, -1, -1, -1, -1, -1, + -1, -1, -1, 58, -1, -1, -1, -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 323, -1, -1, 326, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 425, -1, 427, -1, -1, -1, -1, -1, 433, -1, -1, -1, - 354, 355, -1, -1, -1, -1, 443, -1, -1, -1, - -1, -1, 366, -1, -1, -1, 370, -1, -1, -1, + -1, -1, 354, 355, -1, -1, 443, -1, -1, -1, + -1, -1, -1, -1, 366, -1, -1, -1, 370, -1, 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, - 487, 488, 489, 490, 271, 492, -1, -1, 495, 496, + 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, -1, 498, 499, 500, 501, 502, 503, 504, 505, -1, - 507, 508, -1, 427, -1, -1, -1, -1, 0, 433, - -1, -1, -1, -1, 301, -1, -1, -1, -1, 443, - -1, -1, -1, -1, -1, 312, 313, -1, 315, -1, - -1, 318, -1, 457, 458, 459, 460, 461, 462, -1, - -1, -1, -1, -1, -1, 332, -1, 471, -1, 41, - -1, 338, 44, 262, -1, -1, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, 59, 492, -1, - -1, 495, 496, 267, 498, 499, 500, 501, 502, 503, - 504, 505, 276, 507, 508, -1, -1, -1, -1, -1, - -1, -1, 0, -1, -1, 289, -1, -1, 0, -1, - -1, 295, 296, -1, -1, -1, -1, -1, -1, 318, - -1, 398, 321, -1, -1, -1, -1, -1, -1, 328, - -1, 0, 331, -1, -1, -1, 335, -1, -1, 323, - 417, 340, 326, 41, 343, -1, 44, -1, -1, 41, - -1, -1, 44, -1, -1, 432, -1, -1, -1, -1, - 359, 59, -1, -1, -1, 442, -1, 59, -1, -1, - 354, 355, 41, -1, 451, 44, 453, -1, -1, -1, - -1, -1, 366, 460, 383, -1, 370, 386, 387, -1, - 59, -1, -1, -1, -1, -1, -1, 396, -1, -1, + -1, 508, 509, 425, -1, 427, -1, -1, -1, -1, + -1, 433, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 443, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 0, -1, -1, -1, 457, 458, 459, 460, 461, + 462, -1, -1, -1, -1, -1, -1, -1, -1, 471, + -1, -1, -1, 262, -1, -1, -1, -1, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + 492, -1, 41, 495, 496, 44, 498, 499, 500, 501, + 502, 503, 504, 505, -1, 260, 508, 509, 263, -1, + 59, -1, 267, -1, -1, 40, -1, 42, 43, -1, + 45, 276, -1, -1, -1, -1, -1, -1, -1, 318, + -1, -1, 321, 58, 289, -1, -1, -1, 63, 328, + 295, 296, 331, -1, -1, -1, 335, -1, -1, -1, + -1, 340, -1, -1, 343, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 323, -1, + 359, 326, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 489, 490, 413, 492, -1, -1, -1, -1, - -1, -1, 499, 500, 501, 502, 503, -1, 505, -1, - 507, 508, -1, -1, -1, -1, 435, -1, -1, -1, - -1, 440, -1, 427, -1, -1, -1, -1, -1, 433, - -1, 0, -1, 452, -1, 454, -1, -1, -1, 443, + -1, -1, -1, -1, 383, -1, -1, 386, 387, 354, + 355, -1, -1, -1, -1, -1, -1, 396, -1, -1, + -1, 366, -1, 40, -1, 370, 43, -1, 45, -1, + -1, -1, -1, -1, 413, -1, -1, -1, -1, -1, + -1, 58, -1, -1, -1, -1, 63, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 435, -1, -1, -1, + -1, 440, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 452, -1, 454, -1, -1, -1, -1, + 425, -1, 427, -1, -1, -1, -1, -1, 433, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 457, 458, 459, 460, 461, 462, -1, - 262, -1, -1, -1, 0, -1, -1, 471, -1, -1, - -1, -1, 41, -1, -1, 44, 480, 481, 482, 483, - 484, 485, 486, 487, 488, 489, 490, -1, 492, -1, - 59, 495, 496, -1, 498, 499, 500, 501, 502, 503, - 504, 505, -1, 507, 508, 41, -1, -1, 44, -1, - -1, -1, -1, -1, -1, -1, 318, -1, -1, 321, - -1, -1, -1, 59, -1, -1, 328, 0, -1, 331, - -1, -1, -1, 335, -1, -1, -1, -1, 340, -1, - -1, 343, -1, -1, 262, -1, -1, -1, -1, -1, - 262, -1, -1, -1, -1, -1, -1, 359, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 41, -1, - -1, 44, -1, 262, -1, -1, -1, 0, -1, -1, - -1, 383, -1, -1, 386, 387, 59, -1, -1, -1, - -1, -1, -1, -1, 396, -1, -1, -1, -1, -1, - 318, -1, -1, 321, -1, -1, 318, -1, -1, 321, - 328, 413, -1, 331, -1, -1, 328, 335, 41, 331, - -1, 44, 340, 335, -1, 343, -1, -1, 340, 318, - -1, 343, 321, 435, -1, -1, 59, -1, 440, 328, - -1, 359, 331, -1, -1, -1, 335, 359, -1, -1, - 452, 340, 454, -1, 343, -1, -1, -1, -1, -1, + -1, -1, 457, 458, 459, 460, 461, 462, -1, -1, + -1, -1, -1, 262, -1, -1, 471, -1, -1, -1, + -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, -1, 492, -1, -1, + 495, 496, 267, 498, 499, 500, 501, 502, 503, 504, + 505, 276, -1, 508, 509, -1, -1, -1, -1, -1, + -1, -1, 0, -1, 289, -1, -1, -1, -1, 318, + 295, 296, 321, -1, -1, -1, -1, -1, -1, 328, + -1, -1, 331, -1, -1, -1, 335, -1, -1, -1, + -1, 340, -1, -1, 343, -1, -1, -1, 323, -1, + -1, 326, -1, 41, -1, -1, 44, -1, -1, -1, + 359, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 59, -1, -1, -1, -1, -1, 352, -1, 354, + 355, -1, -1, -1, 383, -1, -1, 386, 387, -1, + 267, 366, -1, -1, -1, 370, -1, 396, -1, 276, + -1, -1, 40, -1, 42, 43, -1, 45, -1, -1, + -1, -1, 289, -1, 413, -1, -1, -1, 295, 296, + 58, -1, -1, -1, -1, 63, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 435, -1, -1, -1, + -1, 440, -1, -1, -1, -1, 323, -1, -1, 326, + -1, -1, 427, 452, -1, 454, -1, -1, 433, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 443, -1, + -1, -1, -1, -1, -1, 352, -1, 354, 355, -1, + -1, -1, 457, 458, 459, 460, 461, 462, -1, 366, + -1, -1, -1, 370, -1, -1, 471, -1, -1, -1, + -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, -1, 492, -1, -1, + 495, 496, -1, 498, 499, 500, 501, 502, 503, 504, + 505, -1, -1, 508, 509, -1, -1, -1, -1, -1, + 417, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 427, -1, -1, -1, 40, -1, 433, 43, -1, 45, + -1, -1, -1, -1, -1, -1, 443, -1, -1, -1, + -1, -1, 58, -1, 262, -1, -1, 63, -1, -1, + 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, + -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, + -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, + -1, 498, 499, 500, 501, 502, 503, 504, 505, 267, + 318, 508, 509, 321, -1, -1, -1, -1, 276, -1, + 328, -1, -1, 331, -1, -1, -1, 335, -1, -1, + -1, 289, 340, -1, -1, 343, -1, 295, 296, -1, + -1, -1, -1, 40, -1, -1, 43, -1, 45, -1, + -1, 359, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 58, -1, -1, -1, 323, 63, -1, 326, -1, -1, -1, -1, -1, -1, 383, -1, -1, 386, 387, - 359, 383, -1, -1, 386, 387, -1, -1, 396, -1, - -1, -1, -1, -1, 396, -1, -1, -1, -1, -1, - -1, -1, -1, 262, 383, 413, -1, 386, 387, -1, - -1, 413, -1, -1, -1, -1, -1, 396, -1, 0, + -1, -1, -1, -1, -1, -1, -1, -1, 396, -1, + -1, -1, -1, -1, 352, -1, 354, 355, -1, -1, + -1, -1, -1, -1, -1, 413, -1, -1, 366, -1, + -1, -1, 370, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 435, -1, -1, - 0, -1, 440, 435, 413, -1, 262, -1, 440, -1, + -1, -1, 440, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 452, -1, 454, -1, -1, -1, - 452, -1, 454, 0, -1, -1, 435, -1, -1, 318, - 41, 440, 321, 44, -1, -1, -1, -1, -1, 328, - -1, 41, 331, 452, 44, 454, 335, -1, 59, -1, - -1, 340, -1, -1, 343, -1, -1, -1, -1, 59, - -1, -1, 318, -1, 41, 321, -1, 44, -1, 262, - 359, -1, 328, -1, -1, 331, -1, -1, -1, 335, - -1, -1, 59, -1, 340, -1, -1, 343, -1, -1, - -1, -1, -1, -1, 383, -1, -1, 386, 387, -1, - -1, -1, -1, 359, -1, -1, -1, 396, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 262, - -1, -1, -1, -1, 413, 318, -1, 383, 321, -1, - 386, 387, -1, -1, -1, 328, -1, -1, 331, -1, - 396, -1, 335, -1, -1, -1, 435, 340, -1, -1, - 343, 440, -1, -1, -1, -1, -1, 413, 0, -1, - -1, -1, -1, 452, -1, 454, 359, -1, -1, -1, - -1, -1, -1, -1, -1, 318, -1, -1, 321, 435, - -1, -1, -1, -1, 440, 328, -1, -1, 331, -1, - 383, -1, 335, 386, 387, -1, 452, 340, 454, 41, - 343, -1, 44, 396, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 359, 59, -1, -1, - 413, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 260, -1, -1, -1, -1, -1, + -1, 267, -1, -1, -1, -1, -1, -1, -1, 427, + 276, -1, -1, -1, -1, 433, -1, -1, -1, -1, + -1, -1, -1, 289, -1, 443, -1, -1, -1, 295, + 296, -1, -1, -1, -1, -1, -1, 303, -1, 457, + 458, 459, 460, 461, 462, -1, -1, -1, -1, -1, + -1, -1, -1, 471, -1, -1, -1, 323, -1, -1, + 326, -1, 480, 481, 482, 483, 484, 485, 486, 487, + 488, 489, 490, -1, 492, -1, -1, 495, 496, -1, + 498, 499, 500, 501, 502, 503, 504, 505, 354, 355, + 508, 509, -1, -1, -1, -1, -1, -1, -1, -1, + 366, -1, -1, -1, 370, -1, -1, -1, -1, -1, + 267, -1, -1, 40, -1, -1, 43, -1, 45, 276, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 383, -1, 435, 386, 387, -1, -1, 440, -1, -1, - -1, 262, -1, 396, -1, -1, -1, -1, -1, 452, - -1, 454, 262, -1, -1, -1, -1, -1, -1, -1, - 413, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 262, -1, -1, -1, -1, - -1, -1, 435, -1, -1, -1, -1, 440, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 318, -1, 452, - 321, 454, -1, -1, -1, -1, -1, 328, 318, -1, - 331, 321, -1, -1, 335, -1, -1, -1, 328, 340, - -1, 331, 343, -1, -1, 335, -1, -1, -1, -1, - 340, 318, -1, 343, 321, -1, -1, -1, 359, -1, - -1, 328, -1, -1, 331, -1, -1, -1, 335, 359, + -1, 58, 289, -1, -1, -1, 63, -1, 295, 296, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 427, -1, -1, -1, -1, 323, 433, -1, 326, + -1, -1, -1, -1, -1, -1, -1, 443, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 457, 458, 459, 460, 461, 462, 354, 355, -1, + -1, -1, -1, -1, -1, 471, -1, -1, -1, 366, + -1, -1, -1, 370, 480, 481, 482, 483, 484, 485, + 486, 487, 488, 489, 490, -1, 492, -1, -1, 495, + 496, -1, 498, 499, 500, 501, 502, 503, 504, 505, + -1, -1, 508, 509, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 427, -1, -1, -1, -1, -1, 433, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 443, -1, -1, -1, + -1, -1, -1, -1, 451, -1, -1, -1, -1, -1, + 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, + -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, + -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, + 267, 498, 499, 500, 501, 502, 503, 504, 505, 276, + -1, 508, 509, 40, -1, -1, 43, -1, 45, -1, + -1, -1, 289, -1, -1, -1, -1, -1, 295, 296, + -1, 58, -1, -1, -1, -1, 63, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 0, -1, -1, 323, -1, -1, 326, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 40, 41, -1, + 43, -1, 45, -1, -1, -1, -1, 354, 355, -1, + -1, -1, -1, -1, 41, 58, -1, 44, -1, 366, + 63, -1, -1, 370, -1, -1, -1, -1, -1, -1, + -1, -1, 59, 460, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 470, 471, 472, 473, 474, 475, 476, + 477, 478, 479, 480, 481, 482, 483, 484, -1, -1, + 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, + 417, -1, 499, 500, 501, 502, 503, 504, 505, 506, + 427, 508, 509, 510, 511, 512, 433, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 443, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 457, 458, 459, 460, 461, 462, -1, -1, -1, -1, + -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, + -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, -1, 492, -1, -1, 495, 496, + -1, 498, 499, 500, 501, 502, 503, 504, 505, -1, + 267, 508, 509, -1, -1, -1, -1, -1, -1, 276, + -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, + -1, -1, 289, -1, -1, -1, -1, -1, 295, 296, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 41, -1, 323, 44, -1, 326, + -1, -1, -1, -1, 267, -1, -1, -1, -1, -1, + -1, -1, 59, 276, -1, 262, -1, 40, -1, -1, + 43, -1, 45, -1, -1, 352, 289, 354, 355, -1, + -1, -1, 295, 296, -1, 58, -1, -1, -1, 366, + 63, -1, -1, 370, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 323, -1, -1, 326, -1, -1, -1, -1, -1, -1, + -1, 318, -1, -1, 321, -1, -1, -1, -1, -1, + -1, 328, -1, -1, 331, -1, -1, -1, 335, -1, + -1, 354, 355, 340, -1, -1, 343, -1, -1, -1, + 427, -1, -1, 366, -1, -1, 433, 370, -1, -1, + -1, -1, 359, -1, -1, -1, 443, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 457, 458, 459, 460, 461, 462, 383, -1, -1, 386, + 387, -1, -1, -1, 471, -1, -1, -1, -1, 396, + -1, -1, -1, 480, 481, 482, 483, 484, 485, 486, + 487, 488, 489, 490, 427, 492, 413, -1, 495, 496, + 433, 498, 499, 500, 501, 502, 503, 504, 505, -1, + 443, 508, 509, -1, -1, -1, -1, -1, 435, -1, + -1, -1, -1, 440, 457, 458, 459, 460, 461, 462, + -1, -1, -1, -1, -1, 452, -1, 454, 471, -1, + -1, -1, -1, -1, -1, 262, -1, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, + -1, -1, 495, 496, -1, 498, 499, 500, 501, 502, + 503, 504, 505, -1, 267, 508, 509, 40, -1, -1, + 43, -1, 45, 276, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 58, 289, -1, -1, -1, + 63, 318, 295, 296, 321, -1, -1, -1, -1, -1, + -1, 328, -1, -1, 331, -1, -1, -1, 335, -1, -1, -1, -1, 340, -1, -1, 343, -1, -1, -1, - -1, -1, 383, -1, -1, 386, 387, -1, -1, -1, - -1, -1, 359, 383, -1, 396, 386, 387, -1, -1, - -1, -1, -1, -1, -1, -1, 396, -1, -1, -1, - -1, -1, 413, 271, -1, -1, 383, -1, -1, 386, - 387, -1, -1, 413, -1, -1, -1, -1, -1, 396, - 262, -1, -1, -1, 435, -1, -1, -1, -1, 440, - -1, -1, -1, 301, -1, 435, 413, -1, -1, -1, - 440, 452, -1, 454, 312, 313, -1, 315, -1, -1, - 318, -1, 452, -1, 454, -1, -1, -1, 435, -1, - -1, -1, -1, 440, 332, -1, -1, -1, -1, -1, - 338, -1, -1, -1, -1, 452, 318, 454, -1, 321, - -1, -1, -1, -1, -1, -1, 328, -1, -1, 331, - -1, -1, -1, 335, -1, -1, -1, -1, 340, -1, - -1, 343, -1, 273, -1, -1, -1, 277, -1, -1, - -1, -1, -1, -1, 284, -1, -1, 359, -1, -1, - -1, -1, -1, -1, -1, 295, -1, -1, 298, -1, - 398, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 383, -1, -1, 386, 387, -1, -1, -1, 417, - -1, -1, -1, -1, 396, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 432, -1, -1, -1, -1, 339, - -1, 413, -1, -1, 442, 345, 346, 347, -1, 349, - 350, 351, -1, 353, 273, 453, -1, -1, 277, -1, - -1, -1, 460, 435, -1, -1, -1, -1, 440, -1, - -1, -1, -1, 373, -1, 375, 295, -1, -1, 298, - 452, -1, 454, -1, -1, -1, -1, -1, -1, -1, - -1, 489, 490, -1, 492, -1, -1, -1, -1, -1, - -1, 499, 500, 501, 502, 503, 406, 505, -1, 507, - 508, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 339, -1, -1, 423, -1, -1, 345, 346, 347, -1, - 349, 350, 351, -1, 353, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 445, -1, -1, -1, -1, + 323, -1, -1, 326, -1, -1, -1, -1, -1, -1, + -1, 40, 359, -1, 43, -1, 45, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 58, + -1, 354, 355, -1, 63, -1, 383, -1, -1, 386, + 387, -1, -1, 366, -1, -1, -1, 370, -1, 396, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 413, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 435, -1, + -1, -1, -1, 440, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 427, 452, -1, 454, -1, -1, + 433, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 454, -1, -1, 457, 458, 459, 460, 461, 462, + -1, -1, -1, -1, -1, -1, -1, -1, 471, -1, + -1, -1, -1, -1, -1, -1, -1, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, -1, 492, + -1, -1, 495, 496, 267, 498, 499, 500, 501, 502, + 503, 504, 505, 276, -1, 508, 509, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 289, -1, -1, -1, + -1, -1, 295, 296, -1, -1, -1, -1, -1, -1, + 273, -1, -1, -1, 277, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 291, -1, + 323, -1, 295, 326, -1, 298, -1, -1, 267, -1, + -1, -1, -1, -1, -1, -1, -1, 276, -1, -1, + -1, 40, -1, -1, 43, -1, 45, -1, -1, -1, + 289, 354, 355, -1, -1, -1, 295, 296, -1, 58, + 59, -1, -1, 366, 63, -1, 339, 370, -1, -1, + -1, -1, 345, 346, 347, -1, 349, 350, 351, -1, + 353, -1, -1, -1, 323, -1, -1, 326, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 373, -1, 375, -1, -1, 40, -1, -1, 43, -1, + 45, -1, -1, -1, 417, 354, 355, -1, -1, -1, + -1, -1, -1, 58, 427, -1, -1, 366, 63, -1, + 433, 370, -1, 406, -1, -1, -1, -1, 411, -1, + 443, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 423, -1, -1, -1, 457, 458, 459, 460, 461, 462, + -1, -1, -1, -1, -1, -1, -1, -1, 471, -1, + -1, -1, 445, -1, -1, -1, -1, 480, 481, 482, + 483, 484, 485, 486, 487, 488, 489, 490, 427, 492, + -1, -1, 495, 496, 433, 498, 499, 500, 501, 502, + 503, 504, 505, -1, 443, 508, 509, 480, 481, -1, + -1, -1, -1, -1, -1, 454, -1, -1, 457, 458, + 459, 460, 461, 462, 497, -1, -1, -1, -1, -1, + -1, -1, 471, -1, -1, -1, -1, -1, -1, -1, + -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, -1, 492, -1, -1, 495, 496, -1, 498, + 499, 500, 501, 502, 503, 504, 505, -1, 267, 508, + 509, -1, -1, -1, -1, -1, -1, 276, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 289, -1, -1, -1, -1, -1, 295, 296, -1, -1, + -1, -1, -1, -1, 273, -1, -1, -1, 277, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 291, -1, 323, -1, 295, 326, -1, 298, + -1, -1, 267, -1, -1, 40, -1, -1, 43, -1, + 45, 276, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 58, 289, 354, 355, -1, 63, -1, + 295, 296, -1, -1, -1, -1, -1, 366, -1, -1, + 339, 370, -1, -1, -1, -1, 345, 346, 347, -1, + 349, 350, 351, -1, 353, -1, -1, -1, 323, -1, + -1, 326, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 373, -1, 375, -1, -1, -1, - 460, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 352, 40, 354, + 355, 43, -1, 45, -1, -1, -1, -1, 427, -1, + -1, 366, -1, -1, 433, 370, 58, 406, -1, -1, + -1, 63, -1, -1, 443, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 423, -1, -1, -1, 457, 458, + 459, 460, 461, 462, -1, -1, -1, -1, -1, -1, + -1, -1, 471, -1, -1, -1, 445, -1, -1, -1, + -1, 480, 481, 482, 483, 484, 485, 486, 487, 488, + 489, 490, 427, 492, -1, -1, 495, 496, 433, 498, + 499, 500, 501, 502, 503, 504, 505, -1, 443, 508, + 509, 480, 481, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 457, 458, 459, 460, 461, 462, 497, -1, + -1, -1, -1, -1, -1, -1, 471, -1, -1, -1, + -1, -1, -1, -1, -1, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, -1, 492, -1, -1, + 495, 496, 267, 498, 499, 500, 501, 502, 503, 504, + 505, 276, 0, 508, 509, -1, -1, -1, -1, -1, + -1, -1, -1, 0, 289, -1, -1, -1, -1, -1, + 295, 296, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 480, 481, -1, -1, -1, -1, -1, 406, -1, 489, - 490, -1, 492, -1, -1, -1, -1, 497, -1, 499, - 500, 501, 502, 503, 423, 505, -1, 507, 508, -1, + -1, -1, -1, 41, -1, -1, 44, -1, 323, -1, + -1, 326, -1, -1, 41, -1, -1, 44, -1, -1, + -1, 59, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 59, -1, -1, 267, 0, -1, -1, 354, + 355, -1, -1, -1, 276, -1, -1, -1, -1, -1, + -1, 366, -1, -1, -1, 370, 0, 289, -1, -1, + -1, -1, -1, 295, 296, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 41, -1, -1, + 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 323, -1, -1, 326, 59, -1, 41, -1, -1, + 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 427, -1, -1, 59, -1, -1, 433, 0, + -1, -1, 354, 355, -1, -1, -1, -1, 443, -1, + -1, -1, -1, -1, 366, -1, -1, -1, 370, -1, + -1, -1, 457, 458, 459, 460, 461, 462, -1, -1, + -1, -1, -1, -1, -1, -1, 471, -1, -1, -1, + 41, -1, -1, 44, 0, 480, 481, 482, 483, 484, + 485, 486, 487, 488, 489, 490, -1, 492, 59, -1, + 495, 496, -1, 498, 499, 500, 501, 502, 503, 504, + 505, -1, -1, 508, 509, 427, -1, -1, -1, -1, + -1, 433, -1, -1, -1, 41, -1, -1, 44, -1, + -1, 443, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 59, 262, 457, 458, 459, 460, 461, + 462, -1, -1, -1, -1, 262, -1, -1, -1, 471, + -1, -1, -1, -1, -1, -1, -1, -1, 480, 481, + 482, 483, 484, 485, 486, 487, 488, 489, 490, -1, + 492, -1, -1, 495, 496, 0, 498, 499, 500, 501, + 502, 503, 504, 505, -1, -1, 508, 509, -1, -1, + 318, -1, -1, 321, -1, -1, -1, -1, -1, -1, + 328, 318, -1, 331, 321, -1, -1, 335, 262, -1, + -1, 328, 340, -1, 331, 343, 41, -1, 335, 44, + -1, -1, -1, 340, -1, -1, 343, -1, 262, -1, + -1, 359, -1, -1, 59, -1, -1, -1, -1, 0, + -1, -1, 359, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 383, -1, -1, 386, 387, + -1, -1, -1, -1, 318, -1, 383, 321, 396, 386, + 387, -1, -1, -1, 328, -1, -1, 331, -1, 396, + 41, 335, -1, 44, 318, 413, 340, 321, -1, 343, + -1, 262, -1, -1, 328, -1, 413, 331, 59, -1, + -1, 335, 0, -1, -1, 359, 340, 435, -1, 343, + -1, -1, 440, -1, -1, -1, -1, -1, 435, -1, + -1, -1, -1, 440, 452, 359, 454, -1, -1, 383, + -1, -1, 386, 387, -1, 452, 262, 454, -1, -1, + -1, -1, 396, 41, -1, -1, 44, 318, -1, 383, + 321, -1, 386, 387, -1, -1, -1, 328, -1, 413, + 331, 59, 396, -1, 335, -1, -1, -1, -1, 340, + -1, -1, 343, -1, -1, -1, -1, -1, -1, 413, + -1, 435, 0, -1, -1, -1, 440, -1, 359, -1, + -1, -1, 318, -1, -1, 321, -1, -1, 452, -1, + 454, 435, 328, 0, -1, 331, 440, -1, -1, 335, + -1, -1, 383, -1, 340, 386, 387, 343, 452, -1, + 454, -1, -1, 41, -1, 396, 44, -1, -1, -1, + -1, -1, -1, 359, -1, -1, -1, 262, -1, -1, + -1, 59, 413, -1, 41, -1, -1, 44, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 383, -1, -1, + 386, 387, 59, -1, 435, -1, -1, -1, -1, 440, + 396, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 452, -1, 454, -1, -1, -1, 413, -1, -1, + -1, -1, -1, 318, -1, -1, 321, -1, -1, -1, + -1, 262, -1, 328, -1, -1, 331, -1, -1, 435, + 335, -1, -1, -1, 440, 340, -1, -1, 343, -1, + -1, -1, -1, -1, -1, -1, 452, -1, 454, -1, + -1, -1, -1, -1, 359, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 445, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 318, 383, -1, + 321, 386, 387, -1, 262, -1, -1, 328, -1, -1, + 331, 396, -1, -1, 335, -1, -1, -1, -1, 340, + -1, -1, 343, -1, -1, -1, -1, -1, 413, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 359, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 460, -1, -1, -1, -1, -1, -1, -1, -1, + 435, -1, -1, -1, -1, 440, -1, -1, -1, -1, + 318, -1, 383, 321, -1, 386, 387, 452, -1, 454, + 328, -1, -1, 331, -1, 396, -1, 335, -1, -1, + -1, -1, 340, -1, 262, 343, -1, -1, -1, -1, + -1, -1, 413, -1, -1, -1, -1, -1, -1, -1, + -1, 359, -1, -1, -1, 262, -1, -1, -1, -1, + -1, -1, -1, -1, 435, -1, -1, -1, -1, 440, + -1, -1, -1, -1, -1, 383, -1, -1, 386, 387, + -1, 452, -1, 454, -1, -1, -1, -1, 396, -1, + 318, -1, -1, 321, -1, -1, 271, -1, -1, -1, + 328, -1, -1, 331, -1, 413, -1, 335, -1, -1, + -1, 318, 340, -1, 321, 343, -1, -1, -1, -1, + -1, 328, -1, 271, 331, -1, 301, 435, 335, -1, + -1, 359, 440, 340, -1, -1, 343, 312, 313, -1, + 315, -1, -1, 318, 452, -1, 454, -1, -1, -1, + -1, -1, 359, 301, -1, 383, -1, 332, 386, 387, + 308, -1, -1, 338, 312, 313, -1, 315, 396, -1, + 318, -1, -1, -1, 271, -1, 383, -1, -1, 386, + 387, -1, -1, -1, 332, 413, -1, -1, -1, 396, + 338, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 301, -1, 413, 435, -1, -1, + -1, -1, 440, -1, -1, 312, 313, -1, 315, -1, + -1, 318, -1, 398, 452, -1, 454, -1, 435, -1, + -1, -1, -1, 440, -1, 332, -1, -1, -1, -1, + -1, 338, 417, -1, -1, 452, -1, 454, -1, -1, + 398, -1, -1, -1, -1, -1, -1, 432, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 442, -1, 417, + -1, -1, -1, -1, -1, -1, 451, -1, 453, -1, + -1, -1, -1, -1, 432, 460, -1, -1, -1, -1, + -1, -1, -1, -1, 442, -1, 273, -1, -1, -1, + 277, 398, -1, 451, -1, 453, -1, 284, -1, -1, + -1, -1, 460, -1, 489, 490, -1, 492, 295, -1, + 417, 298, -1, -1, 499, 500, 501, 502, 503, -1, + 505, -1, -1, 508, 509, 432, -1, -1, -1, -1, + -1, 489, 490, -1, 492, 442, -1, -1, -1, -1, + -1, 499, 500, 501, 502, 503, 453, 505, -1, -1, + 508, 509, 339, 460, -1, -1, -1, -1, 345, 346, + 347, -1, 349, 350, 351, -1, 353, -1, -1, -1, + -1, -1, -1, -1, -1, 273, -1, -1, -1, 277, + -1, -1, 489, 490, -1, 492, 373, -1, 375, -1, + -1, -1, 499, 500, 501, 502, 503, 295, 505, -1, + 298, 508, 509, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 406, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 480, 481, -1, -1, -1, -1, -1, -1, -1, - 489, 490, -1, 492, -1, -1, -1, -1, 497, -1, - 499, 500, 501, 502, 503, -1, 505, -1, 507, 508, + -1, -1, -1, -1, -1, -1, 423, -1, -1, -1, + -1, 339, -1, -1, -1, -1, -1, 345, 346, 347, + -1, 349, 350, 351, -1, 353, -1, -1, 445, -1, + -1, -1, -1, 273, -1, -1, -1, 277, -1, -1, + -1, -1, -1, 460, -1, 373, -1, 375, -1, -1, + -1, 291, -1, -1, -1, 295, -1, -1, 298, -1, + -1, -1, -1, 480, 481, -1, -1, -1, -1, -1, + -1, -1, 489, 490, -1, 492, -1, -1, 406, -1, + 497, -1, 499, 500, 501, 502, 503, -1, 505, -1, + -1, 508, 509, -1, -1, 423, -1, -1, -1, 339, + -1, -1, -1, -1, -1, 345, 346, 347, -1, 349, + 350, 351, -1, 353, -1, -1, -1, 445, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 460, 373, -1, 375, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 480, 481, -1, -1, -1, -1, -1, -1, + -1, 489, 490, -1, 492, -1, 406, -1, -1, 497, + -1, 499, 500, 501, 502, 503, -1, 505, -1, -1, + 508, 509, -1, 423, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 445, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 480, 481, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 497, }; -#define YYFINAL 19 +#define YYFINAL 20 #ifndef YYDEBUG #define YYDEBUG 0 #endif -#define YYMAXTOKEN 511 +#define YYMAXTOKEN 512 #if YYDEBUG char *yyname[] = { "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, @@ -3710,7 +3706,7 @@ char *yyname[] = { "CURRENT_USER","CURRENT_ROLE","KW_BREAK","SUBSTRING","RECREATE","KW_DESCRIPTOR", "FIRST","SKIP","CURRENT_CONNECTION","CURRENT_TRANSACTION","BIGINT","CASE", "NULLIF","COALESCE","USING","NULLS","LAST","ROW_COUNT","LOCK","SAVEPOINT", -"STATEMENT","LEAVE","INSERTING","UPDATING","DELETING", +"RELEASE","STATEMENT","LEAVE","INSERTING","UPDATING","DELETING", }; char *yyrule[] = { "$accept : top", @@ -3730,8 +3726,7 @@ char *yyrule[] = { "statement : replace", "statement : revoke", "statement : rollback", -"statement : user_savepoint", -"statement : undo_savepoint", +"statement : savepoint", "statement : select", "statement : set", "statement : update", @@ -4280,7 +4275,11 @@ char *yyrule[] = { "set_generator : SET GENERATOR symbol_generator_name TO signed_long_integer", "set_generator : SET GENERATOR symbol_generator_name TO NUMBER64BIT", "set_generator : SET GENERATOR symbol_generator_name TO '-' NUMBER64BIT", -"user_savepoint : SAVEPOINT symbol_savepoint_name", +"savepoint : set_savepoint", +"savepoint : release_savepoint", +"savepoint : undo_savepoint", +"set_savepoint : SAVEPOINT symbol_savepoint_name", +"release_savepoint : RELEASE SAVEPOINT symbol_savepoint_name", "undo_savepoint : ROLLBACK optional_work TO optional_savepoint symbol_savepoint_name", "optional_savepoint : SAVEPOINT", "optional_savepoint :", @@ -5920,116 +5919,119 @@ break; case 2: { DSQL_parse = yyvsp[-1]; } break; -case 22: +case 21: { prepare_console_debug ((int) yyvsp[0], &lex.dsql_debug); yyval = make_node (nod_null, (int) 0, NULL); } break; -case 23: +case 22: { yyval = make_node (nod_grant, (int) e_grant_count, yyvsp[-5], yyvsp[-3], make_list(yyvsp[-1]), yyvsp[0]); } break; -case 24: +case 23: { yyval = make_node (nod_grant, (int) e_grant_count, yyvsp[-6], yyvsp[-3], make_list(yyvsp[-1]), yyvsp[0]); } break; -case 25: +case 24: { yyval = make_node (nod_grant, (int) e_grant_count, yyvsp[-4], yyvsp[-2], make_list(yyvsp[0]), NULL); } break; -case 26: +case 25: { yyval = make_node (nod_grant, (int) e_grant_count, yyvsp[-5], yyvsp[-2], make_list(yyvsp[0]), NULL); } break; -case 27: +case 26: { yyval = make_node (nod_grant, (int) e_grant_count, make_list(yyvsp[-3]), make_list(yyvsp[-1]), NULL, yyvsp[0]); } break; -case 29: +case 28: { yyval = yyvsp[0]; } break; +case 29: +{ yyval = make_node (nod_all, (int) 0, NULL); } +break; case 30: { yyval = make_node (nod_all, (int) 0, NULL); } break; case 31: -{ yyval = make_node (nod_all, (int) 0, NULL); } -break; -case 32: { yyval = make_list (yyvsp[0]); } break; -case 34: +case 33: { yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } break; -case 35: +case 34: { yyval = make_list (make_node (nod_execute, (int) 0, NULL)); } break; -case 36: +case 35: { yyval = make_node (nod_select, (int) 0, NULL); } break; -case 37: +case 36: { yyval = make_node (nod_insert, (int) 0, NULL); } break; -case 38: +case 37: { yyval = make_node (nod_delete, (int) 0, NULL); } break; -case 39: +case 38: { yyval = make_node (nod_update, (int) 1, yyvsp[0]); } break; -case 40: +case 39: { yyval = make_node (nod_references, (int) 1, yyvsp[0]); } break; -case 41: +case 40: { yyval = make_node (nod_grant, (int) 0, NULL); } break; -case 42: +case 41: { yyval = 0; } break; -case 43: +case 42: { yyval = make_node (nod_grant_admin, (int) 0, NULL); } break; -case 44: +case 43: { yyval = 0; } break; -case 45: +case 44: { yyval = make_node (nod_procedure_name, (int) 1, yyvsp[0]); } break; -case 46: +case 45: { yyval = make_node (nod_revoke, (int) e_grant_count, yyvsp[-4], yyvsp[-2], make_list(yyvsp[0]), yyvsp[-5]); } break; -case 47: +case 46: { yyval = make_node (nod_revoke, (int) e_grant_count, yyvsp[-5], yyvsp[-2], make_list(yyvsp[0]), yyvsp[-6]); } break; -case 48: +case 47: { yyval = make_node (nod_revoke, (int) e_grant_count, yyvsp[-4], yyvsp[-2], make_list(yyvsp[0]), NULL); } break; +case 48: +{ yyval = make_node (nod_revoke, + (int) e_grant_count, yyvsp[-5], yyvsp[-2], + make_list(yyvsp[0]), NULL); } +break; case 49: { yyval = make_node (nod_revoke, - (int) e_grant_count, yyvsp[-5], yyvsp[-2], + (int) e_grant_count, yyvsp[-4], yyvsp[-2], make_list(yyvsp[0]), NULL); } break; case 50: { yyval = make_node (nod_revoke, - (int) e_grant_count, yyvsp[-4], yyvsp[-2], + (int) e_grant_count, yyvsp[-5], yyvsp[-2], make_list(yyvsp[0]), NULL); } break; case 51: -{ yyval = make_node (nod_revoke, - (int) e_grant_count, yyvsp[-5], yyvsp[-2], - make_list(yyvsp[0]), NULL); } -break; -case 52: { yyval = make_node (nod_revoke, (int) e_grant_count, make_list(yyvsp[-2]), make_list(yyvsp[0]), NULL, NULL); } break; -case 53: +case 52: { yyval = make_node (nod_grant, (int) 0, NULL); } break; +case 54: +{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } +break; case 55: { yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } break; @@ -6037,123 +6039,123 @@ case 56: { yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } break; case 57: -{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } -break; -case 58: { yyval = make_node (nod_proc_obj, (int) 1, yyvsp[0]); } break; -case 59: +case 58: { yyval = make_node (nod_trig_obj, (int) 1, yyvsp[0]); } break; -case 60: +case 59: { yyval = make_node (nod_view_obj, (int) 1, yyvsp[0]); } break; -case 61: +case 60: { yyval = make_node (nod_role_name, (int) 1, yyvsp[0]); } break; +case 62: +{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } +break; case 63: -{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } -break; -case 64: { yyval = make_node (nod_user_name, (int) 1, yyvsp[0]); } break; -case 65: +case 64: { yyval = make_node (nod_user_name, (int) 2, yyvsp[0], NULL); } break; -case 66: +case 65: { yyval = make_node (nod_user_group, (int) 1, yyvsp[0]); } break; -case 68: +case 67: { yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } break; -case 69: +case 68: { yyval = make_node (nod_role_name, (int) 1, yyvsp[0]); } break; -case 71: +case 70: { yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } break; +case 71: +{ yyval = make_node (nod_user_name, (int) 1, yyvsp[0]); } +break; case 72: { yyval = make_node (nod_user_name, (int) 1, yyvsp[0]); } break; case 73: -{ yyval = make_node (nod_user_name, (int) 1, yyvsp[0]); } +{ yyval = yyvsp[0];} break; case 74: -{ yyval = yyvsp[0];} +{ yyval = yyvsp[0]; } break; case 75: { yyval = yyvsp[0]; } break; case 76: -{ yyval = yyvsp[0]; } -break; -case 77: { yyval = make_node (nod_def_udf, (int) e_udf_count, yyvsp[-7], yyvsp[-2], yyvsp[0], make_list (yyvsp[-6]), yyvsp[-4]); } break; -case 79: +case 78: { lex.g_field->fld_dtype = dtype_blob; } break; -case 80: +case 79: { lex.g_field->fld_dtype = dtype_cstring; lex.g_field->fld_character_length = (USHORT) yyvsp[-2]; } break; -case 81: +case 80: { yyval = (DSQL_NOD) NULL; } break; -case 83: +case 82: { yyval = yyvsp[-1]; } break; -case 85: +case 84: { yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } break; -case 86: +case 85: { yyval = make_node (nod_udf_param, (int) e_udf_param_count, yyvsp[-1], NULL); } break; -case 87: +case 86: { yyval = make_node (nod_udf_param, (int) e_udf_param_count, yyvsp[-3], MAKE_constant ((STR) FUN_descriptor, CONSTANT_SLONG)); } break; -case 89: +case 88: { yyval = yyvsp[-1]; } break; -case 90: +case 89: { yyval = make_node (nod_udf_return_value, (int) 2, yyvsp[-1], MAKE_constant ((STR) FUN_reference, CONSTANT_SLONG));} break; -case 91: +case 90: { yyval = make_node (nod_udf_return_value, (int) 2, yyvsp[-2], MAKE_constant ((STR) (-1 * FUN_reference), CONSTANT_SLONG));} break; -case 92: +case 91: { yyval = make_node (nod_udf_return_value, (int) 2, yyvsp[-3], MAKE_constant ((STR) FUN_value, CONSTANT_SLONG));} break; -case 93: +case 92: { yyval = make_node (nod_udf_return_value, (int) 2, yyvsp[-3], MAKE_constant ((STR) FUN_descriptor, CONSTANT_SLONG));} break; -case 94: +case 93: { yyval = make_node (nod_udf_return_value, (int) 2, (DSQL_NOD) NULL, MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG));} break; -case 95: +case 94: { yyval = make_node (nod_def_filter, (int) e_filter_count, yyvsp[-8], yyvsp[-6], yyvsp[-4], yyvsp[-2], yyvsp[0]); } break; -case 96: +case 95: { yyval = yyvsp[0]; } break; -case 97: +case 96: { yyval = make_node (nod_def_exception, (int) e_xcp_count, yyvsp[-1], yyvsp[0]); } break; -case 98: +case 97: { yyval = make_node (nod_def_index, (int) e_idx_count, yyvsp[-6], yyvsp[-5], yyvsp[-3], yyvsp[-1], yyvsp[0]); } break; +case 98: +{ yyval = yyvsp[0]; } +break; case 99: { yyval = yyvsp[0]; } break; @@ -6200,27 +6202,27 @@ case 113: { yyval = yyvsp[0]; } break; case 114: -{ yyval = yyvsp[0]; } -break; -case 115: { yyval = make_node (nod_unique, 0, NULL); } break; -case 116: +case 115: { yyval = NULL; } break; -case 117: +case 116: { yyval = make_list (yyvsp[0]); } break; -case 119: +case 118: { yyval = make_node (nod_def_computed, 2, yyvsp[-2], yyvsp[-1]); } break; -case 120: +case 119: { yyval = make_node (nod_def_shadow, (int) e_shadow_count, yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], make_list (yyvsp[0])); } break; -case 121: +case 120: { yyval = MAKE_constant ((STR) 1, CONSTANT_SLONG); } break; +case 121: +{ yyval = MAKE_constant ((STR) 0, CONSTANT_SLONG); } +break; case 122: { yyval = MAKE_constant ((STR) 0, CONSTANT_SLONG); } break; @@ -6228,248 +6230,248 @@ case 123: { yyval = MAKE_constant ((STR) 0, CONSTANT_SLONG); } break; case 124: -{ yyval = MAKE_constant ((STR) 0, CONSTANT_SLONG); } -break; -case 125: { yyval = MAKE_constant ((STR) 1, CONSTANT_SLONG); } break; -case 126: +case 125: { yyval = (DSQL_NOD) 0;} break; -case 127: +case 126: { yyval = yyvsp[-1]; } break; -case 128: +case 127: { yyval = (DSQL_NOD) NULL; } break; -case 131: +case 130: { yyval = make_node (nod_list, (int) 2, yyvsp[-1], yyvsp[0]); } break; -case 132: +case 131: { yyval = make_node (nod_def_domain, (int) e_dom_count, yyvsp[-7], yyvsp[-3], yyvsp[-2], make_list (yyvsp[-1]), yyvsp[0]); } break; +case 132: +{ yyval = NULL; } +break; case 133: { yyval = NULL; } break; case 134: -{ yyval = NULL; } +{ yyval = yyvsp[0]; } break; case 135: -{ yyval = yyvsp[0]; } +{ yyval = (DSQL_NOD) NULL; } break; case 136: { yyval = (DSQL_NOD) NULL; } break; -case 137: -{ yyval = (DSQL_NOD) NULL; } -break; -case 140: +case 139: { yyval = make_node (nod_list, (int) 2, yyvsp[-1], yyvsp[0]); } break; -case 141: +case 140: { yyval = make_node (nod_rel_constraint, (int) 2, NULL, yyvsp[0]);} break; -case 144: +case 143: { yyval = make_node (nod_null, (int) 0, NULL); } break; -case 145: +case 144: { yyval = make_node (nod_def_constraint, (int) e_cnstr_count, MAKE_string(NULL_STRING, 0), NULL, NULL, NULL, yyvsp[-2], NULL, yyvsp[0], NULL, NULL); } break; -case 146: +case 145: { yyval = make_node (nod_def_generator, (int) e_gen_count, yyvsp[0]); } break; -case 147: +case 146: { yyval = make_node (nod_def_role, (int) 1, yyvsp[0]); } break; -case 148: +case 147: { yyval = make_node (nod_def_database, (int) e_cdb_count, yyvsp[-2], make_list(yyvsp[-1]), make_list (yyvsp[0]));} break; -case 151: +case 150: { lex.log_defined = FALSE; lex.cache_defined = FALSE; yyval = (DSQL_NOD) yyvsp[0]; } break; -case 152: +case 151: {yyval = (DSQL_NOD) NULL;} break; +case 154: +{ yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); } +break; case 155: -{ yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); } -break; -case 156: { yyval = make_node (nod_page_size, 1, yyvsp[0]);} break; -case 157: +case 156: { yyval = make_node (nod_file_length, 1, yyvsp[-1]);} break; -case 158: +case 157: { yyval = make_node (nod_user_name, 1, yyvsp[0]);} break; -case 159: +case 158: { yyval = make_node (nod_password, 1, yyvsp[0]);} break; -case 160: +case 159: { yyval = make_node (nod_lc_ctype, 1, yyvsp[0]);} break; -case 161: +case 160: {yyval = (DSQL_NOD) NULL;} break; -case 164: +case 163: { yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); } break; -case 168: +case 167: { yyval = make_node (nod_dfl_charset, 1, yyvsp[0]);} break; -case 169: +case 168: { yyval = make_node (nod_group_commit_wait, 1, yyvsp[0]);} break; -case 170: +case 169: { yyval = make_node (nod_check_point_len, 1, yyvsp[0]);} break; -case 171: +case 170: { yyval = make_node (nod_num_log_buffers, 1, yyvsp[0]);} break; -case 172: +case 171: { yyval = make_node (nod_log_buffer_size, 1, yyvsp[0]);} break; -case 173: +case 172: { if (lex.log_defined) yyabandon (-260, isc_log_redef); /* Log redefined */ lex.log_defined = TRUE; yyval = yyvsp[0]; } break; -case 174: +case 173: { if (lex.log_defined) yyabandon (-260, isc_log_redef); lex.log_defined = TRUE; yyval = yyvsp[0]; } break; -case 175: +case 174: { lex.g_file->fil_flags |= LOG_serial | LOG_overflow; if (lex.g_file->fil_partitions) yyabandon (-261, isc_partition_not_supp); /* Partitions not supported in series of log file specification */ yyval = make_node (nod_list, 2, yyvsp[-3], yyvsp[0]); } break; -case 176: +case 175: { lex.g_file->fil_flags |= LOG_serial; if (lex.g_file->fil_partitions) yyabandon (-261, isc_partition_not_supp); yyval = yyvsp[0]; } break; -case 177: +case 176: { lex.g_file = make_file(); lex.g_file->fil_flags = LOG_serial | LOG_default; yyval = make_node (nod_log_file_desc, (int) 1, (DSQL_NOD) lex.g_file);} break; -case 178: +case 177: { lex.g_file->fil_name = (STR) yyvsp[-1]; yyval = (DSQL_NOD) make_node (nod_file_desc, (int) 1, (DSQL_NOD) lex.g_file); } break; -case 180: +case 179: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 181: +case 180: { check_log_file_attrs(); yyval = (DSQL_NOD) make_node (nod_log_file_desc, (int) 1, (DSQL_NOD) lex.g_file); } break; -case 182: +case 181: { lex.g_file = make_file(); lex.g_file->fil_name = (STR) yyvsp[0]; } break; -case 185: +case 184: { lex.g_file->fil_length = (SLONG) yyvsp[0]; } break; -case 186: +case 185: { lex.g_file = make_file ();} break; -case 191: +case 190: { lex.g_file->fil_start = (SLONG) yyvsp[0];} break; -case 192: +case 191: { lex.g_file->fil_length = (SLONG) yyvsp[-1];} break; -case 199: +case 198: { yyval = make_node (nod_def_relation, (int) e_drl_count, yyvsp[-4], make_list (yyvsp[-1]), yyvsp[-3]); } break; -case 200: +case 199: { yyval = make_node (nod_redef_relation, (int) e_drl_count, yyvsp[-4], make_list (yyvsp[-1]), yyvsp[-3]); } break; +case 200: +{ yyval = yyvsp[0]; } +break; case 201: { yyval = yyvsp[0]; } break; case 202: -{ yyval = yyvsp[0]; } -break; -case 203: { yyval = (DSQL_NOD) NULL; } break; -case 205: +case 204: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 208: +case 207: { yyval = make_node (nod_def_field, (int) e_dfl_count, yyvsp[-5], yyvsp[-3], yyvsp[-2], make_list (yyvsp[-1]), yyvsp[0], yyvsp[-4], NULL); } break; -case 209: +case 208: { yyval = make_node (nod_def_field, (int) e_dfl_count, yyvsp[-2], NULL, NULL, NULL, NULL, NULL, yyvsp[0]); } break; -case 210: +case 209: { yyval = make_node (nod_def_field, (int) e_dfl_count, yyvsp[-1], NULL, NULL, NULL, NULL, NULL, yyvsp[0]); } break; -case 211: +case 210: { lex.g_field->fld_flags |= FLD_computed; yyval = make_node (nod_def_computed, 2, yyvsp[-2], yyvsp[-1]); } break; -case 214: +case 213: { yyval = NULL; } break; -case 215: +case 214: { yyval = make_node (nod_def_domain, (int) e_dom_count, yyvsp[-1], NULL, NULL, NULL, NULL); } break; -case 216: +case 215: { yyval = yyvsp[0]; } break; -case 217: +case 216: { yyval = (DSQL_NOD) NULL; } break; -case 218: +case 217: { lex.g_field_name = yyvsp[0]; lex.g_field = make_field (yyvsp[0]); yyval = (DSQL_NOD) lex.g_field; } break; -case 219: +case 218: { lex.g_field = make_field (yyvsp[0]); yyval = (DSQL_NOD) lex.g_field; } break; -case 220: +case 219: { yyval = yyvsp[-1]; } break; -case 221: +case 220: { lex.g_field = make_field (NULL); yyval = (DSQL_NOD) lex.g_field; } break; -case 222: +case 221: { yyval = yyvsp[0]; } break; -case 223: +case 222: { yyval = (DSQL_NOD) NULL; } break; +case 226: +{ yyval = yyvsp[0]; } +break; case 227: { yyval = yyvsp[0]; } break; @@ -6477,310 +6479,310 @@ case 228: { yyval = yyvsp[0]; } break; case 229: -{ yyval = yyvsp[0]; } -break; -case 230: { yyval = (DSQL_NOD) NULL; } break; -case 233: +case 232: { yyval = make_node (nod_list, (int) 2, yyvsp[-1], yyvsp[0]); } break; -case 234: +case 233: { yyval = make_node (nod_rel_constraint, (int) 2, yyvsp[-1], yyvsp[0]);} break; -case 235: +case 234: { yyval = make_node (nod_null, (int) 1, NULL); } break; -case 236: +case 235: { yyval = make_node (nod_foreign, e_for_count, make_node (nod_list, (int) 1, lex.g_field_name), yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; -case 238: +case 237: { yyval = make_node (nod_unique, 2, NULL, yyvsp[0]); } break; -case 239: +case 238: { yyval = make_node (nod_primary, e_pri_count, NULL, yyvsp[0]); } break; -case 240: +case 239: { yyval = make_node (nod_rel_constraint, (int) 2, yyvsp[-1], yyvsp[0]);} break; -case 241: +case 240: { yyval = yyvsp[0]; } break; -case 242: +case 241: { yyval = NULL ;} break; -case 247: +case 246: { yyval = make_node (nod_unique, 2, yyvsp[-1], yyvsp[0]); } break; -case 248: +case 247: { yyval = make_node (nod_primary, e_pri_count, yyvsp[-1], yyvsp[0]); } break; -case 249: +case 248: { yyval = make_node (nod_foreign, e_for_count, yyvsp[-5], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; -case 250: +case 249: { yyval = make_node (nod_def_index, (int) e_idx_count, NULL, yyvsp[-2], yyvsp[0], NULL, NULL); } break; -case 251: +case 250: { yyval = make_node (nod_def_index, (int) e_idx_count, NULL, NULL, NULL, NULL, NULL); } break; -case 252: +case 251: { yyval = make_node (nod_def_constraint, (int) e_cnstr_count, MAKE_string(NULL_STRING, 0), NULL, NULL, NULL, yyvsp[-2], NULL, yyvsp[0], NULL, NULL); } break; -case 253: +case 252: { yyval = make_node (nod_ref_upd_del, e_ref_upd_del_count, yyvsp[0], NULL);} break; -case 254: +case 253: { yyval = make_node (nod_ref_upd_del, e_ref_upd_del_count, NULL, yyvsp[0]);} break; -case 255: +case 254: { yyval = make_node (nod_ref_upd_del, e_ref_upd_del_count, yyvsp[0], yyvsp[-1]); } break; -case 256: +case 255: { yyval = make_node (nod_ref_upd_del, e_ref_upd_del_count, yyvsp[-1], yyvsp[0]);} break; -case 257: +case 256: { yyval = NULL;} break; +case 257: +{ yyval = yyvsp[0];} +break; case 258: { yyval = yyvsp[0];} break; case 259: -{ yyval = yyvsp[0];} -break; -case 260: { yyval = make_flag_node (nod_ref_trig_action, REF_ACTION_CASCADE, e_ref_trig_action_count, NULL);} break; -case 261: +case 260: { yyval = make_flag_node (nod_ref_trig_action, REF_ACTION_SET_DEFAULT, e_ref_trig_action_count, NULL);} break; -case 262: +case 261: { yyval = make_flag_node (nod_ref_trig_action, REF_ACTION_SET_NULL, e_ref_trig_action_count, NULL);} break; -case 263: +case 262: { yyval = make_flag_node (nod_ref_trig_action, REF_ACTION_NONE, e_ref_trig_action_count, NULL);} break; -case 264: +case 263: { yyval = make_node (nod_def_procedure, (int) e_prc_count, yyvsp[-7], yyvsp[-6], yyvsp[-5], yyvsp[-2], yyvsp[-1], yyvsp[0], NULL); } break; -case 265: +case 264: { yyval = make_node (nod_redef_procedure, (int) e_prc_count, yyvsp[-7], yyvsp[-6], yyvsp[-5], yyvsp[-2], yyvsp[-1], yyvsp[0], NULL); } break; -case 266: +case 265: { yyval = make_node (nod_replace_procedure, (int) e_prc_count, yyvsp[-7], yyvsp[-6], yyvsp[-5], yyvsp[-2], yyvsp[-1], yyvsp[0], NULL); } break; -case 267: +case 266: { yyval = make_node (nod_mod_procedure, (int) e_prc_count, yyvsp[-7], yyvsp[-6], yyvsp[-5], yyvsp[-2], yyvsp[-1], yyvsp[0], NULL); } break; -case 268: +case 267: { yyval = make_list (yyvsp[-1]); } break; -case 269: +case 268: { yyval = NULL; } break; -case 270: +case 269: { yyval = yyvsp[0]; } break; -case 271: +case 270: { yyval = NULL; } break; -case 273: +case 272: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 274: +case 273: { yyval = make_node (nod_def_field, (int) e_dfl_count, yyvsp[-1], NULL, NULL, NULL, NULL, NULL, NULL); } break; -case 275: +case 274: { yyval = make_list (yyvsp[0]); } break; -case 276: +case 275: { yyval = NULL; } break; -case 278: +case 277: { yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); } break; -case 279: +case 278: { yyval = make_node (nod_def_field, (int) e_dfl_count, yyvsp[-3], yyvsp[-1], NULL, NULL, NULL, NULL, NULL); } break; +case 279: +{ yyval = NULL; } +break; case 280: { yyval = NULL; } break; case 281: -{ yyval = NULL; } +{ yyval = yyvsp[0]; } break; case 282: { yyval = yyvsp[0]; } break; -case 283: -{ yyval = yyvsp[0]; } -break; -case 286: +case 285: { yyval = yyvsp[-1]; } break; -case 287: +case 286: { yyval = make_node (nod_block, e_blk_count, make_list (yyvsp[0]), NULL); } break; -case 288: +case 287: { yyval = make_node (nod_block, e_blk_count, make_list (yyvsp[-1]), make_list (yyvsp[0])); } break; -case 289: +case 288: { yyval = make_node (nod_block, e_blk_count, NULL, NULL);} break; -case 291: +case 290: { yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); } break; -case 307: +case 306: { yyval = make_node (nod_return, e_rtn_count, NULL); } break; -case 308: +case 307: { yyval = make_node (nod_exit, 0, NULL); } break; -case 310: +case 309: { yyval = make_node (nod_exception_stmt, e_xcp_count, yyvsp[-1], NULL); } break; -case 311: +case 310: { yyval = make_node (nod_exception_stmt, e_xcp_count, yyvsp[-2], yyvsp[-1]); } break; -case 312: +case 311: { yyval = make_node (nod_exception_stmt, e_xcp_count, NULL, NULL); } break; -case 313: +case 312: { yyval = make_node (nod_exec_procedure, e_exe_count, yyvsp[-3], yyvsp[-2], yyvsp[-1]); } break; -case 314: +case 313: { yyval = make_node (nod_exec_sql, e_exec_sql_count, yyvsp[-1]); } break; -case 317: +case 316: { yyval = make_node (nod_for_select, e_flp_count, yyvsp[-5], make_list (yyvsp[-3]), yyvsp[-2], yyvsp[0], NULL); } break; -case 318: +case 317: { yyval = make_node (nod_exec_into, e_exec_into_count, yyvsp[-4], yyvsp[0], make_list(yyvsp[-2])); } break; -case 319: +case 318: { yyval = make_node (nod_exec_into, e_exec_into_count, yyvsp[-3], 0, make_list(yyvsp[-1])); } break; -case 320: +case 319: { yyval = make_node (nod_if, e_if_count, yyvsp[-5], yyvsp[-2], yyvsp[0]); } break; -case 321: +case 320: { yyval = make_node (nod_if, e_if_count, yyvsp[-3], yyvsp[0], NULL); } break; -case 322: +case 321: { yyval = make_node (nod_post, e_pst_count, yyvsp[-2], yyvsp[-1]); } break; -case 323: +case 322: { yyval = yyvsp[0]; } break; -case 324: +case 323: { yyval = NULL; } break; -case 325: +case 324: { yyval = make_node (nod_for_select, e_flp_count, yyvsp[-3], make_list (yyvsp[-1]), NULL, NULL); } break; -case 326: +case 325: { yyval = make_node (nod_var_name, (int) e_vrn_count, yyvsp[0]); } break; -case 327: +case 326: { yyval = make_list (yyvsp[0]); } break; +case 327: +{ yyval = make_list (yyvsp[-1]); } +break; case 328: -{ yyval = make_list (yyvsp[-1]); } +{ yyval = NULL; } break; case 329: -{ yyval = NULL; } -break; -case 330: { yyval = make_list (yyvsp[0]); } break; -case 331: +case 330: { yyval = make_list (yyvsp[-1]); } break; -case 332: +case 331: { yyval = NULL; } break; +case 334: +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } +break; case 335: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; case 336: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } -break; -case 337: { yyval = make_node (nod_while, e_while_count, yyvsp[-3], yyvsp[0], NULL); } break; +case 337: +{ yyval = make_node (nod_breakleave, e_breakleave_count, NULL, NULL); } +break; case 338: { yyval = make_node (nod_breakleave, e_breakleave_count, NULL, NULL); } break; case 339: -{ yyval = make_node (nod_breakleave, e_breakleave_count, NULL, NULL); } -break; -case 340: { yyval = make_node (nod_cursor, e_cur_count, yyvsp[0], NULL, NULL); } break; -case 341: +case 340: { yyval = NULL; } break; -case 343: +case 342: { yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); } break; -case 344: +case 343: { yyval = make_node (nod_on_error, e_err_count, make_list (yyvsp[-2]), yyvsp[0]); } break; -case 346: +case 345: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 347: +case 346: { yyval = make_node (nod_sqlcode, 1, yyvsp[0]); } break; -case 348: +case 347: { yyval = make_node (nod_gdscode, 1, yyvsp[0]); } break; -case 349: +case 348: { yyval = make_node (nod_exception, 1, yyvsp[0]); } break; -case 350: +case 349: { yyval = make_node (nod_default, 1, NULL); } break; -case 351: +case 350: { yyval = make_node (nod_exec_procedure, e_exe_count, yyvsp[-1], yyvsp[0], make_node (nod_all, (int) 0, NULL)); } break; -case 352: +case 351: { yyval = make_list (yyvsp[0]); } break; -case 353: +case 352: { yyval = make_list (yyvsp[-1]); } break; -case 354: +case 353: { yyval = NULL; } break; +case 357: +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } +break; case 358: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; @@ -6788,239 +6790,239 @@ case 359: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; case 360: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } -break; -case 361: { yyval = make_node (nod_def_view, (int) e_view_count, yyvsp[-6], yyvsp[-5], yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; -case 362: +case 361: { yyval = make_node (nod_redef_view, (int) e_view_count, yyvsp[-6], yyvsp[-5], yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; -case 363: +case 362: { yyval = make_node (nod_select, (int) 2, yyvsp[0], NULL); } break; -case 364: +case 363: { yyval = make_node (nod_list, (int) 1, yyvsp[0]); } break; -case 365: +case 364: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 366: +case 365: { yyval = make_flag_node (nod_list, NOD_UNION_ALL, 2, yyvsp[-3], yyvsp[0]); } break; -case 367: +case 366: { yyval = make_node (nod_select_expr, e_sel_count, NULL, yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0], NULL, NULL); } break; -case 368: +case 367: { yyval = make_list (yyvsp[0]); } break; -case 370: +case 369: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 373: +case 372: { yyval = make_node (nod_join, (int) e_join_count, yyvsp[-5], yyvsp[-4], yyvsp[-2], yyvsp[0]); } break; -case 374: +case 373: { yyval = yyvsp[-1]; } break; -case 375: +case 374: { lex.beginning = lex_position(); } break; -case 376: +case 375: { yyval = (DSQL_NOD) MAKE_string(lex.beginning, (lex_position() == lex.end) ? lex_position()-lex.beginning : lex.last_token-lex.beginning);} break; -case 377: +case 376: { lex.beginning = lex.last_token; } break; -case 378: +case 377: { yyval = (DSQL_NOD) MAKE_string(lex.beginning, lex_position()-lex.beginning); } break; -case 379: +case 378: { yyval = make_node (nod_def_constraint, (int) e_cnstr_count, MAKE_string(NULL_STRING, 0), NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL); } break; -case 380: +case 379: { yyval = 0; } break; -case 381: +case 380: { yyval = make_node (nod_def_trigger, (int) e_trg_count, yyvsp[-8], yyvsp[-6], yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-1], yyvsp[0], NULL, NULL); } break; -case 382: +case 381: { yyval = make_node (nod_replace_trigger, (int) e_trg_count, yyvsp[-8], yyvsp[-6], yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-1], yyvsp[0], NULL, NULL); } break; -case 383: +case 382: { yyval = MAKE_constant ((STR) 0, CONSTANT_SLONG); } break; +case 383: +{ yyval = MAKE_constant ((STR) 1, CONSTANT_SLONG); } +break; case 384: -{ yyval = MAKE_constant ((STR) 1, CONSTANT_SLONG); } +{ yyval = NULL; } break; case 385: -{ yyval = NULL; } -break; -case 386: { yyval = MAKE_trigger_type (yyvsp[-1], yyvsp[0]); } break; -case 387: +case 386: { yyval = MAKE_constant ((STR) 0, CONSTANT_SLONG); } break; -case 388: +case 387: { yyval = MAKE_constant ((STR) 1, CONSTANT_SLONG); } break; -case 389: +case 388: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (1, 0, 0), CONSTANT_SLONG); } break; -case 390: +case 389: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (2, 0, 0), CONSTANT_SLONG); } break; -case 391: +case 390: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (3, 0, 0), CONSTANT_SLONG); } break; -case 392: +case 391: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (1, 2, 0), CONSTANT_SLONG); } break; -case 393: +case 392: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (1, 3, 0), CONSTANT_SLONG); } break; -case 394: +case 393: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (2, 1, 0), CONSTANT_SLONG); } break; -case 395: +case 394: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (2, 3, 0), CONSTANT_SLONG); } break; -case 396: +case 395: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (3, 1, 0), CONSTANT_SLONG); } break; -case 397: +case 396: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (3, 2, 0), CONSTANT_SLONG); } break; -case 398: +case 397: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (1, 2, 3), CONSTANT_SLONG); } break; -case 399: +case 398: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (1, 3, 2), CONSTANT_SLONG); } break; -case 400: +case 399: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (2, 1, 3), CONSTANT_SLONG); } break; -case 401: +case 400: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (2, 3, 1), CONSTANT_SLONG); } break; -case 402: +case 401: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (3, 1, 2), CONSTANT_SLONG); } break; -case 403: +case 402: { yyval = MAKE_constant ((STR) TRIGGER_TYPE_SUFFIX (3, 2, 1), CONSTANT_SLONG); } break; -case 404: +case 403: { yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG); } break; -case 405: +case 404: { yyval = NULL; } break; -case 406: +case 405: { yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); } break; -case 407: +case 406: { yyval = yyvsp[0]; } break; -case 408: +case 407: { yyval = make_node (nod_mod_exception, (int) e_xcp_count, yyvsp[-1], yyvsp[0]); } break; -case 409: +case 408: { yyval = make_node (nod_mod_relation, (int) e_alt_count, yyvsp[-1], make_list (yyvsp[0])); } break; +case 409: +{ yyval = yyvsp[0]; } +break; case 410: { yyval = yyvsp[0]; } break; case 411: -{ yyval = yyvsp[0]; } -break; -case 412: { yyval = make_node (nod_mod_database, (int) e_adb_count, make_list (yyvsp[0])); } break; -case 413: +case 412: { yyval = make_node (nod_mod_domain, (int) e_alt_count, yyvsp[-1], make_list (yyvsp[0])); } break; -case 414: +case 413: { yyval = make_node (nod_mod_index, (int) e_mod_idx_count, yyvsp[0]); } break; -case 415: +case 414: { yyval = yyvsp[0]; } break; -case 416: +case 415: { yyval = make_node (nod_def_constraint, (int) e_cnstr_count, MAKE_string(NULL_STRING, 0), NULL, NULL, NULL, yyvsp[-2], NULL, yyvsp[0], NULL, NULL); } break; -case 418: +case 417: { yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); } break; -case 419: +case 418: { yyval = make_node (nod_def_default, (int) e_dft_count, yyvsp[-1], yyvsp[0]); } break; +case 419: +{ yyval = yyvsp[0]; } +break; case 420: { yyval = yyvsp[0]; } break; case 421: -{ yyval = yyvsp[0]; } -break; -case 422: {yyval = make_node (nod_del_default, (int) 0, NULL); } break; -case 423: +case 422: { yyval = make_node (nod_delete_rel_constraint, (int) 1, NULL); } break; -case 424: +case 423: { yyval = yyvsp[0]; } break; -case 425: +case 424: { yyval = make_node (nod_mod_domain_type, 2, yyvsp[-1]); } break; -case 427: +case 426: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 428: +case 427: { yyval = make_node (nod_del_field, 2, yyvsp[-1], yyvsp[0]); } break; -case 429: +case 428: { yyval = make_node (nod_delete_rel_constraint, (int) 1, yyvsp[0]);} break; +case 429: +{ yyval = yyvsp[0]; } +break; case 430: { yyval = yyvsp[0]; } break; case 431: -{ yyval = yyvsp[0]; } -break; -case 432: { yyval = make_node (nod_mod_field_pos, 2, yyvsp[-2], MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG)); } break; -case 433: +case 432: { yyval = make_node (nod_mod_field_name, 2, yyvsp[-2], yyvsp[0]); } break; -case 434: +case 433: { yyval = make_node (nod_mod_field_type, 3, yyvsp[-3], yyvsp[0], yyvsp[-1]); } break; -case 435: +case 434: { yyval = make_node (nod_field_name, (int) e_fln_count, NULL, yyvsp[0]); } break; +case 461: +{ yyval = NULL; } +break; case 462: { yyval = NULL; } break; @@ -7028,120 +7030,117 @@ case 463: { yyval = NULL; } break; case 464: -{ yyval = NULL; } -break; -case 465: { yyval = make_node (nod_def_domain, (int) e_dom_count, yyvsp[-1], NULL, NULL, NULL, NULL); } break; -case 466: +case 465: { lex.g_field_name = yyvsp[0]; lex.g_field = make_field (yyvsp[0]); yyval = (DSQL_NOD) lex.g_field; } break; -case 467: +case 466: { yyval = make_node (nod_restrict, 0, NULL); } break; -case 468: +case 467: { yyval = make_node (nod_cascade, 0, NULL); } break; -case 469: +case 468: { yyval = make_node (nod_restrict, 0, NULL); } break; -case 470: +case 469: { yyval = make_node (nod_idx_active, 1, yyvsp[-1]); } break; -case 471: +case 470: { yyval = make_node (nod_idx_inactive, 1, yyvsp[-1]); } break; -case 472: +case 471: { lex.log_defined = FALSE; lex.cache_defined = FALSE; yyval = (DSQL_NOD) NULL; } break; -case 474: +case 473: { yyval = make_node (nod_list, (int) 2, yyvsp[-1], yyvsp[0]); } break; -case 475: +case 474: { yyval = yyvsp[0]; } break; -case 476: +case 475: { yyval = make_node (nod_drop_log, (int) 0, NULL); } break; +case 476: +{ yyval = yyvsp[0]; } +break; case 477: { yyval = yyvsp[0]; } break; -case 478: -{ yyval = yyvsp[0]; } -break; -case 480: +case 479: { yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } break; -case 481: +case 480: { yyval = make_node (nod_mod_trigger, (int) e_trg_count, yyvsp[-6], NULL, yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-1], yyvsp[0], NULL, NULL); } break; -case 483: +case 482: +{ yyval = NULL; } +break; +case 484: { yyval = NULL; } break; case 485: -{ yyval = NULL; } -break; -case 486: { yyval = yyvsp[0]; } break; -case 487: +case 486: { yyval = make_node (nod_del_exception, 1, yyvsp[0]); } break; -case 488: +case 487: { yyval = make_node (nod_del_index, (int) 1, yyvsp[0]); } break; -case 489: +case 488: { yyval = make_node (nod_del_procedure, (int) 1, yyvsp[0]); } break; -case 490: +case 489: { yyval = make_node (nod_del_relation, (int) 1, yyvsp[0]); } break; -case 491: +case 490: { yyval = make_node (nod_del_trigger, (int) 1, yyvsp[0]); } break; -case 492: +case 491: { yyval = make_node (nod_del_view, (int) 1, yyvsp[0]); } break; -case 493: +case 492: { yyval = make_node (nod_del_filter, (int) 1, yyvsp[0]); } break; -case 494: +case 493: { yyval = make_node (nod_del_domain, (int) 1, yyvsp[0]); } break; -case 495: +case 494: { yyval = make_node (nod_del_udf, (int) 1, yyvsp[0]); } break; -case 496: +case 495: { yyval = make_node (nod_del_shadow, (int) 1, yyvsp[0]); } break; -case 497: +case 496: { yyval = make_node (nod_del_role, (int) 1, yyvsp[0]); } break; -case 498: +case 497: { yyval = make_node (nod_del_generator, (int) 1, yyvsp[0]); } break; -case 503: +case 502: { lex.g_field->fld_ranges = make_list (yyvsp[-1]); lex.g_field->fld_dimensions = lex.g_field->fld_ranges->nod_count / 2; lex.g_field->fld_element_dtype = lex.g_field->fld_dtype; yyval = yyvsp[-3]; } break; -case 504: +case 503: { lex.g_field->fld_ranges = make_list (yyvsp[-2]); lex.g_field->fld_dimensions = lex.g_field->fld_ranges->nod_count / 2; lex.g_field->fld_element_dtype = lex.g_field->fld_dtype; yyval = yyvsp[-4]; } break; -case 506: +case 505: { yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } break; -case 507: +case 506: { if ((SLONG) yyvsp[0] < 1) yyval = make_node (nod_list, (int) 2, MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG), @@ -7151,12 +7150,12 @@ case 507: MAKE_constant ((STR) 1, CONSTANT_SLONG), MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG) ); } break; -case 508: +case 507: { yyval = make_node (nod_list, (int) 2, MAKE_constant ((STR) yyvsp[-2], CONSTANT_SLONG), MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG)); } break; -case 514: +case 513: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (gds_sqlerr, gds_arg_number, (SLONG) -104, @@ -7174,19 +7173,19 @@ case 514: lex.g_field->fld_length = sizeof (SINT64); } break; -case 515: +case 514: { lex.g_field->fld_dtype = dtype_long; lex.g_field->fld_length = sizeof (SLONG); } break; -case 516: +case 515: { lex.g_field->fld_dtype = dtype_short; lex.g_field->fld_length = sizeof (SSHORT); } break; -case 517: +case 516: { *stmt_ambiguous = TRUE; if (client_dialect <= SQL_DIALECT_V5) @@ -7206,7 +7205,7 @@ case 517: } } break; -case 518: +case 517: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (gds_sqlerr, gds_arg_number, (SLONG) -104, @@ -7224,113 +7223,113 @@ case 518: lex.g_field->fld_length = sizeof (SLONG); } break; -case 519: +case 518: { lex.g_field->fld_dtype = dtype_timestamp; lex.g_field->fld_length = sizeof (GDS_TIMESTAMP); } break; -case 522: +case 521: { lex.g_field->fld_dtype = dtype_blob; } break; -case 523: +case 522: { lex.g_field->fld_dtype = dtype_blob; lex.g_field->fld_seg_length = (USHORT) yyvsp[-1]; lex.g_field->fld_sub_type = 0; } break; -case 524: +case 523: { lex.g_field->fld_dtype = dtype_blob; lex.g_field->fld_seg_length = (USHORT) yyvsp[-3]; lex.g_field->fld_sub_type = (USHORT) yyvsp[-1]; } break; -case 525: +case 524: { lex.g_field->fld_dtype = dtype_blob; lex.g_field->fld_seg_length = 80; lex.g_field->fld_sub_type = (USHORT) yyvsp[-1]; } break; -case 526: +case 525: { lex.g_field->fld_seg_length = (USHORT) yyvsp[0]; } break; -case 527: +case 526: { lex.g_field->fld_seg_length = (USHORT) 80; } break; -case 528: +case 527: { lex.g_field->fld_sub_type = (USHORT) yyvsp[0]; } break; -case 529: +case 528: { lex.g_field->fld_sub_type_name = yyvsp[0]; } break; -case 530: +case 529: { lex.g_field->fld_sub_type = (USHORT) 0; } break; -case 531: +case 530: { lex.g_field->fld_character_set = yyvsp[0]; } break; +case 532: +{ + lex.g_field->fld_dtype = dtype_text; + lex.g_field->fld_character_length = (USHORT) yyvsp[-1]; + lex.g_field->fld_flags |= FLD_national; + } +break; case 533: { lex.g_field->fld_dtype = dtype_text; - lex.g_field->fld_character_length = (USHORT) yyvsp[-1]; + lex.g_field->fld_character_length = 1; lex.g_field->fld_flags |= FLD_national; } break; case 534: { - lex.g_field->fld_dtype = dtype_text; - lex.g_field->fld_character_length = 1; + lex.g_field->fld_dtype = dtype_varying; + lex.g_field->fld_character_length = (USHORT) yyvsp[-1]; lex.g_field->fld_flags |= FLD_national; } break; case 535: { - lex.g_field->fld_dtype = dtype_varying; + lex.g_field->fld_dtype = dtype_text; lex.g_field->fld_character_length = (USHORT) yyvsp[-1]; - lex.g_field->fld_flags |= FLD_national; } break; case 536: -{ - lex.g_field->fld_dtype = dtype_text; - lex.g_field->fld_character_length = (USHORT) yyvsp[-1]; - } -break; -case 537: { lex.g_field->fld_dtype = dtype_text; lex.g_field->fld_character_length = 1; } break; -case 538: +case 537: { lex.g_field->fld_dtype = dtype_varying; lex.g_field->fld_character_length = (USHORT) yyvsp[-1]; } break; -case 547: +case 546: { lex.g_field->fld_sub_type = dsc_num_type_numeric; } break; -case 548: +case 547: { lex.g_field->fld_sub_type = dsc_num_type_decimal; if (lex.g_field->fld_dtype == dtype_short) @@ -7340,17 +7339,17 @@ case 548: }; } break; -case 549: +case 548: { yyval = make_node (nod_position, 1, yyvsp[0]); } break; -case 550: +case 549: { lex.g_field->fld_dtype = dtype_long; lex.g_field->fld_length = sizeof (SLONG); lex.g_field->fld_precision = 9; } break; -case 551: +case 550: { if ( ((SLONG) yyvsp[-1] < 1) || ((SLONG) yyvsp[-1] > 18) ) yyabandon (-842, isc_precision_err); @@ -7405,7 +7404,7 @@ case 551: lex.g_field->fld_precision = (USHORT) yyvsp[-1]; } break; -case 552: +case 551: { if ( ((SLONG) yyvsp[-3] < 1) || ((SLONG) yyvsp[-3] > 18) ) yyabandon (-842, isc_precision_err); @@ -7466,7 +7465,7 @@ case 552: lex.g_field->fld_scale = - (SSHORT) yyvsp[-1]; } break; -case 555: +case 554: { if ((SLONG) yyvsp[0] > 7) { @@ -7480,690 +7479,693 @@ case 555: } } break; -case 556: +case 555: { lex.g_field->fld_dtype = dtype_double; lex.g_field->fld_length = sizeof (double); } break; -case 557: +case 556: { lex.g_field->fld_dtype = dtype_real; lex.g_field->fld_length = sizeof (float); } break; -case 558: +case 557: { lex.g_field->fld_dtype = dtype_double; lex.g_field->fld_length = sizeof (double); } break; -case 559: +case 558: { yyval = yyvsp[-1]; } break; -case 560: +case 559: { yyval = 0; } break; -case 564: +case 563: { yyval = make_node (nod_set_generator2,e_gen_id_count,yyvsp[-2], MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG)); } break; -case 565: +case 564: { yyval = make_node (nod_set_generator2,e_gen_id_count,yyvsp[-2], MAKE_constant((STR)yyvsp[0], CONSTANT_SINT64)); } break; -case 566: +case 565: { yyval = make_node (nod_set_generator2, e_gen_id_count, yyvsp[-3], make_node(nod_negate, 1, MAKE_constant((STR)yyvsp[0], CONSTANT_SINT64))); } break; -case 567: +case 569: { yyval = make_node (nod_user_savepoint, 1, yyvsp[0]); } break; -case 568: -{ yyval = make_node (nod_undo_savepoint, 1, yyvsp[0]); } +case 570: +{ yyval = make_node (nod_release_savepoint, 1, yyvsp[0]); } break; case 571: +{ yyval = make_node (nod_undo_savepoint, 1, yyvsp[0]); } +break; +case 574: { yyval = make_node (nod_commit, 1, yyvsp[0]); } break; -case 572: +case 575: { yyval = make_node (nod_rollback, 0, NULL); } break; -case 575: +case 578: { yyval = make_node (nod_commit_retain, 0, NULL); } break; -case 576: -{ yyval = (DSQL_NOD) NULL; } -break; -case 578: -{ yyval = (DSQL_NOD) NULL; } -break; case 579: -{yyval = make_node (nod_trans, 1, make_list (yyvsp[0])); } +{ yyval = (DSQL_NOD) NULL; } break; case 581: { yyval = (DSQL_NOD) NULL; } break; -case 583: +case 582: +{yyval = make_node (nod_trans, 1, make_list (yyvsp[0])); } +break; +case 584: +{ yyval = (DSQL_NOD) NULL; } +break; +case 586: { yyval = make_node (nod_list, (int) 2, yyvsp[-1], yyvsp[0]); } break; -case 588: +case 591: { yyval = make_flag_node (nod_access, NOD_READ_ONLY, (int) 0, NULL); } break; -case 589: +case 592: { yyval = make_flag_node (nod_access, NOD_READ_WRITE, (int) 0, NULL); } break; -case 590: +case 593: { yyval = make_flag_node (nod_wait, NOD_WAIT, (int) 0, NULL); } break; -case 591: +case 594: { yyval = make_flag_node (nod_wait, NOD_NO_WAIT, (int) 0, NULL); } break; -case 592: -{ yyval = yyvsp[0];} -break; -case 594: -{ yyval = yyvsp[0];} -break; case 595: -{ yyval = make_flag_node (nod_isolation, NOD_READ_COMMITTED, 1, yyvsp[0]); } -break; -case 596: -{ yyval = make_flag_node (nod_isolation, NOD_READ_COMMITTED, 1, yyvsp[0]); } +{ yyval = yyvsp[0];} break; case 597: -{ yyval = make_flag_node (nod_isolation, NOD_CONCURRENCY, 0, NULL); } +{ yyval = yyvsp[0];} break; case 598: -{ yyval = make_flag_node (nod_isolation, NOD_CONSISTENCY, 0, NULL); } +{ yyval = make_flag_node (nod_isolation, NOD_READ_COMMITTED, 1, yyvsp[0]); } break; case 599: -{ yyval = make_flag_node (nod_isolation, NOD_CONSISTENCY, 0, NULL); } +{ yyval = make_flag_node (nod_isolation, NOD_READ_COMMITTED, 1, yyvsp[0]); } break; case 600: -{ yyval = make_flag_node (nod_version, NOD_VERSION, 0, NULL); } +{ yyval = make_flag_node (nod_isolation, NOD_CONCURRENCY, 0, NULL); } break; case 601: -{ yyval = make_flag_node (nod_version, NOD_NO_VERSION, 0, NULL); } +{ yyval = make_flag_node (nod_isolation, NOD_CONSISTENCY, 0, NULL); } break; case 602: -{ yyval = 0; } +{ yyval = make_flag_node (nod_isolation, NOD_CONSISTENCY, 0, NULL); } break; case 603: -{ yyval = make_node (nod_reserve, 1, make_list (yyvsp[0])); } +{ yyval = make_flag_node (nod_version, NOD_VERSION, 0, NULL); } break; case 604: -{ yyval = (DSQL_NOD) NOD_SHARED; } +{ yyval = make_flag_node (nod_version, NOD_NO_VERSION, 0, NULL); } break; case 605: -{ yyval = (DSQL_NOD) NOD_PROTECTED ; } -break; -case 606: -{ yyval = (DSQL_NOD) 0; } -break; -case 607: -{ yyval = (DSQL_NOD) NOD_READ; } -break; -case 608: -{ yyval = (DSQL_NOD) NOD_WRITE; } -break; -case 610: -{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } -break; -case 611: -{ yyval = make_node (nod_table_lock, (int) 2, make_list (yyvsp[-1]), yyvsp[0]); } -break; -case 612: -{ yyval = make_flag_node (nod_lock_mode, (SSHORT) ((SSHORT) yyvsp[-1] | (SSHORT) yyvsp[0]), (SSHORT) 0, NULL); } -break; -case 613: { yyval = 0; } break; -case 615: +case 606: +{ yyval = make_node (nod_reserve, 1, make_list (yyvsp[0])); } +break; +case 607: +{ yyval = (DSQL_NOD) NOD_SHARED; } +break; +case 608: +{ yyval = (DSQL_NOD) NOD_PROTECTED ; } +break; +case 609: +{ yyval = (DSQL_NOD) 0; } +break; +case 610: +{ yyval = (DSQL_NOD) NOD_READ; } +break; +case 611: +{ yyval = (DSQL_NOD) NOD_WRITE; } +break; +case 613: { yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } break; +case 614: +{ yyval = make_node (nod_table_lock, (int) 2, make_list (yyvsp[-1]), yyvsp[0]); } +break; +case 615: +{ yyval = make_flag_node (nod_lock_mode, (SSHORT) ((SSHORT) yyvsp[-1] | (SSHORT) yyvsp[0]), (SSHORT) 0, NULL); } +break; case 616: +{ yyval = 0; } +break; +case 618: +{ yyval = make_node (nod_list, (int) 2, yyvsp[-2], yyvsp[0]); } +break; +case 619: {yyval = make_node (nod_set_statistics, (int)e_stat_count, yyvsp[0]); } break; -case 617: +case 620: { yyval = make_node (nod_select, 3, yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; -case 618: +case 621: { yyval = make_node (nod_list, 1, yyvsp[0]); } break; -case 619: +case 622: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 620: +case 623: { yyval = make_flag_node (nod_list, NOD_UNION_ALL, 2, yyvsp[-3], yyvsp[0]); } break; -case 621: +case 624: { yyval = make_list (yyvsp[0]); } break; -case 622: -{ yyval = 0; } -break; -case 624: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } -break; case 625: -{ yyval = make_node (nod_order, e_order_count, yyvsp[-2], yyvsp[-1], yyvsp[0]); } -break; -case 626: { yyval = 0; } break; case 627: -{ yyval = make_node (nod_flag, 0, NULL); } +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; case 628: -{ yyval = 0; } +{ yyval = make_node (nod_order, e_order_count, yyvsp[-2], yyvsp[-1], yyvsp[0]); } break; case 629: -{ yyval = make_node (nod_flag, 0, NULL); } +{ yyval = 0; } break; case 630: -{ yyval = 0; } +{ yyval = make_node (nod_flag, 0, NULL); } break; case 631: -{ yyval = yyvsp[-1]; } +{ yyval = 0; } break; case 632: -{ yyval = 0; } +{ yyval = make_node (nod_flag, 0, NULL); } break; case 633: -{ yyval = make_node (nod_for_update, 2, yyvsp[-1], yyvsp[0]); } +{ yyval = 0; } break; case 634: -{ yyval = 0; } +{ yyval = yyvsp[-1]; } break; case 635: -{ yyval = yyvsp[0]; } -break; -case 636: -{ yyval = make_node (nod_flag, 0, NULL); } -break; -case 637: -{ yyval = make_node (nod_flag, 0, NULL); } -break; -case 638: { yyval = 0; } break; +case 636: +{ yyval = make_node (nod_for_update, 2, yyvsp[-1], yyvsp[0]); } +break; +case 637: +{ yyval = 0; } +break; +case 638: +{ yyval = yyvsp[0]; } +break; case 639: +{ yyval = make_node (nod_flag, 0, NULL); } +break; +case 640: +{ yyval = make_node (nod_flag, 0, NULL); } +break; +case 641: +{ yyval = 0; } +break; +case 642: { yyval = make_node (nod_select_expr, e_sel_count, yyvsp[-7], yyvsp[-6], yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0], NULL, NULL); } break; -case 640: +case 643: { yyval = make_node (nod_select_expr, e_sel_count, yyvsp[-8], yyvsp[-7], yyvsp[-6], yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0], NULL); } break; -case 641: +case 644: { lex.limit_clause = true; } break; -case 642: +case 645: { lex.limit_clause = false; } break; -case 643: +case 646: { lex.first_detection = true; } break; -case 644: +case 647: { lex.first_detection = false; } break; -case 645: +case 648: { yyval = make_node (nod_limit, e_limit_count, yyvsp[-1], yyvsp[-2]); } break; -case 646: +case 649: { yyval = make_node (nod_limit, e_limit_count, NULL, yyvsp[-1]); } break; -case 647: +case 650: { yyval = make_node (nod_limit, e_limit_count, yyvsp[0], NULL); } break; -case 648: -{ yyval = 0; } -break; -case 649: -{ yyval = MAKE_constant ((STR) yyvsp[-1], CONSTANT_SLONG); } -break; -case 650: -{ yyval = yyvsp[-2]; } -break; case 651: -{ yyval = yyvsp[-1]; } +{ yyval = 0; } break; case 652: -{ yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG); } +{ yyval = MAKE_constant ((STR) yyvsp[-1], CONSTANT_SLONG); } break; case 653: -{ yyval = yyvsp[-1]; } +{ yyval = yyvsp[-2]; } break; case 654: -{ yyval = yyvsp[0]; } +{ yyval = yyvsp[-1]; } break; case 655: -{ yyval = make_node (nod_flag, 0, NULL); } +{ yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG); } break; case 656: -{ yyval = 0; } +{ yyval = yyvsp[-1]; } break; case 657: -{ yyval = make_list (yyvsp[0]); } +{ yyval = yyvsp[0]; } break; case 658: +{ yyval = make_node (nod_flag, 0, NULL); } +break; +case 659: { yyval = 0; } break; case 660: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } -break; -case 662: -{ yyval = make_node (nod_alias, 2, yyvsp[-1], yyvsp[0]); } -break; -case 663: -{ yyval = make_node (nod_alias, 2, yyvsp[-2], yyvsp[0]); } -break; -case 664: { yyval = make_list (yyvsp[0]); } break; -case 666: +case 661: +{ yyval = 0; } +break; +case 663: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; +case 665: +{ yyval = make_node (nod_alias, 2, yyvsp[-1], yyvsp[0]); } +break; +case 666: +{ yyval = make_node (nod_alias, 2, yyvsp[-2], yyvsp[0]); } +break; +case 667: +{ yyval = make_list (yyvsp[0]); } +break; case 669: +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } +break; +case 672: { yyval = make_node (nod_join, (int) e_join_count, yyvsp[-5], yyvsp[-4], yyvsp[-2], yyvsp[0]); } break; -case 670: +case 673: { yyval = yyvsp[-1]; } break; -case 671: +case 674: { yyval = make_node (nod_rel_proc_name, (int) e_rpn_count, yyvsp[-2], yyvsp[0], yyvsp[-1]); } break; -case 672: +case 675: { yyval = make_node (nod_rel_proc_name, (int) e_rpn_count, yyvsp[-1], NULL, yyvsp[0]); } break; -case 673: +case 676: { yyval = make_list (yyvsp[-1]); } break; -case 674: +case 677: { yyval = NULL; } break; -case 676: +case 679: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 680: +case 683: { yyval = make_node (nod_relation_name, (int) e_rln_count, yyvsp[-1], yyvsp[0]); } break; -case 681: +case 684: { yyval = make_node (nod_relation_name, (int) e_rln_count, yyvsp[0], NULL); } break; -case 682: -{ yyval = make_node (nod_join_inner, (int) 0, NULL); } -break; -case 683: -{ yyval = make_node (nod_join_left, (int) 0, NULL); } -break; -case 684: -{ yyval = make_node (nod_join_left, (int) 0, NULL); } -break; case 685: -{ yyval = make_node (nod_join_right, (int) 0, NULL); } +{ yyval = make_node (nod_join_inner, (int) 0, NULL); } break; case 686: -{ yyval = make_node (nod_join_right, (int) 0, NULL); } +{ yyval = make_node (nod_join_left, (int) 0, NULL); } break; case 687: -{ yyval = make_node (nod_join_full, (int) 0, NULL); } +{ yyval = make_node (nod_join_left, (int) 0, NULL); } break; case 688: -{ yyval = make_node (nod_join_full, (int) 0, NULL); } +{ yyval = make_node (nod_join_right, (int) 0, NULL); } break; case 689: -{ yyval = make_node (nod_join_inner, (int) 0, NULL); } +{ yyval = make_node (nod_join_right, (int) 0, NULL); } break; case 690: -{ yyval = make_list (yyvsp[0]); } +{ yyval = make_node (nod_join_full, (int) 0, NULL); } break; case 691: -{ yyval = 0; } +{ yyval = make_node (nod_join_full, (int) 0, NULL); } +break; +case 692: +{ yyval = make_node (nod_join_inner, (int) 0, NULL); } break; case 693: +{ yyval = make_list (yyvsp[0]); } +break; +case 694: +{ yyval = 0; } +break; +case 696: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 698: +case 701: { yyval = make_node (nod_collate, e_coll_count, (DSQL_NOD) yyvsp[0], yyvsp[-2]); } break; -case 702: -{ yyval = yyvsp[0]; } -break; -case 703: -{ yyval = 0; } -break; -case 704: -{ yyval = yyvsp[0]; } -break; case 705: -{ yyval = 0; } +{ yyval = yyvsp[0]; } break; case 706: -{ yyval = yyvsp[0]; } +{ yyval = 0; } break; case 707: -{ yyval = 0; } +{ yyval = yyvsp[0]; } break; case 708: -{ yyval = make_node (nod_plan_expr, 2, yyvsp[-3], make_list (yyvsp[-1])); } -break; -case 709: { yyval = 0; } break; +case 709: +{ yyval = yyvsp[0]; } +break; case 710: -{ yyval = make_node (nod_merge, (int) 0, NULL); } +{ yyval = 0; } break; case 711: -{ yyval = make_node (nod_merge, (int) 0, NULL); } +{ yyval = make_node (nod_plan_expr, 2, yyvsp[-3], make_list (yyvsp[-1])); } break; case 712: { yyval = 0; } break; case 713: -{ yyval = 0; } +{ yyval = make_node (nod_merge, (int) 0, NULL); } +break; +case 714: +{ yyval = make_node (nod_merge, (int) 0, NULL); } break; case 715: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } +{ yyval = 0; } break; case 716: -{ yyval = make_node (nod_plan_item, 2, make_list (yyvsp[-1]), yyvsp[0]); } +{ yyval = 0; } break; -case 719: -{ yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); } -break; -case 720: -{ yyval = make_node (nod_natural, (int) 0, NULL); } -break; -case 721: -{ yyval = make_node (nod_index, 1, make_list (yyvsp[-1])); } -break; -case 722: -{ yyval = make_node (nod_index_order, 1, yyvsp[0]); } -break; -case 724: +case 718: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; +case 719: +{ yyval = make_node (nod_plan_item, 2, make_list (yyvsp[-1]), yyvsp[0]); } +break; +case 722: +{ yyval = make_node (nod_list, 2, yyvsp[-1], yyvsp[0]); } +break; +case 723: +{ yyval = make_node (nod_natural, (int) 0, NULL); } +break; +case 724: +{ yyval = make_node (nod_index, 1, make_list (yyvsp[-1])); } +break; case 725: +{ yyval = make_node (nod_index_order, 1, yyvsp[0]); } +break; +case 727: +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } +break; +case 728: { yyval = make_node (nod_insert, e_ins_count, yyvsp[-5], make_list (yyvsp[-4]), make_list (yyvsp[-1]), NULL); } break; -case 726: +case 729: { yyval = make_node (nod_insert, e_ins_count, yyvsp[-2], yyvsp[-1], NULL, yyvsp[0]); } break; -case 728: +case 731: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 731: +case 734: { yyval = make_node (nod_delete, e_del_count, yyvsp[-1], yyvsp[0], NULL); } break; -case 732: +case 735: { yyval = make_node (nod_delete, e_del_count, yyvsp[-1], NULL, yyvsp[0]); } break; -case 733: +case 736: { yyval = make_node (nod_cursor, e_cur_count, yyvsp[0], NULL, NULL); } break; -case 736: +case 739: { yyval = make_node (nod_update, e_upd_count, yyvsp[-3], make_list (yyvsp[-1]), yyvsp[0], NULL); } break; -case 737: +case 740: { yyval = make_node (nod_update, e_upd_count, yyvsp[-3], make_list (yyvsp[-1]), NULL, yyvsp[0]); } break; -case 739: +case 742: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 740: -{ yyval = make_node (nod_assign, 2, yyvsp[0], yyvsp[-2]); } -break; case 743: -{ yyval = make_node (nod_get_segment, e_blb_count, yyvsp[-4], yyvsp[-2], yyvsp[-1], yyvsp[0]); } -break; -case 744: -{ yyval = make_node (nod_put_segment, e_blb_count, yyvsp[-4], yyvsp[-2], yyvsp[-1], yyvsp[0]); } -break; -case 745: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } +{ yyval = make_node (nod_assign, 2, yyvsp[0], yyvsp[-2]); } break; case 746: +{ yyval = make_node (nod_get_segment, e_blb_count, yyvsp[-4], yyvsp[-2], yyvsp[-1], yyvsp[0]); } +break; +case 747: +{ yyval = make_node (nod_put_segment, e_blb_count, yyvsp[-4], yyvsp[-2], yyvsp[-1], yyvsp[0]); } +break; +case 748: +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } +break; +case 749: { yyval = make_node (nod_list, 2, NULL, yyvsp[0]); } break; -case 750: -{ yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG); } -break; -case 751: -{ yyval = yyvsp[0]; } -break; case 753: { yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG); } break; -case 756: -{ yyval = NULL; } +case 754: +{ yyval = yyvsp[0]; } break; -case 757: -{ yyval = make_list (yyvsp[-1]); } +case 756: +{ yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG); } break; case 759: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } -break; -case 761: { yyval = NULL; } break; -case 762: +case 760: { yyval = make_list (yyvsp[-1]); } break; -case 764: +case 762: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 766: -{ yyval = make_node (nod_field_name, (int) e_fln_count, - yyvsp[-2], yyvsp[0]); } +case 764: +{ yyval = NULL; } +break; +case 765: +{ yyval = make_list (yyvsp[-1]); } break; case 767: -{ yyval = make_node (nod_field_name, (int) e_fln_count, - yyvsp[-2], NULL); } +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 768: -{ yyval = make_node (nod_field_name, (int) e_fln_count, - NULL, yyvsp[0]); } +case 769: +{ yyval = make_node (nod_field_name, (int) e_fln_count, + yyvsp[-2], yyvsp[0]); } break; case 770: { yyval = make_node (nod_field_name, (int) e_fln_count, - yyvsp[-2], yyvsp[0]); } + yyvsp[-2], NULL); } break; -case 772: -{ yyval = make_node (nod_or, 2, yyvsp[-2], yyvsp[0]); } +case 771: +{ yyval = make_node (nod_field_name, (int) e_fln_count, + NULL, yyvsp[0]); } break; case 773: +{ yyval = make_node (nod_field_name, (int) e_fln_count, + yyvsp[-2], yyvsp[0]); } +break; +case 775: +{ yyval = make_node (nod_or, 2, yyvsp[-2], yyvsp[0]); } +break; +case 776: { yyval = make_node (nod_and, 2, yyvsp[-2], yyvsp[0]); } break; -case 774: +case 777: { yyval = make_node (nod_not, 1, yyvsp[0]); } break; -case 786: +case 789: { yyval = yyvsp[-1]; } break; -case 787: +case 790: { yyval = make_node (nod_eql, 2, yyvsp[-2], yyvsp[0]); } break; -case 788: +case 791: { yyval = make_node (nod_lss, 2, yyvsp[-2], yyvsp[0]); } break; -case 789: -{ yyval = make_node (nod_gtr, 2, yyvsp[-2], yyvsp[0]); } -break; -case 790: -{ yyval = make_node (nod_geq, 2, yyvsp[-2], yyvsp[0]); } -break; -case 791: -{ yyval = make_node (nod_leq, 2, yyvsp[-2], yyvsp[0]); } -break; case 792: -{ yyval = make_node (nod_leq, 2, yyvsp[-2], yyvsp[0]); } +{ yyval = make_node (nod_gtr, 2, yyvsp[-2], yyvsp[0]); } break; case 793: { yyval = make_node (nod_geq, 2, yyvsp[-2], yyvsp[0]); } break; case 794: -{ yyval = make_node (nod_neq, 2, yyvsp[-2], yyvsp[0]); } +{ yyval = make_node (nod_leq, 2, yyvsp[-2], yyvsp[0]); } break; case 795: -{ yyval = make_node (nod_eql_all, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_leq, 2, yyvsp[-2], yyvsp[0]); } break; case 796: -{ yyval = make_node (nod_lss_all, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_geq, 2, yyvsp[-2], yyvsp[0]); } break; case 797: -{ yyval = make_node (nod_gtr_all, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_neq, 2, yyvsp[-2], yyvsp[0]); } break; case 798: -{ yyval = make_node (nod_geq_all, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_eql_all, 2, yyvsp[-5], yyvsp[-1]); } break; case 799: -{ yyval = make_node (nod_leq_all, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_lss_all, 2, yyvsp[-5], yyvsp[-1]); } break; case 800: -{ yyval = make_node (nod_leq_all, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_gtr_all, 2, yyvsp[-5], yyvsp[-1]); } break; case 801: { yyval = make_node (nod_geq_all, 2, yyvsp[-5], yyvsp[-1]); } break; case 802: -{ yyval = make_node (nod_neq_all, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_leq_all, 2, yyvsp[-5], yyvsp[-1]); } break; case 803: -{ yyval = make_node (nod_eql_any, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_leq_all, 2, yyvsp[-5], yyvsp[-1]); } break; case 804: -{ yyval = make_node (nod_lss_any, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_geq_all, 2, yyvsp[-5], yyvsp[-1]); } break; case 805: -{ yyval = make_node (nod_gtr_any, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_neq_all, 2, yyvsp[-5], yyvsp[-1]); } break; case 806: -{ yyval = make_node (nod_geq_any, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_eql_any, 2, yyvsp[-5], yyvsp[-1]); } break; case 807: -{ yyval = make_node (nod_leq_any, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_lss_any, 2, yyvsp[-5], yyvsp[-1]); } break; case 808: -{ yyval = make_node (nod_leq_any, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_gtr_any, 2, yyvsp[-5], yyvsp[-1]); } break; case 809: { yyval = make_node (nod_geq_any, 2, yyvsp[-5], yyvsp[-1]); } break; case 810: -{ yyval = make_node (nod_neq_any, 2, yyvsp[-5], yyvsp[-1]); } +{ yyval = make_node (nod_leq_any, 2, yyvsp[-5], yyvsp[-1]); } +break; +case 811: +{ yyval = make_node (nod_leq_any, 2, yyvsp[-5], yyvsp[-1]); } +break; +case 812: +{ yyval = make_node (nod_geq_any, 2, yyvsp[-5], yyvsp[-1]); } break; case 813: +{ yyval = make_node (nod_neq_any, 2, yyvsp[-5], yyvsp[-1]); } +break; +case 816: { yyval = make_node (nod_between, 3, yyvsp[-4], yyvsp[-2], yyvsp[0]); } break; -case 814: +case 817: { yyval = make_node (nod_not, 1, make_node (nod_between, 3, yyvsp[-5], yyvsp[-2], yyvsp[0])); } break; -case 815: +case 818: { yyval = make_node (nod_like, 2, yyvsp[-2], yyvsp[0]); } break; -case 816: +case 819: { yyval = make_node (nod_not, 1, make_node (nod_like, 2, yyvsp[-3], yyvsp[0])); } break; -case 817: +case 820: { yyval = make_node (nod_like, 3, yyvsp[-4], yyvsp[-2], yyvsp[0]); } break; -case 818: +case 821: { yyval = make_node (nod_not, 1, make_node (nod_like, 3, yyvsp[-5], yyvsp[-2], yyvsp[0])); } break; -case 819: +case 822: { yyval = make_node (nod_eql_any, 2, yyvsp[-2], yyvsp[0]); } break; -case 820: +case 823: { yyval = make_node (nod_not, 1, make_node (nod_eql_any, 2, yyvsp[-3], yyvsp[0])); } break; -case 821: +case 824: { yyval = make_node (nod_containing, 2, yyvsp[-2], yyvsp[0]); } break; -case 822: +case 825: { yyval = make_node (nod_not, 1, make_node (nod_containing, 2, yyvsp[-3], yyvsp[0])); } break; -case 823: +case 826: { yyval = make_node (nod_starting, 2, yyvsp[-2], yyvsp[0]); } break; -case 824: +case 827: { yyval = make_node (nod_not, 1, make_node (nod_starting, 2, yyvsp[-3], yyvsp[0])); } break; -case 825: +case 828: { yyval = make_node (nod_starting, 2, yyvsp[-3], yyvsp[0]); } break; -case 826: +case 829: { yyval = make_node (nod_not, 1, make_node (nod_starting, 2, yyvsp[-4], yyvsp[0])); } break; -case 827: +case 830: { yyval = make_node (nod_exists, 1, yyvsp[-1]); } break; -case 828: +case 831: { yyval = make_node (nod_singular, 1, yyvsp[-1]); } break; -case 829: +case 832: { yyval = make_node (nod_missing, 1, yyvsp[-2]); } break; -case 830: +case 833: { yyval = make_node (nod_not, 1, make_node (nod_missing, 1, yyvsp[-3])); } break; -case 831: +case 834: { yyval = make_node (nod_eql, 2, make_node (nod_internal_info, e_internal_info_count, MAKE_constant ((STR) internal_trigger_action, CONSTANT_SLONG)), MAKE_constant ((STR) 1, CONSTANT_SLONG)); } break; -case 832: +case 835: { yyval = make_node (nod_eql, 2, make_node (nod_internal_info, e_internal_info_count, MAKE_constant ((STR) internal_trigger_action, CONSTANT_SLONG)), MAKE_constant ((STR) 2, CONSTANT_SLONG)); } break; -case 833: +case 836: { yyval = make_node (nod_eql, 2, make_node (nod_internal_info, e_internal_info_count, MAKE_constant ((STR) internal_trigger_action, CONSTANT_SLONG)), MAKE_constant ((STR) 3, CONSTANT_SLONG)); } break; -case 835: +case 838: { yyval = make_list (yyvsp[-1]); } break; -case 836: +case 839: { yyval = yyvsp[-1]; } break; -case 837: +case 840: { yyval = make_node (nod_select_expr, e_sel_count, yyvsp[-8], yyvsp[-7], make_list (yyvsp[-6]), yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0], NULL); } break; -case 838: +case 841: { yyval = make_node (nod_select_expr, e_sel_count, yyvsp[-8], yyvsp[-7], make_list (yyvsp[-6]), yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0], MAKE_constant ((STR) 1, CONSTANT_SLONG)); } break; -case 848: +case 851: { yyval = make_node (nod_negate, 1, yyvsp[0]); } break; -case 849: +case 852: { yyval = yyvsp[0]; } break; -case 850: +case 853: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_add2, 2, yyvsp[-2], yyvsp[0]); @@ -8171,13 +8173,13 @@ case 850: yyval = make_node (nod_add, 2, yyvsp[-2], yyvsp[0]); } break; -case 851: +case 854: { yyval = make_node (nod_concatenate, 2, yyvsp[-2], yyvsp[0]); } break; -case 852: +case 855: { yyval = make_node (nod_collate, e_coll_count, (DSQL_NOD) yyvsp[0], yyvsp[-2]); } break; -case 853: +case 856: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_subtract2, 2, yyvsp[-2], yyvsp[0]); @@ -8185,7 +8187,7 @@ case 853: yyval = make_node (nod_subtract, 2, yyvsp[-2], yyvsp[0]); } break; -case 854: +case 857: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_multiply2, 2, yyvsp[-2], yyvsp[0]); @@ -8193,7 +8195,7 @@ case 854: yyval = make_node (nod_multiply, 2, yyvsp[-2], yyvsp[0]); } break; -case 855: +case 858: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_divide2, 2, yyvsp[-2], yyvsp[0]); @@ -8201,27 +8203,27 @@ case 855: yyval = make_node (nod_divide, 2, yyvsp[-2], yyvsp[0]); } break; -case 856: +case 859: { yyval = yyvsp[-1]; } break; -case 857: +case 860: { yyval = yyvsp[-1]; } break; -case 861: +case 864: { yyval = make_node (nod_dbkey, 1, NULL); } break; -case 862: +case 865: { yyval = make_node (nod_dbkey, 1, yyvsp[-2]); } break; -case 863: +case 866: { yyval = make_node (nod_dom_value, 0, NULL); } break; -case 864: +case 867: { yyval = yyvsp[0]; } break; -case 865: +case 868: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (gds_sqlerr, gds_arg_number, (SLONG) -104, @@ -8238,7 +8240,7 @@ case 865: yyval = make_node (nod_current_date, 0, NULL); } break; -case 866: +case 869: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (gds_sqlerr, gds_arg_number, (SLONG) -104, @@ -8255,37 +8257,37 @@ case 866: yyval = make_node (nod_current_time, 0, NULL); } break; -case 867: +case 870: { yyval = make_node (nod_current_timestamp, 0, NULL); } break; -case 868: +case 871: { yyval = make_node (nod_array, 2, yyvsp[-3], make_list (yyvsp[-1])); } break; -case 870: +case 873: { yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; -case 872: +case 875: { yyval = make_node (nod_negate, 1, yyvsp[0]); } break; -case 873: +case 876: { yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_STRING); } break; -case 874: +case 877: { yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SLONG); } break; -case 875: +case 878: { yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_DOUBLE); } break; -case 876: -{ yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SINT64); } -break; -case 877: -{ yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SINT64); } -break; case 879: -{ yyval = MAKE_str_constant ((STR) yyvsp[0], lex.att_charset); } +{ yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SINT64); } break; case 880: +{ yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_SINT64); } +break; +case 882: +{ yyval = MAKE_str_constant ((STR) yyvsp[0], lex.att_charset); } +break; +case 883: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (gds_sqlerr, gds_arg_number, (SLONG) -104, @@ -8302,7 +8304,7 @@ case 880: yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_DATE); } break; -case 881: +case 884: { if (client_dialect < SQL_DIALECT_V6_TRANSITION) ERRD_post (gds_sqlerr, gds_arg_number, (SLONG) -104, @@ -8319,92 +8321,92 @@ case 881: yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_TIME); } break; -case 882: +case 885: { yyval = MAKE_constant ((STR) yyvsp[0], CONSTANT_TIMESTAMP); } break; -case 883: +case 886: { yyval = make_parameter (); } break; -case 884: -{ yyval = make_node (nod_user_name, 0, NULL); } -break; -case 885: -{ yyval = make_node (nod_user_name, 0, NULL); } -break; -case 886: -{ yyval = make_node (nod_current_role, 0, NULL); } -break; case 887: -{ yyval = make_node (nod_internal_info, e_internal_info_count, - MAKE_constant ((STR) internal_connection_id, CONSTANT_SLONG)); } +{ yyval = make_node (nod_user_name, 0, NULL); } break; case 888: -{ yyval = make_node (nod_internal_info, e_internal_info_count, - MAKE_constant ((STR) internal_transaction_id, CONSTANT_SLONG)); } +{ yyval = make_node (nod_user_name, 0, NULL); } break; case 889: -{ yyval = make_node (nod_internal_info, e_internal_info_count, - MAKE_constant ((STR) internal_gdscode, CONSTANT_SLONG)); } +{ yyval = make_node (nod_current_role, 0, NULL); } break; case 890: { yyval = make_node (nod_internal_info, e_internal_info_count, - MAKE_constant ((STR) internal_sqlcode, CONSTANT_SLONG)); } + MAKE_constant ((STR) internal_connection_id, CONSTANT_SLONG)); } break; case 891: { yyval = make_node (nod_internal_info, e_internal_info_count, - MAKE_constant ((STR) internal_rows_affected, CONSTANT_SLONG)); } + MAKE_constant ((STR) internal_transaction_id, CONSTANT_SLONG)); } break; case 892: -{ yyval = yyvsp[0]; } +{ yyval = make_node (nod_internal_info, e_internal_info_count, + MAKE_constant ((STR) internal_gdscode, CONSTANT_SLONG)); } break; case 893: +{ yyval = make_node (nod_internal_info, e_internal_info_count, + MAKE_constant ((STR) internal_sqlcode, CONSTANT_SLONG)); } +break; +case 894: +{ yyval = make_node (nod_internal_info, e_internal_info_count, + MAKE_constant ((STR) internal_rows_affected, CONSTANT_SLONG)); } +break; +case 895: +{ yyval = yyvsp[0]; } +break; +case 896: { ((STR) yyvsp[0])->str_charset = (TEXT *) yyvsp[-1]; yyval = yyvsp[0]; } break; -case 895: +case 898: { yyval = (DSQL_NOD) - (SLONG) yyvsp[0]; } break; -case 896: +case 899: { if ((SLONG) yyvsp[0] > SHRT_POS_MAX) yyabandon (-842, isc_expec_short); /* Short integer expected */ yyval = yyvsp[0];} break; -case 897: +case 900: { if ((SLONG) yyvsp[0] > SHRT_NEG_MAX) yyabandon (-842, isc_expec_short); /* Short integer expected */ yyval = yyvsp[0];} break; -case 898: +case 901: { if ((SLONG) yyvsp[0] == 0) yyabandon (-842, isc_expec_positive); /* Positive number expected */ yyval = yyvsp[0];} break; -case 899: +case 902: { if ((SLONG) yyvsp[0] > SHRT_UNSIGNED_MAX) yyabandon (-842, isc_expec_ushort); /* Unsigned short integer expected */ yyval = yyvsp[0];} break; -case 901: +case 904: { yyval = (DSQL_NOD) - (SLONG) yyvsp[0]; } break; -case 902: +case 905: { yyval = yyvsp[0];} break; -case 907: +case 910: { yyval = make_node (nod_agg_count, 0, NULL); } break; -case 908: +case 911: { yyval = make_node (nod_agg_count, 1, yyvsp[-1]); } break; -case 909: +case 912: { yyval = make_flag_node (nod_agg_count, NOD_AGG_DISTINCT, 1, yyvsp[-1]); } break; -case 910: +case 913: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_agg_total2, 1, yyvsp[-1]); @@ -8412,7 +8414,7 @@ case 910: yyval = make_node (nod_agg_total, 1, yyvsp[-1]); } break; -case 911: +case 914: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_flag_node (nod_agg_total2, @@ -8422,7 +8424,7 @@ case 911: NOD_AGG_DISTINCT, 1, yyvsp[-1]); } break; -case 912: +case 915: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_agg_average2, 1, yyvsp[-1]); @@ -8430,7 +8432,7 @@ case 912: yyval = make_node (nod_agg_average, 1, yyvsp[-1]); } break; -case 913: +case 916: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_flag_node (nod_agg_average2, @@ -8440,19 +8442,19 @@ case 913: NOD_AGG_DISTINCT, 1, yyvsp[-1]); } break; -case 914: -{ yyval = make_node (nod_agg_min, 1, yyvsp[-1]); } -break; -case 915: -{ yyval = make_node (nod_agg_min, 1, yyvsp[-1]); } -break; -case 916: -{ yyval = make_node (nod_agg_max, 1, yyvsp[-1]); } -break; case 917: -{ yyval = make_node (nod_agg_max, 1, yyvsp[-1]); } +{ yyval = make_node (nod_agg_min, 1, yyvsp[-1]); } break; case 918: +{ yyval = make_node (nod_agg_min, 1, yyvsp[-1]); } +break; +case 919: +{ yyval = make_node (nod_agg_max, 1, yyvsp[-1]); } +break; +case 920: +{ yyval = make_node (nod_agg_max, 1, yyvsp[-1]); } +break; +case 921: { if (client_dialect >= SQL_DIALECT_V6_TRANSITION) yyval = make_node (nod_gen_id2, 2, yyvsp[-3], yyvsp[-1]); @@ -8460,88 +8462,88 @@ case 918: yyval = make_node (nod_gen_id, 2, yyvsp[-3], yyvsp[-1]); } break; -case 919: +case 922: { yyval = make_node (nod_extract, e_extract_count, yyvsp[-3], yyvsp[-1]); } break; -case 920: +case 923: { yyval = make_node (nod_substr, e_substr_count, yyvsp[-3], MAKE_constant ((STR) ((SLONG)(yyvsp[-1]) - 1), CONSTANT_SLONG), MAKE_constant ((STR) SHRT_POS_MAX, CONSTANT_SLONG)); } break; -case 921: +case 924: { yyval = make_node (nod_substr, e_substr_count, yyvsp[-5], MAKE_constant ((STR) ((SLONG)(yyvsp[-3]) - 1), CONSTANT_SLONG), MAKE_constant ((STR) (yyvsp[-1]), CONSTANT_SLONG)); } break; -case 922: +case 925: { yyval = make_node (nod_upcase, 1, yyvsp[-1]); } break; -case 923: +case 926: { yyval = make_node (nod_udf, 2, yyvsp[-3], yyvsp[-1]); } break; -case 924: +case 927: { yyval = make_node (nod_udf, 1, yyvsp[-2]); } break; -case 925: +case 928: { yyval = make_node (nod_cast, e_cast_count, yyvsp[-1], yyvsp[-3]); } break; -case 928: +case 931: { yyval = make_node (nod_searched_case, 2, make_node (nod_list, 2, make_node (nod_eql, 2, yyvsp[-3], yyvsp[-1]), make_node (nod_null, 0, NULL)), yyvsp[-3]); } break; -case 929: +case 932: { yyval = make_node (nod_coalesce, 2, yyvsp[-3], yyvsp[-1]); } break; -case 932: +case 935: { yyval = make_node (nod_simple_case, 3, yyvsp[-2], make_list(yyvsp[-1]), make_node (nod_null, 0, NULL)); } break; -case 933: +case 936: { yyval = make_node (nod_simple_case, 3, yyvsp[-4], make_list(yyvsp[-3]), yyvsp[-1]); } break; -case 934: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } -break; -case 935: -{ yyval = make_node (nod_list, 2, yyvsp[-4], make_node (nod_list, 2, yyvsp[-2], yyvsp[0])); } -break; -case 936: -{ yyval = make_node (nod_searched_case, 2, make_list(yyvsp[-1]), make_node (nod_null, 0, NULL)); } -break; case 937: -{ yyval = make_node (nod_searched_case, 2, make_list(yyvsp[-3]), yyvsp[-1]); } +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } break; case 938: -{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } -break; -case 939: { yyval = make_node (nod_list, 2, yyvsp[-4], make_node (nod_list, 2, yyvsp[-2], yyvsp[0])); } break; -case 943: -{ yyval = MAKE_constant ((STR)blr_extract_year, CONSTANT_SLONG); } +case 939: +{ yyval = make_node (nod_searched_case, 2, make_list(yyvsp[-1]), make_node (nod_null, 0, NULL)); } break; -case 944: -{ yyval = MAKE_constant ((STR)blr_extract_month, CONSTANT_SLONG); } +case 940: +{ yyval = make_node (nod_searched_case, 2, make_list(yyvsp[-3]), yyvsp[-1]); } break; -case 945: -{ yyval = MAKE_constant ((STR)blr_extract_day, CONSTANT_SLONG); } +case 941: +{ yyval = make_node (nod_list, 2, yyvsp[-2], yyvsp[0]); } +break; +case 942: +{ yyval = make_node (nod_list, 2, yyvsp[-4], make_node (nod_list, 2, yyvsp[-2], yyvsp[0])); } break; case 946: -{ yyval = MAKE_constant ((STR)blr_extract_hour, CONSTANT_SLONG); } +{ yyval = MAKE_constant ((STR)blr_extract_year, CONSTANT_SLONG); } break; case 947: -{ yyval = MAKE_constant ((STR)blr_extract_minute, CONSTANT_SLONG); } +{ yyval = MAKE_constant ((STR)blr_extract_month, CONSTANT_SLONG); } break; case 948: -{ yyval = MAKE_constant ((STR)blr_extract_second, CONSTANT_SLONG); } +{ yyval = MAKE_constant ((STR)blr_extract_day, CONSTANT_SLONG); } break; case 949: -{ yyval = MAKE_constant ((STR)blr_extract_weekday, CONSTANT_SLONG); } +{ yyval = MAKE_constant ((STR)blr_extract_hour, CONSTANT_SLONG); } break; case 950: -{ yyval = MAKE_constant ((STR)blr_extract_yearday, CONSTANT_SLONG); } +{ yyval = MAKE_constant ((STR)blr_extract_minute, CONSTANT_SLONG); } +break; +case 951: +{ yyval = MAKE_constant ((STR)blr_extract_second, CONSTANT_SLONG); } +break; +case 952: +{ yyval = MAKE_constant ((STR)blr_extract_weekday, CONSTANT_SLONG); } break; case 953: +{ yyval = MAKE_constant ((STR)blr_extract_yearday, CONSTANT_SLONG); } +break; +case 956: { yyval = make_node (nod_null, 0, NULL); } break; } diff --git a/src/dsql/parse.y b/src/dsql/parse.y index d86ff83942..ec6404b6d1 100644 --- a/src/dsql/parse.y +++ b/src/dsql/parse.y @@ -489,6 +489,7 @@ static struct LexerState lex; %token ROW_COUNT %token LOCK %token SAVEPOINT +%token RELEASE %token STATEMENT %token LEAVE %token INSERTING @@ -543,8 +544,7 @@ statement : alter | replace | revoke | rollback - | user_savepoint - | undo_savepoint + | savepoint | select | set | update @@ -2639,9 +2639,18 @@ set_generator : SET GENERATOR symbol_generator_name TO signed_long_integer /* transaction statements */ -user_savepoint : SAVEPOINT symbol_savepoint_name +savepoint : set_savepoint + | release_savepoint + | undo_savepoint + ; + +set_savepoint : SAVEPOINT symbol_savepoint_name { $$ = make_node (nod_user_savepoint, 1, $2); } ; + +release_savepoint : RELEASE SAVEPOINT symbol_savepoint_name + { $$ = make_node (nod_release_savepoint, 1, $3); } + ; undo_savepoint : ROLLBACK optional_work TO optional_savepoint symbol_savepoint_name { $$ = make_node (nod_undo_savepoint, 1, $5); } diff --git a/src/dsql/pass1.cpp b/src/dsql/pass1.cpp index 52b013af01..52d72ae90c 100644 --- a/src/dsql/pass1.cpp +++ b/src/dsql/pass1.cpp @@ -1405,6 +1405,13 @@ DSQL_NOD PASS1_statement(DSQL_REQ request, DSQL_NOD input, USHORT proc_flag) request->req_type = REQ_SAVEPOINT; return input; + case nod_release_savepoint: + if (request->req_flags & REQ_procedure) + ERRD_post(gds_sqlerr, gds_arg_number, (SLONG) - 104, gds_arg_gds, gds_token_err, /* Token unknown */ + gds_arg_gds, gds_random, gds_arg_string, "RELEASE", 0); + request->req_type = REQ_SAVEPOINT; + return input; + case nod_undo_savepoint: if (request->req_flags & REQ_procedure) ERRD_post(gds_sqlerr, gds_arg_number, (SLONG) - 104, gds_arg_gds, gds_token_err, /* Token unknown */ diff --git a/src/jrd/blr.h b/src/jrd/blr.h index b122d54f62..a6488fd863 100644 --- a/src/jrd/blr.h +++ b/src/jrd/blr.h @@ -282,15 +282,16 @@ #define blr_nullsfirst (unsigned char)178 #define blr_writelock (unsigned char)179 -/* This codes are for user-defined savepoints - as opposed to the system ones defined earlier */ - -#define blr_user_savepoint (unsigned char)180 -#define blr_undo_savepoint (unsigned char)181 - -/* This codes reuse BLR code space */ +/* These codes reuse BLR code space */ #define blr_post_arg (unsigned char)163 #define blr_exec_into (unsigned char)164 +#define blr_user_savepoint (unsigned char)165 + +/* These codes are actions for user-defined savepoints */ + +#define blr_savepoint_set (unsigned char)0 +#define blr_savepoint_release (unsigned char)1 +#define blr_savepoint_undo (unsigned char)2 #endif /* _JRD_BLR_H_ */ diff --git a/src/jrd/blrtable.cpp b/src/jrd/blrtable.cpp index 5a0c1b5b4e..fe8ed3aafb 100644 --- a/src/jrd/blrtable.cpp +++ b/src/jrd/blrtable.cpp @@ -82,7 +82,6 @@ static const VERB verbs[] = { PAIR(nod_message, blr_message, 0, 0, STATEMENT, OTHER), PAIR(nod_modify, blr_modify, 0, 0, STATEMENT, STATEMENT), PAIR(nod_user_savepoint, blr_user_savepoint, e_sav_length, 0, STATEMENT, OTHER), - PAIR(nod_undo_savepoint, blr_undo_savepoint, e_sav_length, 0, STATEMENT, OTHER), PAIR(nod_receive, blr_receive, e_send_length, 1, STATEMENT, STATEMENT), PAIR(nod_select, blr_select, 0, 0, STATEMENT, STATEMENT), PAIR(nod_send, blr_send, e_send_length, 1, STATEMENT, STATEMENT), diff --git a/src/jrd/cmp.cpp b/src/jrd/cmp.cpp index f25dbd1343..541d38311e 100644 --- a/src/jrd/cmp.cpp +++ b/src/jrd/cmp.cpp @@ -2412,7 +2412,6 @@ static JRD_NOD copy( break; case nod_user_savepoint: - case nod_undo_savepoint: args = e_sav_length; break; diff --git a/src/jrd/exe.cpp b/src/jrd/exe.cpp index 22fa9a7f51..7089ac29b1 100644 --- a/src/jrd/exe.cpp +++ b/src/jrd/exe.cpp @@ -42,7 +42,7 @@ * */ /* -$Id: exe.cpp,v 1.64 2003-06-01 16:22:47 skidder Exp $ +$Id: exe.cpp,v 1.65 2003-06-10 13:40:16 dimitr Exp $ */ #include "firebird.h" @@ -1819,8 +1819,6 @@ static JRD_NOD looper(TDBB tdbb, JRD_REQ request, JRD_NOD in_node) **************************************/ STA impure; - SLONG sav_number; - SAV savepoint; SSHORT which_erase_trig = 0; SSHORT which_sto_trig = 0; SSHORT which_mod_trig = 0; @@ -2041,48 +2039,80 @@ static JRD_NOD looper(TDBB tdbb, JRD_REQ request, JRD_NOD in_node) node = node->nod_parent; } break; - + case nod_user_savepoint: if (transaction != dbb->dbb_sys_trans) { - // Use the savepoint created by EXE_start - transaction->tra_save_point->sav_flags |= SAV_user; - strcpy(transaction->tra_save_point->sav_name, (TEXT*)node->nod_arg[e_sav_name]); - } - node = node->nod_parent; - request->req_operation = jrd_req::req_return; - break; - case nod_undo_savepoint: + UCHAR operation = (UCHAR) node->nod_arg[e_sav_operation]; + TEXT * node_savepoint_name = (TEXT*) node->nod_arg[e_sav_name]; - if (transaction != dbb->dbb_sys_trans) { // Skip the savepoint created by EXE_start - savepoint = transaction->tra_save_point->sav_next; + SAV savepoint = transaction->tra_save_point->sav_next; + SAV previous = transaction->tra_save_point; - // Find savepoint to undo - while(TRUE) { + // Find savepoint + bool found = false; + while (true) { if (!savepoint || !(savepoint->sav_flags & SAV_user)) - ERR_post(gds_invalid_savepoint, - gds_arg_string, (TEXT*) node->nod_arg[e_sav_name], 0); - - if (!strcmp((TEXT*)node->nod_arg[e_sav_name],(TEXT*)savepoint->sav_name)) break; + if (!strcmp(node_savepoint_name, savepoint->sav_name)) { + found = true; + break; + } + + previous = savepoint; savepoint = savepoint->sav_next; } - sav_number = savepoint->sav_number; - - // Actually undo the savepoint - while ( transaction->tra_save_point && - transaction->tra_save_point->sav_number >= sav_number ) - { - transaction->tra_save_point->sav_verb_count++; - VERB_CLEANUP; + if (!found && operation != blr_savepoint_set) { + ERR_post(gds_invalid_savepoint, + gds_arg_string, node_savepoint_name, 0); } - // Now set the savepoint again to allow to return to it later - VIO_start_save_point(tdbb, transaction); - transaction->tra_save_point->sav_flags |= SAV_user; - strcpy(transaction->tra_save_point->sav_name, (TEXT*)node->nod_arg[e_sav_name]); + SLONG sav_number = savepoint->sav_number; + + if (operation == blr_savepoint_set) { + + // Release the savepoint + if (found) { + previous->sav_next = savepoint->sav_next; + SAV current = transaction->tra_save_point; + transaction->tra_save_point = savepoint; + VERB_CLEANUP; + transaction->tra_save_point = current; + } + + // Use the savepoint created by EXE_start + transaction->tra_save_point->sav_flags |= SAV_user; + strcpy(transaction->tra_save_point->sav_name, node_savepoint_name); + } + else if (operation == blr_savepoint_release) { + + // Release the savepoint and all subsequent ones + while (transaction->tra_save_point && + transaction->tra_save_point->sav_number >= sav_number) + { + VERB_CLEANUP; + } + } + else if (operation == blr_savepoint_undo) { + + // Undo the savepoint + while (transaction->tra_save_point && + transaction->tra_save_point->sav_number >= sav_number) + { + transaction->tra_save_point->sav_verb_count++; + VERB_CLEANUP; + } + + // Now set the savepoint again to allow to return to it later + VIO_start_save_point(tdbb, transaction); + transaction->tra_save_point->sav_flags |= SAV_user; + strcpy(transaction->tra_save_point->sav_name, node_savepoint_name); + } + else { + BUGCHECK(232); + } } node = node->nod_parent; request->req_operation = jrd_req::req_return; diff --git a/src/jrd/exe.h b/src/jrd/exe.h index 38869c25ae..c77b2fc484 100644 --- a/src/jrd/exe.h +++ b/src/jrd/exe.h @@ -263,9 +263,9 @@ typedef struct iasb { #define e_erase_rsb 3 #define e_erase_length 4 -/* used for both nod_user_savepoint and nod_undo_savepoint */ -#define e_sav_name 0 -#define e_sav_length 1 +#define e_sav_operation 0 +#define e_sav_name 1 +#define e_sav_length 2 #define e_mod_statement 0 #define e_mod_sub_mod 1 diff --git a/src/jrd/nod.h b/src/jrd/nod.h index 01a536e83f..3b2420ea73 100644 --- a/src/jrd/nod.h +++ b/src/jrd/nod.h @@ -27,7 +27,6 @@ NODE(nod_asn_list, asn_list, "") NODE(nod_dcl_variable, declare, "") NODE(nod_erase, erase, "") NODE(nod_user_savepoint, user_savepoint, "SAVEPOINT") - NODE(nod_undo_savepoint, undo_savepoint, "ROLLBACK TO SAVEPOINT") NODE(nod_fetch, fetch, "") NODE(nod_for, for, "") NODE(nod_handler, handler, "") diff --git a/src/jrd/par.cpp b/src/jrd/par.cpp index 78d8be2dc0..cb372481b6 100644 --- a/src/jrd/par.cpp +++ b/src/jrd/par.cpp @@ -34,7 +34,7 @@ * */ /* -$Id: par.cpp,v 1.41 2003-04-10 06:49:14 aafemt Exp $ +$Id: par.cpp,v 1.42 2003-06-10 13:40:19 dimitr Exp $ */ #include "firebird.h" @@ -2411,11 +2411,11 @@ static JRD_NOD parse(TDBB tdbb, CSB * csb, USHORT expected) case blr_start_savepoint: case blr_end_savepoint: break; - + case blr_user_savepoint: - case blr_undo_savepoint: + *arg++ = (JRD_NOD) BLR_BYTE; par_name(csb, name); - *arg++ = (JRD_NOD)ALL_cstring(name); + *arg++ = (JRD_NOD) ALL_cstring(name); break; case blr_store: