1
/* A Bison parser, made by GNU Bison 2.3. */
3
/* Skeleton implementation for Bison's Yacc-like parsers in C
5
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6
Free Software Foundation, Inc.
8
This program is free software; you can redistribute it and/or modify
9
it under the terms of the GNU General Public License as published by
10
the Free Software Foundation; either version 2, or (at your option)
13
This program is distributed in the hope that it will be useful,
14
but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
GNU General Public License for more details.
18
You should have received a copy of the GNU General Public License
19
along with this program; if not, write to the Free Software
20
Foundation, Inc., 51 Franklin Street, Fifth Floor,
21
Boston, MA 02110-1301, USA. */
23
/* As a special exception, you may create a larger work that contains
24
part or all of the Bison parser skeleton and distribute that work
25
under terms of your choice, so long as that work isn't itself a
26
parser generator using the skeleton or a modified version thereof
27
as a parser skeleton. Alternatively, if you modify or redistribute
28
the parser skeleton itself, you may (at your option) remove this
29
special exception, which will cause the skeleton and the resulting
30
Bison output files to be licensed under the GNU General Public
31
License without this special exception.
33
This special exception was added by the Free Software Foundation in
34
version 2.2 of Bison. */
36
/* C LALR(1) parser skeleton written by Richard Stallman, by
37
simplifying the original so-called "semantic" parser. */
39
/* All symbols defined below should begin with yy or YY, to avoid
40
infringing on user name space. This should be done even for local
41
variables, as they might otherwise be expanded by user macros.
42
There are some unavoidable exceptions within include files to
43
define necessary library symbols; they are noted "INFRINGES ON
44
USER NAME SPACE" below. */
46
/* Identify Bison output. */
50
#define YYBISON_VERSION "2.3"
53
#define YYSKELETON_NAME "yacc.c"
58
/* Using locations. */
59
#define YYLSP_NEEDED 0
61
/* Substitute the variable and function names. */
62
#define yyparse DRIZZLEparse
63
#define yylex DRIZZLElex
64
#define yyerror DRIZZLEerror
65
#define yylval DRIZZLElval
66
#define yychar DRIZZLEchar
67
#define yydebug DRIZZLEdebug
68
#define yynerrs DRIZZLEnerrs
74
/* Put the tokens into the symbol table, so that GDB and other debuggers
103
BLOCK_SIZE_SYM = 284,
131
COMPRESSED_SYM = 312,
134
CONNECTION_SYM = 315,
135
CONSISTENT_SYM = 316,
152
DATE_ADD_INTERVAL = 333,
153
DATE_SUB_INTERVAL = 334,
156
DAY_MICROSECOND_SYM = 337,
157
DAY_MINUTE_SYM = 338,
158
DAY_SECOND_SYM = 339,
160
DEALLOCATE_SYM = 341,
168
DETERMINISTIC_SYM = 349,
199
COLUMN_FORMAT_SYM = 380,
209
FRAC_SECOND_SYM = 390,
215
GROUP_CONCAT_SYM = 396,
220
HOUR_MICROSECOND_SYM = 401,
221
HOUR_MINUTE_SYM = 402,
222
HOUR_SECOND_SYM = 403,
225
IDENTIFIED_SYM = 406,
235
INSENSITIVE_SYM = 416,
246
KEY_BLOCK_SIZE = 427,
276
MICROSECOND_SYM = 457,
277
MINUTE_MICROSECOND_SYM = 458,
278
MINUTE_SECOND_SYM = 459,
325
PROCESSLIST_SYM = 506,
332
READ_WRITE_SYM = 513,
338
REPEATABLE_SYM = 519,
351
ROW_FORMAT_SYM = 532,
354
SECOND_MICROSECOND_SYM = 535,
360
SERIALIZABLE_SYM = 541,
364
SERVER_OPTIONS = 545,
373
SQLEXCEPTION_SYM = 554,
375
SQLWARNING_SYM = 556,
376
SQL_BIG_RESULT = 557,
377
SQL_BUFFER_RESULT = 558,
378
SQL_CALC_FOUND_ROWS = 559,
379
SQL_SMALL_RESULT = 560,
384
STDDEV_SAMP_SYM = 565,
401
TABLE_REF_PRIORITY = 582,
410
TIMESTAMP_DIFF = 591,
413
TRANSACTION_SYM = 594,
420
UNCOMMITTED_SYM = 601,
433
UTC_TIMESTAMP_SYM = 614,
447
WITH_ROLLUP_SYM = 628,
451
YEAR_MONTH_SYM = 632,
456
#define ABORT_SYM 258
459
#define ADDDATE_SYM 261
460
#define AFTER_SYM 262
461
#define AGGREGATE_SYM 263
464
#define ANALYZE_SYM 266
469
#define ASENSITIVE_SYM 271
472
#define AVG_ROW_LENGTH 274
474
#define BEFORE_SYM 276
475
#define BEGIN_SYM 277
476
#define BETWEEN_SYM 278
477
#define BIGINT_SYM 279
482
#define BLOCK_SIZE_SYM 284
483
#define BLOCK_SYM 285
484
#define BOOLEAN_SYM 286
487
#define BTREE_SYM 289
495
#define CHAIN_SYM 297
498
#define CHECKSUM_SYM 300
499
#define CHECK_SYM 301
500
#define CLOSE_SYM 302
502
#define COLLATE_SYM 304
503
#define COLLATION_SYM 305
505
#define COLUMN_SYM 307
506
#define COMMENT_SYM 308
507
#define COMMITTED_SYM 309
508
#define COMMIT_SYM 310
509
#define COMPACT_SYM 311
510
#define COMPRESSED_SYM 312
511
#define CONCURRENT 313
512
#define CONDITION_SYM 314
513
#define CONNECTION_SYM 315
514
#define CONSISTENT_SYM 316
515
#define CONSTRAINT 317
516
#define CONTAINS_SYM 318
517
#define CONTINUE_SYM 319
518
#define CONVERT_SYM 320
519
#define COUNT_SYM 321
524
#define CURRENT_USER 326
525
#define CURSOR_SYM 327
527
#define DATABASES 329
528
#define DATAFILE_SYM 330
530
#define DATETIME_SYM 332
531
#define DATE_ADD_INTERVAL 333
532
#define DATE_SUB_INTERVAL 334
534
#define DAY_HOUR_SYM 336
535
#define DAY_MICROSECOND_SYM 337
536
#define DAY_MINUTE_SYM 338
537
#define DAY_SECOND_SYM 339
539
#define DEALLOCATE_SYM 341
540
#define DECIMAL_NUM 342
541
#define DECIMAL_SYM 343
542
#define DECLARE_SYM 344
544
#define DELETE_SYM 346
547
#define DETERMINISTIC_SYM 349
548
#define DISABLE_SYM 350
552
#define DOUBLE_SYM 354
555
#define DUPLICATE_SYM 357
556
#define DYNAMIC_SYM 358
559
#define ELSEIF_SYM 361
560
#define ENABLE_SYM 362
564
#define END_OF_INPUT 366
565
#define ENGINE_SYM 367
568
#define EQUAL_SYM 370
571
#define ESCAPE_SYM 373
572
#define EXCLUSIVE_SYM 374
574
#define EXTENDED_SYM 376
575
#define EXTRACT_SYM 377
576
#define FALSE_SYM 378
577
#define FETCH_SYM 379
578
#define COLUMN_FORMAT_SYM 380
580
#define FIRST_SYM 382
581
#define FIXED_SYM 383
582
#define FLOAT_NUM 384
583
#define FLUSH_SYM 385
584
#define FORCE_SYM 386
587
#define FOUND_SYM 389
588
#define FRAC_SECOND_SYM 390
592
#define GLOBAL_SYM 394
593
#define GROUP_SYM 395
594
#define GROUP_CONCAT_SYM 396
599
#define HOUR_MICROSECOND_SYM 401
600
#define HOUR_MINUTE_SYM 402
601
#define HOUR_SECOND_SYM 403
604
#define IDENTIFIED_SYM 406
605
#define IDENT_QUOTED 407
607
#define IGNORE_SYM 409
610
#define INDEX_SYM 412
612
#define INNER_SYM 414
613
#define INOUT_SYM 415
614
#define INSENSITIVE_SYM 416
616
#define INTERVAL_SYM 418
621
#define ISOLATION 423
622
#define ITERATE_SYM 424
625
#define KEY_BLOCK_SIZE 427
632
#define LEVEL_SYM 434
633
#define LEX_HOSTNAME 435
639
#define LOCAL_SYM 441
640
#define LOCATOR_SYM 442
641
#define LOCKS_SYM 443
650
#define MAX_SIZE_SYM 452
652
#define MAX_VALUE_SYM 454
653
#define MEDIUM_SYM 455
654
#define MERGE_SYM 456
655
#define MICROSECOND_SYM 457
656
#define MINUTE_MICROSECOND_SYM 458
657
#define MINUTE_SECOND_SYM 459
658
#define MINUTE_SYM 460
662
#define MODIFIES_SYM 464
663
#define MODIFY_SYM 465
665
#define MONTH_SYM 467
666
#define NAMES_SYM 468
668
#define NATIONAL_SYM 470
680
#define NUMERIC_SYM 482
681
#define OFFLINE_SYM 483
682
#define OFFSET_SYM 484
684
#define ONE_SHOT_SYM 486
686
#define ONLINE_SYM 488
690
#define OPTIONALLY 492
691
#define ORDER_SYM 493
698
#define PHASE_SYM 500
699
#define POSITION_SYM 501
700
#define PRECISION 502
702
#define PRIMARY_SYM 504
704
#define PROCESSLIST_SYM 506
705
#define QUARTER_SYM 507
706
#define QUERY_SYM 508
707
#define RANGE_SYM 509
708
#define READS_SYM 510
709
#define READ_ONLY_SYM 511
711
#define READ_WRITE_SYM 513
713
#define REDUNDANT_SYM 515
714
#define REFERENCES 516
715
#define RELEASE_SYM 517
717
#define REPEATABLE_SYM 519
718
#define REPEAT_SYM 520
721
#define RETURNS_SYM 523
722
#define RETURN_SYM 524
723
#define REVERSE_SYM 525
726
#define ROLLBACK_SYM 528
727
#define ROLLUP_SYM 529
728
#define ROUTINE_SYM 530
730
#define ROW_FORMAT_SYM 532
732
#define SAVEPOINT_SYM 534
733
#define SECOND_MICROSECOND_SYM 535
734
#define SECOND_SYM 536
735
#define SECURITY_SYM 537
736
#define SELECT_SYM 538
737
#define SENSITIVE_SYM 539
738
#define SEPARATOR_SYM 540
739
#define SERIALIZABLE_SYM 541
740
#define SERIAL_SYM 542
741
#define SESSION_SYM 543
742
#define SERVER_SYM 544
743
#define SERVER_OPTIONS 545
746
#define SHARE_SYM 548
749
#define SIMPLE_SYM 551
750
#define SNAPSHOT_SYM 552
751
#define SPECIFIC_SYM 553
752
#define SQLEXCEPTION_SYM 554
753
#define SQLSTATE_SYM 555
754
#define SQLWARNING_SYM 556
755
#define SQL_BIG_RESULT 557
756
#define SQL_BUFFER_RESULT 558
757
#define SQL_CALC_FOUND_ROWS 559
758
#define SQL_SMALL_RESULT 560
761
#define START_SYM 563
762
#define STATUS_SYM 564
763
#define STDDEV_SAMP_SYM 565
766
#define STORAGE_SYM 568
767
#define STORED_SYM 569
768
#define STRAIGHT_JOIN 570
769
#define STRING_SYM 571
770
#define SUBDATE_SYM 572
771
#define SUBJECT_SYM 573
772
#define SUBSTRING 574
774
#define SUSPEND_SYM 576
775
#define SWAPS_SYM 577
776
#define SWITCHES_SYM 578
779
#define TABLESPACE 581
780
#define TABLE_REF_PRIORITY 582
781
#define TABLE_SYM 583
782
#define TEMPORARY_SYM 584
783
#define TERMINATED 585
784
#define TEXT_STRING 586
787
#define TIMESTAMP_SYM 589
788
#define TIMESTAMP_ADD 590
789
#define TIMESTAMP_DIFF 591
792
#define TRANSACTION_SYM 594
795
#define TRUNCATE_SYM 597
796
#define TYPES_SYM 598
798
#define ULONGLONG_NUM 600
799
#define UNCOMMITTED_SYM 601
800
#define UNDOFILE_SYM 602
802
#define UNION_SYM 604
803
#define UNIQUE_SYM 605
804
#define UNKNOWN_SYM 606
805
#define UNLOCK_SYM 607
806
#define UPDATE_SYM 608
811
#define UTC_DATE_SYM 613
812
#define UTC_TIMESTAMP_SYM 614
814
#define VALUE_SYM 616
815
#define VARBINARY 617
816
#define VARCHAR_SYM 618
817
#define VARIABLES 619
818
#define VARIANCE_SYM 620
820
#define VAR_SAMP_SYM 622
826
#define WITH_ROLLUP_SYM 628
828
#define WRITE_SYM 630
830
#define YEAR_MONTH_SYM 632
836
/* Copy the first part of user declarations. */
837
#line 23 "sql_yacc.yy"
839
/* session is passed as an argument to yyparse(), and subsequently to yylex().
840
** The type will be void*, so it must be cast to (Session*) when used.
841
** Use the YYSession macro for this.
843
#define YYPARSE_PARAM yysession
844
#define YYLEX_PARAM yysession
845
#define YYSession (static_cast<Session *>(yysession))
847
#define YYENABLE_NLS 0
848
#define YYLTYPE_IS_TRIVIAL 0
851
#define YYINITDEPTH 100
852
#define YYMAXDEPTH 3200 /* Because of 64K stack */
853
#define Lex (YYSession->lex)
856
#include "drizzled/parser.h"
858
int yylex(void *yylval, void *yysession);
860
#define yyoverflow(A,B,C,D,E,F) \
863
if (drizzled::my_yyoverflow((B), (D), &val)) \
865
yyerror((char*) (A)); \
870
*(F)= (YYSIZE_T)val; \
874
#define DRIZZLE_YYABORT \
877
LEX::cleanup_lex_after_parse_error(YYSession);\
881
#define DRIZZLE_YYABORT_UNLESS(A) \
884
my_parse_error(ER(ER_SYNTAX_ERROR));\
899
static bool check_reserved_words(LEX_STRING *name)
901
if (!my_strcasecmp(system_charset_info, name->str, "GLOBAL") ||
902
!my_strcasecmp(system_charset_info, name->str, "LOCAL") ||
903
!my_strcasecmp(system_charset_info, name->str, "SESSION"))
909
@brief Push an error message into MySQL error stack with line
910
and position information.
912
This function provides semantic action implementers with a way
913
to push the famous "You have a syntax error near..." error
914
message into the error stack, which is normally produced only if
915
a parse error is discovered internally by the Bison generated
919
static void my_parse_error(const char *s)
921
Session *session= current_session;
922
Lex_input_stream *lip= session->m_lip;
924
const char *yytext= lip->get_tok_start();
925
/* Push an error into the error stack */
926
my_printf_error(ER_PARSE_ERROR, ER(ER_PARSE_ERROR), MYF(0), s,
927
(yytext ? yytext : ""),
932
@brief Bison callback to report a syntax/OOM error
934
This function is invoked by the bison-generated parser
935
when a syntax error, a parse error or an out-of-memory
936
condition occurs. This function is not invoked when the
937
parser is requested to abort by semantic action code
938
by means of YYABORT or YYACCEPT macros. This is why these
939
macros should not be used (use DRIZZLE_YYABORT/DRIZZLE_YYACCEPT
942
The parser will abort immediately after invoking this callback.
944
This function is not for use in semantic actions and is internal to
945
the parser, as it performs some pre-return cleanup.
946
In semantic actions, please use my_parse_error or my_error to
947
push an error into the error stack and DRIZZLE_YYABORT
948
to abort from the parser.
951
static void DRIZZLEerror(const char *s)
953
Session *session= current_session;
956
Restore the original LEX if it was replaced when parsing
957
a stored procedure. We must ensure that a parsing error
958
does not leave any side effects in the Session.
960
LEX::cleanup_lex_after_parse_error(session);
962
/* "parse error" changed into "syntax error" between bison 1.75 and 1.875 */
963
if (strcmp(s,"parse error") == 0 || strcmp(s,"syntax error") == 0)
964
s= ER(ER_SYNTAX_ERROR);
969
Helper to resolve the SQL:2003 Syntax exception 1) in <in predicate>.
970
See SQL:2003, Part 2, section 8.4 <in predicate>, Note 184, page 383.
971
This function returns the proper item for the SQL expression
972
<code>left [NOT] IN ( expr )</code>
973
@param session the current thread
974
@param left the in predicand
975
@param equal true for IN predicates, false for NOT IN predicates
976
@param expr first and only expression of the in value list
977
@return an expression representing the IN predicate.
979
static Item* handle_sql2003_note184_exception(Session *session,
980
Item* left, bool equal,
984
Relevant references for this issue:
985
- SQL:2003, Part 2, section 8.4 <in predicate>, page 383,
986
- SQL:2003, Part 2, section 7.2 <row value expression>, page 296,
987
- SQL:2003, Part 2, section 6.3 <value expression primary>, page 174,
988
- SQL:2003, Part 2, section 7.15 <subquery>, page 370,
989
- SQL:2003 Feature F561, "Full value expressions".
991
The exception in SQL:2003 Note 184 means:
992
Item_singlerow_subselect, which corresponds to a <scalar subquery>,
993
should be re-interpreted as an Item_in_subselect, which corresponds
994
to a <table subquery> when used inside an <in predicate>.
996
Our reading of Note 184 is reccursive, so that all:
997
- IN (( <subquery> ))
998
- IN ((( <subquery> )))
999
- IN '('^N <subquery> ')'^N
1001
should be interpreted as a <table subquery>, no matter how deep in the
1002
expression the <subquery> is.
1007
if (expr->type() == Item::SUBSELECT_ITEM)
1009
Item_subselect *expr2 = (Item_subselect*) expr;
1011
if (expr2->substype() == Item_subselect::SINGLEROW_SUBS)
1013
Item_singlerow_subselect *expr3 = (Item_singlerow_subselect*) expr2;
1014
Select_Lex *subselect;
1017
Implement the mandated change, by altering the semantic tree:
1018
left IN Item_singlerow_subselect(subselect)
1021
which is represented as
1022
Item_in_subselect(left, subselect)
1024
subselect= expr3->invalidate_and_restore_select_lex();
1025
result= new (session->mem_root) Item_in_subselect(left, subselect);
1028
result = negate_expression(session, result);
1035
result= new (session->mem_root) Item_func_eq(left, expr);
1037
result= new (session->mem_root) Item_func_ne(left, expr);
1043
@brief Creates a new Select_Lex for a UNION branch.
1045
Sets up and initializes a Select_Lex structure for a query once the parser
1046
discovers a UNION token. The current Select_Lex is pushed on the stack and
1047
the new Select_Lex becomes the current one..=
1049
@lex The parser state.
1051
@is_union_distinct True if the union preceding the new select statement
1052
uses UNION DISTINCT.
1054
@return <code>false</code> if successful, <code>true</code> if an error was
1055
reported. In the latter case parsing should stop.
1057
static bool add_select_to_union_list(LEX *lex, bool is_union_distinct)
1061
/* Only the last SELECT can have INTO...... */
1062
my_error(ER_WRONG_USAGE, MYF(0), "UNION", "INTO");
1065
if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE)
1067
my_parse_error(ER(ER_SYNTAX_ERROR));
1070
/* This counter shouldn't be incremented for UNION parts */
1072
if (mysql_new_select(lex, 0))
1074
mysql_init_select(lex);
1075
lex->current_select->linkage=UNION_TYPE;
1076
if (is_union_distinct) /* UNION DISTINCT - remember position */
1077
lex->current_select->master_unit()->union_distinct=
1078
lex->current_select;
1083
@brief Initializes a Select_Lex for a query within parentheses (aka
1086
@return false if successful, true if an error was reported. In the latter
1087
case parsing should stop.
1089
static bool setup_select_in_parentheses(LEX *lex)
1091
Select_Lex * sel= lex->current_select;
1092
if (sel->set_braces(1))
1094
my_parse_error(ER(ER_SYNTAX_ERROR));
1097
if (sel->linkage == UNION_TYPE &&
1098
!sel->master_unit()->first_select()->braces &&
1099
sel->master_unit()->first_select()->linkage ==
1102
my_parse_error(ER(ER_SYNTAX_ERROR));
1105
if (sel->linkage == UNION_TYPE &&
1106
sel->olap != UNSPECIFIED_OLAP_TYPE &&
1107
sel->master_unit()->fake_select_lex)
1109
my_error(ER_WRONG_USAGE, MYF(0), "CUBE/ROLLUP", "ORDER BY");
1112
/* select in braces, can't contain global parameters */
1113
if (sel->master_unit()->fake_select_lex)
1114
sel->master_unit()->global_parameters=
1115
sel->master_unit()->fake_select_lex;
1119
static Item* reserved_keyword_function(const std::string &name, List<Item> *item_list)
1121
const plugin::Function *udf= plugin::Function::get(name.c_str(), name.length());
1126
item= Create_udf_func::s_singleton.create(current_session, udf, item_list);
1128
my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "FUNCTION", name.c_str());
1134
} /* namespace drizzled; */
1136
using namespace drizzled;
1139
/* Enabling traces. */
1144
/* Enabling verbose error messages. */
1145
#ifdef YYERROR_VERBOSE
1146
# undef YYERROR_VERBOSE
1147
# define YYERROR_VERBOSE 1
1149
# define YYERROR_VERBOSE 0
1152
/* Enabling the token table. */
1153
#ifndef YYTOKEN_TABLE
1154
# define YYTOKEN_TABLE 0
1157
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
1158
typedef union YYSTYPE
1159
#line 323 "sql_yacc.yy"
1163
uint64_t ulonglong_number;
1164
int64_t longlong_number;
1165
drizzled::LEX_STRING lex_str;
1166
drizzled::LEX_STRING *lex_str_ptr;
1167
drizzled::LEX_SYMBOL symbol;
1168
drizzled::Table_ident *table;
1169
char *simple_string;
1170
drizzled::Item *item;
1171
drizzled::Item_num *item_num;
1172
drizzled::List<drizzled::Item> *item_list;
1173
drizzled::List<drizzled::String> *string_list;
1174
drizzled::String *string;
1175
drizzled::Key_part_spec *key_part;
1176
const drizzled::plugin::Function *udf;
1177
drizzled::TableList *table_list;
1178
struct drizzled::sys_var_with_base variable;
1179
enum drizzled::sql_var_t var_type;
1180
drizzled::Key::Keytype key_type;
1181
enum drizzled::ha_key_alg key_alg;
1182
enum drizzled::row_type row_type;
1183
enum drizzled::column_format_type column_format_type;
1184
enum drizzled::ha_rkey_function ha_rkey_mode;
1185
enum drizzled::enum_tx_isolation tx_isolation;
1186
enum drizzled::Cast_target cast_type;
1187
const drizzled::CHARSET_INFO *charset;
1188
drizzled::thr_lock_type lock_type;
1189
drizzled::interval_type interval, interval_time_st;
1190
enum drizzled::enum_drizzle_timestamp_type date_time_type;
1191
drizzled::Select_Lex *select_lex;
1192
drizzled::chooser_compare_func_creator boolfunc2creator;
1193
struct drizzled::st_lex *lex;
1194
enum drizzled::index_hint_type index_hint;
1195
enum drizzled::enum_filetype filetype;
1196
enum drizzled::ha_build_method build_method;
1197
enum drizzled::Foreign_key::fk_option m_fk_option;
1199
/* Line 193 of yacc.c. */
1200
#line 1201 "drizzled/sql_yacc.cc"
1202
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
1203
# define YYSTYPE_IS_DECLARED 1
1204
# define YYSTYPE_IS_TRIVIAL 1
1209
/* Copy the second part of user declarations. */
1210
#line 363 "sql_yacc.yy"
1214
bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
1218
/* Line 216 of yacc.c. */
1219
#line 1220 "drizzled/sql_yacc.cc"
1226
typedef YYTYPE_UINT8 yytype_uint8;
1228
typedef unsigned char yytype_uint8;
1232
typedef YYTYPE_INT8 yytype_int8;
1233
#elif (defined __STDC__ || defined __C99__FUNC__ \
1234
|| defined __cplusplus || defined _MSC_VER)
1235
typedef signed char yytype_int8;
1237
typedef short int yytype_int8;
1240
#ifdef YYTYPE_UINT16
1241
typedef YYTYPE_UINT16 yytype_uint16;
1243
typedef unsigned short int yytype_uint16;
1247
typedef YYTYPE_INT16 yytype_int16;
1249
typedef short int yytype_int16;
1253
# ifdef __SIZE_TYPE__
1254
# define YYSIZE_T __SIZE_TYPE__
1255
# elif defined size_t
1256
# define YYSIZE_T size_t
1257
# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
1258
|| defined __cplusplus || defined _MSC_VER)
1259
# include <stddef.h> /* INFRINGES ON USER NAME SPACE */
1260
# define YYSIZE_T size_t
1262
# define YYSIZE_T unsigned int
1266
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
1271
# include <libintl.h> /* INFRINGES ON USER NAME SPACE */
1272
# define YY_(msgid) dgettext ("bison-runtime", msgid)
1276
# define YY_(msgid) msgid
1280
/* Suppress unused-variable warnings by "using" E. */
1281
#if ! defined lint || defined __GNUC__
1282
# define YYUSE(e) ((void) (e))
1284
# define YYUSE(e) /* empty */
1287
/* Identity function, used to suppress warnings about constant conditions. */
1289
# define YYID(n) (n)
1291
#if (defined __STDC__ || defined __C99__FUNC__ \
1292
|| defined __cplusplus || defined _MSC_VER)
1305
#if ! defined yyoverflow || YYERROR_VERBOSE
1307
/* The parser invokes alloca or malloc; define the necessary symbols. */
1309
# ifdef YYSTACK_USE_ALLOCA
1310
# if YYSTACK_USE_ALLOCA
1312
# define YYSTACK_ALLOC __builtin_alloca
1313
# elif defined __BUILTIN_VA_ARG_INCR
1314
# include <alloca.h> /* INFRINGES ON USER NAME SPACE */
1316
# define YYSTACK_ALLOC __alloca
1317
# elif defined _MSC_VER
1318
# include <malloc.h> /* INFRINGES ON USER NAME SPACE */
1319
# define alloca _alloca
1321
# define YYSTACK_ALLOC alloca
1322
# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
1323
|| defined __cplusplus || defined _MSC_VER)
1324
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1326
# define _STDLIB_H 1
1333
# ifdef YYSTACK_ALLOC
1334
/* Pacify GCC's `empty if-body' warning. */
1335
# define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
1336
# ifndef YYSTACK_ALLOC_MAXIMUM
1337
/* The OS might guarantee only one guard page at the bottom of the stack,
1338
and a page size can be as small as 4096 bytes. So we cannot safely
1339
invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
1340
to allow for a few compiler-allocated temporary stack slots. */
1341
# define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
1344
# define YYSTACK_ALLOC YYMALLOC
1345
# define YYSTACK_FREE YYFREE
1346
# ifndef YYSTACK_ALLOC_MAXIMUM
1347
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
1349
# if (defined __cplusplus && ! defined _STDLIB_H \
1350
&& ! ((defined YYMALLOC || defined malloc) \
1351
&& (defined YYFREE || defined free)))
1352
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
1354
# define _STDLIB_H 1
1358
# define YYMALLOC malloc
1359
# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
1360
|| defined __cplusplus || defined _MSC_VER)
1361
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
1365
# define YYFREE free
1366
# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
1367
|| defined __cplusplus || defined _MSC_VER)
1368
void free (void *); /* INFRINGES ON USER NAME SPACE */
1372
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
1375
#if (! defined yyoverflow \
1376
&& (! defined __cplusplus \
1377
|| (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
1379
/* A type that is properly aligned for any stack member. */
1386
/* The size of the maximum gap between one aligned stack and the next. */
1387
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
1389
/* The size of an array large to enough to hold all stacks, each with
1391
# define YYSTACK_BYTES(N) \
1392
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
1393
+ YYSTACK_GAP_MAXIMUM)
1395
/* Copy COUNT objects from FROM to TO. The source and destination do
1398
# if defined __GNUC__ && 1 < __GNUC__
1399
# define YYCOPY(To, From, Count) \
1400
__builtin_memcpy (To, From, (Count) * sizeof (*(From)))
1402
# define YYCOPY(To, From, Count) \
1406
for (yyi = 0; yyi < (Count); yyi++) \
1407
(To)[yyi] = (From)[yyi]; \
1413
/* Relocate STACK from its old location to the new one. The
1414
local variables YYSIZE and YYSTACKSIZE give the old and new number of
1415
elements in the stack, and YYPTR gives the new location of the
1416
stack. Advance YYPTR to a properly aligned location for the next
1418
# define YYSTACK_RELOCATE(Stack) \
1421
YYSIZE_T yynewbytes; \
1422
YYCOPY (&yyptr->Stack, Stack, yysize); \
1423
Stack = &yyptr->Stack; \
1424
yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
1425
yyptr += yynewbytes / sizeof (*yyptr); \
1431
/* YYFINAL -- State number of the termination state. */
1433
/* YYLAST -- Last index in YYTABLE. */
1434
#define YYLAST 17687
1436
/* YYNTOKENS -- Number of terminals. */
1437
#define YYNTOKENS 392
1438
/* YYNNTS -- Number of nonterminals. */
1440
/* YYNRULES -- Number of rules. */
1441
#define YYNRULES 1133
1442
/* YYNRULES -- Number of states. */
1443
#define YYNSTATES 1951
1445
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
1446
#define YYUNDEFTOK 2
1447
#define YYMAXUTOK 633
1449
#define YYTRANSLATE(YYX) \
1450
((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
1452
/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
1453
static const yytype_uint16 yytranslate[] =
1455
0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1456
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1457
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1458
2, 2, 2, 387, 2, 2, 2, 383, 2, 2,
1459
384, 385, 381, 380, 386, 379, 390, 382, 2, 2,
1460
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1461
2, 2, 2, 2, 391, 2, 2, 2, 2, 2,
1462
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1463
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1464
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1465
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1466
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1467
2, 2, 2, 388, 2, 389, 2, 2, 2, 2,
1468
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1469
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1470
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1471
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1472
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1473
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1474
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1475
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1476
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1477
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1478
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1479
2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1480
2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1481
5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1482
15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1483
25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1484
35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1485
45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1486
55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1487
65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1488
75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1489
85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1490
95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1491
105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1492
115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1493
125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1494
135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1495
145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1496
155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1497
165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1498
175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1499
185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
1500
195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1501
205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1502
215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
1503
225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
1504
235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
1505
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1506
255, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1507
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1508
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1509
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1510
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1511
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1512
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1513
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1514
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1515
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1516
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1517
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1522
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1524
static const yytype_uint16 yyprhs[] =
1526
0, 0, 3, 5, 8, 10, 12, 14, 16, 18,
1527
20, 22, 24, 26, 28, 30, 32, 34, 36, 38,
1528
40, 42, 44, 46, 48, 50, 52, 54, 56, 58,
1529
60, 62, 64, 65, 73, 74, 88, 89, 96, 99,
1530
102, 106, 111, 116, 117, 122, 123, 124, 130, 131,
1531
139, 140, 141, 148, 149, 151, 152, 154, 155, 157,
1532
158, 162, 163, 165, 167, 170, 172, 175, 179, 183,
1533
187, 191, 195, 199, 201, 205, 210, 215, 217, 219,
1534
221, 223, 225, 227, 229, 231, 233, 235, 237, 240,
1535
242, 246, 248, 250, 253, 256, 264, 273, 282, 285,
1536
288, 289, 291, 294, 295, 297, 300, 301, 305, 308,
1537
310, 313, 318, 320, 325, 330, 332, 334, 336, 338,
1538
340, 343, 346, 349, 350, 356, 358, 360, 363, 365,
1539
367, 369, 371, 373, 376, 377, 381, 383, 389, 390,
1540
394, 395, 397, 398, 400, 403, 405, 407, 410, 413,
1541
416, 421, 423, 427, 430, 432, 435, 438, 441, 444,
1542
446, 448, 450, 452, 453, 455, 456, 458, 464, 465,
1543
469, 473, 475, 476, 479, 482, 485, 486, 490, 494,
1544
501, 508, 510, 512, 515, 518, 521, 523, 526, 529,
1545
531, 533, 534, 536, 538, 540, 542, 543, 545, 546,
1546
548, 551, 552, 554, 556, 559, 562, 565, 567, 571,
1547
574, 576, 578, 583, 586, 588, 593, 594, 596, 597,
1548
600, 602, 606, 607, 615, 616, 622, 623, 625, 626,
1549
629, 632, 634, 635, 637, 639, 641, 645, 648, 652,
1550
655, 660, 661, 668, 669, 670, 678, 682, 687, 691,
1551
695, 698, 701, 708, 714, 718, 722, 724, 726, 728,
1552
729, 731, 732, 734, 735, 738, 740, 741, 743, 745,
1553
747, 751, 752, 756, 757, 762, 763, 768, 769, 774,
1554
775, 780, 782, 786, 790, 792, 795, 800, 803, 807,
1555
810, 814, 815, 819, 820, 821, 828, 831, 833, 835,
1556
838, 841, 849, 850, 852, 855, 857, 859, 861, 863,
1557
865, 867, 869, 871, 872, 875, 880, 884, 886, 888,
1558
892, 897, 898, 899, 900, 903, 906, 908, 910, 911,
1559
914, 918, 922, 926, 929, 933, 938, 942, 947, 951,
1560
956, 958, 962, 967, 971, 975, 982, 984, 990, 997,
1561
1003, 1011, 1018, 1027, 1033, 1040, 1045, 1051, 1053, 1057,
1562
1061, 1067, 1073, 1077, 1081, 1085, 1089, 1093, 1095, 1097,
1563
1099, 1101, 1103, 1105, 1107, 1109, 1111, 1113, 1115, 1117,
1564
1119, 1121, 1123, 1125, 1127, 1131, 1133, 1135, 1137, 1140,
1565
1143, 1147, 1151, 1157, 1164, 1169, 1174, 1177, 1184, 1190,
1566
1197, 1202, 1207, 1213, 1218, 1221, 1226, 1231, 1236, 1247,
1567
1254, 1263, 1270, 1275, 1280, 1287, 1292, 1297, 1302, 1310,
1568
1318, 1326, 1333, 1340, 1347, 1354, 1358, 1363, 1370, 1379,
1569
1382, 1391, 1400, 1407, 1410, 1415, 1422, 1429, 1438, 1447,
1570
1454, 1463, 1470, 1473, 1478, 1487, 1496, 1499, 1502, 1507,
1571
1512, 1516, 1525, 1530, 1537, 1542, 1549, 1558, 1563, 1570,
1572
1571, 1577, 1578, 1580, 1582, 1586, 1591, 1596, 1602, 1608,
1573
1613, 1614, 1615, 1623, 1628, 1634, 1639, 1645, 1650, 1655,
1574
1660, 1665, 1670, 1676, 1677, 1686, 1687, 1691, 1695, 1697,
1575
1702, 1703, 1705, 1706, 1709, 1710, 1712, 1713, 1717, 1720,
1576
1723, 1725, 1727, 1730, 1732, 1736, 1737, 1739, 1740, 1743,
1577
1748, 1754, 1756, 1758, 1760, 1762, 1767, 1769, 1773, 1777,
1578
1781, 1782, 1789, 1790, 1797, 1798, 1807, 1812, 1813, 1822,
1579
1823, 1834, 1841, 1842, 1851, 1852, 1863, 1870, 1872, 1875,
1580
1878, 1879, 1884, 1888, 1894, 1898, 1899, 1900, 1909, 1911,
1581
1912, 1913, 1920, 1921, 1925, 1926, 1927, 1933, 1934, 1936,
1582
1937, 1939, 1940, 1943, 1947, 1951, 1953, 1955, 1956, 1964,
1583
1965, 1973, 1975, 1978, 1979, 1980, 1983, 1984, 1987, 1988,
1584
1990, 1992, 1994, 1996, 2000, 2002, 2006, 2008, 2010, 2012,
1585
2014, 2016, 2018, 2020, 2022, 2024, 2026, 2028, 2030, 2032,
1586
2034, 2036, 2038, 2040, 2042, 2044, 2046, 2048, 2050, 2052,
1587
2053, 2055, 2057, 2058, 2061, 2062, 2064, 2065, 2066, 2070,
1588
2071, 2072, 2076, 2079, 2080, 2081, 2086, 2091, 2094, 2095,
1589
2097, 2101, 2105, 2107, 2110, 2111, 2113, 2114, 2119, 2124,
1590
2127, 2128, 2130, 2132, 2133, 2135, 2136, 2138, 2141, 2143,
1591
2147, 2151, 2153, 2155, 2157, 2158, 2161, 2163, 2165, 2167,
1592
2169, 2171, 2173, 2175, 2177, 2179, 2181, 2183, 2184, 2187,
1593
2191, 2193, 2196, 2197, 2201, 2202, 2208, 2211, 2213, 2219,
1594
2220, 2228, 2233, 2235, 2239, 2241, 2242, 2245, 2246, 2248,
1595
2249, 2250, 2258, 2259, 2260, 2266, 2269, 2271, 2273, 2275,
1596
2279, 2284, 2285, 2289, 2293, 2295, 2298, 2301, 2302, 2306,
1597
2307, 2313, 2317, 2319, 2323, 2325, 2329, 2331, 2333, 2334,
1598
2336, 2337, 2342, 2343, 2345, 2349, 2351, 2353, 2355, 2356,
1599
2357, 2364, 2365, 2366, 2377, 2381, 2383, 2387, 2391, 2393,
1600
2397, 2398, 2403, 2404, 2411, 2412, 2415, 2417, 2421, 2422,
1601
2424, 2425, 2429, 2432, 2436, 2441, 2447, 2453, 2459, 2465,
1602
2468, 2471, 2475, 2477, 2481, 2486, 2490, 2491, 2494, 2496,
1603
2498, 2499, 2502, 2505, 2506, 2511, 2512, 2517, 2519, 2521,
1604
2522, 2524, 2525, 2527, 2529, 2530, 2534, 2538, 2540, 2541,
1605
2545, 2550, 2552, 2554, 2555, 2557, 2561, 2562, 2564, 2566,
1606
2569, 2570, 2571, 2572, 2573, 2592, 2594, 2595, 2597, 2598,
1607
2600, 2602, 2603, 2606, 2609, 2611, 2615, 2620, 2624, 2628,
1608
2629, 2632, 2635, 2637, 2641, 2645, 2646, 2650, 2652, 2654,
1609
2655, 2659, 2662, 2666, 2668, 2670, 2673, 2674, 2677, 2679,
1610
2682, 2684, 2686, 2688, 2690, 2693, 2696, 2698, 2700, 2702,
1611
2704, 2706, 2708, 2710, 2713, 2716, 2718, 2720, 2722, 2724,
1612
2726, 2728, 2730, 2734, 2740, 2742, 2744, 2746, 2748, 2750,
1613
2754, 2759, 2765, 2767, 2773, 2777, 2780, 2782, 2786, 2789,
1614
2791, 2793, 2795, 2797, 2799, 2801, 2803, 2805, 2807, 2809,
1615
2811, 2813, 2815, 2817, 2819, 2821, 2823, 2825, 2827, 2829,
1616
2831, 2833, 2835, 2837, 2839, 2841, 2843, 2845, 2847, 2849,
1617
2851, 2853, 2855, 2857, 2859, 2861, 2863, 2865, 2867, 2869,
1618
2871, 2873, 2875, 2877, 2879, 2881, 2883, 2885, 2887, 2889,
1619
2891, 2893, 2895, 2897, 2899, 2901, 2903, 2905, 2907, 2909,
1620
2911, 2913, 2915, 2917, 2919, 2921, 2923, 2925, 2927, 2929,
1621
2931, 2933, 2935, 2937, 2939, 2941, 2943, 2945, 2947, 2949,
1622
2951, 2953, 2955, 2957, 2959, 2961, 2963, 2965, 2967, 2969,
1623
2971, 2973, 2975, 2977, 2979, 2981, 2983, 2985, 2987, 2989,
1624
2991, 2993, 2995, 2997, 2999, 3001, 3003, 3005, 3007, 3009,
1625
3011, 3013, 3015, 3017, 3019, 3021, 3023, 3025, 3027, 3029,
1626
3031, 3033, 3035, 3037, 3039, 3041, 3043, 3045, 3047, 3049,
1627
3051, 3053, 3055, 3057, 3059, 3061, 3063, 3065, 3067, 3069,
1628
3071, 3073, 3075, 3077, 3079, 3081, 3083, 3085, 3087, 3089,
1629
3091, 3093, 3095, 3097, 3099, 3101, 3103, 3105, 3107, 3109,
1630
3111, 3113, 3115, 3117, 3119, 3121, 3123, 3125, 3127, 3129,
1631
3131, 3133, 3135, 3137, 3138, 3143, 3144, 3146, 3148, 3152,
1632
3153, 3156, 3158, 3160, 3162, 3164, 3165, 3167, 3168, 3170,
1633
3172, 3174, 3175, 3178, 3181, 3184, 3186, 3189, 3194, 3200,
1634
3205, 3212, 3214, 3217, 3220, 3223, 3225, 3227, 3229, 3231,
1635
3233, 3235, 3237, 3239, 3240, 3244, 3245, 3249, 3250, 3252,
1636
3253, 3257, 3260, 3261, 3263, 3266, 3267, 3269, 3274, 3279,
1637
3285, 3288, 3292, 3293, 3295, 3296, 3301, 3302, 3304, 3306,
1638
3307, 3310, 3313, 3315, 3316, 3318, 3320, 3323, 3327, 3329,
1639
3330, 3336, 3340, 3341
1642
/* YYRHS -- A `-1'-separated list of the rules' RHS. */
1643
static const yytype_int16 yyrhs[] =
1645
393, 0, -1, 111, -1, 394, 111, -1, 395, -1,
1646
769, -1, 475, -1, 495, -1, 497, -1, 493, -1,
1647
775, -1, 396, -1, 680, -1, 694, -1, 641, -1,
1648
700, -1, 647, -1, 706, -1, 709, -1, 778, -1,
1649
499, -1, 650, -1, 776, -1, 777, -1, 503, -1,
1650
750, -1, 688, -1, 491, -1, 686, -1, 767, -1,
1651
673, -1, 708, -1, -1, 67, 411, 328, 412, 741,
1652
397, 400, -1, -1, 67, 480, 398, 462, 157, 746,
1653
464, 230, 741, 384, 470, 385, 465, -1, -1, 67,
1654
73, 412, 746, 399, 410, -1, 384, 401, -1, 413,
1655
403, -1, 181, 741, 413, -1, 384, 181, 741, 385,
1656
-1, 422, 385, 413, 403, -1, -1, 406, 385, 402,
1657
782, -1, -1, -1, 716, 409, 406, 404, 779, -1,
1658
-1, 716, 409, 384, 406, 385, 405, 782, -1, -1,
1659
-1, 283, 407, 514, 518, 408, 421, -1, -1, 14,
1660
-1, -1, 418, -1, -1, 329, -1, -1, 153, 530,
1661
120, -1, -1, 415, -1, 416, -1, 416, 414, -1,
1662
416, -1, 416, 415, -1, 416, 386, 415, -1, 112,
1663
665, 747, -1, 29, 665, 631, -1, 53, 665, 743,
1664
-1, 18, 665, 632, -1, 277, 665, 420, -1, 417,
1665
-1, 172, 665, 631, -1, 449, 49, 665, 448, -1,
1666
449, 49, 665, 448, -1, 90, -1, 128, -1, 103,
1667
-1, 90, -1, 128, -1, 103, -1, 57, -1, 260,
1668
-1, 56, -1, 243, -1, 626, -1, 513, 517, -1,
1669
423, -1, 422, 386, 423, -1, 424, -1, 425, -1,
1670
430, 426, -1, 430, 451, -1, 457, 472, 464, 384,
1671
470, 385, 465, -1, 428, 458, 472, 464, 384, 470,
1672
385, 465, -1, 428, 132, 173, 472, 384, 470, 385,
1673
451, -1, 429, 426, -1, 428, 427, -1, -1, 427,
1674
-1, 46, 524, -1, -1, 429, -1, 62, 472, -1,
1675
-1, 740, 431, 432, -1, 433, 443, -1, 437, -1,
1676
438, 442, -1, 435, 384, 226, 385, -1, 435, -1,
1677
436, 384, 226, 385, -1, 362, 384, 226, 385, -1,
1678
80, -1, 334, -1, 77, -1, 28, -1, 332, -1,
1679
88, 439, -1, 227, 439, -1, 128, 439, -1, -1,
1680
113, 434, 384, 474, 385, -1, 287, -1, 44, -1,
1681
435, 366, -1, 363, -1, 165, -1, 24, -1, 259,
1682
-1, 99, -1, 99, 247, -1, -1, 384, 226, 385,
1683
-1, 440, -1, 384, 226, 386, 226, 385, -1, -1,
1684
384, 226, 385, -1, -1, 440, -1, -1, 444, -1,
1685
444, 445, -1, 445, -1, 225, -1, 125, 419, -1,
1686
530, 225, -1, 90, 446, -1, 230, 353, 223, 523,
1687
-1, 18, -1, 287, 90, 361, -1, 450, 173, -1,
1688
350, -1, 350, 173, -1, 53, 743, -1, 49, 447,
1689
-1, 223, 523, -1, 731, -1, 747, -1, 447, -1,
1690
90, -1, -1, 90, -1, -1, 249, -1, 261, 741,
1691
452, 454, 455, -1, -1, 384, 453, 385, -1, 453,
1692
386, 746, -1, 746, -1, -1, 195, 137, -1, 195,
1693
244, -1, 195, 296, -1, -1, 230, 353, 456, -1,
1694
230, 91, 456, -1, 230, 353, 456, 230, 91, 456,
1695
-1, 230, 91, 456, 230, 353, 456, -1, 267, -1,
1696
38, -1, 291, 225, -1, 224, 4, -1, 291, 90,
1697
-1, 459, -1, 249, 173, -1, 350, 460, -1, 173,
1698
-1, 157, -1, -1, 459, -1, 171, -1, 157, -1,
1699
156, -1, -1, 350, -1, -1, 463, -1, 463, 467,
1700
-1, -1, 466, -1, 468, -1, 466, 468, -1, 357,
1701
469, -1, 344, 469, -1, 467, -1, 172, 665, 631,
1702
-1, 53, 743, -1, 34, -1, 143, -1, 470, 386,
1703
471, 624, -1, 471, 624, -1, 746, -1, 746, 384,
1704
226, 385, -1, -1, 740, -1, -1, 390, 746, -1,
1705
730, -1, 474, 386, 730, -1, -1, 10, 480, 488,
1706
328, 741, 476, 479, -1, -1, 10, 73, 478, 477,
1707
418, -1, -1, 746, -1, -1, 96, 326, -1, 155,
1708
326, -1, 481, -1, -1, 233, -1, 228, -1, 483,
1709
-1, 481, 386, 483, -1, 5, 487, -1, 482, 424,
1710
489, -1, 5, 425, -1, 482, 384, 422, 385, -1,
1711
-1, 43, 487, 740, 484, 430, 489, -1, -1, -1,
1712
210, 487, 740, 485, 432, 486, 489, -1, 100, 487,
1713
740, -1, 100, 132, 173, 472, -1, 100, 249, 173,
1714
-1, 100, 459, 740, -1, 95, 171, -1, 107, 171,
1715
-1, 10, 487, 740, 291, 90, 731, -1, 10, 487,
1716
740, 100, 90, -1, 263, 490, 741, -1, 65, 337,
1717
448, -1, 414, -1, 131, -1, 617, -1, -1, 52,
1718
-1, -1, 154, -1, -1, 7, 746, -1, 127, -1,
1719
-1, 337, -1, 114, -1, 14, -1, 308, 339, 492,
1720
-1, -1, 372, 61, 297, -1, -1, 45, 766, 494,
1721
643, -1, -1, 11, 766, 496, 643, -1, -1, 46,
1722
766, 498, 643, -1, -1, 263, 766, 500, 501, -1,
1723
502, -1, 501, 386, 502, -1, 741, 337, 741, -1,
1724
504, -1, 283, 507, -1, 384, 505, 385, 782, -1,
1725
283, 509, -1, 384, 505, 385, -1, 283, 578, -1,
1726
384, 506, 385, -1, -1, 509, 508, 779, -1, -1,
1727
-1, 510, 514, 518, 511, 512, 517, -1, 620, 626,
1728
-1, 637, -1, 513, -1, 637, 513, -1, 513, 637,
1729
-1, 136, 560, 609, 614, 611, 620, 626, -1, -1,
1730
515, -1, 515, 516, -1, 516, -1, 315, -1, 97,
1731
-1, 305, -1, 302, -1, 303, -1, 304, -1, 9,
1732
-1, -1, 133, 353, -1, 189, 166, 293, 208, -1,
1733
518, 386, 519, -1, 519, -1, 381, -1, 520, 735,
1734
521, -1, 520, 524, 521, 522, -1, -1, -1, -1,
1735
14, 746, -1, 14, 743, -1, 746, -1, 743, -1,
1736
-1, 384, 385, -1, 524, 528, 524, -1, 524, 376,
1737
524, -1, 524, 529, 524, -1, 222, 524, -1, 525,
1738
167, 341, -1, 525, 167, 530, 341, -1, 525, 167,
1739
123, -1, 525, 167, 530, 123, -1, 525, 167, 351,
1740
-1, 525, 167, 530, 351, -1, 525, -1, 525, 167,
1741
225, -1, 525, 167, 530, 225, -1, 525, 115, 526,
1742
-1, 525, 531, 526, -1, 525, 531, 532, 384, 790,
1743
385, -1, 526, -1, 527, 166, 384, 790, 385, -1,
1744
527, 530, 166, 384, 790, 385, -1, 527, 166, 384,
1745
524, 385, -1, 527, 166, 384, 524, 386, 555, 385,
1746
-1, 527, 530, 166, 384, 524, 385, -1, 527, 530,
1747
166, 384, 524, 386, 555, 385, -1, 527, 23, 527,
1748
12, 526, -1, 527, 530, 23, 527, 12, 526, -1,
1749
527, 181, 533, 613, -1, 527, 530, 181, 533, 613,
1750
-1, 527, -1, 527, 380, 527, -1, 527, 379, 527,
1751
-1, 527, 380, 163, 524, 603, -1, 527, 379, 163,
1752
524, 603, -1, 527, 381, 527, -1, 527, 382, 527,
1753
-1, 527, 383, 527, -1, 527, 98, 527, -1, 527,
1754
211, 527, -1, 533, -1, 239, -1, 12, -1, 222,
1755
-1, 114, -1, 138, -1, 142, -1, 176, -1, 194,
1756
-1, 217, -1, 9, -1, 13, -1, 737, -1, 534,
1757
-1, 535, -1, 537, -1, 536, -1, 533, 49, 747,
1758
-1, 732, -1, 546, -1, 542, -1, 380, 533, -1,
1759
379, 533, -1, 384, 790, 385, -1, 384, 524, 385,
1760
-1, 384, 524, 386, 555, 385, -1, 278, 384, 524,
1761
386, 555, 385, -1, 120, 384, 790, 385, -1, 388,
1762
746, 524, 389, -1, 25, 533, -1, 41, 384, 524,
1763
14, 554, 385, -1, 40, 556, 558, 557, 109, -1,
1764
65, 384, 524, 386, 554, 385, -1, 90, 384, 737,
1765
385, -1, 360, 384, 738, 385, -1, 163, 524, 603,
1766
380, 524, -1, 44, 384, 555, 385, -1, 71, 523,
1767
-1, 80, 384, 524, 385, -1, 85, 384, 524, 385,
1768
-1, 149, 384, 524, 385, -1, 162, 384, 524, 386,
1769
524, 386, 524, 386, 524, 385, -1, 163, 384, 524,
1770
386, 524, 385, -1, 163, 384, 524, 386, 524, 386,
1771
555, 385, -1, 178, 384, 524, 386, 524, 385, -1,
1772
205, 384, 524, 385, -1, 212, 384, 524, 385, -1,
1773
272, 384, 524, 386, 524, 385, -1, 281, 384, 524,
1774
385, -1, 334, 384, 524, 385, -1, 340, 384, 524,
1775
385, -1, 340, 384, 177, 524, 136, 524, 385, -1,
1776
340, 384, 338, 524, 136, 524, 385, -1, 340, 384,
1777
33, 524, 136, 524, 385, -1, 340, 384, 177, 136,
1778
524, 385, -1, 340, 384, 338, 136, 524, 385, -1,
1779
340, 384, 33, 136, 524, 385, -1, 340, 384, 524,
1780
136, 524, 385, -1, 355, 384, 385, -1, 378, 384,
1781
524, 385, -1, 6, 384, 524, 386, 524, 385, -1,
1782
6, 384, 524, 386, 163, 524, 603, 385, -1, 70,
1783
523, -1, 78, 384, 524, 386, 163, 524, 603, 385,
1784
-1, 79, 384, 524, 386, 163, 524, 603, 385, -1,
1785
122, 384, 603, 136, 524, 385, -1, 223, 523, -1,
1786
223, 384, 524, 385, -1, 246, 384, 527, 166, 524,
1787
385, -1, 317, 384, 524, 386, 524, 385, -1, 317,
1788
384, 524, 386, 163, 524, 603, 385, -1, 319, 384,
1789
524, 386, 524, 386, 524, 385, -1, 319, 384, 524,
1790
386, 524, 385, -1, 319, 384, 524, 136, 524, 133,
1791
524, 385, -1, 319, 384, 524, 136, 524, 385, -1,
1792
324, 523, -1, 324, 384, 524, 385, -1, 335, 384,
1793
604, 386, 524, 386, 524, 385, -1, 336, 384, 604,
1794
386, 524, 386, 524, 385, -1, 358, 523, -1, 359,
1795
523, -1, 48, 384, 555, 385, -1, 50, 384, 524,
1796
385, -1, 73, 384, 385, -1, 153, 384, 524, 386,
1797
524, 386, 524, 385, -1, 202, 384, 524, 385, -1,
1798
211, 384, 524, 386, 524, 385, -1, 252, 384, 524,
1799
385, -1, 265, 384, 524, 386, 524, 385, -1, 266,
1800
384, 524, 386, 524, 386, 524, 385, -1, 270, 384,
1801
524, 385, -1, 342, 384, 524, 386, 524, 385, -1,
1802
-1, 742, 384, 538, 539, 385, -1, -1, 540, -1,
1803
541, -1, 540, 386, 541, -1, 520, 524, 521, 522,
1804
-1, 20, 384, 552, 385, -1, 20, 384, 97, 552,
1805
385, -1, 66, 384, 608, 381, 385, -1, 66, 384,
1806
552, 385, -1, -1, -1, 66, 384, 97, 543, 555,
1807
544, 385, -1, 207, 384, 552, 385, -1, 207, 384,
1808
97, 552, 385, -1, 198, 384, 552, 385, -1, 198,
1809
384, 97, 552, 385, -1, 311, 384, 552, 385, -1,
1810
365, 384, 552, 385, -1, 310, 384, 552, 385, -1,
1811
367, 384, 552, 385, -1, 320, 384, 552, 385, -1,
1812
320, 384, 97, 552, 385, -1, -1, 141, 384, 549,
1813
545, 555, 551, 550, 385, -1, -1, 391, 547, 548,
1814
-1, 747, 292, 524, -1, 747, -1, 391, 759, 747,
1815
473, -1, -1, 97, -1, -1, 285, 730, -1, -1,
1816
621, -1, -1, 608, 553, 524, -1, 25, 441, -1,
1817
44, 441, -1, 80, -1, 77, -1, 88, 439, -1,
1818
524, -1, 555, 386, 524, -1, -1, 524, -1, -1,
1819
105, 524, -1, 370, 524, 333, 524, -1, 558, 370,
1820
524, 333, 524, -1, 572, -1, 563, -1, 562, -1,
1821
559, -1, 388, 746, 559, 389, -1, 561, -1, 562,
1822
386, 561, -1, 559, 571, 559, -1, 559, 315, 572,
1823
-1, -1, 559, 571, 559, 230, 564, 524, -1, -1,
1824
559, 315, 572, 230, 565, 524, -1, -1, 559, 571,
1825
559, 357, 566, 384, 602, 385, -1, 559, 216, 170,
1826
572, -1, -1, 559, 178, 588, 170, 559, 230, 567,
1827
524, -1, -1, 559, 178, 588, 170, 572, 568, 357,
1828
384, 602, 385, -1, 559, 216, 178, 588, 170, 572,
1829
-1, -1, 559, 272, 588, 170, 559, 230, 569, 524,
1830
-1, -1, 559, 272, 588, 170, 572, 570, 357, 384,
1831
602, 385, -1, 559, 216, 272, 588, 170, 572, -1,
1832
170, -1, 159, 170, -1, 68, 170, -1, -1, 573,
1833
741, 607, 597, -1, 587, 586, 583, -1, 384, 586,
1834
574, 385, 607, -1, 581, 620, 626, -1, -1, -1,
1835
574, 349, 786, 575, 787, 576, 620, 626, -1, 578,
1836
-1, -1, -1, 579, 514, 518, 580, 421, 517, -1,
1837
-1, 586, 582, 562, -1, -1, -1, 584, 514, 518,
1838
585, 421, -1, -1, 283, -1, -1, 240, -1, -1,
1839
133, 170, -1, 133, 238, 35, -1, 133, 140, 35,
1840
-1, 131, -1, 154, -1, -1, 590, 459, 589, 592,
1841
384, 601, 385, -1, -1, 356, 459, 589, 593, 384,
1842
599, 385, -1, 591, -1, 594, 591, -1, -1, -1,
1843
596, 594, -1, -1, 598, 595, -1, -1, 601, -1,
1844
746, -1, 249, -1, 600, -1, 601, 386, 600, -1,
1845
746, -1, 602, 386, 746, -1, 605, -1, 81, -1,
1846
82, -1, 83, -1, 84, -1, 146, -1, 147, -1,
1847
148, -1, 203, -1, 204, -1, 280, -1, 377, -1,
1848
605, -1, 135, -1, 85, -1, 369, -1, 149, -1,
1849
205, -1, 212, -1, 252, -1, 281, -1, 202, -1,
1850
378, -1, -1, 14, -1, 114, -1, -1, 606, 746,
1851
-1, -1, 9, -1, -1, -1, 371, 610, 524, -1,
1852
-1, -1, 144, 612, 524, -1, 118, 533, -1, -1,
1853
-1, 140, 35, 615, 616, -1, 615, 386, 736, 624,
1854
-1, 736, 624, -1, -1, 373, -1, 238, 35, 618,
1855
-1, 618, 386, 619, -1, 619, -1, 738, 624, -1,
1856
-1, 621, -1, -1, 238, 35, 622, 623, -1, 623,
1857
386, 736, 624, -1, 736, 624, -1, -1, 15, -1,
1858
92, -1, -1, 627, -1, -1, 627, -1, 182, 628,
1859
-1, 629, -1, 629, 386, 629, -1, 629, 229, 629,
1860
-1, 345, -1, 191, -1, 226, -1, -1, 182, 629,
1861
-1, 226, -1, 145, -1, 191, -1, 345, -1, 87,
1862
-1, 129, -1, 226, -1, 345, -1, 191, -1, 87,
1863
-1, 129, -1, -1, 634, 635, -1, 635, 386, 636,
1864
-1, 636, -1, 391, 747, -1, -1, 164, 638, 639,
1865
-1, -1, 241, 745, 640, 717, 720, -1, 101, 745,
1866
-1, 633, -1, 100, 646, 766, 645, 643, -1, -1,
1867
100, 480, 157, 746, 230, 741, 642, -1, 100, 73,
1868
645, 746, -1, 644, -1, 643, 386, 644, -1, 741,
1869
-1, -1, 153, 120, -1, -1, 329, -1, -1, -1,
1870
162, 648, 488, 653, 649, 655, 671, -1, -1, -1,
1871
266, 651, 653, 652, 655, -1, 164, 654, -1, 654,
1872
-1, 644, -1, 658, -1, 384, 385, 658, -1, 384,
1873
657, 385, 658, -1, -1, 291, 656, 662, -1, 657,
1874
386, 734, -1, 734, -1, 360, 661, -1, 361, 661,
1875
-1, -1, 406, 659, 779, -1, -1, 384, 406, 385,
1876
660, 782, -1, 661, 386, 666, -1, 666, -1, 662,
1877
386, 663, -1, 663, -1, 738, 664, 670, -1, 114,
1878
-1, 292, -1, -1, 664, -1, -1, 384, 667, 668,
1879
385, -1, -1, 669, -1, 669, 386, 670, -1, 670,
1880
-1, 524, -1, 90, -1, -1, -1, 230, 102, 672,
1881
173, 353, 678, -1, -1, -1, 353, 488, 741, 674,
1882
291, 676, 675, 609, 620, 630, -1, 676, 386, 677,
1883
-1, 677, -1, 738, 664, 670, -1, 678, 386, 679,
1884
-1, 679, -1, 738, 664, 670, -1, -1, 91, 681,
1885
684, 682, -1, -1, 136, 741, 683, 609, 620, 630,
1886
-1, -1, 685, 684, -1, 154, -1, 342, 687, 644,
1887
-1, -1, 328, -1, -1, 294, 689, 690, -1, 74,
1888
693, -1, 325, 691, 693, -1, 328, 309, 691, 693,
1889
-1, 51, 692, 741, 691, 693, -1, 461, 692, 741,
1890
691, 609, -1, 66, 384, 381, 385, 368, -1, 66,
1891
384, 381, 385, 116, -1, 368, 625, -1, 116, 625,
1892
-1, 758, 309, 693, -1, 251, -1, 758, 364, 693,
1893
-1, 67, 73, 412, 746, -1, 67, 328, 741, -1,
1894
-1, 692, 746, -1, 136, -1, 166, -1, -1, 181,
1895
743, -1, 371, 524, -1, -1, 697, 741, 695, 699,
1896
-1, -1, 697, 698, 696, 503, -1, 92, -1, 93,
1897
-1, -1, 121, -1, -1, 730, -1, 746, -1, -1,
1898
130, 701, 702, -1, 702, 386, 703, -1, 703, -1,
1899
-1, 766, 704, 705, -1, 325, 372, 257, 189, -1,
1900
190, -1, 309, -1, -1, 643, -1, 174, 707, 524,
1901
-1, -1, 60, -1, 253, -1, 356, 746, -1, -1,
1902
-1, -1, -1, 185, 714, 710, 715, 158, 745, 711,
1903
716, 164, 712, 328, 741, 713, 717, 720, 723, 725,
1904
728, -1, 76, -1, -1, 58, -1, -1, 266, -1,
1905
154, -1, -1, 51, 718, -1, 718, 719, -1, 719,
1906
-1, 330, 35, 730, -1, 237, 108, 35, 730, -1,
1907
108, 35, 730, -1, 117, 35, 730, -1, -1, 183,
1908
721, -1, 721, 722, -1, 722, -1, 330, 35, 730,
1909
-1, 307, 35, 730, -1, -1, 154, 226, 724, -1,
1910
183, -1, 276, -1, -1, 384, 726, 385, -1, 384,
1911
385, -1, 726, 386, 727, -1, 727, -1, 738, -1,
1912
391, 747, -1, -1, 291, 678, -1, 744, -1, 729,
1913
744, -1, 744, -1, 145, -1, 26, -1, 732, -1,
1914
380, 733, -1, 379, 733, -1, 729, -1, 733, -1,
1915
225, -1, 123, -1, 341, -1, 145, -1, 26, -1,
1916
80, 729, -1, 334, 729, -1, 226, -1, 191, -1,
1917
345, -1, 87, -1, 129, -1, 738, -1, 735, -1,
1918
746, 390, 381, -1, 746, 390, 746, 390, 381, -1,
1919
524, -1, 746, -1, 739, -1, 746, -1, 739, -1,
1920
746, 390, 746, -1, 390, 746, 390, 746, -1, 746,
1921
390, 746, 390, 746, -1, 746, -1, 746, 390, 746,
1922
390, 746, -1, 746, 390, 746, -1, 390, 746, -1,
1923
746, -1, 746, 390, 746, -1, 390, 746, -1, 150,
1924
-1, 152, -1, 331, -1, 331, -1, 331, -1, 742,
1925
-1, 748, -1, 746, -1, 743, -1, 180, -1, 749,
1926
-1, 22, -1, 36, -1, 45, -1, 47, -1, 53,
1927
-1, 55, -1, 63, -1, 86, -1, 109, -1, 130,
1928
-1, 224, -1, 234, -1, 273, -1, 279, -1, 282,
1929
-1, 289, -1, 308, -1, 312, -1, 342, -1, 4,
1930
-1, 6, -1, 7, -1, 8, -1, 13, -1, 17,
1931
-1, 18, -1, 19, -1, 20, -1, 27, -1, 29,
1932
-1, 30, -1, 32, -1, 31, -1, 34, -1, 39,
1933
-1, 42, -1, 48, -1, 50, -1, 125, -1, 51,
1934
-1, 54, -1, 56, -1, 57, -1, 58, -1, 60,
1935
-1, 61, -1, 69, -1, 76, -1, 74, -1, 75,
1936
-1, 77, -1, 80, -1, 85, -1, 95, -1, 96,
1937
-1, 101, -1, 102, -1, 103, -1, 110, -1, 113,
1938
-1, 112, -1, 116, -1, 118, -1, 119, -1, 121,
1939
-1, 134, -1, 107, -1, 137, -1, 126, -1, 127,
1940
-1, 128, -1, 135, -1, 139, -1, 143, -1, 149,
1941
-1, 151, -1, 155, -1, 156, -1, 168, -1, 172,
1942
-1, 175, -1, 179, -1, 184, -1, 186, -1, 188,
1943
-1, 190, -1, 196, -1, 197, -1, 199, -1, 200,
1944
-1, 201, -1, 202, -1, 205, -1, 206, -1, 210,
1945
-1, 208, -1, 212, -1, 214, -1, 213, -1, 215,
1946
-1, 220, -1, 219, -1, 221, -1, 228, -1, 229,
1947
-1, 231, -1, 232, -1, 233, -1, 243, -1, 244,
1948
-1, 245, -1, 248, -1, 250, -1, 251, -1, 252,
1949
-1, 253, -1, 256, -1, 260, -1, 264, -1, 268,
1950
-1, 270, -1, 274, -1, 275, -1, 276, -1, 277,
1951
-1, 278, -1, 281, -1, 287, -1, 286, -1, 288,
1952
-1, 296, -1, 293, -1, 295, -1, 297, -1, 303,
1953
-1, 309, -1, 313, -1, 316, -1, 317, -1, 318,
1954
-1, 321, -1, 322, -1, 323, -1, 325, -1, 326,
1955
-1, 329, -1, 332, -1, 339, -1, 334, -1, 335,
1956
-1, 336, -1, 343, -1, 344, -1, 346, -1, 347,
1957
-1, 351, -1, 355, -1, 364, -1, 361, -1, 368,
1958
-1, 369, -1, 374, -1, 378, -1, -1, 291, 752,
1959
751, 753, -1, -1, 236, -1, 754, -1, 753, 386,
1960
754, -1, -1, 755, 760, -1, 757, -1, 139, -1,
1961
186, -1, 288, -1, -1, 231, -1, -1, 139, -1,
1962
186, -1, 288, -1, -1, 139, 390, -1, 186, 390,
1963
-1, 288, 390, -1, 761, -1, 757, 762, -1, 756,
1964
763, 664, 765, -1, 756, 339, 168, 179, 764, -1,
1965
391, 747, 664, 524, -1, 391, 391, 759, 763, 664,
1966
765, -1, 746, -1, 257, 346, -1, 257, 54, -1,
1967
264, 257, -1, 286, -1, 524, -1, 90, -1, 230,
1968
-1, 9, -1, 25, -1, 328, -1, 325, -1, -1,
1969
352, 768, 766, -1, -1, 22, 770, 771, -1, -1,
1970
374, -1, -1, 12, 224, 42, -1, 12, 42, -1,
1971
-1, 262, -1, 224, 262, -1, -1, 279, -1, 55,
1972
771, 772, 773, -1, 273, 771, 772, 773, -1, 273,
1973
771, 337, 774, 746, -1, 279, 746, -1, 262, 279,
1974
746, -1, -1, 780, -1, -1, 349, 786, 781, 504,
1975
-1, -1, 780, -1, 783, -1, -1, 784, 785, -1,
1976
621, 625, -1, 627, -1, -1, 97, -1, 9, -1,
1977
283, 577, -1, 384, 506, 385, -1, 787, -1, -1,
1978
788, 349, 786, 789, 787, -1, 791, 788, 792, -1,
1982
/* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1983
static const yytype_uint16 yyrline[] =
1985
0, 962, 962, 979, 983, 984, 989, 990, 991, 992,
1986
993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002,
1987
1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012,
1988
1013, 1014, 1021, 1020, 1054, 1053, 1081, 1080, 1098, 1099,
1989
1101, 1111, 1124, 1127, 1126, 1132, 1134, 1133, 1137, 1136,
1990
1143, 1173, 1142, 1187, 1188, 1192, 1193, 1197, 1198, 1202,
1991
1203, 1206, 1208, 1212, 1213, 1217, 1218, 1219, 1223, 1233,
1992
1242, 1249, 1260, 1268, 1269, 1282, 1301, 1311, 1312, 1313,
1993
1316, 1317, 1318, 1319, 1320, 1321, 1322, 1326, 1327, 1331,
1994
1332, 1336, 1337, 1341, 1342, 1349, 1358, 1368, 1387, 1391,
1995
1397, 1399, 1403, 1407, 1408, 1412, 1417, 1416, 1451, 1455,
1996
1472, 1485, 1503, 1514, 1533, 1554, 1564, 1574, 1584, 1596,
1997
1607, 1617, 1627, 1638, 1637, 1649, 1667, 1671, 1672, 1676,
1998
1677, 1681, 1685, 1687, 1693, 1694, 1696, 1701, 1710, 1711,
1999
1715, 1716, 1720, 1721, 1725, 1726, 1730, 1742, 1749, 1761,
2000
1768, 1770, 1783, 1798, 1813, 1821, 1829, 1837, 1853, 1855,
2001
1860, 1871, 1872, 1876, 1877, 1880, 1882, 1886, 1898, 1899,
2002
1903, 1905, 1915, 1916, 1918, 1920, 1926, 1930, 1935, 1940,
2003
1946, 1955, 1956, 1957, 1958, 1959, 1963, 1967, 1968, 1972,
2004
1973, 1977, 1978, 1982, 1983, 1984, 1988, 1989, 1993, 2005,
2005
2006, 2010, 2011, 2015, 2016, 2020, 2021, 2025, 2026, 2028,
2006
2033, 2034, 2038, 2039, 2043, 2044, 2056, 2057, 2061, 2062,
2007
2066, 2067, 2075, 2074, 2099, 2098, 2117, 2118, 2121, 2123,
2008
2128, 2133, 2138, 2141, 2145, 2152, 2153, 2157, 2167, 2168,
2009
2174, 2182, 2181, 2189, 2202, 2188, 2217, 2224, 2231, 2239,
2010
2247, 2254, 2261, 2268, 2275, 2297, 2307, 2313, 2319, 2328,
2011
2329, 2333, 2334, 2338, 2339, 2346, 2356, 2357, 2358, 2359,
2012
2363, 2374, 2375, 2384, 2383, 2398, 2397, 2411, 2410, 2425,
2013
2424, 2436, 2437, 2441, 2459, 2471, 2472, 2476, 2481, 2486,
2014
2491, 2496, 2495, 2515, 2523, 2515, 2530, 2531, 2532, 2533,
2015
2534, 2538, 2547, 2549, 2561, 2562, 2566, 2567, 2568, 2569,
2016
2570, 2576, 2582, 2585, 2587, 2592, 2601, 2602, 2603, 2615,
2017
2622, 2642, 2650, 2658, 2659, 2660, 2661, 2662, 2666, 2667,
2018
2672, 2721, 2726, 2767, 2769, 2771, 2773, 2775, 2777, 2779,
2019
2781, 2785, 2787, 2789, 2791, 2793, 2795, 2799, 2803, 2809,
2020
2813, 2819, 2823, 2831, 2833, 2839, 2841, 2843, 2847, 2849,
2021
2851, 2853, 2855, 2857, 2859, 2861, 2863, 2865, 2869, 2873,
2022
2877, 2881, 2882, 2883, 2884, 2885, 2886, 2890, 2891, 2895,
2023
2896, 2897, 2898, 2899, 2900, 2908, 2909, 2910, 2911, 2912,
2024
2914, 2918, 2919, 2924, 2929, 2933, 2934, 2939, 2947, 2949,
2025
2956, 2961, 2966, 2978, 2980, 2984, 2986, 2988, 2990, 2992,
2026
3001, 3009, 3011, 3013, 3015, 3017, 3019, 3021, 3023, 3025,
2027
3027, 3029, 3031, 3033, 3035, 3037, 3041, 3057, 3062, 3064,
2028
3068, 3070, 3072, 3074, 3078, 3082, 3084, 3089, 3091, 3103,
2029
3114, 3126, 3137, 3139, 3141, 3143, 3145, 3149, 3161, 3163,
2030
3165, 3173, 3175, 3177, 3179, 3181, 3183, 3185, 3195, 3209,
2031
3208, 3256, 3257, 3261, 3266, 3274, 3294, 3296, 3298, 3300,
2032
3303, 3305, 3302, 3308, 3315, 3317, 3319, 3321, 3323, 3325,
2033
3327, 3329, 3331, 3334, 3333, 3349, 3348, 3357, 3361, 3365,
2034
3379, 3380, 3385, 3388, 3393, 3396, 3408, 3407, 3424, 3426,
2035
3428, 3430, 3432, 3437, 3442, 3450, 3451, 3455, 3456, 3460,
2036
3466, 3477, 3478, 3487, 3498, 3499, 3505, 3506, 3526, 3528,
2037
3532, 3530, 3547, 3545, 3563, 3561, 3568, 3577, 3575, 3593,
2038
3592, 3602, 3613, 3611, 3630, 3629, 3640, 3651, 3652, 3653,
2039
3665, 3665, 3678, 3718, 3760, 3764, 3769, 3761, 3781, 3801,
2040
3809, 3801, 3818, 3817, 3840, 3856, 3840, 3863, 3867, 3887,
2041
3888, 3893, 3896, 3897, 3898, 3902, 3903, 3908, 3907, 3913,
2042
3912, 3920, 3921, 3924, 3926, 3926, 3930, 3930, 3935, 3936,
2043
3940, 3942, 3947, 3948, 3952, 3960, 3970, 3971, 3972, 3973,
2044
3974, 3975, 3976, 3977, 3978, 3979, 3980, 3981, 3985, 3986,
2045
4004, 4005, 4006, 4007, 4008, 4009, 4010, 4011, 4012, 4015,
2046
4017, 4018, 4022, 4023, 4027, 4029, 4033, 4035, 4034, 4048,
2047
4051, 4050, 4065, 4071, 4081, 4083, 4087, 4089, 4094, 4095,
2048
4120, 4124, 4125, 4129, 4142, 4144, 4149, 4148, 4183, 4185,
2049
4190, 4191, 4192, 4197, 4203, 4207, 4208, 4212, 4216, 4223,
2050
4230, 4240, 4241, 4242, 4247, 4251, 4260, 4261, 4262, 4263,
2051
4264, 4265, 4269, 4270, 4271, 4272, 4273, 4277, 4277, 4287,
2052
4288, 4292, 4308, 4307, 4314, 4313, 4321, 4332, 4341, 4352,
2053
4352, 4367, 4379, 4380, 4384, 4392, 4393, 4397, 4398, 4406,
2054
4418, 4405, 4428, 4438, 4427, 4447, 4448, 4452, 4461, 4462,
2055
4463, 4465, 4464, 4475, 4476, 4480, 4481, 4483, 4482, 4486,
2056
4485, 4491, 4492, 4496, 4497, 4501, 4511, 4512, 4516, 4517,
2057
4522, 4521, 4535, 4536, 4540, 4545, 4553, 4554, 4557, 4559,
2058
4559, 4567, 4580, 4566, 4600, 4601, 4605, 4613, 4614, 4618,
2059
4631, 4630, 4647, 4646, 4657, 4658, 4662, 4666, 4678, 4680,
2060
4687, 4686, 4699, 4736, 4788, 4829, 4871, 4912, 4920, 4928,
2061
4935, 4942, 4981, 5003, 5042, 5052, 5064, 5065, 5069, 5070,
2062
5073, 5075, 5082, 5093, 5092, 5134, 5133, 5143, 5144, 5148,
2063
5149, 5153, 5154, 5155, 5168, 5167, 5181, 5182, 5187, 5186,
2064
5192, 5197, 5202, 5210, 5211, 5217, 5230, 5231, 5232, 5238,
2065
5253, 5267, 5276, 5282, 5252, 5298, 5301, 5302, 5309, 5310,
2066
5311, 5314, 5316, 5320, 5321, 5325, 5330, 5337, 5342, 5349,
2067
5351, 5355, 5356, 5360, 5365, 5372, 5374, 5382, 5383, 5387,
2068
5388, 5389, 5393, 5395, 5400, 5401, 5406, 5407, 5413, 5418,
2069
5425, 5431, 5442, 5455, 5456, 5457, 5465, 5466, 5467, 5472,
2070
5473, 5474, 5475, 5476, 5477, 5481, 5486, 5491, 5493, 5501,
2071
5516, 5517, 5521, 5527, 5536, 5540, 5552, 5556, 5566, 5570,
2072
5590, 5606, 5626, 5627, 5644, 5655, 5659, 5660, 5661, 5665,
2073
5666, 5684, 5691, 5698, 5705, 5706, 5715, 5716, 5717, 5722,
2074
5723, 5724, 5725, 5726, 5727, 5728, 5729, 5730, 5731, 5732,
2075
5733, 5734, 5735, 5736, 5737, 5738, 5739, 5740, 5741, 5751,
2076
5752, 5753, 5754, 5755, 5756, 5757, 5758, 5759, 5760, 5761,
2077
5762, 5763, 5764, 5765, 5766, 5767, 5768, 5769, 5770, 5771,
2078
5772, 5773, 5774, 5775, 5776, 5777, 5778, 5779, 5780, 5781,
2079
5782, 5783, 5784, 5785, 5786, 5787, 5788, 5789, 5790, 5791,
2080
5792, 5793, 5794, 5795, 5796, 5797, 5798, 5799, 5800, 5801,
2081
5802, 5803, 5804, 5805, 5806, 5807, 5808, 5809, 5810, 5811,
2082
5812, 5813, 5814, 5815, 5816, 5817, 5818, 5819, 5820, 5821,
2083
5822, 5823, 5824, 5825, 5826, 5827, 5828, 5829, 5830, 5831,
2084
5832, 5833, 5834, 5835, 5836, 5837, 5838, 5839, 5840, 5841,
2085
5842, 5843, 5844, 5845, 5846, 5847, 5848, 5849, 5850, 5851,
2086
5852, 5853, 5854, 5855, 5856, 5857, 5858, 5859, 5860, 5861,
2087
5862, 5863, 5864, 5865, 5866, 5867, 5868, 5869, 5870, 5871,
2088
5872, 5873, 5874, 5875, 5876, 5877, 5878, 5879, 5880, 5881,
2089
5882, 5883, 5884, 5885, 5886, 5887, 5888, 5889, 5890, 5891,
2090
5892, 5893, 5894, 5901, 5900, 5917, 5918, 5922, 5923, 5927,
2091
5927, 5935, 5936, 5937, 5938, 5942, 5943, 5947, 5948, 5949,
2092
5950, 5954, 5955, 5956, 5957, 5961, 5962, 5966, 5978, 5990,
2093
5994, 6002, 6019, 6020, 6021, 6022, 6026, 6027, 6028, 6029,
2094
6030, 6034, 6035, 6040, 6039, 6053, 6052, 6064, 6065, 6070,
2095
6071, 6072, 6077, 6078, 6079, 6083, 6084, 6088, 6102, 6113,
2096
6126, 6138, 6155, 6156, 6161, 6160, 6176, 6177, 6178, 6182,
2097
6182, 6206, 6207, 6211, 6212, 6213, 6217, 6221, 6228, 6231,
2098
6229, 6244, 6251, 6271
2102
#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
2103
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
2104
First, the terminals, then, starting at YYNTOKENS, nonterminals. */
2105
static const char *const yytname[] =
2107
"$end", "error", "$undefined", "ABORT_SYM", "ACTION", "ADD",
2108
"ADDDATE_SYM", "AFTER_SYM", "AGGREGATE_SYM", "ALL", "ALTER",
2109
"ANALYZE_SYM", "AND_SYM", "ANY_SYM", "AS", "ASC", "ASENSITIVE_SYM",
2110
"AT_SYM", "AUTO_INC", "AVG_ROW_LENGTH", "AVG_SYM", "BEFORE_SYM",
2111
"BEGIN_SYM", "BETWEEN_SYM", "BIGINT_SYM", "BINARY", "BIN_NUM", "BIT_SYM",
2112
"BLOB_SYM", "BLOCK_SIZE_SYM", "BLOCK_SYM", "BOOLEAN_SYM", "BOOL_SYM",
2113
"BOTH", "BTREE_SYM", "BY", "BYTE_SYM", "CALL_SYM", "CASCADE", "CASCADED",
2114
"CASE_SYM", "CAST_SYM", "CHAIN_SYM", "CHANGE", "CHAR_SYM",
2115
"CHECKSUM_SYM", "CHECK_SYM", "CLOSE_SYM", "COALESCE", "COLLATE_SYM",
2116
"COLLATION_SYM", "COLUMNS", "COLUMN_SYM", "COMMENT_SYM", "COMMITTED_SYM",
2117
"COMMIT_SYM", "COMPACT_SYM", "COMPRESSED_SYM", "CONCURRENT",
2118
"CONDITION_SYM", "CONNECTION_SYM", "CONSISTENT_SYM", "CONSTRAINT",
2119
"CONTAINS_SYM", "CONTINUE_SYM", "CONVERT_SYM", "COUNT_SYM", "CREATE",
2120
"CROSS", "CUBE_SYM", "CURDATE", "CURRENT_USER", "CURSOR_SYM", "DATABASE",
2121
"DATABASES", "DATAFILE_SYM", "DATA_SYM", "DATETIME_SYM",
2122
"DATE_ADD_INTERVAL", "DATE_SUB_INTERVAL", "DATE_SYM", "DAY_HOUR_SYM",
2123
"DAY_MICROSECOND_SYM", "DAY_MINUTE_SYM", "DAY_SECOND_SYM", "DAY_SYM",
2124
"DEALLOCATE_SYM", "DECIMAL_NUM", "DECIMAL_SYM", "DECLARE_SYM", "DEFAULT",
2125
"DELETE_SYM", "DESC", "DESCRIBE", "DETERMINISTIC_SYM", "DISABLE_SYM",
2126
"DISCARD", "DISTINCT", "DIV_SYM", "DOUBLE_SYM", "DROP", "DUMPFILE",
2127
"DUPLICATE_SYM", "DYNAMIC_SYM", "EACH_SYM", "ELSE", "ELSEIF_SYM",
2128
"ENABLE_SYM", "ENCLOSED", "END", "ENDS_SYM", "END_OF_INPUT",
2129
"ENGINE_SYM", "ENUM_SYM", "EQ", "EQUAL_SYM", "ERRORS", "ESCAPED",
2130
"ESCAPE_SYM", "EXCLUSIVE_SYM", "EXISTS", "EXTENDED_SYM", "EXTRACT_SYM",
2131
"FALSE_SYM", "FETCH_SYM", "COLUMN_FORMAT_SYM", "FILE_SYM", "FIRST_SYM",
2132
"FIXED_SYM", "FLOAT_NUM", "FLUSH_SYM", "FORCE_SYM", "FOREIGN", "FOR_SYM",
2133
"FOUND_SYM", "FRAC_SECOND_SYM", "FROM", "FULL", "GE", "GLOBAL_SYM",
2134
"GROUP_SYM", "GROUP_CONCAT_SYM", "GT_SYM", "HASH_SYM", "HAVING",
2135
"HEX_NUM", "HOUR_MICROSECOND_SYM", "HOUR_MINUTE_SYM", "HOUR_SECOND_SYM",
2136
"HOUR_SYM", "IDENT", "IDENTIFIED_SYM", "IDENT_QUOTED", "IF",
2137
"IGNORE_SYM", "IMPORT", "INDEXES", "INDEX_SYM", "INFILE", "INNER_SYM",
2138
"INOUT_SYM", "INSENSITIVE_SYM", "INSERT", "INTERVAL_SYM", "INTO",
2139
"INT_SYM", "IN_SYM", "IS", "ISOLATION", "ITERATE_SYM", "JOIN_SYM",
2140
"KEYS", "KEY_BLOCK_SIZE", "KEY_SYM", "KILL_SYM", "LAST_SYM", "LE",
2141
"LEADING", "LEFT", "LEVEL_SYM", "LEX_HOSTNAME", "LIKE", "LIMIT", "LINES",
2142
"LIST_SYM", "LOAD", "LOCAL_SYM", "LOCATOR_SYM", "LOCKS_SYM", "LOCK_SYM",
2143
"LOGS_SYM", "LONG_NUM", "LONG_SYM", "LOOP_SYM", "LT", "MATCH",
2144
"MAX_ROWS", "MAX_SIZE_SYM", "MAX_SYM", "MAX_VALUE_SYM", "MEDIUM_SYM",
2145
"MERGE_SYM", "MICROSECOND_SYM", "MINUTE_MICROSECOND_SYM",
2146
"MINUTE_SECOND_SYM", "MINUTE_SYM", "MIN_ROWS", "MIN_SYM", "MODE_SYM",
2147
"MODIFIES_SYM", "MODIFY_SYM", "MOD_SYM", "MONTH_SYM", "NAMES_SYM",
2148
"NAME_SYM", "NATIONAL_SYM", "NATURAL", "NE", "NEG", "NEW_SYM",
2149
"NEXT_SYM", "NONE_SYM", "NOT_SYM", "NOW_SYM", "NO_SYM", "NULL_SYM",
2150
"NUM", "NUMERIC_SYM", "OFFLINE_SYM", "OFFSET_SYM", "ON", "ONE_SHOT_SYM",
2151
"ONE_SYM", "ONLINE_SYM", "OPEN_SYM", "OPTIMIZE", "OPTION", "OPTIONALLY",
2152
"ORDER_SYM", "OR_SYM", "OUTER", "OUTFILE", "OUT_SYM", "PAGE_SYM",
2153
"PARTIAL", "PHASE_SYM", "POSITION_SYM", "PRECISION", "PREV_SYM",
2154
"PRIMARY_SYM", "PROCESS", "PROCESSLIST_SYM", "QUARTER_SYM", "QUERY_SYM",
2155
"RANGE_SYM", "READS_SYM", "READ_ONLY_SYM", "READ_SYM", "READ_WRITE_SYM",
2156
"REAL", "REDUNDANT_SYM", "REFERENCES", "RELEASE_SYM", "RENAME",
2157
"REPEATABLE_SYM", "REPEAT_SYM", "REPLACE", "RESTRICT", "RETURNS_SYM",
2158
"RETURN_SYM", "REVERSE_SYM", "REVOKE", "RIGHT", "ROLLBACK_SYM",
2159
"ROLLUP_SYM", "ROUTINE_SYM", "ROWS_SYM", "ROW_FORMAT_SYM", "ROW_SYM",
2160
"SAVEPOINT_SYM", "SECOND_MICROSECOND_SYM", "SECOND_SYM", "SECURITY_SYM",
2161
"SELECT_SYM", "SENSITIVE_SYM", "SEPARATOR_SYM", "SERIALIZABLE_SYM",
2162
"SERIAL_SYM", "SESSION_SYM", "SERVER_SYM", "SERVER_OPTIONS", "SET",
2163
"SET_VAR", "SHARE_SYM", "SHOW", "SHUTDOWN", "SIMPLE_SYM", "SNAPSHOT_SYM",
2164
"SPECIFIC_SYM", "SQLEXCEPTION_SYM", "SQLSTATE_SYM", "SQLWARNING_SYM",
2165
"SQL_BIG_RESULT", "SQL_BUFFER_RESULT", "SQL_CALC_FOUND_ROWS",
2166
"SQL_SMALL_RESULT", "SQL_SYM", "STARTING", "START_SYM", "STATUS_SYM",
2167
"STDDEV_SAMP_SYM", "STD_SYM", "STOP_SYM", "STORAGE_SYM", "STORED_SYM",
2168
"STRAIGHT_JOIN", "STRING_SYM", "SUBDATE_SYM", "SUBJECT_SYM", "SUBSTRING",
2169
"SUM_SYM", "SUSPEND_SYM", "SWAPS_SYM", "SWITCHES_SYM", "SYSDATE",
2170
"TABLES", "TABLESPACE", "TABLE_REF_PRIORITY", "TABLE_SYM",
2171
"TEMPORARY_SYM", "TERMINATED", "TEXT_STRING", "TEXT_SYM", "THEN_SYM",
2172
"TIMESTAMP_SYM", "TIMESTAMP_ADD", "TIMESTAMP_DIFF", "TO_SYM", "TRAILING",
2173
"TRANSACTION_SYM", "TRIM", "TRUE_SYM", "TRUNCATE_SYM", "TYPES_SYM",
2174
"TYPE_SYM", "ULONGLONG_NUM", "UNCOMMITTED_SYM", "UNDOFILE_SYM",
2175
"UNDO_SYM", "UNION_SYM", "UNIQUE_SYM", "UNKNOWN_SYM", "UNLOCK_SYM",
2176
"UPDATE_SYM", "USAGE", "USER", "USE_SYM", "USING", "UTC_DATE_SYM",
2177
"UTC_TIMESTAMP_SYM", "VALUES", "VALUE_SYM", "VARBINARY", "VARCHAR_SYM",
2178
"VARIABLES", "VARIANCE_SYM", "VARYING", "VAR_SAMP_SYM", "WARNINGS",
2179
"WEEK_SYM", "WHEN_SYM", "WHERE", "WITH", "WITH_ROLLUP_SYM", "WORK_SYM",
2180
"WRITE_SYM", "XOR", "YEAR_MONTH_SYM", "YEAR_SYM", "'-'", "'+'", "'*'",
2181
"'/'", "'%'", "'('", "')'", "','", "'!'", "'{'", "'}'", "'.'", "'@'",
2182
"$accept", "query", "verb_clause", "statement", "create", "@1", "@2",
2183
"@3", "create2", "create2a", "@4", "create3", "@5", "@6",
2184
"create_select", "@7", "@8", "opt_as", "opt_create_database_options",
2185
"opt_table_options", "opt_if_not_exists", "opt_create_table_options",
2186
"create_table_options_space_separated", "create_table_options",
2187
"create_table_option", "default_collation", "default_collation_schema",
2188
"column_format_types", "row_types", "opt_select_from", "field_list",
2189
"field_list_item", "column_def", "key_def", "opt_check_constraint",
2190
"check_constraint", "opt_constraint", "constraint", "field_spec", "@9",
2191
"field_def", "type", "@10", "char", "varchar", "int_type", "real_type",
2192
"float_options", "precision", "opt_len", "opt_precision",
2193
"opt_attribute", "opt_attribute_list", "attribute",
2194
"now_or_signed_literal", "collation_name", "collation_name_or_default",
2195
"opt_default", "opt_primary", "references", "opt_ref_list", "ref_list",
2196
"opt_match_clause", "opt_on_update_delete", "delete_option", "key_type",
2197
"constraint_key_type", "key_or_index", "opt_key_or_index",
2198
"keys_or_index", "opt_unique", "init_key_options", "key_alg",
2199
"key_options", "key_opts", "key_using_alg", "key_opt", "btree_or_rtree",
2200
"key_list", "key_part", "opt_ident", "opt_component", "string_list",
2201
"alter", "@11", "@12", "ident_or_empty", "alter_commands",
2202
"build_method", "alter_list", "add_column", "alter_list_item", "@13",
2203
"@14", "@15", "opt_column", "opt_ignore", "opt_place", "opt_to", "start",
2204
"start_transaction_opts", "checksum", "@16", "analyze", "@17", "check",
2205
"@18", "rename", "@19", "table_to_table_list", "table_to_table",
2206
"select", "select_init", "select_paren", "select_paren_derived",
2207
"select_init2", "@20", "select_part2", "@21", "@22", "select_into",
2208
"select_from", "select_options", "select_option_list", "select_option",
2209
"select_lock_type", "select_item_list", "select_item", "remember_name",
2210
"remember_end", "select_alias", "optional_braces", "expr", "bool_pri",
2211
"predicate", "bit_expr", "or", "and", "not", "comp_op", "all_or_any",
2212
"simple_expr", "function_call_keyword", "function_call_nonkeyword",
2213
"function_call_conflict", "function_call_generic", "@23",
2214
"opt_udf_expr_list", "udf_expr_list", "udf_expr", "sum_expr", "@24",
2215
"@25", "@26", "variable", "@27", "variable_aux", "opt_distinct",
2216
"opt_gconcat_separator", "opt_gorder_clause", "in_sum_expr", "@28",
2217
"cast_type", "expr_list", "opt_expr", "opt_else", "when_list",
2218
"table_ref", "join_table_list", "esc_table_ref", "derived_table_list",
2219
"join_table", "@29", "@30", "@31", "@32", "@33", "@34", "@35",
2220
"normal_join", "table_factor", "@36", "select_derived_union", "@37",
2221
"@38", "select_init2_derived", "select_part2_derived", "@39", "@40",
2222
"select_derived", "@41", "select_derived2", "@42", "@43",
2223
"get_select_lex", "select_derived_init", "opt_outer",
2224
"index_hint_clause", "index_hint_type", "index_hint_definition", "@44",
2225
"@45", "index_hints_list", "opt_index_hints_list", "@46",
2226
"opt_key_definition", "@47", "opt_key_usage_list", "key_usage_element",
2227
"key_usage_list", "using_list", "interval", "interval_time_stamp",
2228
"interval_time_st", "table_alias", "opt_table_alias", "opt_all",
2229
"where_clause", "@48", "having_clause", "@49", "opt_escape",
2230
"group_clause", "group_list", "olap_opt", "alter_order_clause",
2231
"alter_order_list", "alter_order_item", "opt_order_clause",
2232
"order_clause", "@50", "order_list", "order_dir",
2233
"opt_limit_clause_init", "opt_limit_clause", "limit_clause",
2234
"limit_options", "limit_option", "delete_limit_clause", "ulong_num",
2235
"ulonglong_num", "select_var_list_init", "@51", "select_var_list",
2236
"select_var_ident", "into", "@52", "into_destination", "@53", "drop",
2237
"@54", "table_list", "table_name", "if_exists", "opt_temporary",
2238
"insert", "@55", "@56", "replace", "@57", "@58", "insert2",
2239
"insert_table", "insert_field_spec", "@59", "fields", "insert_values",
2240
"@60", "@61", "values_list", "ident_eq_list", "ident_eq_value", "equal",
2241
"opt_equal", "no_braces", "@62", "opt_values", "values",
2242
"expr_or_default", "opt_insert_update", "@63", "update", "@64", "@65",
2243
"update_list", "update_elem", "insert_update_list", "insert_update_elem",
2244
"delete", "@66", "single_multi", "@67", "opt_delete_options",
2245
"opt_delete_option", "truncate", "opt_table_sym", "show", "@68",
2246
"show_param", "opt_db", "from_or_in", "show_wild", "describe", "@69",
2247
"@70", "describe_command", "opt_extended_describe",
2248
"opt_describe_column", "flush", "@71", "flush_options", "flush_option",
2249
"@72", "opt_table_list", "kill", "kill_option", "use", "load", "@73",
2250
"@74", "@75", "@76", "data_file", "load_data_lock", "opt_duplicate",
2251
"opt_field_term", "field_term_list", "field_term", "opt_line_term",
2252
"line_term_list", "line_term", "opt_ignore_lines", "lines_or_rows",
2253
"opt_field_or_var_spec", "fields_or_vars", "field_or_var",
2254
"opt_load_data_set_spec", "text_literal", "text_string",
2255
"signed_literal", "literal", "NUM_literal", "insert_ident", "table_wild",
2256
"order_ident", "simple_ident", "simple_ident_nospvar", "simple_ident_q",
2257
"field_ident", "table_ident", "IDENT_sys", "TEXT_STRING_sys",
2258
"TEXT_STRING_literal", "TEXT_STRING_filesystem", "ident",
2259
"ident_or_text", "keyword", "keyword_sp", "set", "@77", "opt_option",
2260
"option_value_list", "option_type_value", "@78", "option_type",
2261
"option_type2", "opt_var_type", "opt_var_ident_type", "ext_option_value",
2262
"sys_option_value", "option_value", "internal_variable_name",
2263
"isolation_types", "set_expr_or_default", "table_or_tables", "unlock",
2264
"@79", "begin", "@80", "opt_work", "opt_chain", "opt_release",
2265
"opt_savepoint", "commit", "rollback", "savepoint", "release",
2266
"union_clause", "union_list", "@81", "union_opt", "union_order_or_limit",
2267
"@82", "order_or_limit", "union_option", "query_specification",
2268
"query_expression_body", "@83", "subselect", "subselect_start",
2274
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
2276
static const yytype_uint16 yytoknum[] =
2278
0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
2279
265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
2280
275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
2281
285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
2282
295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
2283
305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
2284
315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
2285
325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
2286
335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
2287
345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
2288
355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
2289
365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
2290
375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
2291
385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
2292
395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
2293
405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
2294
415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
2295
425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
2296
435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
2297
445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
2298
455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
2299
465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
2300
475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
2301
485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
2302
495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
2303
505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
2304
515, 516, 517, 518, 519, 520, 521, 522, 523, 524,
2305
525, 526, 527, 528, 529, 530, 531, 532, 533, 534,
2306
535, 536, 537, 538, 539, 540, 541, 542, 543, 544,
2307
545, 546, 547, 548, 549, 550, 551, 552, 553, 554,
2308
555, 556, 557, 558, 559, 560, 561, 562, 563, 564,
2309
565, 566, 567, 568, 569, 570, 571, 572, 573, 574,
2310
575, 576, 577, 578, 579, 580, 581, 582, 583, 584,
2311
585, 586, 587, 588, 589, 590, 591, 592, 593, 594,
2312
595, 596, 597, 598, 599, 600, 601, 602, 603, 604,
2313
605, 606, 607, 608, 609, 610, 611, 612, 613, 614,
2314
615, 616, 617, 618, 619, 620, 621, 622, 623, 624,
2315
625, 626, 627, 628, 629, 630, 631, 632, 633, 45,
2316
43, 42, 47, 37, 40, 41, 44, 33, 123, 125,
2321
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
2322
static const yytype_uint16 yyr1[] =
2324
0, 392, 393, 393, 394, 394, 395, 395, 395, 395,
2325
395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
2326
395, 395, 395, 395, 395, 395, 395, 395, 395, 395,
2327
395, 395, 397, 396, 398, 396, 399, 396, 400, 400,
2328
400, 400, 401, 402, 401, 403, 404, 403, 405, 403,
2329
407, 408, 406, 409, 409, 410, 410, 411, 411, 412,
2330
412, 413, 413, 414, 414, 415, 415, 415, 416, 416,
2331
416, 416, 416, 416, 416, 417, 418, 419, 419, 419,
2332
420, 420, 420, 420, 420, 420, 420, 421, 421, 422,
2333
422, 423, 423, 424, 424, 425, 425, 425, 425, 425,
2334
426, 426, 427, 428, 428, 429, 431, 430, 432, 433,
2335
433, 433, 433, 433, 433, 433, 433, 433, 433, 433,
2336
433, 433, 433, 434, 433, 433, 435, 436, 436, 437,
2337
437, 438, 438, 438, 439, 439, 439, 440, 441, 441,
2338
442, 442, 443, 443, 444, 444, 445, 445, 445, 445,
2339
445, 445, 445, 445, 445, 445, 445, 445, 446, 446,
2340
447, 448, 448, 449, 449, 450, 450, 451, 452, 452,
2341
453, 453, 454, 454, 454, 454, 455, 455, 455, 455,
2342
455, 456, 456, 456, 456, 456, 457, 458, 458, 459,
2343
459, 460, 460, 461, 461, 461, 462, 462, 463, 464,
2344
464, 465, 465, 466, 466, 467, 467, 468, 468, 468,
2345
469, 469, 470, 470, 471, 471, 472, 472, 473, 473,
2346
474, 474, 476, 475, 477, 475, 478, 478, 479, 479,
2347
479, 479, 480, 480, 480, 481, 481, 482, 483, 483,
2348
483, 484, 483, 485, 486, 483, 483, 483, 483, 483,
2349
483, 483, 483, 483, 483, 483, 483, 483, 483, 487,
2350
487, 488, 488, 489, 489, 489, 490, 490, 490, 490,
2351
491, 492, 492, 494, 493, 496, 495, 498, 497, 500,
2352
499, 501, 501, 502, 503, 504, 504, 505, 505, 506,
2353
506, 508, 507, 510, 511, 509, 512, 512, 512, 512,
2354
512, 513, 514, 514, 515, 515, 516, 516, 516, 516,
2355
516, 516, 516, 517, 517, 517, 518, 518, 518, 519,
2356
519, 520, 521, 522, 522, 522, 522, 522, 523, 523,
2357
524, 524, 524, 524, 524, 524, 524, 524, 524, 524,
2358
524, 525, 525, 525, 525, 525, 525, 526, 526, 526,
2359
526, 526, 526, 526, 526, 526, 526, 526, 527, 527,
2360
527, 527, 527, 527, 527, 527, 527, 527, 528, 529,
2361
530, 531, 531, 531, 531, 531, 531, 532, 532, 533,
2362
533, 533, 533, 533, 533, 533, 533, 533, 533, 533,
2363
533, 533, 533, 533, 533, 533, 533, 533, 533, 533,
2364
533, 533, 533, 534, 534, 534, 534, 534, 534, 534,
2365
534, 534, 534, 534, 534, 534, 534, 534, 534, 534,
2366
534, 534, 534, 534, 534, 534, 534, 535, 535, 535,
2367
535, 535, 535, 535, 535, 535, 535, 535, 535, 535,
2368
535, 535, 535, 535, 535, 535, 535, 535, 536, 536,
2369
536, 536, 536, 536, 536, 536, 536, 536, 536, 538,
2370
537, 539, 539, 540, 540, 541, 542, 542, 542, 542,
2371
543, 544, 542, 542, 542, 542, 542, 542, 542, 542,
2372
542, 542, 542, 545, 542, 547, 546, 548, 548, 548,
2373
549, 549, 550, 550, 551, 551, 553, 552, 554, 554,
2374
554, 554, 554, 555, 555, 556, 556, 557, 557, 558,
2375
558, 559, 559, 560, 561, 561, 562, 562, 563, 563,
2376
564, 563, 565, 563, 566, 563, 563, 567, 563, 568,
2377
563, 563, 569, 563, 570, 563, 563, 571, 571, 571,
2378
573, 572, 572, 572, 574, 575, 576, 574, 577, 579,
2379
580, 578, 582, 581, 584, 585, 583, 586, 587, 588,
2380
588, 589, 589, 589, 589, 590, 590, 592, 591, 593,
2381
591, 594, 594, 595, 596, 595, 598, 597, 599, 599,
2382
600, 600, 601, 601, 602, 602, 603, 603, 603, 603,
2383
603, 603, 603, 603, 603, 603, 603, 603, 604, 604,
2384
605, 605, 605, 605, 605, 605, 605, 605, 605, 606,
2385
606, 606, 607, 607, 608, 608, 609, 610, 609, 611,
2386
612, 611, 613, 613, 614, 614, 615, 615, 616, 616,
2387
617, 618, 618, 619, 620, 620, 622, 621, 623, 623,
2388
624, 624, 624, 625, 625, 626, 626, 627, 628, 628,
2389
628, 629, 629, 629, 630, 630, 631, 631, 631, 631,
2390
631, 631, 632, 632, 632, 632, 632, 634, 633, 635,
2391
635, 636, 638, 637, 640, 639, 639, 639, 641, 642,
2392
641, 641, 643, 643, 644, 645, 645, 646, 646, 648,
2393
649, 647, 651, 652, 650, 653, 653, 654, 655, 655,
2394
655, 656, 655, 657, 657, 658, 658, 659, 658, 660,
2395
658, 661, 661, 662, 662, 663, 664, 664, 665, 665,
2396
667, 666, 668, 668, 669, 669, 670, 670, 671, 672,
2397
671, 674, 675, 673, 676, 676, 677, 678, 678, 679,
2398
681, 680, 683, 682, 684, 684, 685, 686, 687, 687,
2399
689, 688, 690, 690, 690, 690, 690, 690, 690, 690,
2400
690, 690, 690, 690, 690, 690, 691, 691, 692, 692,
2401
693, 693, 693, 695, 694, 696, 694, 697, 697, 698,
2402
698, 699, 699, 699, 701, 700, 702, 702, 704, 703,
2403
703, 703, 703, 705, 705, 706, 707, 707, 707, 708,
2404
710, 711, 712, 713, 709, 714, 715, 715, 716, 716,
2405
716, 717, 717, 718, 718, 719, 719, 719, 719, 720,
2406
720, 721, 721, 722, 722, 723, 723, 724, 724, 725,
2407
725, 725, 726, 726, 727, 727, 728, 728, 729, 729,
2408
730, 730, 730, 731, 731, 731, 732, 732, 732, 732,
2409
732, 732, 732, 732, 732, 733, 733, 733, 733, 733,
2410
734, 734, 735, 735, 736, 737, 737, 738, 738, 739,
2411
739, 739, 740, 740, 740, 740, 741, 741, 741, 742,
2412
742, 743, 744, 745, 746, 746, 747, 747, 747, 748,
2413
748, 748, 748, 748, 748, 748, 748, 748, 748, 748,
2414
748, 748, 748, 748, 748, 748, 748, 748, 748, 749,
2415
749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
2416
749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
2417
749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
2418
749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
2419
749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
2420
749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
2421
749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
2422
749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
2423
749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
2424
749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
2425
749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
2426
749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
2427
749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
2428
749, 749, 749, 749, 749, 749, 749, 749, 749, 749,
2429
749, 749, 749, 751, 750, 752, 752, 753, 753, 755,
2430
754, 756, 756, 756, 756, 757, 757, 758, 758, 758,
2431
758, 759, 759, 759, 759, 760, 760, 761, 761, 762,
2432
762, 763, 764, 764, 764, 764, 765, 765, 765, 765,
2433
765, 766, 766, 768, 767, 770, 769, 771, 771, 772,
2434
772, 772, 773, 773, 773, 774, 774, 775, 776, 776,
2435
777, 778, 779, 779, 781, 780, 782, 782, 782, 784,
2436
783, 785, 785, 786, 786, 786, 787, 787, 788, 789,
2440
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
2441
static const yytype_uint8 yyr2[] =
2443
0, 2, 1, 2, 1, 1, 1, 1, 1, 1,
2444
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2445
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2446
1, 1, 0, 7, 0, 13, 0, 6, 2, 2,
2447
3, 4, 4, 0, 4, 0, 0, 5, 0, 7,
2448
0, 0, 6, 0, 1, 0, 1, 0, 1, 0,
2449
3, 0, 1, 1, 2, 1, 2, 3, 3, 3,
2450
3, 3, 3, 1, 3, 4, 4, 1, 1, 1,
2451
1, 1, 1, 1, 1, 1, 1, 1, 2, 1,
2452
3, 1, 1, 2, 2, 7, 8, 8, 2, 2,
2453
0, 1, 2, 0, 1, 2, 0, 3, 2, 1,
2454
2, 4, 1, 4, 4, 1, 1, 1, 1, 1,
2455
2, 2, 2, 0, 5, 1, 1, 2, 1, 1,
2456
1, 1, 1, 2, 0, 3, 1, 5, 0, 3,
2457
0, 1, 0, 1, 2, 1, 1, 2, 2, 2,
2458
4, 1, 3, 2, 1, 2, 2, 2, 2, 1,
2459
1, 1, 1, 0, 1, 0, 1, 5, 0, 3,
2460
3, 1, 0, 2, 2, 2, 0, 3, 3, 6,
2461
6, 1, 1, 2, 2, 2, 1, 2, 2, 1,
2462
1, 0, 1, 1, 1, 1, 0, 1, 0, 1,
2463
2, 0, 1, 1, 2, 2, 2, 1, 3, 2,
2464
1, 1, 4, 2, 1, 4, 0, 1, 0, 2,
2465
1, 3, 0, 7, 0, 5, 0, 1, 0, 2,
2466
2, 1, 0, 1, 1, 1, 3, 2, 3, 2,
2467
4, 0, 6, 0, 0, 7, 3, 4, 3, 3,
2468
2, 2, 6, 5, 3, 3, 1, 1, 1, 0,
2469
1, 0, 1, 0, 2, 1, 0, 1, 1, 1,
2470
3, 0, 3, 0, 4, 0, 4, 0, 4, 0,
2471
4, 1, 3, 3, 1, 2, 4, 2, 3, 2,
2472
3, 0, 3, 0, 0, 6, 2, 1, 1, 2,
2473
2, 7, 0, 1, 2, 1, 1, 1, 1, 1,
2474
1, 1, 1, 0, 2, 4, 3, 1, 1, 3,
2475
4, 0, 0, 0, 2, 2, 1, 1, 0, 2,
2476
3, 3, 3, 2, 3, 4, 3, 4, 3, 4,
2477
1, 3, 4, 3, 3, 6, 1, 5, 6, 5,
2478
7, 6, 8, 5, 6, 4, 5, 1, 3, 3,
2479
5, 5, 3, 3, 3, 3, 3, 1, 1, 1,
2480
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2481
1, 1, 1, 1, 3, 1, 1, 1, 2, 2,
2482
3, 3, 5, 6, 4, 4, 2, 6, 5, 6,
2483
4, 4, 5, 4, 2, 4, 4, 4, 10, 6,
2484
8, 6, 4, 4, 6, 4, 4, 4, 7, 7,
2485
7, 6, 6, 6, 6, 3, 4, 6, 8, 2,
2486
8, 8, 6, 2, 4, 6, 6, 8, 8, 6,
2487
8, 6, 2, 4, 8, 8, 2, 2, 4, 4,
2488
3, 8, 4, 6, 4, 6, 8, 4, 6, 0,
2489
5, 0, 1, 1, 3, 4, 4, 5, 5, 4,
2490
0, 0, 7, 4, 5, 4, 5, 4, 4, 4,
2491
4, 4, 5, 0, 8, 0, 3, 3, 1, 4,
2492
0, 1, 0, 2, 0, 1, 0, 3, 2, 2,
2493
1, 1, 2, 1, 3, 0, 1, 0, 2, 4,
2494
5, 1, 1, 1, 1, 4, 1, 3, 3, 3,
2495
0, 6, 0, 6, 0, 8, 4, 0, 8, 0,
2496
10, 6, 0, 8, 0, 10, 6, 1, 2, 2,
2497
0, 4, 3, 5, 3, 0, 0, 8, 1, 0,
2498
0, 6, 0, 3, 0, 0, 5, 0, 1, 0,
2499
1, 0, 2, 3, 3, 1, 1, 0, 7, 0,
2500
7, 1, 2, 0, 0, 2, 0, 2, 0, 1,
2501
1, 1, 1, 3, 1, 3, 1, 1, 1, 1,
2502
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2503
1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
2504
1, 1, 0, 2, 0, 1, 0, 0, 3, 0,
2505
0, 3, 2, 0, 0, 4, 4, 2, 0, 1,
2506
3, 3, 1, 2, 0, 1, 0, 4, 4, 2,
2507
0, 1, 1, 0, 1, 0, 1, 2, 1, 3,
2508
3, 1, 1, 1, 0, 2, 1, 1, 1, 1,
2509
1, 1, 1, 1, 1, 1, 1, 0, 2, 3,
2510
1, 2, 0, 3, 0, 5, 2, 1, 5, 0,
2511
7, 4, 1, 3, 1, 0, 2, 0, 1, 0,
2512
0, 7, 0, 0, 5, 2, 1, 1, 1, 3,
2513
4, 0, 3, 3, 1, 2, 2, 0, 3, 0,
2514
5, 3, 1, 3, 1, 3, 1, 1, 0, 1,
2515
0, 4, 0, 1, 3, 1, 1, 1, 0, 0,
2516
6, 0, 0, 10, 3, 1, 3, 3, 1, 3,
2517
0, 4, 0, 6, 0, 2, 1, 3, 0, 1,
2518
0, 3, 2, 3, 4, 5, 5, 5, 5, 2,
2519
2, 3, 1, 3, 4, 3, 0, 2, 1, 1,
2520
0, 2, 2, 0, 4, 0, 4, 1, 1, 0,
2521
1, 0, 1, 1, 0, 3, 3, 1, 0, 3,
2522
4, 1, 1, 0, 1, 3, 0, 1, 1, 2,
2523
0, 0, 0, 0, 18, 1, 0, 1, 0, 1,
2524
1, 0, 2, 2, 1, 3, 4, 3, 3, 0,
2525
2, 2, 1, 3, 3, 0, 3, 1, 1, 0,
2526
3, 2, 3, 1, 1, 2, 0, 2, 1, 2,
2527
1, 1, 1, 1, 2, 2, 1, 1, 1, 1,
2528
1, 1, 1, 2, 2, 1, 1, 1, 1, 1,
2529
1, 1, 3, 5, 1, 1, 1, 1, 1, 3,
2530
4, 5, 1, 5, 3, 2, 1, 3, 2, 1,
2531
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2532
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2533
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2534
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2535
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2536
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2537
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2538
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2539
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2540
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2541
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2542
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2543
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2544
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2545
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2546
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2547
1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2548
1, 1, 1, 0, 4, 0, 1, 1, 3, 0,
2549
2, 1, 1, 1, 1, 0, 1, 0, 1, 1,
2550
1, 0, 2, 2, 2, 1, 2, 4, 5, 4,
2551
6, 1, 2, 2, 2, 1, 1, 1, 1, 1,
2552
1, 1, 1, 0, 3, 0, 3, 0, 1, 0,
2553
3, 2, 0, 1, 2, 0, 1, 4, 4, 5,
2554
2, 3, 0, 1, 0, 4, 0, 1, 1, 0,
2555
2, 2, 1, 0, 1, 1, 2, 3, 1, 0,
2559
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
2560
STATE-NUM when YYTABLE doesn't specify something else to do. Zero
2561
means the default is an error. */
2562
static const yytype_uint16 yydefact[] =
2564
0, 232, 0, 1095, 0, 0, 1097, 232, 740, 777,
2565
778, 687, 2, 784, 689, 796, 0, 0, 0, 692,
2566
1097, 0, 293, 1055, 750, 0, 748, 1093, 261, 0,
2567
0, 0, 0, 4, 11, 6, 27, 9, 7, 8,
2568
20, 24, 284, 14, 16, 21, 30, 12, 28, 26,
2569
13, 779, 15, 17, 31, 18, 25, 29, 5, 10,
2570
22, 23, 19, 226, 234, 233, 261, 1092, 1091, 275,
2571
1097, 273, 277, 1098, 1099, 59, 58, 0, 34, 744,
2572
685, 688, 0, 0, 0, 261, 797, 798, 0, 805,
2573
800, 0, 279, 0, 1099, 909, 910, 911, 912, 913,
2574
914, 915, 916, 917, 890, 918, 919, 920, 922, 921,
2575
923, 891, 924, 925, 892, 893, 926, 927, 929, 894,
2576
930, 895, 931, 932, 933, 934, 935, 896, 936, 938,
2577
939, 937, 940, 941, 942, 897, 943, 944, 945, 946,
2578
947, 956, 898, 948, 950, 949, 951, 952, 953, 954,
2579
928, 958, 959, 960, 899, 955, 961, 957, 962, 963,
2580
964, 879, 965, 880, 966, 967, 968, 969, 970, 971,
2581
972, 973, 974, 975, 976, 977, 978, 979, 980, 981,
2582
982, 983, 985, 984, 986, 988, 987, 989, 991, 990,
2583
992, 900, 993, 994, 995, 996, 997, 901, 998, 999,
2584
1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009,
2585
1010, 902, 1011, 1012, 1013, 1014, 1015, 903, 1016, 904,
2586
1018, 1017, 1019, 905, 1021, 1022, 1020, 1023, 1024, 906,
2587
1025, 907, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033,
2588
1034, 1035, 1036, 1038, 1039, 1040, 1037, 908, 1041, 1042,
2589
1043, 1044, 1045, 1046, 1048, 1047, 1049, 1050, 1051, 1052,
2590
884, 1110, 885, 889, 285, 291, 302, 1056, 1053, 1067,
2591
271, 749, 0, 0, 262, 0, 799, 293, 0, 0,
2592
1, 3, 954, 0, 775, 773, 876, 224, 227, 0,
2593
0, 1096, 0, 0, 0, 1102, 0, 0, 59, 196,
2594
746, 0, 744, 0, 0, 0, 685, 791, 792, 1092,
2595
785, 787, 788, 0, 910, 917, 0, 852, 505, 0,
2596
0, 926, 927, 0, 0, 328, 328, 0, 0, 0,
2597
941, 942, 858, 0, 0, 0, 849, 859, 0, 851,
2598
964, 0, 0, 0, 0, 856, 0, 981, 982, 0,
2599
0, 986, 0, 328, 848, 855, 0, 1004, 0, 0,
2600
1010, 0, 1015, 1016, 0, 0, 1028, 0, 0, 328,
2601
882, 1038, 1039, 1040, 0, 850, 908, 857, 1046, 328,
2602
328, 0, 0, 0, 1052, 0, 0, 1132, 0, 0,
2603
485, 795, 340, 346, 357, 367, 380, 381, 383, 382,
2604
387, 386, 846, 385, 847, 379, 866, 884, 838, 865,
2605
806, 1111, 0, 0, 697, 693, 696, 684, 1105, 1102,
2606
1112, 312, 307, 309, 310, 311, 308, 306, 321, 303,
2607
305, 1059, 0, 0, 0, 770, 643, 1068, 195, 194,
2608
193, 1069, 762, 1070, 766, 0, 643, 0, 751, 0,
2609
0, 270, 747, 1094, 731, 287, 0, 1116, 878, 0,
2610
781, 0, 163, 0, 276, 682, 274, 278, 1101, 0,
2611
0, 1103, 1107, 370, 0, 36, 0, 197, 0, 0,
2612
741, 745, 686, 681, 0, 0, 0, 0, 793, 690,
2613
0, 614, 396, 506, 0, 0, 0, 0, 0, 0,
2614
614, 0, 429, 404, 0, 0, 0, 0, 853, 0,
2615
0, 1132, 0, 490, 0, 0, 0, 1132, 0, 0,
2616
614, 0, 0, 614, 0, 0, 333, 0, 433, 0,
2617
0, 0, 0, 0, 0, 0, 0, 614, 614, 0,
2618
0, 614, 0, 442, 0, 854, 0, 0, 0, 0,
2619
0, 446, 447, 0, 614, 614, 0, 389, 388, 0,
2620
0, 0, 0, 0, 0, 369, 368, 0, 0, 0,
2621
371, 0, 372, 373, 0, 374, 375, 376, 0, 0,
2622
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2623
0, 839, 459, 0, 807, 0, 280, 281, 0, 695,
2624
0, 1106, 0, 1108, 1123, 292, 1113, 318, 294, 317,
2625
0, 304, 1054, 1057, 1065, 768, 769, 0, 0, 59,
2626
0, 0, 0, 752, 0, 760, 644, 770, 0, 766,
2627
759, 0, 770, 770, 0, 0, 288, 1117, 286, 1118,
2628
0, 776, 842, 841, 774, 782, 840, 783, 877, 164,
2629
225, 0, 222, 0, 1100, 1104, 60, 55, 32, 0,
2630
742, 0, 678, 0, 786, 794, 789, 0, 0, 615,
2631
614, 0, 496, 0, 507, 0, 503, 0, 0, 0,
2632
0, 470, 0, 496, 329, 450, 0, 0, 0, 0,
2633
0, 0, 587, 588, 589, 590, 600, 591, 592, 593,
2634
602, 607, 594, 595, 603, 604, 605, 596, 606, 601,
2635
597, 608, 0, 586, 491, 483, 0, 0, 0, 0,
2636
0, 0, 614, 0, 0, 0, 614, 0, 0, 0,
2637
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2638
0, 0, 0, 614, 0, 0, 0, 599, 0, 598,
2639
0, 0, 0, 0, 0, 0, 425, 0, 868, 867,
2640
0, 0, 0, 391, 0, 390, 549, 0, 1128, 1133,
2641
0, 0, 888, 881, 1071, 486, 887, 886, 488, 331,
2642
330, 332, 343, 336, 341, 334, 338, 0, 377, 913,
2643
344, 0, 0, 365, 1132, 623, 366, 0, 359, 0,
2644
358, 362, 363, 364, 0, 0, 0, 384, 321, 869,
2645
0, 0, 0, 50, 701, 0, 0, 0, 707, 694,
2646
698, 1109, 1125, 1124, 1114, 321, 634, 322, 322, 865,
2647
1059, 1062, 1063, 1066, 1064, 0, 1061, 1060, 1075, 766,
2648
0, 0, 765, 771, 772, 652, 653, 651, 647, 648,
2649
753, 767, 770, 766, 761, 763, 272, 0, 0, 643,
2650
1122, 1120, 718, 163, 683, 37, 56, 61, 198, 616,
2651
679, 790, 728, 0, 0, 466, 0, 0, 0, 0,
2652
0, 0, 403, 0, 448, 449, 0, 0, 469, 0,
2653
0, 0, 405, 406, 400, 394, 0, 0, 407, 0,
2654
0, 0, 0, 0, 0, 475, 452, 412, 0, 473,
2655
0, 413, 434, 0, 454, 0, 0, 457, 0, 0,
2656
415, 479, 477, 0, 0, 0, 0, 481, 443, 416,
2657
0, 0, 0, 0, 0, 0, 0, 0, 0, 417,
2658
0, 401, 478, 480, 426, 0, 1126, 548, 302, 549,
2659
0, 0, 1123, 1131, 395, 870, 0, 0, 0, 0,
2660
0, 337, 342, 335, 339, 1132, 0, 0, 0, 0,
2661
355, 0, 0, 0, 1132, 623, 0, 0, 462, 463,
2662
0, 883, 801, 282, 283, 302, 0, 720, 705, 712,
2663
706, 0, 0, 0, 704, 861, 860, 867, 1112, 0,
2664
316, 540, 672, 313, 298, 645, 635, 297, 323, 319,
2665
0, 1058, 1037, 1081, 0, 0, 1076, 770, 0, 764,
2666
0, 0, 754, 616, 732, 735, 0, 636, 1121, 716,
2667
717, 719, 0, 259, 259, 718, 718, 259, 718, 0,
2668
0, 0, 259, 0, 718, 257, 0, 718, 259, 0,
2669
266, 718, 256, 63, 73, 0, 223, 231, 0, 235,
2670
258, 0, 103, 33, 808, 62, 65, 199, 0, 617,
2671
634, 680, 0, 691, 0, 0, 467, 497, 0, 508,
2672
0, 398, 138, 138, 501, 500, 134, 0, 504, 0,
2673
471, 468, 0, 0, 0, 494, 0, 0, 0, 402,
2674
0, 476, 474, 0, 0, 0, 0, 0, 0, 0,
2675
0, 0, 0, 482, 0, 0, 0, 0, 0, 0,
2676
0, 0, 0, 0, 392, 321, 289, 0, 1127, 1129,
2677
1072, 1073, 1074, 218, 487, 0, 353, 349, 0, 347,
2678
622, 361, 360, 0, 0, 0, 356, 322, 460, 321,
2679
871, 808, 321, 702, 714, 0, 722, 0, 0, 699,
2680
709, 0, 0, 708, 1115, 558, 557, 0, 514, 616,
2681
516, 513, 512, 511, 0, 557, 667, 0, 0, 295,
2682
300, 296, 646, 299, 0, 320, 327, 326, 862, 869,
2683
0, 0, 1071, 0, 755, 758, 757, 650, 649, 756,
2684
0, 616, 0, 0, 162, 161, 76, 160, 260, 216,
2685
190, 189, 239, 0, 100, 216, 186, 237, 0, 0,
2686
0, 0, 0, 0, 250, 229, 0, 0, 0, 0,
2687
251, 0, 230, 0, 0, 0, 269, 268, 267, 0,
2688
0, 64, 718, 163, 103, 0, 263, 100, 106, 872,
2689
61, 0, 38, 0, 0, 89, 91, 92, 810, 809,
2690
39, 53, 163, 66, 0, 0, 200, 0, 0, 654,
2691
729, 0, 427, 509, 0, 0, 498, 499, 0, 502,
2692
136, 397, 399, 0, 0, 0, 432, 492, 495, 0,
2693
0, 409, 0, 411, 453, 435, 455, 0, 414, 393,
2694
0, 436, 0, 441, 439, 0, 0, 0, 423, 0,
2695
421, 0, 422, 0, 424, 458, 550, 290, 0, 0,
2696
489, 345, 0, 354, 351, 0, 348, 323, 464, 0,
2697
51, 0, 0, 727, 726, 0, 723, 725, 711, 1116,
2698
700, 703, 557, 540, 0, 0, 537, 559, 0, 559,
2699
540, 540, 624, 540, 609, 554, 0, 0, 677, 0,
2700
673, 314, 0, 325, 324, 0, 0, 1089, 1090, 1087,
2701
1088, 1086, 1077, 0, 0, 734, 634, 736, 864, 637,
2702
640, 105, 217, 0, 0, 0, 191, 99, 216, 98,
2703
101, 198, 0, 665, 666, 664, 662, 663, 71, 660,
2704
661, 657, 658, 656, 659, 69, 241, 70, 255, 216,
2705
248, 249, 246, 68, 74, 243, 630, 632, 640, 254,
2706
85, 83, 80, 82, 81, 86, 84, 72, 0, 236,
2707
0, 875, 0, 265, 238, 0, 93, 94, 0, 0,
2708
40, 0, 43, 61, 103, 54, 0, 67, 210, 211,
2709
206, 205, 0, 618, 0, 743, 0, 0, 510, 0,
2710
0, 472, 0, 0, 0, 0, 0, 0, 0, 0,
2711
0, 0, 0, 0, 0, 420, 418, 419, 645, 1130,
2712
219, 350, 0, 465, 802, 645, 713, 715, 721, 0,
2713
710, 0, 634, 552, 0, 539, 538, 560, 0, 540,
2714
559, 559, 0, 519, 518, 0, 619, 517, 610, 611,
2715
0, 576, 542, 302, 676, 674, 0, 668, 670, 0,
2716
863, 0, 0, 1085, 1078, 0, 1079, 654, 0, 641,
2717
642, 639, 102, 216, 187, 192, 188, 198, 0, 0,
2718
0, 0, 247, 0, 0, 633, 75, 240, 264, 168,
2719
130, 118, 126, 117, 115, 134, 132, 123, 134, 129,
2720
134, 131, 125, 119, 116, 0, 128, 107, 142, 112,
2721
0, 109, 140, 874, 41, 1119, 808, 90, 0, 46,
2722
0, 655, 0, 428, 139, 135, 0, 430, 431, 493,
2723
484, 451, 0, 410, 456, 437, 440, 438, 444, 445,
2724
313, 313, 87, 352, 0, 52, 724, 1123, 609, 645,
2725
540, 515, 540, 526, 0, 0, 540, 522, 520, 524,
2726
0, 620, 634, 613, 541, 573, 321, 811, 671, 0,
2727
315, 1083, 1082, 1084, 0, 733, 640, 0, 0, 0,
2728
253, 0, 263, 244, 631, 0, 172, 120, 133, 0,
2729
122, 121, 0, 151, 0, 0, 0, 0, 146, 0,
2730
166, 0, 154, 108, 143, 145, 0, 0, 127, 0,
2731
0, 0, 141, 110, 0, 44, 42, 0, 1112, 0,
2732
640, 214, 0, 0, 0, 551, 88, 0, 545, 543,
2733
544, 553, 0, 511, 540, 540, 0, 511, 0, 0,
2734
0, 628, 640, 0, 645, 577, 0, 555, 0, 819,
2735
669, 1080, 638, 0, 0, 0, 0, 0, 0, 0,
2736
252, 843, 242, 263, 0, 171, 0, 176, 0, 0,
2737
157, 156, 328, 149, 159, 77, 79, 78, 147, 0,
2738
0, 155, 144, 153, 148, 0, 0, 0, 873, 48,
2739
47, 201, 0, 213, 0, 730, 738, 0, 137, 408,
2740
803, 0, 527, 0, 531, 536, 532, 0, 523, 521,
2741
0, 629, 0, 625, 627, 621, 301, 565, 566, 0,
2742
0, 571, 575, 645, 0, 0, 0, 0, 812, 814,
2743
0, 675, 0, 0, 201, 845, 844, 245, 169, 0,
2744
173, 174, 175, 0, 167, 0, 220, 114, 158, 328,
2745
152, 111, 113, 1119, 0, 718, 35, 202, 207, 203,
2746
640, 0, 0, 0, 811, 546, 0, 0, 0, 0,
2747
0, 584, 640, 561, 561, 572, 556, 0, 0, 0,
2748
0, 813, 0, 0, 820, 822, 0, 201, 95, 170,
2749
0, 0, 124, 0, 150, 49, 209, 0, 204, 212,
2750
215, 737, 739, 819, 634, 528, 0, 533, 0, 525,
2751
0, 626, 0, 569, 567, 817, 818, 0, 815, 0,
2752
0, 821, 97, 96, 182, 0, 181, 0, 178, 177,
2753
221, 208, 825, 645, 0, 0, 585, 0, 562, 0,
2754
0, 0, 816, 824, 823, 184, 185, 183, 0, 0,
2755
0, 829, 547, 530, 535, 564, 563, 578, 0, 0,
2756
0, 0, 0, 836, 581, 0, 582, 579, 580, 0,
2757
180, 179, 827, 828, 826, 831, 0, 0, 833, 834,
2758
0, 804, 570, 0, 568, 835, 830, 0, 837, 583,
2762
/* YYDEFGOTO[NTERM-NUM]. */
2763
static const yytype_int16 yydefgoto[] =
2765
-1, 31, 32, 33, 34, 867, 299, 657, 1063, 1252,
2766
1575, 1260, 1678, 1813, 818, 985, 1485, 1446, 865, 77,
2767
297, 1064, 1052, 1065, 1066, 1054, 650, 1738, 1427, 1600,
2768
1254, 1255, 1256, 1257, 1389, 1390, 1213, 1214, 1247, 1438,
2769
1567, 1568, 1649, 1569, 1570, 1571, 1572, 1279, 1280, 1276,
2770
1673, 1663, 1664, 1665, 1733, 1205, 1206, 1055, 1666, 1437,
2771
1646, 1724, 1727, 1804, 1888, 1215, 1388, 1216, 1536, 447,
2772
478, 1067, 1068, 1816, 1817, 1818, 1819, 1450, 1679, 1680,
2773
1381, 1320, 1805, 35, 863, 462, 287, 1056, 66, 1057,
2774
1058, 1059, 1541, 1543, 1723, 1217, 275, 1434, 1239, 36,
2775
451, 37, 292, 38, 290, 39, 293, 40, 412, 596,
2776
597, 41, 42, 279, 951, 264, 420, 265, 266, 826,
2777
1003, 1601, 428, 429, 430, 1179, 608, 609, 610, 1008,
2778
1185, 502, 676, 392, 393, 394, 568, 569, 1667, 578,
2779
791, 395, 396, 397, 398, 399, 808, 977, 978, 979,
2780
400, 887, 1283, 897, 401, 564, 775, 715, 1465, 1287,
2781
671, 876, 1087, 945, 494, 880, 674, 1168, 1169, 1170,
2782
1171, 1172, 1699, 1698, 1700, 1826, 1763, 1828, 1767, 1351,
2783
1173, 1174, 1491, 1761, 1864, 946, 947, 948, 1478, 1492,
2784
1610, 1512, 1513, 1783, 1342, 1175, 1498, 1873, 1780, 1781,
2785
1901, 1900, 1782, 1705, 1706, 1624, 1625, 1925, 1926, 1927,
2786
1830, 712, 748, 713, 1510, 1511, 672, 1070, 1268, 1622,
2787
1703, 970, 1506, 1701, 1773, 1060, 1416, 1417, 1005, 1006,
2788
1203, 1379, 1531, 625, 1602, 1182, 848, 849, 1455, 1405,
2789
1398, 1358, 1359, 1517, 1518, 1007, 1176, 1360, 1627, 43,
2790
1071, 464, 465, 304, 83, 44, 85, 667, 45, 93,
2791
600, 415, 416, 819, 986, 993, 820, 998, 1339, 988,
2792
1153, 1154, 1031, 1032, 989, 1156, 1335, 1336, 1337, 1073,
2793
1456, 46, 635, 1201, 1024, 1025, 1755, 1756, 47, 79,
2794
480, 869, 301, 302, 48, 272, 49, 269, 448, 627,
2795
628, 623, 50, 460, 459, 51, 284, 644, 52, 84,
2796
310, 311, 488, 666, 53, 88, 54, 55, 410, 1151,
2797
1604, 1824, 90, 595, 1261, 1709, 1788, 1789, 1791, 1844,
2798
1845, 1911, 1934, 1923, 1937, 1938, 1941, 402, 645, 1720,
2799
403, 404, 994, 995, 1380, 405, 1757, 406, 1248, 417,
2800
407, 776, 408, 982, 409, 1207, 262, 263, 56, 431,
2801
268, 612, 613, 614, 835, 836, 449, 959, 837, 838,
2802
1016, 1014, 1524, 1372, 312, 57, 273, 58, 70, 74,
2803
295, 472, 602, 59, 60, 61, 62, 605, 637, 999,
2804
638, 639, 640, 861, 824, 768, 769, 1318, 560, 561,
2808
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
2810
#define YYPACT_NINF -1428
2811
static const yytype_int16 yypact[] =
2813
1364, 524, 180, -1428, 180, 180, -150, 513, -1428, -1428,
2814
-1428, 814, -1428, -1428, -1428, 65, 164, -32, 180, -1428,
2815
-150, 16940, -1428, 120, -1428, 83, 210, -1428, 258, 16940,
2816
285, 487, 439, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2817
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2818
-1428, 12512, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2819
-1428, -1428, -1428, 16940, -1428, -1428, 258, -1428, -1428, -1428,
2820
-150, -1428, -1428, -1428, 568, 448, -1428, 295, -1428, 457,
2821
527, -1428, 562, 180, 677, 258, -1428, -1428, 5747, -1428,
2822
-1428, 16940, -1428, 11774, 52, -1428, -1428, -1428, -1428, -1428,
2823
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2824
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2825
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2826
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2827
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2828
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2829
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2830
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2831
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2832
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2833
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2834
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2835
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2836
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2837
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2838
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2839
-1428, -1428, -1428, -1428, -1428, -1428, 846, -1428, -1428, 969,
2840
405, -1428, 12881, 180, -1428, 12881, -1428, -1428, 285, 362,
2841
-1428, -1428, 310, 16940, -1428, -1428, 410, -1428, -1428, 484,
2842
12881, -1428, 12881, 12881, 86, -20, 597, 16940, 448, 465,
2843
-1428, 690, 457, 717, 16940, 16940, 527, -1428, -1428, 489,
2844
480, -1428, -1428, 11774, 488, 494, 8030, -1428, 5747, 516,
2845
519, 532, 553, 565, 573, 599, 599, 630, 639, 654,
2846
263, 660, -1428, 668, 672, 686, -1428, -1428, 702, -1428,
2847
709, 716, 722, 6126, 736, -1428, 738, 740, 758, 768,
2848
770, 776, 5747, 786, -1428, -1428, 788, 796, 799, 812,
2849
815, 831, 833, 838, 841, 844, 847, 852, 861, 867,
2850
-1428, 322, 872, 874, 881, -1428, 890, -1428, 900, 599,
2851
599, 902, 903, 906, 908, 8030, 8030, 5747, 16940, 16940,
2852
-1428, 301, 1521, -1428, 858, 835, -1428, -1428, -1428, -1428,
2853
-1428, -1428, 576, -1428, -1428, -1428, -1428, 909, -1428, 520,
2854
873, -1428, 12881, 12881, -1428, -1428, -1428, -1428, 673, -20,
2855
625, -1428, -1428, -1428, -1428, -1428, -1428, -1428, 627, 846,
2856
-1428, -1428, 75, 912, 2, -43, 836, -1428, -1428, -1428,
2857
-1428, -1428, -1428, -1428, 75, 757, 836, 75, -1428, -119,
2858
1018, -1428, -1428, -1428, -1428, -1428, 748, -8, -1428, 348,
2859
14726, 16940, 1047, 12881, 761, -1428, 761, 761, -1428, 1200,
2860
1037, -1428, -1428, -1428, 1180, -1428, 12881, -1428, 1145, 12881,
2861
-1428, -1428, -1428, -1428, 1074, 12881, 1048, 677, 12881, -1428,
2862
5747, 277, 835, 301, 937, 5747, 5747, 5747, 5747, 5747,
2863
569, 926, -1428, -1428, 929, 5747, 5747, 5747, 576, 5747,
2864
13250, -1428, 1626, 1218, 5747, 5747, 5747, 5747, 1359, 5747,
2865
640, 5747, 5747, 688, 5747, 5747, -1428, 4222, -1428, 8030,
2866
5747, 5747, 5747, 5747, 5747, 5747, 5747, 1307, 1307, 5747,
2867
5747, 749, 4222, -1428, 5747, 576, 1131, 1131, 3455, 5747,
2868
932, -1428, -1428, 13250, 1307, 1307, 5747, 835, 835, 62,
2869
935, 391, 5747, 931, 9167, -1428, -1428, 5747, 5747, 5747,
2870
-1428, 8030, -1428, -1428, 763, -1428, -1428, -1428, 6514, 8030,
2871
8030, 938, 8030, 8030, 8409, 8788, 8030, 8030, 8030, 629,
2872
15464, -1428, -1428, 16940, -1428, 1167, 943, -1428, 989, -1428,
2873
478, -1428, 16940, -1428, 792, -1428, -1428, -1428, 945, -1428,
2874
5747, -1428, 946, -1428, 1, -1428, -1428, 12881, 954, 448,
2875
12881, 1007, 5747, -1428, 372, -1428, -1428, -43, 16940, 75,
2876
-1428, 12881, -43, -43, 1043, 1050, -1428, -1428, -1428, -1428,
2877
-3, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2878
-1428, 1293, -1428, 12881, -1428, -1428, -1428, 718, -1428, 16940,
2879
-1428, 12881, 761, 1158, -1428, 761, -1428, 478, 55, -1428,
2880
1307, 963, -1428, 5747, -28, 84, 301, 463, 505, 172,
2881
73, -1428, 964, 970, -1428, -1428, 97, 114, 176, 177,
2882
971, 975, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2883
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2884
-1428, -1428, 1219, -1428, -1428, -1428, 182, 123, 130, 76,
2885
981, 131, 1307, 977, 197, 207, 1307, 979, 134, 240,
2886
245, 785, 252, 137, 138, 283, 139, 142, 326, 980,
2887
983, 143, 42, 1307, 984, 327, 338, -1428, 990, -1428,
2888
991, 4610, 4989, 5368, 59, 145, -1428, 985, -1428, 520,
2889
995, 996, 345, -1428, 5747, -1428, -1428, 425, -1428, 1017,
2890
38, 16940, -1428, -1428, 523, -1428, -1428, -1428, 1092, 1373,
2891
56, -1428, -1428, -1428, -1428, -1428, -1428, 619, -1428, 1006,
2892
-1428, 1011, 514, -1428, 5747, 526, -1428, 6126, 645, 6126,
2893
645, -1428, -1428, -1428, 8030, 1012, 8030, -1428, 1002, 1009,
2894
1070, 12881, 12881, -1428, -1428, 1019, 1019, 11405, -1428, -1428,
2895
-1428, -1428, -1428, -1428, -1428, -1428, 554, 301, -1428, 1016,
2896
-1428, -1428, -1428, -1428, -1428, 17309, 1024, -1428, -1428, 75,
2897
1031, 16940, -1428, -1428, 301, -1428, -1428, -1428, -1428, -70,
2898
-1428, -1428, -43, 75, -1428, -1428, -1428, 13250, 1367, 836,
2899
-1428, -1428, 87, 1851, -1428, -1428, -1428, 901, -1428, 1046,
2900
-1428, -1428, 1190, 6893, 1036, -1428, 5747, 308, 5747, 5747,
2901
1315, 1094, -1428, 5747, -1428, -1428, 1094, 5747, -1428, 1040,
2902
1265, 1266, -1428, -1428, -1428, -1428, 5747, 5747, -1428, 5747,
2903
5747, 5747, 5747, 5747, 1045, -1428, -1428, -1428, 1049, -1428,
2904
5747, -1428, -1428, 5747, -1428, 5747, 5747, -1428, 5747, 5747,
2905
-1428, -1428, -1428, 7272, 5747, 5747, 1053, -1428, -1428, -1428,
2906
5747, 5747, 5747, 542, 5747, 669, 5747, 670, 5747, -1428,
2907
5747, -1428, -1428, -1428, -1428, 536, -1428, -1428, 846, -1428,
2908
425, 1060, 792, -1428, -1428, -1428, 1056, 1058, 1059, 15464,
2909
5747, -1428, -1428, -1428, -1428, -1428, 8030, 90, 1065, 8030,
2910
-1428, 1359, 1359, 695, 5747, 526, 5747, 1066, 1072, -1428,
2911
16940, -1428, -1428, -1428, -1428, 846, 13250, -1428, 1076, -1428,
2912
1076, 473, 1075, 543, -1428, -1428, -1428, 1016, 625, 348,
2913
-1428, -138, -1428, 47, 1269, 836, -1428, 1299, 15833, -1428,
2914
13988, -1428, 1295, -1428, 87, 9542, -1428, -43, -22, -1428,
2915
372, 372, -1428, 1046, 1080, -1428, 87, -1428, -1428, -1428,
2916
-1428, -1428, 15095, 70, 1415, 87, 87, 1415, 87, 1132,
2917
1297, 1144, 940, 1300, 87, -1428, 1146, 87, 1415, 1439,
2918
69, 87, -1428, 1310, -1428, 1431, -1428, 1100, 12143, -1428,
2919
-1428, 12881, 10667, -1428, 22, -1428, 40, 396, 1257, -1428,
2920
1250, -1428, 1389, -1428, 6126, 351, -1428, 301, 5747, 301,
2921
325, -1428, 1109, 1109, -1428, -1428, 1112, 1113, 301, 1116,
2922
1111, -1428, 5747, 5747, 375, -111, 151, 158, 92, -1428,
2923
383, -1428, -1428, 388, 395, 422, 159, 492, 676, 6126,
2924
500, 157, 96, -1428, 163, 165, 548, 5747, 577, 5747,
2925
588, 5747, 590, 591, -1428, 627, -1428, 1117, -1428, -1428,
2926
-1428, -1428, -1428, 1114, 301, 1118, -1428, -1428, 5747, -1428,
2927
835, -1428, -1428, 8030, 112, 1125, -1428, 301, -1428, -1428,
2928
-1428, -7, 627, 1127, -1428, 87, 7651, 1019, 1228, -1428,
2929
-1428, 473, 13250, -1428, -1428, -1428, -1428, 16940, 1314, 1046,
2930
-1428, 1129, -1428, -1428, 12881, -1428, 91, 1163, 1352, -1428,
2931
-1428, -1428, -1428, -1428, 16202, -1428, -1428, -1428, -1428, 1134,
2932
1340, 3843, 523, 87, -1428, -1428, -1428, -1428, -1428, -1428,
2933
13250, 1046, 7651, 5747, -1428, -1428, -1428, -1428, -1428, 13619,
2934
-1428, -1428, -1428, 30, 33, 13619, -1428, -1428, 13619, 753,
2935
27, 13619, 1007, 15095, -1428, -1428, 1348, 1349, 13619, 13619,
2936
-1428, 15464, -1428, 27, 13619, 13250, -1428, -1428, -1428, 12881,
2937
808, -1428, 87, 1885, 11036, 16940, 129, 46, -1428, 1137,
2938
1310, 12881, -1428, 1143, 724, -1428, -1428, -1428, -1428, -1428,
2939
-1428, 1515, 1260, -1428, 127, 127, -1428, 12881, 5747, 1351,
2940
-1428, 1359, -1428, 301, 5747, 1305, -1428, -1428, 1308, -1428,
2941
-1428, -1428, -1428, 1154, 1359, 1359, -1428, 1255, -1428, 5747,
2942
5747, -1428, 5747, -1428, -1428, -1428, -1428, 5747, -1428, -1428,
2943
1359, -1428, 5747, -1428, -1428, 5747, 5747, 5747, -1428, 592,
2944
-1428, 593, -1428, 596, -1428, -1428, 945, -1428, 391, 16940,
2945
-1428, -1428, 726, -1428, -1428, 5747, -1428, 15833, -1428, 1377,
2946
945, 13250, 7651, 668, 301, 1159, 1157, -1428, -1428, -8,
2947
-1428, -1428, -1428, 433, 1375, 1378, -1428, 1311, -12, 1311,
2948
433, 433, 1407, -138, 556, -1428, 1070, 1070, -1428, 1161,
2949
-1428, -1428, 1261, -1428, -1428, 14357, -49, -1428, 8030, 668,
2950
-1428, 301, -1428, 16940, 5747, -1428, 1250, -1428, 301, 1170,
2951
171, -1428, -1428, 5747, 1380, 1384, 606, -1428, 13619, -1428,
2952
-1428, -1428, 13, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2953
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, 13619,
2954
-1428, -1428, -1428, -1428, -1428, -1428, 1172, -1428, 171, -1428,
2955
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, 15095, -1428,
2956
730, -1428, 16940, -1428, -1428, 12881, -1428, -1428, 1437, 16940,
2957
-1428, 1181, -1428, 1310, 11036, -1428, 461, -1428, -1428, -1428,
2958
-1428, -1428, 1176, 301, 372, -1428, 1394, -164, 301, 1183,
2959
746, -1428, 1184, 1185, 77, 1187, 608, 170, 750, 614,
2960
-152, 621, 624, 631, 634, -1428, -1428, -1428, 547, -1428,
2961
-1428, -1428, 759, -1428, -1428, 547, -1428, -1428, -1428, 7651,
2962
-1428, -168, 1250, -1428, 745, -1428, -1428, -1428, 1403, 433,
2963
1311, 1311, 1404, 1346, -77, 1542, 1435, -1428, -1428, -1428,
2964
16940, -1428, -1428, 846, -1428, -1428, 15464, 1196, -1428, 1376,
2965
-1428, 3, 1326, -1428, -1428, 87, 301, 1351, 5747, -1428,
2966
-1428, -1428, 301, 13619, -1428, -1428, -1428, -1428, 1204, 1495,
2967
1499, 13619, -1428, 1437, 13250, -1428, -1428, -1428, -1428, 1206,
2968
-1428, -1428, -1428, -1428, -1428, 1112, 1344, -1428, 1112, -1428,
2969
1112, -1428, -1428, -1428, -1428, 1210, -1428, -1428, 1004, -161,
2970
1211, -1428, 1213, 1209, -1428, 10, 22, -1428, 1228, -1428,
2971
16940, -1428, 1247, -1428, -1428, -1428, 1379, -1428, -1428, -1428,
2972
-1428, -1428, 5747, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
2973
47, 47, -1428, -1428, 1275, -1428, -1428, 792, 710, 836,
2974
-138, -1428, 433, -1428, 1434, 1436, 433, -1428, -1428, -1428,
2975
5747, -1428, 1250, -1428, -1428, -34, 627, 1556, -1428, 1161,
2976
-1428, -1428, -1428, -1428, 3843, -1428, 171, 1224, 1229, 16940,
2977
-1428, 1201, 129, -1428, -1428, 16940, 1417, -1428, -1428, 1230,
2978
-1428, -1428, 1390, -1428, 15464, 1007, 978, 110, -1428, 1262,
2979
-1428, 1527, 1446, -1428, 1004, -1428, 1447, 1396, -1428, 1397,
2980
1399, 1405, -1428, -1428, 16940, -1428, -1428, 1249, 625, 771,
2981
171, 1248, 13250, 1253, 636, -1428, -1428, 12881, -1428, -1428,
2982
-1428, 1129, 1003, 1285, 433, 433, 1175, 1287, 5747, 5747,
2983
1264, 403, 171, 5747, 836, -1428, -31, 945, 89, 1462,
2984
-1428, -1428, -1428, 16940, 16940, 773, 576, 576, 772, 772,
2985
-1428, -1428, -1428, 129, 790, -1428, 0, 1416, 77, 1271,
2986
-1428, -1428, 599, -1428, -1428, -1428, -1428, -1428, -1428, 1426,
2987
1290, -1428, -1428, -1428, -1428, 1277, 1280, 1268, -1428, -1428,
2988
-1428, 31, 16940, -1428, 1441, 1274, -1428, 87, -1428, -1428,
2989
-1428, 391, -1428, 1312, -1428, -1428, -1428, 1313, 301, 301,
2990
16940, -1428, 5747, -1428, -1428, 301, -1428, -1428, -1428, 606,
2991
606, -1428, -31, 547, 1633, 1636, 1565, 1640, 89, -1428,
2992
-116, -1428, 800, 805, 31, -1428, -1428, -1428, -1428, 16940,
2993
-1428, -1428, -1428, -1, -1428, 826, -1428, -1428, -1428, 599,
2994
-1428, -1428, -1428, 10, 1007, 87, -1428, 31, -1428, -1428,
2995
171, 1291, 13250, 7651, 1556, -1428, 5747, 1294, 5747, 1296,
2996
862, -1428, 171, 1544, 1544, -1428, -1428, 77, 77, 1644,
2997
77, -1428, 1646, 1647, -116, -1428, 1422, 31, -1428, -1428,
2998
67, 67, -1428, 77, -1428, -1428, -1428, 27, -1428, -1428,
2999
-1428, -1428, -1428, 1462, 1250, 301, 16940, 301, 16940, -1428,
3000
16940, -1428, 682, -1428, -1428, -1428, -1428, 77, -1428, 77,
3001
77, -1428, -1428, -1428, -1428, 1680, -1428, 74, 1455, 1456,
3002
-1428, -1428, 1533, 836, 864, 869, -1428, 1654, -1428, 1655,
3003
1317, 1318, -1428, -1428, -1428, -1428, -1428, -1428, 1338, 1603,
3004
1469, 1321, -1428, -1428, -1428, -1428, -1428, 16571, 16571, 67,
3005
67, -15, 9917, 1408, -1428, 1327, -1428, 1328, -1428, 875,
3006
-1428, -1428, -1428, -1428, -1428, -1428, 15464, 878, -1428, -1428,
3007
13250, -1428, -1428, 16571, -1428, -1428, -1428, 10292, 1274, -1428,
3011
/* YYPGOTO[NTERM-NUM]. */
3012
static const yytype_int16 yypgoto[] =
3014
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
3015
-1428, 122, -1428, -1428, -804, -1428, -1428, -1428, -1428, -1428,
3016
-220, -1116, 665, -960, -819, -1428, 1062, -1428, -1428, -1412,
3017
469, 278, 663, 693, 476, 517, -1428, -1428, 186, -1428,
3018
189, -1428, -1428, -1428, -1428, -1428, -1428, -526, 161, 646,
3019
-1428, -1428, -1428, 78, -1428, 80, -1128, -333, -1428, -107,
3020
-1428, -1428, -1428, -1428, -871, -1428, -1428, -1031, -1428, -1428,
3021
-1428, -1428, -1250, -1218, -1428, 674, -73, 475, -911, -9,
3022
-1048, -1428, -1428, -1428, -1428, -1428, -1428, -1428, 649, -1428,
3023
-1428, 502, -1428, -1428, -1428, 150, 154, -1376, -1428, -1428,
3024
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
3025
936, 1292, 747, 1472, 802, -1428, -1428, 1476, -1428, -1428,
3026
-1428, -714, -922, -1428, 1325, -332, -1090, 930, -755, -742,
3027
429, -324, 1726, -1428, -537, 504, -1428, -1428, -209, -1428,
3028
-1428, -304, -1428, -1428, -1428, -1428, -1428, -1428, -1428, 609,
3029
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
3030
1055, -1428, 871, -474, -1428, -1428, -1428, -1252, -1428, 406,
3031
152, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
3032
-940, -1428, -1428, -1428, -1428, -1428, 811, -1428, -1428, -1428,
3033
-1428, -1428, -1428, -1428, -949, -1428, -846, -71, -1428, -18,
3034
-1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -178, -157,
3035
-1043, -501, 1220, 725, -1428, 160, 1270, -904, -1428, -1428,
3036
-1428, 791, -1428, -1428, -1428, -1428, -1428, 232, -1067, -601,
3037
-1428, -1428, -1369, -394, -991, -385, -1428, -974, 253, -1212,
3038
-1428, -1428, -1428, -1428, 153, 775, -1428, -1428, -1428, -1428,
3039
-1428, -182, -65, 1477, -1428, -1428, -1428, -1428, -1428, -1428,
3040
-1428, 1471, 1372, 1119, -1428, -1428, -818, -1428, -1428, 972,
3041
-1428, 456, -995, -1011, 632, -1428, -1428, -1428, -1184, -1428,
3042
-1428, -1428, -1428, -1428, -1428, 594, -149, -30, -1428, -1428,
3043
-1428, -1428, 1488, -1428, -1428, -1428, -1428, -1428, -1428, -244,
3044
-222, -567, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
3045
-1428, 1306, -1428, -1428, -1428, -1428, -1428, -1428, -1428, -1428,
3046
-1428, -1428, -1428, -1428, 644, -27, -1428, 8, -61, -1428,
3047
-41, -1428, -1428, -1428, -1428, -142, -1428, -323, -1384, 155,
3048
-1006, -442, 648, 1197, -1427, 1298, -549, -543, -530, -46,
3049
-21, -605, -401, -74, 642, -558, -1428, -1428, -1428, -1428,
3050
-1428, -1428, 976, -1428, -1428, -1428, -1428, 620, -1428, -1428,
3051
-1428, 440, -1428, 181, 113, -1428, -1428, -1428, -1428, 179,
3052
1723, 1400, -1428, -1428, -1428, -1428, -1428, -983, -411, -1428,
3053
-1302, -1428, -1428, -1428, -932, -1275, -1428, -1428, -473, -1428,
3057
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
3058
positive, shift that token. If negative, reduce the rule which
3059
number is the opposite. If zero, do what YYDEFACT says.
3060
If YYTABLE_NINF, syntax error. */
3061
#define YYTABLE_NINF -1120
3062
static const yytype_int16 yytable[] =
3064
260, 591, 503, 1269, 757, 285, 778, 508, 260, 606,
3065
758, 1228, 492, 992, 1181, 1163, 843, 720, 1377, 1191,
3066
1129, 1414, 677, 678, 1219, 1220, 1125, 1222, 414, 528,
3067
260, 1202, 807, 1231, 782, 1316, 1233, 1490, 691, 859,
3068
1240, 790, 260, 1479, 1053, 543, 1197, 1198, 545, 1545,
3069
565, 626, 630, 976, 565, 551, 552, 1631, 1035, 646,
3070
850, 626, 1330, 1152, 294, 854, 855, 565, 565, 1036,
3071
260, 565, 260, 1605, 565, 619, 1383, 878, 476, 1383,
3072
1589, 557, 558, 1236, 1814, 565, 1009, 474, 565, -163,
3073
1850, 1494, 1383, 1038, 1195, 1408, 565, -574, 881, 1504,
3074
1777, 1636, 565, 642, 565, 1884, 1263, 591, 565, 565,
3075
466, 467, 1004, 1539, 1399, 69, -103, 71, 72, 1199,
3076
-574, -1116, 1208, 1778, 565, 86, 565, 858, 468, 651,
3077
649, 92, 1209, -45, 1440, 565, 1432, 1800, 621, 1348,
3078
831, 1538, 565, 565, 591, 1165, 565, 1258, 1487, 565,
3079
565, 565, 1044, 1618, 565, 565, 1400, 565, 1499, 1020,
3080
1332, 1448, 1384, 565, 1906, -104, 1500, 1391, 1932, 565,
3081
565, 565, 1401, 1159, -1119, 565, 1258, 565, 924, 624,
3082
1177, 1607, 565, 1237, 565, 589, 1529, 832, 565, 565,
3083
632, 1842, 1356, 1702, 565, 938, 306, 1784, 1374, 94,
3084
1735, 1029, -103, 1815, 470, 1668, 1785, 452, 1521, 565,
3085
617, 615, 1047, 1736, 1843, 1522, 902, 1608, 1402, 565,
3086
289, 1583, 643, 1669, 73, 631, 1355, 1210, 902, 454,
3087
-1119, 1428, 833, 1595, 1053, 858, 1178, 1523, 1737, 313,
3088
89, 616, 471, 1211, 1801, 633, 1166, 91, 414, 291,
3089
1167, 260, 565, 1403, 260, 860, 1433, 565, 1253, 1259,
3090
1501, 1933, 260, 1530, 565, 1352, 1722, 1712, 996, 260,
3091
1449, 260, 260, 1675, 758, 883, 260, 566, 795, 1385,
3092
1619, 566, -104, 260, 260, 1022, 669, 1638, 1259, 834,
3093
1302, 1885, 260, 1183, 566, 565, 1802, 1376, 566, 1907,
3094
1546, 566, 1447, 662, 1540, 1606, 665, 1435, 1026, 1527,
3095
469, 1753, 566, 565, 758, 566, 1021, 1051, 87, -103,
3096
565, 968, -574, 566, 651, 1779, 1786, 1576, 622, 566,
3097
620, 566, 1357, 1774, 1886, 566, 566, 565, 565, 565,
3098
1537, 604, 879, 1340, 1806, 1832, 1196, 1797, 414, 1632,
3099
565, 566, 1851, 566, 992, 1535, 267, 565, 1887, 604,
3100
1692, 1542, 566, 565, 1696, 787, 598, 260, 260, 566,
3101
566, 1836, 1404, 566, 670, 1264, 566, 566, 566, 1030,
3102
1386, 566, 566, -104, 566, 852, 453, 565, 1265, 418,
3103
566, 260, 260, 1493, 976, 565, 566, 566, 566, 841,
3104
565, 1133, 566, 1186, 566, 1327, 1238, 565, 370, 566,
3105
1503, 566, 274, 1090, 567, 566, 566, 652, 567, 1787,
3106
-103, 566, 270, 1095, 1053, 1609, 1262, 954, 925, 1136,
3107
658, 567, 567, 660, 565, 567, 566, 1155, 567, 260,
3108
260, 873, 260, 758, 939, 1108, 566, 763, 764, 567,
3109
1194, 1859, 567, 1875, 1876, 260, 1878, 1193, 260, 886,
3110
567, 763, 901, 1871, 260, 1028, 567, 260, 567, 1890,
3111
1141, 1142, 567, 567, 626, 1137, 1138, 1291, 1292, 566,
3112
1581, 1304, 1305, 890, 566, 1637, 1825, 280, 567, 260,
3113
567, 566, 1135, 1902, 1288, 1903, 1904, 1324, 1325, 567,
3114
891, 1145, 975, 1502, 565, 67, 567, 567, 68, 899,
3115
567, 1855, 565, 567, 567, 567, 900, 903, 567, 567,
3116
910, 567, 566, 915, 916, 918, 966, 567, 919, 923,
3117
1634, 940, 260, 567, 567, 567, 1707, 1289, 271, 567,
3118
566, 567, 1303, 260, 1290, 1297, 567, 566, 567, 1306,
3119
281, 1307, 567, 567, 565, 1704, 1592, 885, 567, 1613,
3120
565, 892, 893, 845, 566, 566, 566, 898, 277, 260,
3121
1508, 839, 260, 567, 842, 590, 1848, 566, 669, 1363,
3122
294, 260, 906, 567, 566, 853, 75, 606, 864, 565,
3123
566, 1626, 907, -780, 370, 1017, 260, 63, 846, 260,
3124
565, 296, 565, 565, 565, 565, 1323, 260, 565, 1023,
3125
260, 300, 580, 996, 566, 870, 567, 1407, 1690, 758,
3126
565, 567, 566, 298, -612, 911, 565, 566, 567, 1883,
3127
912, 22, 260, 565, 566, 1721, 565, 914, 260, 1862,
3128
260, 1078, 1579, 565, 969, 1891, 565, 507, 565, 669,
3129
1721, 1026, 804, 370, 1614, 1615, 78, 758, 1274, 567,
3130
82, 566, 956, 261, 1322, 1140, 681, -612, 917, 278,
3131
1509, 276, 1693, 1413, 766, 1688, 1697, 567, 1117, 1382,
3132
303, 565, 565, 1001, 567, 1382, 1418, -612, 1392, -612,
3133
1001, 1406, 758, 286, -780, 1750, -612, 669, 1411, 1412,
3134
-612, 567, 567, 567, 1415, 288, 544, 1143, 949, 957,
3135
-612, 920, 928, 1776, 567, -612, 1165, 847, 1002, 305,
3136
-612, 567, 1186, 929, 1508, 583, -612, 567, 1715, 624,
3137
944, 566, 30, 411, -612, 286, 1272, 722, -612, 566,
3138
1264, 64, 961, 580, 813, -612, 65, 457, 1833, 1834,
3139
260, 567, 64, 1265, 1764, 1765, 813, 65, 669, 567,
3140
1286, 813, 1823, 1210, 567, 598, 984, -163, 1293, 814,
3141
1457, 567, -612, 1294, 1677, 767, 1771, 450, -612, 1211,
3142
1295, 566, 1155, 1462, 1463, 726, -612, 566, 758, 1772,
3143
260, 260, 858, 580, -612, 805, 260, 1893, 567, 1470,
3144
461, 822, 1792, 1793, 1857, 1119, 1121, 1296, 649, 950,
3145
806, 958, 463, 1344, 260, 477, 566, 1166, 1468, 473,
3146
260, -612, 1897, 1894, 1509, 1895, 479, 566, -612, 566,
3147
566, 566, 566, 815, 816, 566, 260, 482, 815, 816,
3148
1393, -57, 76, -612, 962, 1578, 743, 566, 882, 883,
3149
-612, 1482, 1898, 566, -612, 421, 583, 1158, 1382, 332,
3150
566, 486, 817, 566, 1420, 1421, 487, 307, 567, -612,
3151
566, -612, 490, 566, -612, 566, 567, 1298, 491, 1382,
3152
-612, 579, 1394, 580, 590, 1301, 783, 80, -612, 823,
3153
884, 883, -612, 584, 585, 586, 587, 588, 1422, -612,
3154
495, 337, 1912, 496, 1345, -612, 583, 370, 566, 566,
3155
593, 1423, -612, -612, 286, 1346, 497, 286, 567, 1035,
3156
1899, 1124, 883, 1347, 567, 458, -612, -612, 1161, 1162,
3157
1036, 594, 286, 1308, 286, 286, 1424, 498, 260, 475,
3158
-612, -612, -612, 422, 1395, -612, 483, 484, -612, 499,
3159
-163, 913, 601, 567, 1038, 286, 580, 500, 1628, 260,
3160
963, 1348, 1310, 345, 567, 260, 567, 567, 567, 567,
3161
964, -232, 567, 1312, 604, 1314, 1315, 1475, 1476, 1396,
3162
1889, 1477, -612, 501, 567, 473, 308, 260, 784, 260,
3163
567, 649, 1208, 1591, 260, 1418, 583, 567, 355, 1594,
3164
567, 758, 309, 1382, 317, 68, 1596, 567, 607, 1597,
3165
567, 260, 567, 1044, 504, 1250, 1598, 1349, 624, 1599,
3166
432, 1759, 1653, 505, 581, -612, 586, 587, 588, 1647,
3167
562, 563, 1650, 731, 1651, 433, 434, 260, 506, 582,
3168
260, 260, 64, 435, 509, 567, 567, 65, 1930, 1931,
3169
1731, 1425, 510, 1654, 286, 286, 511, 1655, 1716, -612,
3170
1350, 1299, 883, 646, 492, 332, 629, -612, 1426, 583,
3171
512, 1344, 1226, 1047, 584, 585, 586, 587, 588, 634,
3172
473, -612, 1061, 792, 793, 436, 513, 796, 798, 800,
3173
801, 802, 803, 514, 1656, -612, -612, 1210, 1397, -612,
3174
515, 336, 647, 648, 785, 286, 516, 337, 437, 1443,
3175
1444, 1481, 883, 1211, 786, 1547, 1444, 377, 286, 1082,
3176
519, 286, 520, 339, 521, 438, 439, 286, 1354, 1657,
3177
286, 1585, 1586, 636, 1611, 1593, 883, 649, 1083, 758,
3178
440, 260, 522, 81, 1603, 883, 260, 653, 423, 424,
3179
425, 426, 523, 260, 524, 441, 1751, 1752, 1794, 1752,
3180
525, 427, 1345, 260, 584, 585, 586, 587, 588, 345,
3181
527, 1084, 529, 1346, 1085, 1798, 1799, -165, 1051, 260,
3182
530, 1347, 1086, 531, 1218, 1846, 1752, 1221, 260, 1227,
3183
1847, 1752, 1229, 1419, 260, 759, 532, 260, 1234, 533,
3184
260, 1732, 260, 354, 355, 1441, 777, 260, 260, 1856,
3185
260, 1852, 1853, 260, 260, 534, 696, 535, 260, 1348,
3186
442, 1452, 536, 260, 260, 537, 473, 317, 538, 1658,
3187
260, 539, 777, 1762, 1659, 809, 540, 584, 585, 586,
3188
587, 588, 654, 1344, 821, 541, 260, 1869, 1870, 1913,
3189
1870, 542, 829, 1660, 1914, 1870, 546, 443, 547, 286,
3190
1944, 1943, 286, 1946, 1947, 548, 747, 606, 1685, 1686,
3191
851, 749, 749, 286, 549, 1349, 1795, 1796, 1035, 758,
3192
700, 1716, 1514, 1515, 550, 1062, 553, 554, 332, 1036,
3193
555, 1661, 556, 592, 444, 286, 618, 445, 260, 655,
3194
656, 868, 659, 286, 661, 663, 260, 673, 973, 370,
3195
260, 684, 1717, 1038, 685, 714, 669, 756, 1350, 375,
3196
765, 771, 794, 377, 336, 810, 812, 646, 1035, 811,
3197
337, 825, 830, 701, 1345, 840, 704, 446, 773, 1036,
3198
856, 857, 862, 705, 260, 1346, 339, 871, 875, 888,
3199
649, 889, 260, 1347, 1662, 896, 894, 1718, 1719, -163,
3200
895, 902, 905, 1038, 909, 921, 952, 260, 922, 927,
3201
941, 565, 1044, 1939, 1, 2, 930, 931, 1945, 758,
3202
942, 943, 1344, 706, 960, 565, 3, -461, 260, 1549,
3203
-378, 1348, 345, 508, 545, 965, 974, 758, 1939, 980,
3204
649, 981, 1027, 987, 758, 1766, 1010, 260, 1808, 4,
3205
5, 260, 708, 955, 260, 1015, 1018, 1069, 260, 6,
3206
1072, 1076, 1044, 260, 1081, 1091, 354, 355, 1092, 1093,
3207
1101, 7, 1047, 1002, 1102, 1001, 646, 646, 1113, 646,
3208
692, 693, 694, 695, 696, 1128, 1130, 1349, 1131, 1132,
3209
1139, 1148, 646, 286, 286, 8, 9, 10, 1149, 997,
3210
1160, 1550, 1157, 1190, 11, 1551, 1200, 1208, 1224, 1223,
3211
1225, 1230, 1232, 1345, 1235, 12, 646, 1013, 646, 646,
3212
1242, 1552, 1047, 1019, 1346, 1854, 1243, 1267, 858, 260,
3213
1350, 1270, 1347, 1275, 13, 260, 1278, 883, 1281, 759,
3214
709, 1282, 1317, 1321, 1319, 697, 698, 699, 700, 711,
3215
1326, 813, 260, 1331, 1553, 1353, 1361, 1554, 1362, 1366,
3216
260, 1409, 1410, 260, 1365, 1555, 14, 1439, 1442, 1445,
3217
1348, 1459, 370, 1454, 1460, 1717, 1556, 1051, 15, 1461,
3218
1464, 1484, 375, 1489, 1488, 1495, 377, 1505, 1496, 16,
3219
1557, 1497, 1516, 1533, 1519, 682, 1528, 1534, 1544, 260,
3220
1580, 701, 702, 703, 704, 1558, 1574, 1582, 1584, 1587,
3221
1588, 705, 1590, 1612, 1616, 723, 1617, 1620, 727, 1621,
3222
1718, 1719, 1629, 1633, 1630, 1640, 1349, 1051, 1639, 1641,
3223
1645, 1648, 739, 740, 1652, 1670, 744, 1671, 566, 1674,
3224
1682, 777, 1559, 1687, 1694, 1683, 1695, 1708, 1713, 760,
3225
761, 706, 1726, 1714, 1728, 1739, 1729, 1740, 260, 1741,
3226
1743, 1744, 1150, 1745, 260, 1746, 17, 18, 759, 1350,
3227
19, 1747, 1754, 260, 1749, 570, 571, 20, 1758, 707,
3228
708, 1760, -529, 21, -534, 1790, 1803, 22, 1770, 1809,
3229
1187, 1810, 1189, 260, 1586, 23, 1807, 777, 24, 572,
3230
1822, 260, 1811, 573, 1560, 1812, 260, 1821, 1837, 1827,
3231
1829, 1838, 25, 1839, 777, 1840, 1860, 1872, 1866, 1877,
3232
1868, 1879, 1880, 1435, 1905, 1908, 1909, 1910, 574, 1915,
3233
1916, 1919, 260, 260, 1920, 1921, 1561, 575, 1676, 1940,
3234
1249, 1917, 1918, 286, 1249, 1922, 26, 692, 693, 694,
3235
695, 696, 1942, 1430, 1943, 576, 27, 28, 1241, 866,
3236
29, 1246, 1577, 1436, 1562, 874, 1212, 1642, 709, 1277,
3237
1387, 260, 1643, 1672, 1730, 567, 710, 711, 577, 1882,
3238
1451, 1266, 1742, 1820, 1858, 1429, 1164, 983, 30, 260,
3239
456, 641, 1127, 455, 611, 1000, 1483, 1089, 1328, 1507,
3240
1126, 1929, 1691, 1874, 1835, 1949, 1146, 750, 1689, 1563,
3241
683, 1564, 697, 698, 699, 700, 1644, 904, 260, 1180,
3242
1635, 908, 1710, 485, 489, 599, 872, 1486, 990, 1338,
3243
481, 1948, 1861, 664, 1375, 1329, 1841, 1863, 926, 1565,
3244
1566, 260, 1892, 1881, 997, 1950, 1011, 828, 690, 1343,
3245
1341, 1734, 1373, 1525, 391, 1711, 286, 419, 0, 603,
3246
0, 0, 0, 0, 0, 0, 1364, 0, 701, 702,
3247
703, 704, 0, 0, 0, 0, 0, 0, 705, 0,
3248
0, 0, 759, 0, 0, 260, 0, 260, 0, 260,
3249
0, 1249, 0, 0, 0, 0, 1033, 1249, 0, 0,
3250
1249, 1034, 0, 1249, 0, 777, 0, 0, 0, 1035,
3251
1249, 1249, 0, 777, 0, 0, 1249, 759, 706, 0,
3252
1036, 286, 0, 0, 0, 0, 1249, 1431, 0, 0,
3253
1033, 0, 0, 286, 1037, 1034, 260, 260, 0, 0,
3254
0, 260, 0, 1035, 1038, 0, 707, 708, 0, 286,
3255
0, 0, 0, 0, 1036, 260, 1039, 0, 0, 260,
3256
0, 0, 260, 0, 0, 0, 260, 0, 1037, 0,
3257
0, 0, 0, 0, 0, 0, 0, 0, 1038, 0,
3258
0, 649, 0, 0, 0, 0, 1040, 1041, 0, 0,
3259
1039, 1042, 0, 0, 0, 0, 0, 0, 1043, 0,
3260
0, 1480, -228, 1044, 0, 0, 0, 0, 0, 1187,
3261
0, 0, 0, 759, 0, 649, 0, 0, 0, 0,
3262
1040, 0, 1045, 0, 0, 1042, 0, 0, 0, 0,
3263
0, 0, 1043, 0, 0, 709, 0, 1044, 0, 0,
3264
0, 0, 0, 710, 711, 0, 1046, 1150, 0, 0,
3265
0, 0, 0, 0, 0, 1013, 1045, 0, 0, 0,
3266
0, 0, 0, 1047, 0, 0, 0, 0, 0, 0,
3267
1249, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3268
0, 0, 0, 0, 493, 0, 0, 0, 0, 0,
3269
0, 1249, 0, 0, 0, 0, 0, 1047, 0, 0,
3270
0, 1048, 0, 0, 0, 0, 0, 0, 0, 518,
3271
777, 0, 0, 0, 1548, 0, 0, 286, 526, 0,
3272
0, 1573, 0, 0, 0, 0, 1249, 0, 0, 1049,
3273
0, 0, 0, 0, 0, 1048, 0, 0, 0, 0,
3274
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3275
0, 0, 0, 559, 1050, 0, 0, 0, 0, 0,
3276
0, 0, 0, 1049, 0, 0, 0, 0, 1051, 0,
3277
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3278
0, 0, 0, 0, 0, 0, 0, 0, 1050, 0,
3279
0, 0, 1623, 0, 0, 0, 0, 0, 777, 0,
3280
0, 0, 1051, 0, 0, 0, 0, 0, 0, 0,
3281
0, 0, 0, 0, 0, 1249, 0, 0, 0, 0,
3282
0, 0, 0, 1249, 0, 0, 759, 0, 0, 0,
3283
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3284
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3285
0, 0, 0, 0, 0, 0, 668, 0, 0, 0,
3286
0, 675, 1681, 0, 679, 680, 0, 0, 0, 0,
3287
0, 686, 687, 688, 0, 689, 0, 0, 0, 0,
3288
716, 717, 718, 719, 0, 721, 0, 724, 725, 0,
3289
728, 729, 0, 730, 0, 0, 732, 733, 734, 735,
3290
736, 737, 738, 0, 0, 741, 742, 0, 745, 0,
3291
746, 0, 0, 0, 754, 755, 0, 0, 0, 0,
3292
0, 1681, 762, 0, 0, 0, 0, 1725, 770, 0,
3293
0, 0, 0, 779, 780, 781, 777, 0, 0, 0,
3294
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3295
0, 0, 0, 0, 0, 0, 1748, 0, 0, 0,
3296
0, 0, 0, 0, 759, 0, 0, 0, 0, 286,
3297
0, 0, 0, 0, 0, 0, 827, 0, 0, 0,
3298
0, 0, 0, 0, 0, 0, 0, 0, 844, 0,
3299
0, 0, 0, 0, 0, 1681, 1681, 0, 0, 0,
3300
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3301
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3302
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3303
0, 0, 0, 0, 1681, 0, 0, 0, 0, 877,
3304
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3305
0, 0, 1831, 0, 0, 0, 0, 0, 0, 0,
3306
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3307
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3308
0, 1849, 0, 0, 0, 0, 0, 0, 0, 0,
3309
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3310
0, 0, 0, 0, 759, 0, 0, 0, 0, 0,
3311
0, 0, 0, 0, 0, 0, 0, 933, 935, 937,
3312
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3313
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3314
0, 0, 0, 0, 0, 0, 0, 0, 1831, 0,
3315
1831, 0, 1896, 0, 0, 0, 0, 0, 0, 0,
3316
967, 0, 0, 971, 0, 972, 0, 0, 0, 0,
3317
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3318
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3319
0, 0, 0, 0, 0, 0, 0, 0, 0, 1928,
3320
1928, 0, 0, 0, 759, 0, 0, 0, 0, 0,
3321
0, 0, 0, 0, 0, 0, 0, 0, 777, 0,
3322
0, 0, 759, 0, 0, 1928, 0, 0, 0, 759,
3323
0, 0, 0, 0, 0, 0, 0, 0, 0, 1075,
3324
0, 0, 1077, 0, 1079, 1080, 0, 0, 0, 1088,
3325
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3326
0, 0, 1094, 0, 0, 1096, 1097, 1098, 1099, 1100,
3327
0, 0, 0, 0, 0, 0, 1103, 0, 0, 1104,
3328
0, 1105, 1106, 0, 1107, 0, 0, 0, 0, 1110,
3329
1111, 1112, 0, 0, 0, 0, 1114, 1115, 1116, 0,
3330
1118, 0, 1120, 0, 1122, 0, 1123, 0, 0, 0,
3331
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3332
0, 0, 0, 0, 0, 0, 1134, 0, 0, 0,
3333
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3334
1144, 0, 1147, 0, 0, 0, 0, 0, 0, 0,
3335
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3336
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3337
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3338
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3339
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3340
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3341
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3342
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3343
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3344
1271, 0, 0, 0, 1273, 0, 0, 0, 0, 0,
3345
0, 0, 0, 0, 0, 0, 0, 0, 1284, 1285,
3346
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3347
0, 0, 0, 0, 0, 1300, 0, 0, 0, 0,
3348
0, 0, 0, 1309, 0, 1311, 0, 1313, 0, 0,
3349
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3350
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3351
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3352
0, 0, 1334, 0, 0, 0, 0, 0, 0, 0,
3353
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3354
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3355
0, 0, 0, 0, 0, 0, 0, 1371, 0, 0,
3356
0, 0, 0, 0, 0, 0, 0, 0, 1334, 1378,
3357
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3358
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3359
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3360
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3361
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3362
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3363
0, 0, 0, 0, 1453, 0, 0, 0, 0, 0,
3364
1458, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3365
0, 0, 0, 0, 0, 1466, 1467, 0, 0, 0,
3366
0, 0, 0, 1469, 0, 0, 0, 0, 1471, 0,
3367
0, 1472, 1473, 1474, 0, 0, 0, 0, 0, 0,
3368
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3369
0, 0, 0, 0, 0, 0, 0, 0, 1334, 0,
3370
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3371
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3372
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3373
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3374
1526, 0, 0, 0, 0, 0, 0, 0, 0, 1532,
3375
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3376
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3377
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3378
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3379
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3380
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3381
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3382
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3383
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3384
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3385
0, 0, 0, 0, 0, 1334, 0, 0, 0, 0,
3386
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3387
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3388
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3389
0, 0, 0, 0, 1378, 0, 0, 0, 0, 0,
3390
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3391
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3392
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3393
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3394
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3395
0, 0, 0, 0, 0, 0, 0, 0, 1684, 0,
3396
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3397
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3398
0, 0, 0, 0, 0, 0, 1378, 0, 0, 0,
3399
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3400
1371, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3401
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3402
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3403
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3404
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3405
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3406
0, 0, 0, 0, 1768, 1769, 0, 0, 0, 1775,
3407
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3408
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3409
0, 0, 0, 0, 0, 0, 0, 0, 0, 95,
3410
0, 314, 97, 98, 0, 0, 0, 0, 99, 0,
3411
0, 0, 100, 101, 102, 315, 0, 104, 0, 0,
3412
316, 317, 105, 0, 106, 107, 108, 109, 751, 110,
3413
0, 111, 0, 0, 112, 318, 319, 113, 1378, 320,
3414
114, 0, 115, 321, 0, 322, 118, 0, 119, 120,
3415
121, 122, 123, 124, 0, 125, 126, 0, 127, 0,
3416
323, 324, 0, 0, 128, 325, 326, 0, 327, 129,
3417
130, 131, 132, 328, 329, 330, 0, 0, 0, 0,
3418
331, 135, 332, 0, 0, 333, 0, 0, 0, 1334,
3419
136, 137, 1865, 0, 1867, 0, 138, 139, 140, 0,
3420
0, 0, 141, 0, 142, 143, 0, 144, 145, 0,
3421
0, 146, 0, 147, 148, 334, 149, 335, 336, 0,
3422
150, 151, 152, 153, 337, 154, 0, 0, 0, 155,
3423
156, 0, 157, 0, 158, 0, 338, 0, 159, 0,
3424
339, 0, 0, 0, 340, 161, 162, 163, 341, 0,
3425
164, 165, 0, 0, 0, 0, 0, 342, 343, 0,
3426
0, 0, 0, 166, 0, 0, 0, 167, 0, 0,
3427
168, 0, 752, 344, 169, 0, 0, 0, 0, 170,
3428
0, 171, 0, 172, 0, 173, 345, 0, 0, 0,
3429
0, 174, 175, 346, 176, 177, 178, 347, 0, 0,
3430
348, 181, 349, 182, 0, 183, 350, 351, 185, 186,
3431
187, 0, 0, 0, 188, 189, 190, 352, 353, 191,
3432
354, 355, 0, 192, 193, 0, 194, 195, 196, 197,
3433
0, 0, 0, 0, 0, 0, 0, 0, 198, 199,
3434
200, 356, 0, 201, 0, 202, 203, 357, 205, 0,
3435
0, 206, 0, 0, 0, 207, 0, 0, 0, 208,
3436
358, 359, 0, 209, 0, 360, 0, 361, 211, 212,
3437
213, 214, 215, 362, 217, 0, 363, 219, 0, 0,
3438
0, 220, 221, 222, 223, 0, 0, 0, 224, 0,
3439
225, 226, 227, 0, 0, 0, 0, 0, 228, 0,
3440
0, 0, 0, 229, 230, 364, 365, 231, 232, 0,
3441
0, 233, 366, 235, 367, 368, 236, 237, 238, 369,
3442
239, 240, 0, 0, 241, 0, 370, 242, 0, 371,
3443
372, 373, 0, 753, 246, 374, 375, 376, 248, 249,
3444
377, 250, 251, 0, 0, 0, 252, 0, 0, 0,
3445
378, 0, 0, 379, 380, 381, 254, 0, 0, 255,
3446
382, 0, 383, 256, 257, 0, 0, 0, 0, 258,
3447
0, 0, 0, 384, 385, 386, 0, 0, 0, 387,
3448
0, 0, 0, 388, 0, 389, 390, 95, 0, 314,
3449
97, 98, 1367, 0, 0, 0, 99, 0, 0, 0,
3450
100, 101, 102, 315, 0, 104, 0, 0, 1368, 317,
3451
105, 0, 106, 107, 108, 109, 0, 110, 0, 111,
3452
0, 0, 112, 318, 319, 113, 0, 320, 114, 0,
3453
115, 321, 0, 322, 118, 0, 119, 120, 121, 122,
3454
123, 124, 0, 125, 126, 0, 127, 0, 323, 324,
3455
0, 0, 128, 325, 326, 0, 327, 129, 130, 131,
3456
132, 328, 329, 330, 0, 0, 0, 0, 331, 135,
3457
332, 0, 0, 1369, 0, 0, 0, 0, 136, 137,
3458
0, 0, 0, 0, 138, 139, 140, 0, 0, 0,
3459
141, 0, 142, 143, 0, 144, 145, 0, 0, 146,
3460
0, 147, 148, 334, 149, 335, 336, 0, 150, 151,
3461
152, 153, 337, 154, 0, 0, 0, 155, 156, 0,
3462
157, 0, 158, 0, 338, 0, 159, 0, 339, 0,
3463
0, 0, 340, 161, 162, 163, 341, 0, 164, 165,
3464
0, 0, 0, 0, 0, 342, 343, 0, 0, 0,
3465
0, 166, 0, 0, 0, 167, 0, 0, 168, 0,
3466
0, 344, 169, 0, 0, 0, 0, 170, 0, 171,
3467
0, 172, 0, 173, 345, 0, 0, 0, 0, 174,
3468
175, 346, 176, 177, 178, 347, 0, 0, 348, 181,
3469
349, 182, 0, 183, 350, 351, 185, 186, 187, 0,
3470
0, 0, 188, 189, 190, 352, 353, 191, 354, 355,
3471
0, 192, 193, 1370, 194, 195, 196, 197, 0, 0,
3472
0, 0, 0, 0, 0, 0, 198, 199, 200, 356,
3473
0, 201, 0, 202, 203, 357, 205, 0, 0, 206,
3474
0, 0, 0, 207, 0, 0, 0, 208, 358, 359,
3475
0, 209, 0, 360, 0, 361, 211, 212, 213, 214,
3476
215, 362, 217, 0, 363, 219, 0, 0, 0, 220,
3477
221, 222, 223, 0, 0, 0, 224, 0, 225, 226,
3478
227, 0, 0, 0, 0, 0, 228, 0, 0, 0,
3479
0, 229, 230, 364, 365, 231, 232, 0, 0, 233,
3480
366, 235, 367, 368, 236, 237, 238, 369, 239, 240,
3481
0, 0, 241, 0, 370, 242, 0, 371, 372, 373,
3482
0, 0, 246, 374, 375, 376, 248, 249, 377, 250,
3483
251, 0, 0, 0, 252, 0, 0, 0, 378, 0,
3484
0, 379, 380, 381, 254, 0, 0, 255, 382, 0,
3485
383, 256, 257, 0, 0, 0, 0, 258, 0, 0,
3486
0, 384, 385, 386, 0, 0, 95, 387, 314, 97,
3487
98, 388, 0, 389, 390, 99, 0, 0, 0, 100,
3488
101, 102, 315, 0, 104, 0, 0, 316, 317, 105,
3489
0, 106, 107, 108, 109, 0, 110, 0, 111, 0,
3490
0, 112, 318, 319, 113, 0, 320, 114, 0, 115,
3491
321, 0, 322, 118, 0, 119, 120, 121, 122, 123,
3492
124, 0, 125, 126, 0, 127, 0, 323, 324, 0,
3493
0, 128, 325, 326, 0, 327, 129, 130, 131, 132,
3494
328, 329, 330, 0, 0, 0, 0, 331, 135, 332,
3495
0, 0, 333, 0, 0, 0, 0, 136, 137, 0,
3496
0, 0, 0, 138, 139, 140, 0, 0, 0, 141,
3497
0, 142, 143, 0, 144, 145, 0, 0, 146, 0,
3498
147, 148, 334, 149, 335, 336, 0, 150, 151, 152,
3499
153, 337, 154, 0, 0, 0, 155, 156, 0, 157,
3500
0, 158, 0, 338, 0, 159, 0, 339, 0, 0,
3501
0, 340, 161, 162, 163, 341, 0, 164, 165, 0,
3502
0, 0, 0, 0, 342, 343, 0, 0, 0, 0,
3503
166, 0, 0, 0, 167, 0, 0, 168, 0, 0,
3504
344, 169, 0, 0, 0, 0, 170, 0, 171, 0,
3505
172, 0, 173, 345, 0, 0, 0, 0, 174, 175,
3506
346, 176, 177, 178, 347, 0, 0, 348, 181, 349,
3507
182, 0, 183, 350, 351, 185, 186, 187, 0, 0,
3508
0, 188, 189, 190, 352, 353, 191, 354, 355, 0,
3509
192, 193, 0, 194, 195, 196, 197, 0, 0, 0,
3510
0, 0, 0, 0, 0, 198, 199, 200, 356, 0,
3511
201, 0, 202, 203, 357, 205, 0, 0, 206, 0,
3512
0, 0, 207, 0, 0, 0, 208, 358, 359, 0,
3513
209, 0, 360, 0, 361, 211, 212, 213, 214, 215,
3514
362, 217, 0, 363, 219, 0, 0, 0, 220, 221,
3515
222, 223, 0, 0, 0, 224, 0, 225, 226, 227,
3516
0, 0, 0, 0, 0, 228, 0, 0, 0, 0,
3517
229, 230, 364, 365, 231, 232, 0, 0, 233, 366,
3518
235, 367, 368, 236, 237, 238, 369, 239, 240, 0,
3519
0, 241, 0, 370, 242, 0, 371, 372, 373, 0,
3520
0, 246, 374, 375, 376, 248, 249, 377, 250, 251,
3521
0, 0, 0, 252, 0, 0, 0, 378, 0, 0,
3522
379, 380, 381, 254, 0, 0, 255, 382, 0, 383,
3523
256, 257, 0, 0, 0, 0, 258, 0, 0, 0,
3524
384, 385, 386, 0, 0, 0, 387, 684, 0, 0,
3525
388, 0, 389, 390, 95, 0, 314, 97, 98, 0,
3526
0, 0, 0, 99, 0, 0, 0, 100, 101, 102,
3527
315, 0, 104, 0, 0, 316, 317, 105, 0, 106,
3528
107, 108, 109, 0, 110, 0, 111, 0, 0, 112,
3529
318, 319, 113, 0, 320, 114, 0, 115, 321, 0,
3530
322, 118, 0, 119, 120, 121, 122, 123, 124, 0,
3531
125, 126, 0, 127, 0, 323, 324, 0, 0, 128,
3532
325, 326, 0, 327, 129, 130, 131, 132, 328, 329,
3533
330, 0, 0, 0, 0, 331, 135, 332, 0, 0,
3534
333, 0, 0, 0, 0, 136, 137, 0, 0, 0,
3535
0, 138, 139, 140, 0, 0, 0, 141, 0, 142,
3536
143, 0, 144, 145, 0, 0, 146, 0, 147, 148,
3537
334, 149, 335, 336, 0, 150, 151, 152, 153, 337,
3538
154, 0, 0, 0, 155, 156, 932, 157, 0, 158,
3539
0, 338, 0, 159, 0, 339, 0, 0, 0, 340,
3540
161, 162, 163, 341, 0, 164, 165, 0, 0, 0,
3541
0, 0, 342, 343, 0, 0, 0, 0, 166, 0,
3542
0, 0, 167, 0, 0, 168, 0, 0, 344, 169,
3543
0, 0, 0, 0, 170, 0, 171, 0, 172, 0,
3544
173, 345, 0, 0, 0, 0, 174, 175, 346, 176,
3545
177, 178, 347, 0, 0, 348, 181, 349, 182, 0,
3546
183, 350, 351, 185, 186, 187, 0, 0, 0, 188,
3547
189, 190, 352, 353, 191, 354, 355, 0, 192, 193,
3548
0, 194, 195, 196, 197, 0, 0, 0, 0, 0,
3549
0, 0, 0, 198, 199, 200, 356, 0, 201, 0,
3550
202, 203, 357, 205, 0, 0, 206, 0, 0, 0,
3551
207, 0, 0, 0, 208, 358, 359, 0, 209, 0,
3552
360, 0, 361, 211, 212, 213, 214, 215, 362, 217,
3553
0, 363, 219, 0, 0, 0, 220, 221, 222, 223,
3554
0, 0, 0, 224, 0, 225, 226, 227, 0, 0,
3555
0, 0, 0, 228, 0, 0, 0, 0, 229, 230,
3556
364, 365, 231, 232, 0, 0, 233, 366, 235, 367,
3557
368, 236, 237, 238, 369, 239, 240, 0, 0, 241,
3558
0, 370, 242, 0, 371, 372, 373, 0, 0, 246,
3559
374, 375, 376, 248, 249, 377, 250, 251, 0, 0,
3560
0, 252, 0, 0, 0, 378, 0, 0, 379, 380,
3561
381, 254, 0, 0, 255, 382, 0, 383, 256, 257,
3562
0, 0, 0, 0, 258, 0, 0, 0, 384, 385,
3563
386, 0, 0, 95, 387, 314, 97, 98, 388, 0,
3564
389, 390, 99, 0, 0, 0, 100, 101, 102, 315,
3565
0, 104, 0, 0, 316, 317, 105, 0, 106, 107,
3566
108, 109, 0, 110, 0, 111, 0, 0, 112, 318,
3567
319, 113, 0, 320, 114, 0, 115, 321, 0, 322,
3568
118, 0, 119, 120, 121, 122, 123, 124, 0, 125,
3569
126, 0, 127, 0, 323, 324, 0, 0, 128, 325,
3570
326, 0, 327, 129, 130, 131, 132, 328, 329, 330,
3571
0, 0, 0, 0, 331, 135, 332, 0, 0, 333,
3572
0, 0, 0, 0, 136, 137, 0, 0, 0, 0,
3573
138, 139, 140, 0, 0, 0, 141, 0, 142, 143,
3574
0, 144, 145, 0, 0, 146, 0, 147, 148, 334,
3575
149, 335, 336, 0, 150, 151, 152, 153, 337, 154,
3576
0, 0, 0, 155, 156, 934, 157, 0, 158, 0,
3577
338, 0, 159, 0, 339, 0, 0, 0, 340, 161,
3578
162, 163, 341, 0, 164, 165, 0, 0, 0, 0,
3579
0, 342, 343, 0, 0, 0, 0, 166, 0, 0,
3580
0, 167, 0, 0, 168, 0, 0, 344, 169, 0,
3581
0, 0, 0, 170, 0, 171, 0, 172, 0, 173,
3582
345, 0, 0, 0, 0, 174, 175, 346, 176, 177,
3583
178, 347, 0, 0, 348, 181, 349, 182, 0, 183,
3584
350, 351, 185, 186, 187, 0, 0, 0, 188, 189,
3585
190, 352, 353, 191, 354, 355, 0, 192, 193, 0,
3586
194, 195, 196, 197, 0, 0, 0, 0, 0, 0,
3587
0, 0, 198, 199, 200, 356, 0, 201, 0, 202,
3588
203, 357, 205, 0, 0, 206, 0, 0, 0, 207,
3589
0, 0, 0, 208, 358, 359, 0, 209, 0, 360,
3590
0, 361, 211, 212, 213, 214, 215, 362, 217, 0,
3591
363, 219, 0, 0, 0, 220, 221, 222, 223, 0,
3592
0, 0, 224, 0, 225, 226, 227, 0, 0, 0,
3593
0, 0, 228, 0, 0, 0, 0, 229, 230, 364,
3594
365, 231, 232, 0, 0, 233, 366, 235, 367, 368,
3595
236, 237, 238, 369, 239, 240, 0, 0, 241, 0,
3596
370, 242, 0, 371, 372, 373, 0, 0, 246, 374,
3597
375, 376, 248, 249, 377, 250, 251, 0, 0, 0,
3598
252, 0, 0, 0, 378, 0, 0, 379, 380, 381,
3599
254, 0, 0, 255, 382, 0, 383, 256, 257, 0,
3600
0, 0, 0, 258, 0, 0, 0, 384, 385, 386,
3601
0, 0, 95, 387, 314, 97, 98, 388, 0, 389,
3602
390, 99, 0, 0, 0, 100, 101, 102, 315, 0,
3603
104, 0, 0, 316, 317, 105, 0, 106, 107, 108,
3604
109, 0, 110, 0, 111, 0, 0, 112, 318, 319,
3605
113, 0, 320, 114, 0, 115, 321, 0, 322, 118,
3606
0, 119, 120, 121, 122, 123, 124, 0, 125, 126,
3607
0, 127, 0, 323, 324, 0, 0, 128, 325, 326,
3608
0, 327, 129, 130, 131, 132, 328, 329, 330, 0,
3609
0, 0, 0, 331, 135, 332, 0, 0, 333, 0,
3610
0, 0, 0, 136, 137, 0, 0, 0, 0, 138,
3611
139, 140, 0, 0, 0, 141, 0, 142, 143, 0,
3612
144, 145, 0, 0, 146, 0, 147, 148, 334, 149,
3613
335, 336, 0, 150, 151, 152, 153, 337, 154, 0,
3614
0, 0, 155, 156, 936, 157, 0, 158, 0, 338,
3615
0, 159, 0, 339, 0, 0, 0, 340, 161, 162,
3616
163, 341, 0, 164, 165, 0, 0, 0, 0, 0,
3617
342, 343, 0, 0, 0, 0, 166, 0, 0, 0,
3618
167, 0, 0, 168, 0, 0, 344, 169, 0, 0,
3619
0, 0, 170, 0, 171, 0, 172, 0, 173, 345,
3620
0, 0, 0, 0, 174, 175, 346, 176, 177, 178,
3621
347, 0, 0, 348, 181, 349, 182, 0, 183, 350,
3622
351, 185, 186, 187, 0, 0, 0, 188, 189, 190,
3623
352, 353, 191, 354, 355, 0, 192, 193, 0, 194,
3624
195, 196, 197, 0, 0, 0, 0, 0, 0, 0,
3625
0, 198, 199, 200, 356, 0, 201, 0, 202, 203,
3626
357, 205, 0, 0, 206, 0, 0, 0, 207, 0,
3627
0, 0, 208, 358, 359, 0, 209, 0, 360, 0,
3628
361, 211, 212, 213, 214, 215, 362, 217, 0, 363,
3629
219, 0, 0, 0, 220, 221, 222, 223, 0, 0,
3630
0, 224, 0, 225, 226, 227, 0, 0, 0, 0,
3631
0, 228, 0, 0, 0, 0, 229, 230, 364, 365,
3632
231, 232, 0, 0, 233, 366, 235, 367, 368, 236,
3633
237, 238, 369, 239, 240, 0, 0, 241, 0, 370,
3634
242, 0, 371, 372, 373, 0, 0, 246, 374, 375,
3635
376, 248, 249, 377, 250, 251, 0, 0, 0, 252,
3636
0, 0, 0, 378, 0, 0, 379, 380, 381, 254,
3637
0, 0, 255, 382, 0, 383, 256, 257, 0, 0,
3638
0, 0, 258, 0, 0, 0, 384, 385, 386, 0,
3639
0, 95, 387, 314, 97, 98, 388, 0, 389, 390,
3640
99, 0, 0, 0, 100, 101, 102, 315, 0, 104,
3641
0, 0, 316, 317, 105, 0, 106, 107, 108, 109,
3642
0, 110, 0, 111, 0, 0, 112, 318, 319, 113,
3643
0, 320, 114, 0, 115, 321, 0, 322, 118, 0,
3644
119, 120, 121, 122, 123, 124, 0, 125, 126, 0,
3645
127, 0, 323, 324, 0, 0, 128, 325, 326, 0,
3646
327, 129, 130, 131, 132, 328, 329, 330, 0, 0,
3647
0, 0, 331, 135, 332, 0, 0, 333, 0, 0,
3648
0, 0, 136, 137, 0, 0, 0, 0, 138, 139,
3649
140, 0, 0, 0, 141, 0, 142, 143, 0, 144,
3650
145, 0, 0, 146, 0, 147, 148, 334, 149, 335,
3651
336, 0, 150, 151, 152, 153, 337, 154, 0, 0,
3652
0, 155, 156, 0, 157, 0, 158, 0, 338, 0,
3653
159, 0, 339, 0, 0, 0, 340, 161, 162, 163,
3654
341, 0, 164, 165, 0, 0, 0, 0, 0, 342,
3655
343, 0, 0, 0, 0, 166, 0, 0, 0, 167,
3656
0, 0, 168, 0, 0, 344, 169, 0, 0, 0,
3657
0, 170, 0, 171, 0, 172, 0, 173, 345, 0,
3658
0, 0, 0, 174, 175, 346, 176, 177, 178, 347,
3659
0, 0, 348, 181, 349, 182, 0, 183, 350, 351,
3660
185, 186, 187, 0, 0, 0, 188, 189, 190, 352,
3661
353, 191, 354, 355, 0, 192, 193, 0, 194, 195,
3662
196, 197, 0, 0, 0, 0, 0, 0, 0, 0,
3663
198, 199, 200, 356, 0, 201, 0, 202, 203, 357,
3664
205, 0, 0, 206, 0, 0, 0, 207, 0, 0,
3665
0, 208, 358, 359, 0, 209, 0, 360, 0, 361,
3666
211, 212, 213, 214, 215, 362, 217, 0, 363, 219,
3667
0, 0, 0, 220, 221, 222, 223, 0, 0, 0,
3668
224, 0, 225, 226, 227, 0, 0, 0, 0, 0,
3669
228, 0, 0, 0, 0, 229, 230, 364, 365, 231,
3670
232, 0, 0, 233, 366, 235, 367, 368, 236, 237,
3671
238, 369, 239, 240, 0, 0, 241, 0, 370, 242,
3672
0, 371, 372, 373, 0, 0, 246, 374, 375, 376,
3673
248, 249, 377, 250, 251, 0, 0, 0, 252, 0,
3674
0, 0, 378, 0, 0, 379, 380, 381, 254, 0,
3675
0, 255, 382, 0, 383, 256, 257, 0, 0, 0,
3676
0, 258, 0, 0, 0, 384, 385, 386, 0, 0,
3677
95, 387, 314, 97, 98, 388, 0, 389, 390, 99,
3678
0, 0, 0, 100, 101, 102, 315, 0, 104, 0,
3679
0, 316, 317, 105, 0, 106, 107, 108, 109, 0,
3680
110, 0, 111, 0, 0, 112, 318, 319, 113, 0,
3681
320, 114, 0, 115, 321, 0, 322, 118, 0, 119,
3682
120, 121, 122, 123, 124, 0, 125, 126, 0, 127,
3683
0, 323, 324, 0, 0, 128, 325, 326, 0, 327,
3684
129, 130, 131, 132, 328, 329, 330, 0, 0, 0,
3685
0, 331, 135, 332, 0, 0, 333, 0, 0, 0,
3686
0, 136, 137, 0, 0, 0, 0, 138, 139, 140,
3687
0, 0, 0, 141, 0, 142, 143, 0, 144, 145,
3688
0, 0, 146, 0, 147, 148, 334, 149, 335, 336,
3689
0, 150, 151, 152, 153, 337, 154, 0, 0, 0,
3690
155, 156, 0, 157, 0, 158, 0, 338, 0, 159,
3691
0, 339, 0, 0, 0, 340, 161, 162, 163, 341,
3692
0, 164, 165, 0, 0, 0, 0, 0, 342, 343,
3693
0, 0, 0, 0, 166, 0, 0, 0, 167, 0,
3694
0, 168, 0, 0, 344, 169, 0, 0, 0, 0,
3695
170, 0, 171, 0, 172, 0, 173, 345, 0, 0,
3696
0, 0, 174, 175, 346, 176, 177, 178, 347, 0,
3697
0, 348, 181, 349, 182, 0, 183, 350, 351, 185,
3698
186, 187, 0, 0, 0, 188, 189, 190, 352, 353,
3699
191, 354, 355, 0, 192, 193, 0, 194, 195, 196,
3700
197, 0, 0, 0, 0, 0, 0, 0, 0, 198,
3701
199, 200, 356, 0, 201, 0, 202, 203, 357, 205,
3702
0, 0, 206, 0, 0, 0, 207, 0, 0, 0,
3703
208, 358, 359, 0, 209, 0, 360, 0, 361, 211,
3704
212, 213, 214, 215, 362, 217, 0, 363, 219, 0,
3705
0, 0, 220, 221, 222, 223, 0, 0, 0, 224,
3706
0, 225, 226, 227, 0, 0, 0, 0, 0, 228,
3707
0, 0, 0, 0, 229, 230, 364, 365, 231, 232,
3708
0, 0, 233, 366, 235, 367, 368, 236, 237, 238,
3709
369, 239, 240, 0, 0, 241, 0, 370, 242, 0,
3710
371, 372, 373, 0, 0, 246, 374, 375, 376, 248,
3711
249, 377, 250, 251, 0, 0, 0, 252, 0, 0,
3712
0, 378, 0, 0, 379, 380, 381, 254, 0, 0,
3713
255, 382, 0, 383, 256, 257, 0, 0, 0, 0,
3714
258, 0, 0, 0, 384, 385, 386, 0, 0, 0,
3715
517, 0, 0, 0, 388, 0, 389, 390, 95, 0,
3716
314, 97, 98, 788, 0, 0, 0, 789, 0, 0,
3717
0, 100, 101, 102, 315, 0, 104, 0, 0, 316,
3718
317, 105, 0, 106, 107, 108, 109, 0, 110, 0,
3719
111, 0, 0, 112, 318, 319, 113, 0, 320, 114,
3720
0, 115, 321, 0, 322, 118, 0, 119, 120, 121,
3721
122, 123, 124, 0, 125, 126, 0, 127, 0, 323,
3722
324, 0, 0, 128, 325, 326, 0, 327, 129, 130,
3723
131, 132, 328, 329, 330, 0, 0, 0, 0, 331,
3724
135, 332, 0, 0, 333, 0, 0, 0, 0, 136,
3725
137, 0, 0, 0, 0, 138, 139, 140, 0, 0,
3726
0, 141, 0, 142, 143, 0, 144, 145, 0, 0,
3727
146, 0, 147, 148, 334, 149, 335, 336, 0, 150,
3728
151, 152, 153, 337, 154, 0, 0, 0, 155, 156,
3729
0, 157, 0, 158, 0, 338, 0, 159, 0, 339,
3730
0, 0, 0, 340, 161, 162, 163, 341, 0, 164,
3731
165, 0, 0, 0, 0, 0, 342, 343, 0, 0,
3732
0, 0, 166, 0, 0, 0, 167, 0, 0, 168,
3733
0, 0, 344, 169, 0, 0, 0, 0, 170, 0,
3734
171, 0, 172, 0, 173, 345, 0, 0, 0, 0,
3735
174, 175, 346, 176, 177, 178, 347, 0, 0, 348,
3736
181, 349, 182, 0, 183, 350, 351, 185, 186, 187,
3737
0, 0, 0, 188, 189, 190, 0, 353, 191, 354,
3738
355, 0, 192, 193, 0, 194, 195, 196, 197, 0,
3739
0, 0, 0, 0, 0, 0, 0, 198, 199, 200,
3740
356, 0, 201, 0, 202, 203, 357, 205, 0, 0,
3741
206, 0, 0, 0, 207, 0, 0, 0, 208, 358,
3742
359, 0, 209, 0, 360, 0, 361, 211, 212, 213,
3743
214, 215, 362, 217, 0, 363, 219, 0, 0, 0,
3744
220, 221, 222, 223, 0, 0, 0, 224, 0, 225,
3745
226, 227, 0, 0, 0, 0, 0, 228, 0, 0,
3746
0, 0, 229, 230, 364, 365, 231, 232, 0, 0,
3747
233, 366, 235, 367, 368, 236, 237, 238, 369, 239,
3748
240, 0, 0, 241, 0, 370, 242, 0, 371, 372,
3749
373, 0, 0, 246, 374, 375, 376, 248, 249, 377,
3750
250, 251, 0, 0, 0, 252, 0, 0, 0, 378,
3751
0, 0, 379, 380, 381, 254, 0, 0, 255, 382,
3752
0, 383, 256, 257, 0, 0, 0, 0, 258, 0,
3753
0, 0, 384, 385, 386, 0, 0, 95, 387, 314,
3754
97, 98, 388, 0, 389, 390, 99, 0, 0, 0,
3755
100, 101, 102, 315, 0, 104, 0, 0, 316, 317,
3756
105, 0, 106, 107, 108, 109, 0, 110, 0, 111,
3757
0, 0, 112, 318, 319, 113, 0, 320, 114, 0,
3758
115, 321, 0, 322, 118, 0, 119, 120, 121, 122,
3759
123, 124, 0, 125, 126, 0, 127, 0, 323, 324,
3760
0, 0, 128, 325, 326, 0, 327, 129, 130, 131,
3761
132, 328, 329, 330, 0, 0, 0, 0, 331, 135,
3762
332, 0, 0, 333, 0, 0, 0, 0, 136, 137,
3763
0, 0, 0, 0, 138, 139, 140, 0, 0, 0,
3764
141, 0, 142, 143, 0, 144, 145, 0, 0, 146,
3765
0, 147, 148, 334, 149, 335, 336, 0, 150, 151,
3766
152, 153, 337, 154, 0, 0, 0, 155, 156, 0,
3767
157, 0, 158, 0, 338, 0, 159, 0, 339, 0,
3768
0, 0, 340, 161, 162, 163, 341, 0, 164, 165,
3769
0, 0, 0, 0, 0, 342, 1074, 0, 0, 0,
3770
0, 166, 0, 0, 0, 167, 0, 0, 168, 0,
3771
0, 344, 169, 0, 0, 0, 0, 170, 0, 171,
3772
0, 172, 0, 173, 345, 0, 0, 0, 0, 174,
3773
175, 346, 176, 177, 178, 347, 0, 0, 348, 181,
3774
349, 182, 0, 183, 350, 351, 185, 186, 187, 0,
3775
0, 0, 188, 189, 190, 352, 353, 191, 354, 355,
3776
0, 192, 193, 0, 194, 195, 196, 197, 0, 0,
3777
0, 0, 0, 0, 0, 0, 198, 199, 200, 356,
3778
0, 201, 0, 202, 203, 357, 205, 0, 0, 206,
3779
0, 0, 0, 207, 0, 0, 0, 208, 358, 359,
3780
0, 209, 0, 360, 0, 361, 211, 212, 213, 214,
3781
215, 362, 217, 0, 363, 219, 0, 0, 0, 220,
3782
221, 222, 223, 0, 0, 0, 224, 0, 225, 226,
3783
227, 0, 0, 0, 0, 0, 228, 0, 0, 0,
3784
0, 229, 230, 364, 365, 231, 232, 0, 0, 233,
3785
366, 235, 367, 368, 236, 237, 238, 369, 239, 240,
3786
0, 0, 241, 0, 370, 242, 0, 371, 372, 373,
3787
0, 0, 246, 374, 375, 376, 248, 249, 377, 250,
3788
251, 0, 0, 0, 252, 0, 0, 0, 378, 0,
3789
0, 379, 380, 381, 254, 0, 0, 255, 382, 0,
3790
383, 256, 257, 0, 0, 0, 0, 258, 0, 0,
3791
0, 384, 385, 386, 0, 0, 95, 387, 314, 97,
3792
98, 388, 0, 389, 390, 99, 0, 0, 0, 100,
3793
101, 102, 315, 0, 104, 0, 0, 316, 317, 105,
3794
0, 106, 107, 108, 109, 0, 110, 0, 111, 0,
3795
0, 112, 318, 319, 113, 0, 320, 114, 0, 115,
3796
321, 0, 322, 118, 0, 119, 120, 121, 122, 123,
3797
124, 0, 125, 126, 0, 127, 0, 323, 324, 0,
3798
0, 128, 325, 326, 0, 327, 129, 130, 131, 132,
3799
328, 329, 330, 0, 0, 0, 0, 331, 135, 332,
3800
0, 0, 333, 0, 0, 0, 0, 136, 137, 0,
3801
0, 0, 0, 138, 139, 140, 0, 0, 0, 141,
3802
0, 142, 143, 0, 144, 145, 0, 0, 146, 0,
3803
147, 148, 334, 149, 335, 336, 0, 150, 151, 152,
3804
153, 337, 154, 0, 0, 0, 155, 156, 0, 157,
3805
0, 158, 0, 338, 0, 159, 0, 339, 0, 0,
3806
0, 340, 161, 162, 163, 341, 0, 164, 165, 0,
3807
0, 0, 0, 0, 342, 1109, 0, 0, 0, 0,
3808
166, 0, 0, 0, 167, 0, 0, 168, 0, 0,
3809
344, 169, 0, 0, 0, 0, 170, 0, 171, 0,
3810
172, 0, 173, 345, 0, 0, 0, 0, 174, 175,
3811
346, 176, 177, 178, 347, 0, 0, 348, 181, 349,
3812
182, 0, 183, 350, 351, 185, 186, 187, 0, 0,
3813
0, 188, 189, 190, 352, 353, 191, 354, 355, 0,
3814
192, 193, 0, 194, 195, 196, 197, 0, 0, 0,
3815
0, 0, 0, 0, 0, 198, 199, 200, 356, 0,
3816
201, 0, 202, 203, 357, 205, 0, 0, 206, 0,
3817
0, 0, 207, 0, 0, 0, 208, 358, 359, 0,
3818
209, 0, 360, 0, 361, 211, 212, 213, 214, 215,
3819
362, 217, 0, 363, 219, 0, 0, 0, 220, 221,
3820
222, 223, 0, 0, 0, 224, 0, 225, 226, 227,
3821
0, 0, 0, 0, 0, 228, 0, 0, 0, 0,
3822
229, 230, 364, 365, 231, 232, 0, 0, 233, 366,
3823
235, 367, 368, 236, 237, 238, 369, 239, 240, 0,
3824
0, 241, 0, 370, 242, 0, 371, 372, 373, 0,
3825
0, 246, 374, 375, 376, 248, 249, 377, 250, 251,
3826
0, 0, 0, 252, 0, 0, 0, 378, 0, 0,
3827
379, 380, 381, 254, 0, 0, 255, 382, 0, 383,
3828
256, 257, 0, 0, 0, 0, 258, 0, 0, 0,
3829
384, 385, 386, 0, 0, 95, 387, 314, 97, 98,
3830
388, 0, 389, 390, 99, 0, 0, 0, 100, 101,
3831
102, 315, 0, 104, 0, 0, 316, 317, 105, 0,
3832
106, 107, 108, 109, 0, 110, 0, 111, 0, 0,
3833
112, 318, 319, 113, 0, 320, 114, 0, 115, 321,
3834
0, 322, 118, 0, 119, 120, 121, 122, 123, 124,
3835
0, 125, 126, 0, 127, 0, 323, 324, 0, 0,
3836
128, 325, 326, 0, 327, 129, 130, 131, 132, 328,
3837
329, 330, 0, 0, 0, 0, 331, 135, 332, 0,
3838
0, 1333, 0, 0, 0, 0, 136, 137, 0, 0,
3839
0, 0, 138, 139, 140, 0, 0, 0, 141, 0,
3840
142, 143, 0, 144, 145, 0, 0, 146, 0, 147,
3841
148, 334, 149, 335, 336, 0, 150, 151, 152, 153,
3842
337, 154, 0, 0, 0, 155, 156, 0, 157, 0,
3843
158, 0, 338, 0, 159, 0, 339, 0, 0, 0,
3844
340, 161, 162, 163, 341, 0, 164, 165, 0, 0,
3845
0, 0, 0, 342, 343, 0, 0, 0, 0, 166,
3846
0, 0, 0, 167, 0, 0, 168, 0, 0, 344,
3847
169, 0, 0, 0, 0, 170, 0, 171, 0, 172,
3848
0, 173, 345, 0, 0, 0, 0, 174, 175, 346,
3849
176, 177, 178, 347, 0, 0, 348, 181, 349, 182,
3850
0, 183, 350, 351, 185, 186, 187, 0, 0, 0,
3851
188, 189, 190, 352, 353, 191, 354, 355, 0, 192,
3852
193, 0, 194, 195, 196, 197, 0, 0, 0, 0,
3853
0, 0, 0, 0, 198, 199, 200, 356, 0, 201,
3854
0, 202, 203, 357, 205, 0, 0, 206, 0, 0,
3855
0, 207, 0, 0, 0, 208, 358, 359, 0, 209,
3856
0, 360, 0, 361, 211, 212, 213, 214, 215, 362,
3857
217, 0, 363, 219, 0, 0, 0, 220, 221, 222,
3858
223, 0, 0, 0, 224, 0, 225, 226, 227, 0,
3859
0, 0, 0, 0, 228, 0, 0, 0, 0, 229,
3860
230, 364, 365, 231, 232, 0, 0, 233, 366, 235,
3861
367, 368, 236, 237, 238, 369, 239, 240, 0, 0,
3862
241, 0, 370, 242, 0, 371, 372, 373, 0, 0,
3863
246, 374, 375, 376, 248, 249, 377, 250, 251, 0,
3864
0, 0, 252, 0, 0, 0, 378, 0, 0, 379,
3865
380, 381, 254, 0, 0, 255, 382, 0, 383, 256,
3866
257, 0, 0, 0, 0, 258, 0, 0, 0, 384,
3867
385, 386, 0, 0, 95, 387, 314, 97, 98, 388,
3868
0, 389, 390, 99, 0, 0, 0, 100, 101, 102,
3869
315, 0, 104, 0, 0, 316, 317, 105, 0, 106,
3870
107, 108, 109, 0, 110, 0, 111, 0, 0, 112,
3871
318, 319, 113, 0, 320, 114, 0, 115, 321, 0,
3872
322, 118, 0, 119, 120, 121, 122, 123, 124, 0,
3873
125, 126, 0, 127, 0, 323, 324, 0, 0, 128,
3874
325, 326, 0, 327, 129, 130, 131, 132, 328, 329,
3875
330, 0, 0, 0, 0, 331, 135, 332, 0, 0,
3876
333, 0, 0, 0, 0, 136, 137, 0, 0, 0,
3877
0, 138, 139, 140, 0, 0, 0, 141, 0, 142,
3878
143, 0, 144, 145, 0, 0, 146, 0, 147, 148,
3879
334, 149, 335, 336, 0, 150, 151, 152, 153, 337,
3880
154, 0, 0, 0, 155, 156, 0, 157, 0, 158,
3881
0, 338, 0, 159, 0, 339, 0, 0, 0, 340,
3882
161, 162, 163, 341, 0, 164, 165, 0, 0, 0,
3883
0, 0, 342, 343, 0, 0, 0, 0, 166, 0,
3884
0, 0, 167, 0, 0, 168, 0, 0, 344, 169,
3885
0, 0, 0, 0, 170, 0, 171, 0, 172, 0,
3886
173, 345, 0, 0, 0, 0, 174, 175, 346, 176,
3887
177, 178, 347, 0, 0, 348, 181, 349, 182, 0,
3888
183, 350, 351, 185, 186, 187, 0, 0, 0, 188,
3889
189, 190, 0, 353, 191, 354, 355, 0, 192, 193,
3890
0, 194, 195, 196, 197, 0, 0, 0, 0, 0,
3891
0, 0, 0, 198, 199, 200, 356, 0, 201, 0,
3892
202, 203, 357, 205, 0, 0, 206, 0, 0, 0,
3893
207, 0, 0, 0, 208, 358, 359, 0, 209, 0,
3894
360, 0, 361, 211, 212, 213, 214, 215, 362, 217,
3895
0, 363, 219, 0, 0, 0, 220, 221, 222, 223,
3896
0, 0, 0, 224, 0, 225, 226, 227, 0, 0,
3897
0, 0, 0, 228, 0, 0, 0, 0, 229, 230,
3898
364, 365, 231, 232, 0, 0, 233, 366, 235, 367,
3899
368, 236, 237, 238, 369, 239, 240, 0, 0, 241,
3900
0, 370, 242, 0, 371, 372, 373, 0, 0, 246,
3901
374, 375, 376, 248, 249, 377, 250, 251, 0, 0,
3902
0, 252, 0, 0, 0, 378, 0, 0, 379, 380,
3903
381, 254, 0, 0, 255, 382, 0, 383, 256, 257,
3904
0, 0, 0, 0, 258, 0, 0, 0, 384, 385,
3905
386, 0, 0, 95, 387, 314, 97, 98, 388, 0,
3906
389, 390, 99, 0, 0, 0, 100, 101, 102, 315,
3907
0, 104, 0, 0, 316, 317, 105, 0, 106, 107,
3908
108, 109, 0, 110, 0, 111, 0, 0, 112, 318,
3909
319, 113, 0, 320, 114, 0, 115, 321, 0, 322,
3910
118, 0, 119, 120, 121, 122, 123, 124, 0, 125,
3911
126, 0, 127, 0, 323, 324, 0, 0, 128, 325,
3912
326, 0, 327, 129, 130, 131, 132, 328, 329, 330,
3913
0, 0, 0, 0, 331, 135, 332, 0, 0, 333,
3914
0, 0, 0, 0, 136, 137, 0, 0, 0, 0,
3915
138, 139, 140, 0, 0, 0, 141, 0, 142, 143,
3916
0, 144, 145, 0, 0, 146, 0, 147, 148, 334,
3917
149, 335, 336, 0, 150, 151, 152, 153, 337, 154,
3918
0, 0, 0, 155, 156, 0, 157, 0, 158, 0,
3919
338, 0, 159, 0, 339, 0, 0, 0, 340, 161,
3920
162, 163, 341, 0, 164, 165, 0, 0, 0, 0,
3921
0, 342, 797, 0, 0, 0, 0, 166, 0, 0,
3922
0, 167, 0, 0, 168, 0, 0, 344, 169, 0,
3923
0, 0, 0, 170, 0, 171, 0, 172, 0, 173,
3924
345, 0, 0, 0, 0, 174, 175, 346, 176, 177,
3925
178, 347, 0, 0, 348, 181, 349, 182, 0, 183,
3926
350, 351, 185, 186, 187, 0, 0, 0, 188, 189,
3927
190, 0, 353, 191, 354, 355, 0, 192, 193, 0,
3928
194, 195, 196, 197, 0, 0, 0, 0, 0, 0,
3929
0, 0, 198, 199, 200, 356, 0, 201, 0, 202,
3930
203, 357, 205, 0, 0, 206, 0, 0, 0, 207,
3931
0, 0, 0, 208, 358, 359, 0, 209, 0, 360,
3932
0, 361, 211, 212, 213, 214, 215, 362, 217, 0,
3933
363, 219, 0, 0, 0, 220, 221, 222, 223, 0,
3934
0, 0, 224, 0, 225, 226, 227, 0, 0, 0,
3935
0, 0, 228, 0, 0, 0, 0, 229, 230, 364,
3936
365, 231, 232, 0, 0, 233, 366, 235, 367, 368,
3937
236, 237, 238, 369, 239, 240, 0, 0, 241, 0,
3938
370, 242, 0, 371, 372, 373, 0, 0, 246, 374,
3939
375, 376, 248, 249, 377, 250, 251, 0, 0, 0,
3940
252, 0, 0, 0, 378, 0, 0, 379, 380, 381,
3941
254, 0, 0, 255, 382, 0, 383, 256, 257, 0,
3942
0, 0, 0, 258, 0, 0, 0, 384, 385, 386,
3943
0, 0, 95, 387, 314, 97, 98, 388, 0, 389,
3944
390, 99, 0, 0, 0, 100, 101, 102, 315, 0,
3945
104, 0, 0, 316, 317, 105, 0, 106, 107, 108,
3946
109, 0, 110, 0, 111, 0, 0, 112, 318, 319,
3947
113, 0, 320, 114, 0, 115, 321, 0, 322, 118,
3948
0, 119, 120, 121, 122, 123, 124, 0, 125, 126,
3949
0, 127, 0, 323, 324, 0, 0, 128, 325, 326,
3950
0, 327, 129, 130, 131, 132, 328, 329, 330, 0,
3951
0, 0, 0, 331, 135, 332, 0, 0, 333, 0,
3952
0, 0, 0, 136, 137, 0, 0, 0, 0, 138,
3953
139, 140, 0, 0, 0, 141, 0, 142, 143, 0,
3954
144, 145, 0, 0, 146, 0, 147, 148, 334, 149,
3955
335, 336, 0, 150, 151, 152, 153, 337, 154, 0,
3956
0, 0, 155, 156, 0, 157, 0, 158, 0, 338,
3957
0, 159, 0, 339, 0, 0, 0, 340, 161, 162,
3958
163, 341, 0, 164, 165, 0, 0, 0, 0, 0,
3959
342, 799, 0, 0, 0, 0, 166, 0, 0, 0,
3960
167, 0, 0, 168, 0, 0, 344, 169, 0, 0,
3961
0, 0, 170, 0, 171, 0, 172, 0, 173, 345,
3962
0, 0, 0, 0, 174, 175, 346, 176, 177, 178,
3963
347, 0, 0, 348, 181, 349, 182, 0, 183, 350,
3964
351, 185, 186, 187, 0, 0, 0, 188, 189, 190,
3965
0, 353, 191, 354, 355, 0, 192, 193, 0, 194,
3966
195, 196, 197, 0, 0, 0, 0, 0, 0, 0,
3967
0, 198, 199, 200, 356, 0, 201, 0, 202, 203,
3968
357, 205, 0, 0, 206, 0, 0, 0, 207, 0,
3969
0, 0, 208, 358, 359, 0, 209, 0, 360, 0,
3970
361, 211, 212, 213, 214, 215, 362, 217, 0, 363,
3971
219, 0, 0, 0, 220, 221, 222, 223, 0, 0,
3972
0, 224, 0, 225, 226, 227, 0, 0, 0, 0,
3973
0, 228, 0, 0, 0, 0, 229, 230, 364, 365,
3974
231, 232, 0, 0, 233, 366, 235, 367, 368, 236,
3975
237, 238, 369, 239, 240, 0, 0, 241, 0, 370,
3976
242, 0, 371, 372, 373, 0, 0, 246, 374, 375,
3977
376, 248, 249, 377, 250, 251, 0, 0, 0, 252,
3978
0, 0, 0, 378, 0, 0, 379, 380, 381, 254,
3979
0, 0, 255, 382, 0, 383, 256, 257, 0, 0,
3980
0, 0, 258, 0, 0, 0, 384, 385, 386, 0,
3981
0, 95, 387, 96, 97, 98, 388, 0, 389, 390,
3982
99, 0, 0, 0, 100, 101, 102, 103, 0, 104,
3983
0, 0, 0, 0, 105, 0, 106, 107, 108, 109,
3984
0, 110, 0, 111, 0, 0, 112, 0, 0, 113,
3985
0, 0, 114, 0, 115, 116, 0, 117, 118, 0,
3986
119, 120, 121, 122, 123, 124, 0, 125, 126, 0,
3987
127, 0, 0, 0, 0, 0, 128, 0, 0, 0,
3988
0, 129, 130, 131, 132, 0, 0, 133, 0, 0,
3989
0, 0, 134, 135, 0, 0, 0, 0, 0, 0,
3990
0, 0, 136, 137, 0, 0, 0, 0, 138, 139,
3991
140, 0, 0, 0, 141, 0, 142, 143, 0, 144,
3992
145, 0, 0, 146, 0, 147, 148, 0, 149, 0,
3993
0, 0, 150, 151, 152, 153, 0, 154, 0, 0,
3994
0, 155, 156, 0, 157, 0, 158, 0, 0, 0,
3995
159, 0, 0, 0, 0, 0, 160, 161, 162, 163,
3996
0, 0, 164, 165, 0, 0, 0, 0, 0, 0,
3997
0, 0, 0, 0, 0, 166, 0, 0, 0, 167,
3998
0, 0, 168, 0, 0, 0, 169, 772, 0, 0,
3999
0, 170, 0, 171, 0, 172, 0, 173, 0, 0,
4000
0, 0, 0, 174, 175, 0, 176, 177, 178, 179,
4001
0, 0, 180, 181, 0, 182, 0, 183, 0, 184,
4002
185, 186, 187, 0, 0, 0, 188, 189, 190, 0,
4003
0, 191, 0, 0, 0, 192, 193, 0, 194, 195,
4004
196, 197, 0, 0, 0, 0, 0, 0, 0, 0,
4005
198, 199, 200, 0, 0, 201, 0, 202, 203, 204,
4006
205, 0, 0, 206, 0, 0, 0, 207, 0, 0,
4007
0, 208, 0, 0, 0, 209, 0, 210, 0, 0,
4008
211, 212, 213, 214, 215, 216, 217, 0, 218, 219,
4009
0, 0, 0, 220, 221, 222, 223, 0, 0, 0,
4010
224, 0, 225, 226, 227, 0, 0, 0, 0, 0,
4011
228, 0, 0, 0, 0, 229, 230, 0, 0, 231,
4012
232, 0, 0, 233, 234, 235, 0, 0, 236, 237,
4013
238, 0, 239, 240, 0, 0, 241, 0, 773, 242,
4014
0, 243, 244, 245, 0, 0, 246, 0, 0, 247,
4015
248, 249, 0, 250, 251, 0, 0, 0, 252, 0,
4016
0, 0, 253, 0, 0, 0, 0, 0, 254, 0,
4017
0, 255, 0, 0, 0, 256, 257, 0, 0, 0,
4018
0, 258, 0, 0, 0, 259, 95, 0, 96, 97,
4019
98, 0, 0, 0, 0, 99, 0, 0, 774, 100,
4020
101, 102, 103, 0, 104, 0, 0, 0, 0, 105,
4021
0, 106, 107, 108, 109, 0, 110, 0, 111, 0,
4022
0, 112, 0, 0, 113, 0, 0, 114, 0, 115,
4023
116, 0, 117, 118, 0, 119, 120, 121, 122, 123,
4024
124, 0, 125, 126, 0, 127, 0, 0, 0, 0,
4025
0, 128, 0, 0, 0, 0, 129, 130, 131, 132,
4026
0, 0, 133, 0, 0, 0, 0, 134, 135, 0,
4027
0, 0, 0, 0, 0, 0, 0, 136, 137, 0,
4028
0, 0, 0, 138, 139, 140, 0, 0, 0, 141,
4029
0, 142, 143, 0, 144, 145, 0, 0, 146, 0,
4030
147, 148, 0, 149, 0, 0, 0, 150, 151, 152,
4031
153, 0, 154, 0, 0, 0, 155, 156, 0, 157,
4032
0, 158, 0, 0, 0, 159, 0, 0, 0, 0,
4033
0, 160, 161, 162, 163, 0, 0, 164, 165, 0,
4034
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4035
166, 0, 0, 0, 167, 0, 0, 168, 0, 0,
4036
0, 169, 772, 0, 0, 0, 170, 0, 171, 0,
4037
172, 0, 173, 0, 0, 0, 0, 0, 174, 175,
4038
0, 176, 177, 178, 179, 0, 0, 180, 181, 0,
4039
182, 0, 183, 0, 184, 185, 186, 187, 0, 0,
4040
0, 188, 189, 190, 0, 0, 191, 0, 0, 0,
4041
192, 193, 0, 194, 195, 196, 197, 0, 0, 0,
4042
0, 0, 0, 0, 0, 198, 199, 200, 0, 0,
4043
201, 0, 202, 203, 204, 205, 0, 0, 206, 0,
4044
0, 0, 207, 0, 0, 0, 208, 0, 0, 0,
4045
209, 0, 210, 0, 0, 211, 212, 213, 214, 215,
4046
216, 217, 0, 218, 219, 0, 0, 0, 220, 221,
4047
222, 223, 0, 0, 0, 224, 0, 225, 226, 227,
4048
0, 0, 0, 0, 0, 228, 0, 0, 0, 0,
4049
229, 230, 0, 0, 231, 232, 0, 0, 233, 234,
4050
235, 0, 0, 236, 237, 238, 0, 239, 240, 0,
4051
0, 241, 0, 773, 242, 0, 243, 244, 245, 0,
4052
0, 246, 0, 0, 247, 248, 249, 0, 250, 251,
4053
0, 0, 0, 252, 0, 0, 0, 253, 0, 0,
4054
0, 0, 0, 254, 0, 0, 255, 0, 0, 0,
4055
256, 257, 0, 0, 0, 0, 258, 0, 0, 0,
4056
259, 95, 0, 96, 97, 98, 0, 0, 0, 0,
4057
99, 0, 0, 1192, 100, 101, 102, 103, 0, 104,
4058
0, 0, 0, 0, 105, 0, 106, 107, 108, 109,
4059
0, 110, 0, 111, 0, 0, 112, 0, 0, 113,
4060
0, 0, 114, 0, 115, 116, 0, 117, 118, 0,
4061
119, 120, 121, 122, 123, 124, 0, 125, 126, 0,
4062
127, 0, 0, 0, 0, 0, 128, 0, 0, 0,
4063
0, 129, 130, 131, 132, 0, 0, 133, 0, 0,
4064
0, 0, 134, 135, 0, 0, 0, 0, 0, 0,
4065
0, 0, 136, 137, 0, 0, 0, 0, 138, 139,
4066
140, 0, 0, 0, 141, 0, 142, 143, 0, 144,
4067
145, 0, 0, 146, 0, 147, 148, 0, 149, 0,
4068
0, 0, 150, 151, 152, 153, 0, 154, 0, 0,
4069
0, 155, 156, 0, 157, 0, 158, 0, 0, 0,
4070
159, 0, 0, 0, 0, 0, 160, 161, 162, 163,
4071
0, 0, 164, 165, 0, 0, 0, 0, 0, 0,
4072
0, 0, 0, 0, 0, 166, 0, 0, 0, 167,
4073
0, 0, 168, 0, 0, 0, 169, 0, 0, 0,
4074
0, 170, 0, 171, 0, 172, 0, 173, 0, 0,
4075
0, 0, 0, 174, 175, 0, 176, 177, 178, 179,
4076
0, 0, 180, 181, 0, 182, 0, 183, 0, 184,
4077
185, 186, 187, 0, 0, 0, 188, 189, 190, 0,
4078
0, 191, 0, 0, 0, 192, 193, 0, 194, 195,
4079
196, 197, 0, 0, 0, 0, 0, 0, 0, 0,
4080
198, 199, 200, 0, 0, 201, 0, 202, 203, 204,
4081
205, 0, 0, 206, 0, 0, 0, 207, 0, 0,
4082
0, 208, 0, 0, 0, 209, 0, 210, 0, 0,
4083
211, 212, 213, 214, 215, 216, 217, 0, 218, 219,
4084
0, 0, 0, 220, 221, 222, 223, 0, 0, 0,
4085
224, 0, 225, 226, 227, 0, 0, 0, 0, 0,
4086
228, 0, 0, 0, 0, 229, 230, 0, 0, 231,
4087
232, 0, 0, 233, 234, 235, 0, 0, 236, 237,
4088
238, 0, 239, 240, 0, 0, 241, 0, 0, 242,
4089
0, 243, 244, 245, 0, 0, 246, 0, 0, 247,
4090
248, 249, 0, 250, 251, 0, 0, 0, 252, 0,
4091
0, 0, 253, 0, 0, 0, 0, 0, 254, 0,
4092
0, 255, 0, 0, 0, 256, 257, 0, 0, 0,
4093
0, 258, 0, 0, 0, 259, 95, 0, 96, 97,
4094
98, 0, 1935, 0, 0, 99, 0, 389, 1936, 100,
4095
101, 102, 103, 0, 104, 0, 0, 0, 0, 105,
4096
0, 106, 107, 108, 109, 0, 110, 0, 111, 0,
4097
0, 112, 0, 0, 113, 0, 0, 114, 0, 115,
4098
116, 0, 117, 118, 0, 119, 120, 121, 122, 123,
4099
124, 0, 125, 126, 0, 127, 0, 0, 0, 0,
4100
0, 128, 0, 0, 0, 0, 129, 130, 131, 132,
4101
0, 0, 133, 0, 0, 0, 0, 134, 135, 0,
4102
0, 0, 0, 0, 0, 0, 0, 136, 137, 0,
4103
0, 0, 0, 138, 139, 140, 0, 0, 0, 141,
4104
0, 142, 143, 0, 144, 145, 0, 0, 146, 0,
4105
147, 148, 0, 149, 0, 0, 0, 150, 151, 152,
4106
153, 0, 154, 0, 0, 0, 155, 156, 0, 157,
4107
0, 158, 0, 0, 0, 159, 0, 0, 0, 0,
4108
0, 160, 161, 162, 163, 0, 0, 164, 165, 0,
4109
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4110
166, 0, 0, 0, 167, 0, 0, 168, 0, 0,
4111
0, 169, 0, 0, 0, 0, 170, 0, 171, 0,
4112
172, 0, 173, 0, 0, 0, 0, 0, 174, 175,
4113
0, 176, 177, 178, 179, 0, 0, 180, 181, 0,
4114
182, 0, 183, 0, 184, 185, 186, 187, 0, 0,
4115
0, 188, 189, 190, 0, 0, 191, 0, 0, 0,
4116
192, 193, 0, 194, 195, 196, 197, 0, 0, 0,
4117
0, 0, 0, 0, 0, 198, 199, 200, 0, 0,
4118
201, 0, 202, 203, 204, 205, 0, 0, 206, 0,
4119
0, 0, 207, 0, 0, 0, 208, 0, 0, 0,
4120
209, 0, 210, 0, 0, 211, 212, 213, 214, 215,
4121
216, 217, 0, 218, 219, 0, 0, 0, 220, 221,
4122
222, 223, 0, 0, 0, 224, 0, 225, 226, 227,
4123
0, 0, 0, 0, 0, 228, 0, 0, 0, 0,
4124
229, 230, 0, 0, 231, 232, 0, 0, 233, 234,
4125
235, 0, 0, 236, 237, 238, 0, 239, 240, 0,
4126
0, 241, 0, 0, 242, 0, 243, 244, 245, 0,
4127
0, 246, 0, 0, 247, 248, 249, 0, 250, 251,
4128
0, 0, 0, 252, 0, 0, 0, 253, 0, 0,
4129
0, 0, 0, 254, 0, 0, 255, 0, 0, 0,
4130
256, 257, 0, 0, 0, 0, 258, 0, 0, 0,
4131
259, 95, 0, 96, 97, 98, 0, 0, 0, 0,
4132
99, 0, 389, 1936, 100, 101, 102, 103, 0, 104,
4133
0, 0, 0, 0, 105, 0, 106, 107, 108, 109,
4134
0, 110, 0, 111, 0, 0, 112, 0, 0, 113,
4135
0, 0, 114, 0, 115, 116, 0, 117, 118, 0,
4136
119, 120, 121, 122, 123, 124, 0, 125, 126, 1209,
4137
127, 0, 0, 0, 0, 0, 128, 0, 0, 0,
4138
0, 129, 130, 131, 132, 0, 0, 133, 0, 0,
4139
0, 0, 134, 135, 0, 0, 0, 0, 0, 0,
4140
0, 0, 136, 137, 0, 0, 0, 0, 138, 139,
4141
140, 0, 0, 0, 141, 0, 142, 143, 0, 144,
4142
145, 0, 0, 146, 0, 147, 148, 0, 149, 0,
4143
0, 0, 150, 151, 152, 153, 0, 154, 0, 0,
4144
0, 155, 156, 0, 157, 0, 158, 0, 0, 0,
4145
159, 0, 0, 0, 0, 0, 160, 161, 162, 163,
4146
0, 0, 164, 165, 1210, 0, 0, 0, 0, 0,
4147
0, 0, 0, 0, 0, 166, 0, 0, 0, 167,
4148
1211, 0, 168, 0, 0, 0, 169, 0, 1251, 0,
4149
0, 170, 0, 171, 0, 172, 0, 173, 0, 0,
4150
0, 0, 0, 174, 175, 0, 176, 177, 178, 179,
4151
0, 0, 180, 181, 0, 182, 0, 183, 0, 184,
4152
185, 186, 187, 0, 0, 0, 188, 189, 190, 0,
4153
0, 191, 0, 0, 0, 192, 193, 0, 194, 195,
4154
196, 197, 0, 0, 0, 0, 0, 0, 0, 0,
4155
198, 199, 200, 0, 0, 201, 0, 202, 203, 204,
4156
205, 0, 0, 206, 0, 0, 0, 207, 0, 0,
4157
0, 208, 0, 0, 0, 209, 0, 210, 0, 0,
4158
211, 212, 213, 214, 215, 216, 217, 0, 218, 219,
4159
813, 0, 0, 220, 221, 222, 223, 0, 0, 0,
4160
224, 0, 225, 226, 227, 0, 0, 0, 0, 0,
4161
228, 0, 0, 0, 0, 229, 230, 0, 0, 231,
4162
232, 0, 0, 233, 234, 235, 0, 0, 236, 237,
4163
238, 0, 239, 240, 0, 0, 241, 0, 0, 242,
4164
0, 243, 244, 245, 0, 0, 246, 0, 0, 247,
4165
248, 249, 0, 250, 251, 0, 0, 0, 252, 0,
4166
0, 0, 253, 0, 0, 0, 0, 0, 254, 0,
4167
0, 255, 0, 0, 0, 256, 257, 0, 0, 0,
4168
95, 258, 96, 97, 98, 259, 0, 0, 0, 99,
4169
0, 0, 0, 100, 101, 102, 103, 1245, 104, 0,
4170
0, 0, 0, 105, 0, 106, 107, 108, 109, 0,
4171
110, 0, 111, 0, 0, 112, 0, 0, 113, 0,
4172
0, 114, 0, 115, 116, 0, 117, 118, 0, 119,
4173
120, 121, 122, 123, 124, 0, 125, 126, 1209, 127,
4174
0, 0, 0, 0, 0, 128, 0, 0, 0, 0,
4175
129, 130, 131, 132, 0, 0, 133, 0, 0, 0,
4176
0, 134, 135, 0, 0, 0, 0, 0, 0, 0,
4177
0, 136, 137, 0, 0, 0, 0, 138, 139, 140,
4178
0, 0, 0, 141, 0, 142, 143, 0, 144, 145,
4179
0, 0, 146, 0, 147, 148, 0, 149, 0, 0,
4180
0, 150, 151, 152, 153, 0, 154, 0, 0, 0,
4181
155, 156, 0, 157, 0, 158, 0, 0, 0, 159,
4182
0, 0, 0, 0, 0, 160, 161, 162, 163, 0,
4183
0, 164, 165, 1210, 0, 0, 0, 0, 0, 0,
4184
0, 0, 0, 0, 166, 0, 0, 0, 167, 1211,
4185
0, 168, 0, 0, 0, 169, 0, 0, 0, 0,
4186
170, 0, 171, 0, 172, 0, 173, 0, 0, 0,
4187
0, 0, 174, 175, 0, 176, 177, 178, 179, 0,
4188
0, 180, 181, 0, 182, 0, 183, 0, 184, 185,
4189
186, 187, 0, 0, 0, 188, 189, 190, 0, 0,
4190
191, 0, 0, 0, 192, 193, 0, 194, 195, 196,
4191
197, 0, 0, 0, 0, 0, 0, 0, 0, 198,
4192
199, 200, 0, 0, 201, 0, 202, 203, 204, 205,
4193
0, 0, 206, 0, 0, 0, 207, 0, 0, 0,
4194
208, 0, 0, 0, 209, 0, 210, 0, 0, 211,
4195
212, 213, 214, 215, 216, 217, 0, 218, 219, 0,
4196
0, 0, 220, 221, 222, 223, 0, 0, 0, 224,
4197
0, 225, 226, 227, 0, 0, 0, 0, 0, 228,
4198
0, 0, 0, 0, 229, 230, 0, 0, 231, 232,
4199
0, 0, 233, 234, 235, 0, 0, 236, 237, 238,
4200
0, 239, 240, 0, 0, 241, 0, 0, 242, 0,
4201
243, 244, 245, 0, 0, 246, 0, 0, 247, 248,
4202
249, 0, 250, 251, 0, 0, 0, 252, 0, 0,
4203
0, 253, 0, 0, 0, 0, 0, 254, 0, 0,
4204
255, 0, 0, 0, 256, 257, 0, 0, 0, 95,
4205
258, 96, 97, 98, 259, 0, 0, 0, 99, 0,
4206
0, 0, 100, 101, 102, 103, 1245, 104, 0, 0,
4207
0, 0, 105, 0, 106, 107, 108, 109, 0, 110,
4208
0, 111, 0, 0, 112, 0, 0, 113, 0, 0,
4209
114, 0, 115, 116, 0, 117, 118, 0, 119, 120,
4210
121, 122, 123, 124, 0, 125, 126, 0, 127, 0,
4211
0, 0, 0, 0, 128, 0, 0, 0, 0, 129,
4212
130, 131, 132, 0, 0, 133, 0, 0, 0, 0,
4213
134, 135, 0, 0, 0, 0, 0, 0, 0, 0,
4214
136, 137, 0, 0, 0, 0, 138, 139, 140, 0,
4215
0, 0, 141, 0, 142, 143, 0, 144, 145, 0,
4216
0, 146, 0, 147, 148, 0, 149, 0, 0, 0,
4217
150, 151, 152, 153, 0, 154, 0, 0, 0, 155,
4218
156, 0, 157, 0, 158, 0, 0, 0, 159, 0,
4219
0, 0, 0, 0, 160, 161, 162, 163, 0, 0,
4220
164, 165, 0, 0, 0, 0, 0, 0, 0, 0,
4221
0, 0, 0, 166, 0, 0, 0, 167, 0, 0,
4222
168, 0, 0, 0, 169, 0, 0, 0, 0, 170,
4223
0, 171, 0, 172, 0, 173, 0, 0, 0, 0,
4224
0, 174, 175, 0, 176, 177, 178, 179, 0, 0,
4225
180, 181, 0, 182, 0, 183, 0, 184, 185, 186,
4226
187, 0, 0, 0, 188, 189, 190, 0, 0, 191,
4227
0, 0, 0, 192, 193, 0, 194, 195, 196, 197,
4228
0, 0, 0, 0, 0, 0, 0, 0, 198, 199,
4229
200, 0, 0, 201, 0, 202, 203, 204, 205, 0,
4230
0, 206, 0, 0, 0, 207, 0, 0, 0, 208,
4231
0, 0, 0, 209, 0, 210, 0, 0, 211, 212,
4232
213, 214, 215, 216, 217, 0, 218, 219, 813, 0,
4233
0, 220, 221, 222, 223, 0, 0, 0, 224, 0,
4234
225, 226, 227, 0, 0, 0, 0, 0, 228, 0,
4235
0, 0, 0, 229, 230, 0, 0, 231, 232, 0,
4236
0, 233, 234, 235, 0, 0, 236, 237, 238, 0,
4237
239, 240, 0, 0, 241, 0, 0, 242, 0, 243,
4238
244, 245, 0, 0, 246, 0, 0, 247, 248, 249,
4239
0, 250, 251, 0, 0, 0, 252, 0, 0, 0,
4240
253, 0, 0, 0, 0, 0, 254, 0, 0, 255,
4241
0, 0, 0, 256, 257, 0, 0, 0, 95, 258,
4242
96, 97, 98, 259, 0, 0, 0, 99, 0, 0,
4243
991, 100, 101, 102, 103, 389, 104, 0, 0, 0,
4244
0, 105, 0, 106, 107, 108, 109, 0, 110, 0,
4245
111, 0, 0, 112, 0, 0, 113, 0, 0, 114,
4246
0, 115, 116, 0, 117, 118, 0, 119, 120, 121,
4247
122, 123, 124, 0, 125, 126, 0, 127, 0, 0,
4248
0, 0, 0, 128, 0, 0, 0, 0, 129, 130,
4249
131, 132, 0, 0, 133, 0, 0, 0, 0, 134,
4250
135, 0, 0, 0, 0, 0, 0, 0, 0, 136,
4251
137, 0, 0, 0, 0, 138, 139, 140, 0, 0,
4252
0, 141, 0, 142, 143, 0, 144, 145, 0, 0,
4253
146, 0, 147, 148, 0, 149, 0, 0, 0, 150,
4254
151, 152, 153, 0, 154, 0, 0, 0, 155, 156,
4255
0, 157, 0, 158, 0, 0, 0, 159, 0, 0,
4256
0, 0, 0, 160, 161, 162, 163, 0, 0, 164,
4257
165, 0, 0, 0, 0, 0, 0, 0, 413, 0,
4258
0, 0, 166, 0, 0, 0, 167, 0, 0, 168,
4259
0, 0, 0, 169, 0, 0, 0, 0, 170, 0,
4260
171, 0, 172, 0, 173, 0, 0, 0, 0, 0,
4261
174, 175, 0, 176, 177, 178, 179, 0, 0, 180,
4262
181, 0, 182, 0, 183, 0, 184, 185, 186, 187,
4263
0, 0, 0, 188, 189, 190, 0, 0, 191, 0,
4264
0, 0, 192, 193, 0, 194, 195, 196, 197, 0,
4265
0, 0, 0, 0, 0, 0, 0, 198, 199, 200,
4266
0, 0, 201, 0, 202, 203, 204, 205, 0, 0,
4267
206, 0, 0, 0, 207, 0, 0, 0, 208, 0,
4268
0, 0, 209, 0, 210, 0, 0, 211, 212, 213,
4269
214, 215, 216, 217, 0, 218, 219, 0, 0, 0,
4270
220, 221, 222, 223, 0, 0, 0, 224, 0, 225,
4271
226, 227, 0, 0, 0, 0, 0, 228, 0, 0,
4272
0, 0, 229, 230, 0, 0, 231, 232, 0, 0,
4273
233, 234, 235, 0, 0, 236, 237, 238, 0, 239,
4274
240, 0, 0, 241, 0, 0, 242, 0, 243, 244,
4275
245, 0, 0, 246, 0, 0, 247, 248, 249, 0,
4276
250, 251, 0, 0, 0, 252, 0, 0, 0, 253,
4277
0, 0, 0, 0, 0, 254, 0, 0, 255, 0,
4278
0, 0, 256, 257, 0, 0, 0, 95, 258, 96,
4279
97, 98, 259, 0, 0, 0, 99, 0, 0, 0,
4280
100, 101, 102, 103, 283, 104, 0, 0, 0, 0,
4281
105, 0, 106, 107, 108, 109, 0, 110, 0, 111,
4282
0, 0, 112, 0, 0, 113, 0, 0, 114, 0,
4283
115, 116, 0, 117, 118, 0, 119, 120, 121, 122,
4284
123, 124, 0, 125, 126, 0, 127, 0, 0, 0,
4285
0, 0, 128, 0, 0, 0, 0, 129, 130, 131,
4286
132, 0, 0, 133, 0, 0, 0, 0, 134, 135,
4287
0, 0, 0, 0, 0, 0, 0, 0, 136, 137,
4288
0, 0, 0, 0, 138, 139, 140, 0, 0, 0,
4289
141, 0, 142, 143, 0, 144, 145, 0, 0, 146,
4290
0, 147, 148, 0, 149, 0, 0, 0, 150, 151,
4291
152, 153, 0, 154, 0, 0, 0, 155, 156, 0,
4292
157, 0, 158, 0, 0, 0, 159, 0, 0, 0,
4293
0, 0, 160, 161, 162, 163, 0, 0, 164, 165,
4294
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4295
0, 166, 0, 0, 0, 167, 0, 0, 168, 0,
4296
0, 0, 169, 0, 0, 0, 0, 170, 0, 171,
4297
0, 172, 0, 173, 0, 0, 0, 0, 0, 174,
4298
175, 0, 176, 177, 178, 179, 0, 0, 180, 181,
4299
0, 182, 0, 183, 0, 184, 185, 186, 187, 0,
4300
0, 0, 188, 189, 190, 0, 0, 191, 0, 0,
4301
0, 192, 193, 0, 194, 195, 196, 197, 0, 0,
4302
0, 0, 0, 0, 0, 0, 198, 199, 200, 0,
4303
0, 201, 0, 202, 203, 204, 205, 0, 0, 206,
4304
0, 0, 0, 207, 0, 0, 0, 208, 0, 0,
4305
0, 209, 0, 210, 0, 0, 211, 212, 213, 214,
4306
215, 216, 217, 0, 218, 219, 0, 0, 0, 220,
4307
221, 222, 223, 0, 0, 0, 224, 0, 225, 226,
4308
227, 0, 0, 0, 0, 0, 228, 0, 0, 0,
4309
0, 229, 230, 0, 0, 231, 232, 0, 0, 233,
4310
234, 235, 0, 0, 236, 237, 238, 0, 239, 240,
4311
0, 0, 241, 0, 0, 242, 0, 243, 244, 245,
4312
0, 0, 246, 0, 0, 247, 248, 249, 0, 250,
4313
251, 0, 0, 0, 252, 0, 0, 0, 253, 0,
4314
0, 0, 0, 0, 254, 0, 0, 255, 0, 0,
4315
0, 256, 257, 0, 0, 0, 95, 258, 96, 97,
4316
98, 259, 0, 0, 0, 99, 0, 1244, 0, 100,
4317
101, 102, 103, 1245, 104, 0, 0, 0, 0, 105,
4318
0, 106, 107, 108, 109, 0, 110, 0, 111, 0,
4319
0, 112, 0, 0, 113, 0, 0, 114, 0, 115,
4320
116, 0, 117, 118, 0, 119, 120, 121, 122, 123,
4321
124, 0, 125, 126, 0, 127, 0, 0, 0, 0,
4322
0, 128, 0, 0, 0, 0, 129, 130, 131, 132,
4323
0, 0, 133, 0, 0, 0, 0, 134, 135, 0,
4324
0, 0, 0, 0, 0, 0, 0, 136, 137, 0,
4325
0, 0, 0, 138, 139, 140, 0, 0, 0, 141,
4326
0, 142, 143, 0, 144, 145, 0, 0, 146, 0,
4327
147, 148, 0, 282, 0, 0, 0, 150, 151, 152,
4328
153, 0, 154, 0, 0, 0, 155, 156, 0, 157,
4329
0, 158, 0, 0, 0, 159, 0, 0, 0, 0,
4330
0, 160, 161, 162, 163, 0, 0, 164, 165, 0,
4331
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4332
166, 0, 0, 0, 167, 0, 0, 168, 0, 0,
4333
0, 169, 0, 0, 0, 0, 170, 0, 171, 0,
4334
172, 0, 173, 0, 0, 0, 0, 0, 174, 175,
4335
0, 176, 177, 178, 179, 0, 0, 180, 181, 0,
4336
182, 0, 183, 0, 184, 185, 186, 187, 0, 0,
4337
0, 188, 189, 190, 0, 0, 191, 0, 0, 0,
4338
192, 193, 0, 194, 195, 196, 197, 0, 0, 0,
4339
0, 0, 0, 0, 0, 198, 199, 200, 0, 0,
4340
201, 0, 202, 203, 204, 205, 0, 0, 206, 0,
4341
0, 0, 207, 0, 0, 0, 208, 0, 0, 0,
4342
209, 0, 210, 0, 0, 211, 212, 213, 214, 215,
4343
216, 217, 0, 218, 219, 0, 0, 0, 220, 221,
4344
222, 223, 0, 0, 0, 224, 0, 225, 226, 227,
4345
0, 0, 0, 0, 0, 228, 0, 0, 0, 0,
4346
229, 230, 0, 0, 231, 232, 0, 0, 233, 234,
4347
235, 0, 0, 236, 237, 238, 0, 239, 240, 0,
4348
0, 241, 0, 0, 242, 0, 243, 244, 245, 0,
4349
0, 246, 0, 0, 247, 248, 249, 0, 250, 251,
4350
0, 0, 0, 252, 0, 0, 0, 253, 0, 0,
4351
0, 0, 0, 254, 0, 0, 255, 0, 0, 0,
4352
256, 257, 0, 0, 0, 95, 258, 96, 97, 98,
4353
259, 0, 0, 0, 99, 0, 0, 0, 100, 101,
4354
102, 103, 283, 104, 0, 0, 0, 0, 105, 0,
4355
106, 107, 108, 109, 0, 110, 0, 111, 0, 0,
4356
112, 0, 0, 113, 0, 0, 114, 0, 115, 116,
4357
0, 117, 118, 0, 119, 120, 121, 122, 123, 124,
4358
0, 125, 126, 0, 127, 0, 0, 0, 0, 0,
4359
128, 0, 0, 0, 0, 129, 130, 131, 132, 0,
4360
0, 133, 0, 0, 0, 0, 134, 135, 0, 0,
4361
0, 0, 0, 0, 0, 0, 136, 137, 0, 0,
4362
0, 0, 138, 139, 140, 0, 0, 0, 141, 0,
4363
142, 143, 0, 144, 145, 0, 0, 146, 0, 147,
4364
148, 0, 149, 0, 0, 0, 150, 151, 152, 153,
4365
0, 154, 0, 0, 0, 155, 156, 0, 157, 0,
4366
158, 0, 0, 0, 159, 0, 0, 0, 0, 0,
4367
160, 161, 162, 163, 0, 0, 164, 165, 0, 0,
4368
0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
4369
0, 0, 0, 167, 0, 0, 168, 0, 0, 0,
4370
169, 0, 0, 0, 0, 170, 0, 171, 0, 172,
4371
0, 173, 0, 0, 0, 0, 0, 174, 175, 0,
4372
176, 177, 178, 179, 0, 0, 180, 181, 0, 182,
4373
0, 183, 0, 184, 185, 186, 187, 0, 0, 0,
4374
188, 189, 190, 0, 0, 191, 0, 0, 0, 192,
4375
193, 0, 194, 195, 196, 197, 0, 0, 0, 0,
4376
0, 0, 0, 0, 198, 199, 200, 0, 0, 201,
4377
0, 202, 203, 204, 205, 0, 0, 206, 0, 0,
4378
0, 207, 0, 0, 0, 208, 0, 0, 0, 209,
4379
0, 210, 0, 0, 211, 212, 213, 214, 215, 216,
4380
217, 0, 218, 219, 0, 0, 0, 220, 221, 222,
4381
223, 0, 0, 0, 224, 0, 225, 226, 227, 0,
4382
0, 0, 0, 0, 228, 0, 0, 0, 0, 229,
4383
230, 0, 0, 231, 232, 0, 0, 233, 234, 235,
4384
0, 0, 236, 237, 238, 0, 239, 240, 0, 0,
4385
241, 0, 0, 242, 0, 243, 244, 245, 0, 0,
4386
246, 0, 0, 247, 248, 249, 0, 250, 251, 0,
4387
0, 0, 252, 0, 0, 0, 253, 0, 0, 0,
4388
0, 0, 254, 0, 0, 255, 0, 0, 0, 256,
4389
257, 0, 0, 0, 95, 258, 96, 97, 98, 259,
4390
0, 0, 0, 99, 0, 0, 0, 100, 101, 102,
4391
103, 283, 104, 0, 0, 0, 0, 105, 0, 106,
4392
107, 108, 109, 0, 110, 0, 111, 0, 0, 112,
4393
0, 0, 113, 0, 0, 114, 0, 115, 116, 0,
4394
117, 118, 0, 119, 120, 121, 122, 123, 124, 0,
4395
125, 126, 0, 127, 0, 0, 0, 0, 0, 128,
4396
0, 0, 0, 0, 129, 130, 131, 132, 0, 0,
4397
133, 0, 0, 0, 0, 134, 135, 0, 0, 0,
4398
0, 0, 0, 0, 0, 136, 137, 0, 0, 0,
4399
0, 138, 139, 140, 0, 0, 0, 141, 0, 142,
4400
143, 0, 144, 145, 0, 0, 146, 0, 147, 148,
4401
0, 149, 0, 0, 0, 150, 151, 152, 153, 0,
4402
154, 0, 0, 0, 155, 156, 0, 157, 0, 158,
4403
0, 0, 0, 159, 0, 0, 0, 0, 0, 160,
4404
161, 162, 163, 0, 0, 164, 165, 0, 0, 0,
4405
0, 0, 0, 0, 0, 0, 0, 0, 166, 0,
4406
0, 0, 167, 0, 0, 168, 0, 0, 0, 169,
4407
0, 0, 0, 0, 170, 0, 171, 0, 172, 0,
4408
173, 0, 0, 0, 0, 0, 174, 175, 0, 176,
4409
177, 178, 179, 0, 0, 180, 181, 0, 182, 0,
4410
183, 0, 184, 185, 186, 187, 0, 0, 0, 188,
4411
189, 190, 0, 0, 191, 0, 0, 0, 192, 193,
4412
0, 194, 195, 196, 197, 0, 0, 0, 0, 0,
4413
0, 0, 0, 198, 199, 200, 0, 0, 201, 0,
4414
202, 203, 204, 205, 0, 0, 206, 0, 0, 0,
4415
207, 0, 0, 0, 208, 0, 0, 0, 209, 0,
4416
210, 0, 0, 211, 212, 213, 214, 215, 216, 217,
4417
0, 218, 219, 0, 0, 0, 220, 221, 222, 223,
4418
0, 0, 0, 224, 0, 225, 226, 227, 0, 0,
4419
0, 0, 0, 228, 0, 0, 0, 0, 229, 230,
4420
0, 0, 231, 232, 0, 0, 233, 234, 235, 0,
4421
0, 236, 237, 238, 0, 239, 240, 0, 0, 241,
4422
0, 0, 242, 0, 243, 244, 245, 0, 0, 246,
4423
0, 0, 247, 248, 249, 0, 250, 251, 0, 0,
4424
0, 252, 0, 0, 0, 253, 0, 0, 0, 0,
4425
0, 254, 0, 0, 255, 0, 0, 0, 256, 257,
4426
0, 0, 0, 95, 258, 96, 97, 98, 259, 0,
4427
0, 0, 99, 0, 0, 0, 100, 101, 102, 103,
4428
389, 104, 0, 0, 0, 0, 105, 0, 106, 107,
4429
108, 109, 0, 110, 0, 111, 0, 0, 112, 0,
4430
0, 113, 0, 0, 114, 0, 115, 116, 0, 117,
4431
118, 0, 119, 120, 121, 122, 123, 124, 0, 125,
4432
126, 0, 127, 0, 0, 0, 0, 0, 128, 0,
4433
0, 0, 0, 129, 130, 131, 132, 0, 0, 133,
4434
0, 0, 0, 0, 134, 135, 0, 0, 0, 0,
4435
0, 0, 0, 0, 136, 137, 0, 0, 0, 0,
4436
138, 139, 140, 0, 0, 0, 141, 0, 142, 143,
4437
0, 144, 145, 0, 0, 146, 0, 147, 148, 0,
4438
149, 0, 0, 0, 150, 151, 152, 153, 0, 154,
4439
0, 0, 0, 155, 156, 0, 157, 0, 158, 0,
4440
0, 0, 159, 0, 0, 0, 0, 0, 160, 161,
4441
162, 163, 0, 0, 164, 165, 0, 0, 0, 0,
4442
0, 0, 0, 0, 0, 0, 0, 166, 0, 0,
4443
0, 167, 0, 0, 168, 0, 0, 0, 169, 0,
4444
0, 0, 0, 170, 0, 171, 0, 172, 0, 173,
4445
0, 0, 0, 0, 0, 174, 175, 0, 176, 177,
4446
178, 179, 0, 0, 180, 181, 0, 182, 0, 183,
4447
0, 184, 185, 186, 187, 0, 0, 0, 188, 189,
4448
190, 0, 0, 191, 0, 0, 0, 192, 193, 0,
4449
194, 195, 196, 197, 0, 0, 0, 0, 0, 0,
4450
0, 0, 198, 199, 200, 0, 0, 201, 0, 202,
4451
203, 204, 205, 0, 0, 206, 0, 0, 0, 207,
4452
0, 0, 0, 208, 0, 0, 0, 209, 0, 210,
4453
0, 0, 211, 212, 213, 214, 215, 216, 217, 0,
4454
218, 219, 0, 0, 0, 220, 221, 222, 223, 0,
4455
0, 0, 224, 0, 225, 226, 227, 0, 0, 0,
4456
0, 0, 228, 0, 0, 0, 0, 229, 230, 0,
4457
0, 231, 232, 0, 0, 233, 234, 235, 0, 0,
4458
236, 237, 238, 0, 239, 240, 0, 0, 241, 0,
4459
0, 242, 0, 243, 244, 245, 0, 0, 246, 0,
4460
0, 247, 248, 249, 0, 250, 251, 0, 0, 0,
4461
252, 0, 0, 0, 253, 0, 0, 0, 0, 0,
4462
254, 0, 0, 255, 0, 0, 0, 256, 257, 0,
4463
0, 0, 95, 258, 96, 97, 98, 259, 0, 0,
4464
0, 99, 0, 0, 0, 100, 101, 102, 103, 1245,
4465
104, 0, 0, 0, 0, 105, 0, 106, 107, 108,
4466
109, 0, 110, 0, 111, 0, 0, 112, 0, 0,
4467
113, 0, 0, 114, 0, 115, 116, 0, 117, 118,
4468
0, 119, 120, 121, 122, 123, 124, 0, 125, 126,
4469
0, 127, 0, 0, 0, 0, 0, 128, 0, 0,
4470
0, 0, 129, 130, 131, 132, 0, 0, 133, 0,
4471
0, 0, 0, 134, 135, 0, 0, 0, 0, 0,
4472
0, 0, 0, 136, 137, 0, 0, 0, 0, 138,
4473
139, 140, 0, 0, 0, 141, 0, 142, 143, 0,
4474
144, 145, 0, 0, 146, 0, 147, 148, 0, 149,
4475
0, 0, 0, 150, 151, 152, 153, 0, 154, 0,
4476
0, 0, 155, 156, 0, 157, 0, 158, 0, 0,
4477
0, 159, 0, 0, 0, 0, 0, 160, 161, 162,
4478
163, 0, 0, 164, 165, 0, 0, 0, 0, 0,
4479
0, 0, 0, 0, 0, 0, 166, 0, 0, 0,
4480
167, 0, 0, 168, 0, 0, 0, 169, 0, 0,
4481
0, 0, 170, 0, 171, 0, 172, 0, 173, 0,
4482
0, 0, 0, 0, 174, 175, 0, 176, 177, 178,
4483
179, 0, 0, 180, 181, 0, 182, 0, 183, 0,
4484
184, 185, 186, 187, 0, 0, 0, 188, 189, 190,
4485
0, 0, 191, 0, 0, 0, 192, 193, 0, 194,
4486
195, 196, 197, 0, 0, 0, 0, 0, 0, 0,
4487
0, 198, 199, 200, 0, 0, 201, 0, 202, 203,
4488
204, 205, 0, 0, 206, 0, 0, 0, 207, 0,
4489
0, 0, 208, 0, 0, 0, 209, 0, 210, 0,
4490
0, 211, 212, 213, 214, 215, 216, 217, 0, 218,
4491
219, 0, 0, 0, 220, 221, 222, 223, 0, 0,
4492
0, 224, 0, 225, 226, 227, 0, 0, 0, 0,
4493
0, 228, 0, 0, 0, 0, 229, 230, 0, 0,
4494
231, 232, 0, 0, 233, 234, 235, 0, 0, 236,
4495
237, 238, 0, 239, 240, 0, 0, 241, 0, 0,
4496
242, 0, 243, 244, 245, 0, 0, 246, 0, 0,
4497
247, 248, 249, 0, 250, 251, 0, 0, 0, 252,
4498
0, 0, 0, 253, 0, 0, 0, 0, 0, 254,
4499
0, 0, 255, 0, 0, 0, 256, 257, 0, 0,
4500
0, 95, 258, 96, 97, 98, 259, 0, 0, 1188,
4501
99, 0, 0, 0, 100, 101, 102, 103, 0, 104,
4502
0, 0, 0, 0, 105, 0, 106, 107, 108, 109,
4503
0, 110, 0, 111, 0, 0, 112, 0, 0, 113,
4504
0, 0, 114, 0, 115, 116, 0, 117, 118, 0,
4505
119, 120, 121, 122, 123, 124, 0, 125, 126, 0,
4506
127, 0, 0, 0, 0, 0, 128, 0, 0, 0,
4507
0, 129, 130, 131, 132, 0, 0, 133, 0, 0,
4508
0, 0, 134, 135, 0, 0, 0, 0, 0, 0,
4509
0, 0, 136, 137, 0, 0, 0, 0, 138, 139,
4510
140, 0, 0, 0, 141, 0, 142, 143, 0, 144,
4511
145, 0, 0, 146, 0, 147, 148, 0, 149, 0,
4512
0, 0, 150, 151, 152, 153, 0, 154, 0, 0,
4513
0, 155, 156, 0, 157, 0, 158, 0, 0, 0,
4514
159, 0, 0, 0, 0, 0, 160, 161, 162, 163,
4515
0, 0, 164, 165, 0, 0, 0, 0, 0, 0,
4516
0, 0, 0, 0, 0, 166, 0, 0, 0, 167,
4517
0, 0, 168, 0, 0, 0, 169, 0, 0, 0,
4518
0, 170, 0, 171, 0, 172, 0, 173, 0, 0,
4519
0, 0, 0, 174, 175, 0, 176, 177, 178, 179,
4520
0, 0, 180, 181, 0, 182, 0, 183, 0, 184,
4521
185, 186, 187, 0, 0, 0, 188, 189, 190, 0,
4522
0, 191, 0, 0, 0, 192, 193, 0, 194, 195,
4523
196, 197, 0, 0, 0, 0, 0, 0, 0, 0,
4524
198, 199, 200, 0, 0, 201, 0, 202, 203, 204,
4525
205, 0, 0, 206, 0, 0, 0, 207, 0, 0,
4526
0, 208, 0, 0, 0, 209, 0, 210, 0, 0,
4527
211, 212, 213, 214, 215, 216, 217, 0, 218, 219,
4528
0, 0, 0, 220, 221, 222, 223, 0, 0, 0,
4529
224, 0, 225, 226, 227, 0, 0, 0, 0, 0,
4530
228, 0, 0, 0, 0, 229, 230, 0, 0, 231,
4531
232, 0, 0, 233, 234, 235, 0, 0, 236, 237,
4532
238, 0, 239, 240, 0, 0, 241, 0, 0, 242,
4533
0, 243, 244, 245, 0, 0, 246, 0, 0, 247,
4534
248, 249, 0, 250, 251, 0, 0, 0, 252, 0,
4535
0, 0, 253, 0, 0, 0, 0, 0, 254, 0,
4536
0, 255, 0, 0, 0, 256, 257, 0, 0, 0,
4537
95, 258, 96, 97, 98, 259, 0, 0, 1520, 99,
4538
0, 0, 0, 100, 101, 102, 103, 0, 104, 0,
4539
0, 0, 642, 105, 0, 106, 107, 108, 109, 0,
4540
110, 0, 111, 0, 0, 112, 0, 0, 113, 0,
4541
0, 114, 0, 115, 116, 0, 117, 118, 0, 119,
4542
120, 121, 122, 123, 124, 0, 125, 126, 0, 127,
4543
0, 0, 0, 0, 0, 128, 0, 0, 0, 0,
4544
129, 130, 131, 132, 0, 0, 133, 0, 0, 0,
4545
0, 134, 135, 0, 0, 0, 0, 0, 0, 0,
4546
0, 136, 137, 0, 0, 0, 0, 138, 139, 140,
4547
0, 0, 0, 141, 0, 142, 143, 0, 144, 145,
4548
0, 0, 146, 0, 147, 148, 0, 149, 0, 0,
4549
0, 150, 151, 152, 153, 0, 154, 0, 0, 0,
4550
155, 156, 0, 157, 0, 158, 0, 0, 0, 159,
4551
0, 643, 0, 0, 0, 160, 161, 162, 163, 0,
4552
0, 164, 165, 0, 0, 0, 0, 0, 0, 0,
4553
0, 0, 0, 0, 166, 0, 0, 0, 167, 0,
4554
0, 168, 0, 0, 0, 169, 0, 0, 0, 0,
4555
170, 0, 171, 0, 172, 0, 173, 0, 0, 0,
4556
0, 0, 174, 175, 0, 176, 177, 178, 179, 0,
4557
0, 180, 181, 0, 182, 0, 183, 0, 184, 185,
4558
186, 187, 0, 0, 0, 188, 189, 190, 0, 0,
4559
191, 0, 0, 0, 192, 193, 0, 194, 195, 196,
4560
197, 0, 0, 0, 0, 0, 0, 0, 0, 198,
4561
199, 200, 0, 0, 201, 0, 202, 203, 204, 205,
4562
0, 0, 206, 0, 0, 0, 207, 0, 0, 0,
4563
208, 0, 0, 0, 209, 0, 210, 0, 0, 211,
4564
212, 213, 214, 215, 216, 217, 0, 218, 219, 0,
4565
0, 0, 220, 221, 222, 223, 0, 0, 0, 224,
4566
0, 225, 226, 227, 0, 0, 0, 0, 0, 228,
4567
0, 0, 0, 0, 229, 230, 0, 0, 231, 232,
4568
0, 0, 233, 234, 235, 0, 0, 236, 237, 238,
4569
0, 239, 240, 0, 0, 241, 0, 370, 242, 0,
4570
243, 244, 245, 0, 0, 246, 0, 0, 247, 248,
4571
249, 0, 250, 251, 0, 0, 0, 252, 0, 0,
4572
0, 253, 0, 0, 0, 0, 0, 254, 0, 0,
4573
255, 0, 0, 0, 256, 257, 0, 0, 0, 95,
4574
258, 96, 97, 98, 259, 0, 0, 0, 99, 0,
4575
0, 0, 100, 101, 102, 103, 0, 104, 0, 0,
4576
0, 0, 105, 0, 106, 107, 108, 109, 0, 110,
4577
0, 111, 0, 0, 112, 0, 0, 113, 0, 0,
4578
114, 0, 115, 116, 0, 117, 118, 0, 119, 120,
4579
121, 122, 123, 124, 0, 125, 126, 0, 127, 0,
4580
0, 0, 0, 0, 128, 0, 0, 0, 0, 129,
4581
130, 131, 132, 0, 0, 133, 0, 0, 0, 0,
4582
134, 135, 0, 0, 0, 1204, 0, 0, 0, 0,
4583
136, 137, 0, 0, 0, 0, 138, 139, 140, 0,
4584
0, 0, 141, 0, 142, 143, 0, 144, 145, 0,
4585
0, 146, 0, 147, 148, 0, 149, 0, 0, 0,
4586
150, 151, 152, 153, 0, 154, 0, 0, 0, 155,
4587
156, 0, 157, 0, 158, 0, 0, 0, 159, 0,
4588
0, 0, 0, 0, 160, 161, 162, 163, 0, 0,
4589
164, 165, 0, 0, 0, 0, 0, 0, 0, 0,
4590
0, 0, 0, 166, 0, 0, 0, 167, 0, 0,
4591
168, 0, 0, 0, 169, 772, 0, 0, 0, 170,
4592
0, 171, 0, 172, 0, 173, 0, 0, 0, 0,
4593
0, 174, 175, 0, 176, 177, 178, 179, 0, 0,
4594
180, 181, 0, 182, 0, 183, 0, 184, 185, 186,
4595
187, 0, 0, 0, 188, 189, 190, 0, 0, 191,
4596
0, 0, 0, 192, 193, 0, 194, 195, 196, 197,
4597
0, 0, 0, 0, 0, 0, 0, 0, 198, 199,
4598
200, 0, 0, 201, 0, 202, 203, 204, 205, 0,
4599
0, 206, 0, 0, 0, 207, 0, 0, 0, 208,
4600
0, 0, 0, 209, 0, 210, 0, 0, 211, 212,
4601
213, 214, 215, 216, 217, 0, 218, 219, 0, 0,
4602
0, 220, 221, 222, 223, 0, 0, 0, 224, 0,
4603
225, 226, 227, 0, 0, 0, 0, 0, 228, 0,
4604
0, 0, 0, 229, 230, 0, 0, 231, 232, 0,
4605
0, 233, 234, 235, 0, 0, 236, 237, 238, 0,
4606
239, 240, 0, 0, 241, 0, 773, 242, 0, 243,
4607
244, 245, 0, 0, 246, 0, 0, 247, 248, 249,
4608
0, 250, 251, 0, 0, 0, 252, 0, 0, 0,
4609
253, 0, 0, 0, 0, 0, 254, 0, 0, 255,
4610
0, 0, 0, 256, 257, 0, 0, 0, 95, 258,
4611
96, 97, 98, 259, 0, 0, 0, 99, 0, 0,
4612
0, 100, 101, 102, 103, 0, 104, 0, 0, 0,
4613
0, 105, 0, 106, 107, 108, 109, 0, 110, 0,
4614
111, 0, 0, 112, 0, 0, 113, 0, 0, 114,
4615
0, 115, 116, 0, 117, 118, 0, 119, 120, 121,
4616
122, 123, 124, 0, 125, 126, 0, 127, 0, 0,
4617
0, 0, 0, 128, 0, 0, 0, 0, 129, 130,
4618
131, 132, 0, 0, 133, 0, 0, 0, 0, 134,
4619
135, 0, 0, 0, 0, 0, 0, 0, 0, 136,
4620
137, 0, 0, 0, 0, 138, 139, 140, 0, 0,
4621
0, 141, 0, 142, 143, 0, 144, 145, 0, 0,
4622
146, 0, 147, 148, 0, 149, 0, 0, 0, 150,
4623
151, 152, 153, 0, 154, 0, 0, 0, 155, 156,
4624
0, 157, 0, 158, 0, 0, 0, 159, 0, 0,
4625
0, 0, 0, 160, 161, 162, 163, 0, 0, 164,
4626
165, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4627
0, 0, 166, 0, 0, 0, 167, 0, 0, 168,
4628
0, 0, 0, 169, 772, 0, 0, 0, 170, 0,
4629
171, 0, 172, 0, 173, 0, 0, 0, 0, 0,
4630
174, 175, 0, 176, 177, 178, 179, 0, 0, 180,
4631
181, 0, 182, 0, 183, 0, 184, 185, 186, 187,
4632
0, 0, 0, 188, 189, 190, 0, 0, 191, 0,
4633
0, 0, 192, 193, 0, 194, 195, 196, 197, 0,
4634
0, 0, 0, 0, 0, 0, 0, 198, 199, 200,
4635
0, 0, 201, 0, 202, 203, 204, 205, 0, 0,
4636
206, 0, 0, 0, 207, 0, 0, 0, 208, 0,
4637
0, 0, 209, 0, 210, 0, 0, 211, 212, 213,
4638
214, 215, 216, 217, 0, 218, 219, 0, 0, 0,
4639
220, 221, 222, 223, 0, 0, 0, 224, 0, 225,
4640
226, 227, 0, 0, 0, 0, 0, 228, 0, 0,
4641
0, 0, 229, 230, 0, 0, 231, 232, 0, 0,
4642
233, 234, 235, 0, 0, 236, 237, 238, 0, 239,
4643
240, 0, 0, 241, 0, 773, 242, 0, 243, 244,
4644
245, 0, 0, 246, 0, 0, 247, 248, 249, 0,
4645
250, 251, 0, 0, 0, 252, 0, 0, 0, 253,
4646
0, 0, 0, 0, 0, 254, 0, 0, 255, 0,
4647
0, 0, 256, 257, 0, 0, 0, 95, 258, 96,
4648
97, 98, 259, 0, 0, 0, 99, 1184, 0, 0,
4649
100, 101, 102, 103, 0, 104, 0, 0, 0, 0,
4650
105, 0, 106, 107, 108, 109, 0, 110, 0, 111,
4651
0, 0, 112, 0, 0, 113, 0, 0, 114, 0,
4652
115, 116, 0, 117, 118, 0, 119, 120, 121, 122,
4653
123, 124, 0, 125, 126, 0, 127, 0, 0, 0,
4654
0, 0, 128, 0, 0, 0, 0, 129, 130, 131,
4655
132, 0, 0, 133, 0, 0, 0, 0, 134, 135,
4656
0, 0, 0, 0, 0, 0, 0, 0, 136, 137,
4657
0, 0, 0, 0, 138, 139, 140, 0, 0, 0,
4658
141, 0, 142, 143, 0, 144, 145, 0, 0, 146,
4659
0, 147, 148, 0, 149, 0, 0, 0, 150, 151,
4660
152, 153, 0, 154, 0, 0, 0, 155, 156, 0,
4661
157, 0, 158, 0, 0, 0, 159, 0, 0, 0,
4662
0, 0, 160, 161, 162, 163, 0, 0, 164, 165,
4663
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4664
0, 166, 0, 0, 0, 167, 0, 0, 168, 0,
4665
0, 0, 169, 0, 0, 0, 0, 170, 0, 171,
4666
0, 172, 0, 173, 0, 0, 0, 0, 0, 174,
4667
175, 0, 176, 177, 178, 179, 0, 0, 180, 181,
4668
0, 182, 0, 183, 0, 184, 185, 186, 187, 0,
4669
0, 0, 188, 189, 190, 0, 0, 191, 0, 0,
4670
0, 192, 193, 0, 194, 195, 196, 197, 0, 0,
4671
0, 0, 0, 0, 0, 0, 198, 199, 200, 0,
4672
0, 201, 0, 202, 203, 204, 205, 0, 0, 206,
4673
0, 0, 0, 207, 0, 0, 0, 208, 0, 0,
4674
0, 209, 0, 210, 0, 0, 211, 212, 213, 214,
4675
215, 216, 217, 0, 218, 219, 0, 0, 0, 220,
4676
221, 222, 223, 0, 0, 0, 224, 0, 225, 226,
4677
227, 0, 0, 0, 0, 0, 228, 0, 0, 0,
4678
0, 229, 230, 0, 0, 231, 232, 0, 0, 233,
4679
234, 235, 0, 0, 236, 237, 238, 0, 239, 240,
4680
0, 0, 241, 0, 773, 242, 0, 243, 244, 245,
4681
0, 0, 246, 0, 0, 247, 248, 249, 0, 250,
4682
251, 0, 0, 0, 252, 0, 0, 0, 253, 0,
4683
0, 0, 0, 0, 254, 0, 0, 255, 0, 0,
4684
0, 256, 257, 0, 0, 0, 95, 258, 96, 97,
4685
98, 259, 0, 0, 0, 99, 0, 0, 0, 100,
4686
101, 102, 103, 0, 104, 0, 0, 0, 0, 105,
4687
0, 106, 107, 108, 109, 0, 110, 0, 111, 0,
4688
0, 112, 0, 0, 113, 0, 0, 114, 0, 115,
4689
116, 0, 117, 118, 0, 119, 120, 121, 122, 123,
4690
124, 0, 125, 126, 0, 127, 0, 0, 0, 0,
4691
0, 128, 0, 0, 0, 0, 129, 130, 131, 132,
4692
0, 0, 133, 0, 0, 0, 0, 134, 135, 0,
4693
0, 0, 0, 0, 0, 0, 0, 136, 137, 0,
4694
0, 0, 0, 138, 139, 140, 0, 0, 0, 141,
4695
0, 142, 143, 0, 144, 145, 0, 0, 146, 0,
4696
147, 148, 0, 149, 0, 0, 0, 150, 151, 152,
4697
153, 0, 154, 0, 0, 0, 155, 156, 0, 157,
4698
0, 158, 0, 0, 0, 159, 0, 0, 0, 0,
4699
0, 160, 161, 162, 163, 0, 0, 164, 165, 0,
4700
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
4701
166, 0, 0, 0, 167, 0, 0, 168, 0, 0,
4702
0, 169, 0, 0, 0, 0, 170, 0, 171, 0,
4703
172, 0, 173, 0, 0, 0, 0, 0, 174, 175,
4704
0, 176, 177, 178, 179, 0, 0, 180, 181, 0,
4705
182, 0, 183, 0, 184, 185, 186, 187, 0, 0,
4706
0, 188, 189, 190, 0, 0, 191, 0, 0, 0,
4707
192, 193, 0, 194, 195, 196, 197, 0, 0, 0,
4708
0, 0, 0, 0, 0, 198, 199, 200, 0, 0,
4709
201, 0, 202, 203, 204, 205, 0, 0, 206, 0,
4710
0, 0, 207, 0, 0, 0, 208, 0, 0, 0,
4711
209, 0, 210, 0, 0, 211, 212, 213, 214, 215,
4712
216, 217, 0, 218, 219, 0, 0, 0, 220, 221,
4713
222, 223, 0, 0, 0, 224, 0, 225, 226, 227,
4714
0, 0, 0, 0, 0, 228, 0, 0, 0, 0,
4715
229, 230, 0, 0, 231, 232, 0, 0, 233, 234,
4716
235, 0, 0, 236, 237, 238, 0, 239, 240, 0,
4717
0, 241, 0, 773, 242, 0, 243, 244, 245, 0,
4718
0, 246, 0, 0, 247, 248, 249, 0, 250, 251,
4719
0, 0, 0, 252, 0, 0, 0, 253, 0, 0,
4720
0, 0, 0, 254, 0, 0, 255, 0, 0, 0,
4721
256, 257, 0, 0, 0, 95, 258, 96, 97, 98,
4722
259, 0, 0, 0, 99, 0, 0, 0, 100, 101,
4723
102, 103, 0, 104, 0, 0, 0, 0, 105, 0,
4724
106, 107, 108, 109, 0, 110, 0, 111, 0, 0,
4725
112, 0, 0, 113, 0, 0, 114, 0, 115, 116,
4726
0, 117, 118, 0, 119, 120, 121, 122, 123, 124,
4727
0, 125, 126, 0, 127, 0, 0, 0, 0, 0,
4728
128, 0, 0, 0, 0, 129, 130, 131, 132, 0,
4729
0, 133, 0, 0, 0, 0, 134, 135, 0, 0,
4730
0, 0, 0, 0, 0, 0, 136, 137, 0, 0,
4731
0, 0, 138, 139, 140, 0, 0, 0, 141, 0,
4732
142, 143, 0, 144, 145, 0, 0, 146, 0, 147,
4733
148, 0, 149, 0, 0, 0, 150, 151, 152, 153,
4734
0, 154, 0, 0, 0, 155, 156, 0, 157, 0,
4735
158, 0, 0, 0, 159, 0, 0, 0, 0, 0,
4736
160, 161, 162, 163, 0, 0, 164, 165, 0, 0,
4737
0, 0, 0, 0, 0, 0, 0, 0, 0, 166,
4738
0, 0, 0, 167, 0, 0, 168, 0, 0, 0,
4739
169, 0, 0, 0, 0, 170, 0, 171, 0, 172,
4740
0, 173, 0, 0, 0, 0, 0, 174, 175, 0,
4741
176, 177, 178, 179, 0, 0, 180, 181, 0, 182,
4742
0, 183, 0, 184, 185, 186, 187, 0, 0, 0,
4743
188, 189, 190, 0, 0, 191, 0, 0, 0, 192,
4744
193, 0, 194, 195, 196, 197, 0, 0, 0, 0,
4745
0, 0, 0, 0, 198, 199, 200, 0, 0, 201,
4746
1924, 202, 203, 204, 205, 0, 0, 206, 0, 0,
4747
0, 207, 0, 0, 0, 208, 0, 0, 0, 209,
4748
0, 210, 0, 0, 211, 212, 213, 214, 215, 216,
4749
217, 0, 218, 219, 0, 0, 0, 220, 221, 222,
4750
223, 0, 0, 0, 224, 0, 225, 226, 227, 0,
4751
0, 0, 0, 0, 228, 0, 0, 0, 0, 229,
4752
230, 0, 0, 231, 232, 0, 0, 233, 234, 235,
4753
0, 0, 236, 237, 238, 0, 239, 240, 0, 0,
4754
241, 0, 0, 242, 0, 243, 244, 245, 0, 0,
4755
246, 0, 0, 247, 248, 249, 0, 250, 251, 0,
4756
0, 0, 252, 0, 0, 0, 253, 0, 0, 0,
4757
0, 0, 254, 0, 0, 255, 0, 0, 0, 256,
4758
257, 0, 0, 0, 95, 258, 96, 97, 98, 259,
4759
0, 0, 0, 99, 0, 0, 0, 100, 101, 102,
4760
103, 0, 104, 0, 0, 0, 0, 105, 0, 106,
4761
107, 108, 109, 0, 110, 0, 111, 0, 0, 112,
4762
0, 0, 113, 0, 0, 114, 0, 115, 116, 0,
4763
117, 118, 0, 119, 120, 121, 122, 123, 124, 0,
4764
125, 126, 0, 127, 0, 0, 0, 0, 0, 128,
4765
0, 0, 0, 0, 129, 130, 131, 132, 0, 0,
4766
133, 0, 0, 0, 0, 134, 135, 0, 0, 0,
4767
0, 0, 0, 0, 0, 136, 137, 0, 0, 0,
4768
0, 138, 139, 140, 0, 0, 0, 141, 0, 142,
4769
143, 0, 144, 145, 0, 0, 146, 0, 147, 148,
4770
0, 149, 0, 0, 0, 150, 151, 152, 153, 0,
4771
154, 0, 0, 0, 155, 156, 0, 157, 0, 158,
4772
0, 0, 0, 159, 0, 0, 0, 0, 0, 160,
4773
161, 162, 163, 0, 0, 164, 165, 0, 0, 0,
4774
0, 0, 0, 0, 0, 0, 0, 0, 166, 0,
4775
0, 0, 167, 0, 0, 168, 0, 0, 0, 169,
4776
0, 0, 0, 0, 170, 0, 171, 0, 172, 0,
4777
173, 0, 0, 0, 0, 0, 174, 175, 0, 176,
4778
177, 178, 179, 0, 0, 180, 181, 0, 182, 0,
4779
183, 0, 184, 185, 186, 187, 0, 0, 0, 188,
4780
189, 190, 0, 0, 191, 0, 0, 0, 192, 193,
4781
0, 194, 195, 196, 197, 0, 0, 0, 0, 0,
4782
0, 0, 0, 198, 199, 200, 0, 0, 201, 0,
4783
202, 203, 204, 205, 0, 0, 206, 0, 0, 0,
4784
207, 0, 0, 0, 208, 0, 0, 0, 209, 0,
4785
210, 0, 0, 211, 212, 213, 214, 215, 216, 217,
4786
0, 218, 219, 0, 0, 0, 220, 221, 222, 223,
4787
0, 0, 0, 224, 0, 225, 226, 227, 0, 0,
4788
0, 0, 0, 228, 0, 0, 0, 0, 229, 230,
4789
0, 0, 231, 232, 0, 0, 233, 234, 235, 0,
4790
0, 236, 237, 238, 0, 239, 240, 0, 0, 241,
4791
0, 0, 242, 0, 243, 244, 245, 0, 0, 246,
4792
0, 0, 247, 248, 249, 0, 250, 251, 0, 0,
4793
0, 252, 0, 0, 0, 253, 0, 0, 0, 0,
4794
0, 254, 0, 0, 255, 0, 0, 0, 256, 257,
4795
0, 0, 0, 95, 258, 96, 97, 98, 259, 0,
4796
0, 0, 99, 0, 0, 0, 100, 101, 102, 103,
4797
0, 104, 0, 0, 0, 0, 105, 0, 106, 107,
4798
108, 109, 0, 110, 0, 111, 0, 0, 112, 0,
4799
0, 113, 0, 0, 114, 0, 115, 116, 0, 117,
4800
118, 0, 119, 120, 121, 122, 123, 124, 0, 125,
4801
126, 0, 127, 0, 0, 0, 0, 0, 128, 0,
4802
0, 0, 0, 129, 130, 131, 132, 0, 0, 133,
4803
0, 0, 0, 0, 134, 135, 0, 0, 0, 0,
4804
0, 0, 0, 0, 136, 137, 0, 0, 0, 0,
4805
138, 139, 140, 0, 0, 0, 141, 0, 142, 143,
4806
0, 144, 145, 0, 0, 146, 0, 147, 148, 0,
4807
149, 0, 0, 0, 150, 151, 152, 153, 0, 154,
4808
0, 0, 0, 155, 156, 0, 157, 0, 158, 0,
4809
0, 0, 159, 0, 0, 0, 0, 0, 160, 161,
4810
162, 163, 0, 0, 164, 165, 0, 0, 0, 0,
4811
0, 0, 0, 0, 0, 0, 0, 166, 0, 0,
4812
0, 167, 0, 0, 168, 0, 0, 0, 169, 0,
4813
0, 0, 0, 170, 0, 171, 0, 172, 0, 173,
4814
0, 0, 0, 0, 0, 174, 175, 0, 176, 177,
4815
178, 179, 0, 0, 180, 181, 0, 182, 0, 183,
4816
0, 184, 185, 186, 187, 0, 0, 0, 188, 189,
4817
190, 0, 0, 191, 0, 0, 0, 192, 193, 0,
4818
194, 195, 196, 197, 0, 0, 0, 0, 0, 0,
4819
0, 0, 198, 199, 200, 0, 0, 201, 0, 202,
4820
203, 204, 205, 0, 0, 206, 0, 0, 0, 207,
4821
0, 0, 0, 208, 0, 0, 0, 209, 0, 210,
4822
0, 0, 211, 212, 213, 214, 215, 216, 217, 0,
4823
218, 219, 0, 0, 0, 220, 221, 222, 223, 0,
4824
0, 0, 224, 0, 225, 226, 227, 0, 0, 0,
4825
0, 0, 228, 0, 0, 0, 0, 229, 230, 0,
4826
0, 231, 232, 0, 0, 233, 234, 235, 0, 0,
4827
236, 237, 238, 0, 239, 240, 0, 0, 241, 0,
4828
0, 242, 0, 243, 244, 245, 0, 0, 1012, 0,
4829
0, 247, 248, 249, 0, 250, 251, 0, 0, 0,
4830
252, 0, 0, 0, 253, 0, 0, 0, 0, 0,
4831
254, 0, 0, 255, 0, 0, 0, 256, 257, 0,
4832
0, 0, 0, 258, 0, 0, 0, 259
4835
static const yytype_int16 yycheck[] =
4837
21, 402, 326, 1070, 553, 51, 564, 330, 29, 420,
4838
553, 1042, 316, 817, 1005, 998, 621, 518, 1202, 1014,
4839
952, 1233, 496, 497, 1035, 1036, 948, 1038, 93, 353,
4840
51, 1026, 590, 1044, 571, 1125, 1047, 1339, 511, 640,
4841
1051, 578, 63, 1318, 863, 369, 1020, 1021, 371, 1418,
4842
12, 436, 446, 808, 12, 379, 380, 54, 18, 460,
4843
627, 446, 1152, 985, 12, 632, 633, 12, 12, 29,
4844
91, 12, 93, 1485, 12, 73, 46, 105, 298, 46,
4845
1464, 385, 386, 14, 53, 12, 828, 296, 12, 49,
4846
91, 1343, 46, 53, 116, 1223, 12, 131, 14, 1351,
4847
131, 1528, 12, 26, 12, 38, 1066, 508, 12, 12,
4848
292, 293, 826, 100, 87, 2, 46, 4, 5, 1023,
4849
154, 111, 52, 154, 12, 60, 12, 238, 42, 462,
4850
90, 18, 62, 111, 1250, 12, 7, 137, 181, 216,
4851
139, 1391, 12, 12, 545, 283, 12, 154, 1332, 12,
4852
12, 12, 112, 230, 12, 12, 129, 12, 170, 229,
4853
1155, 34, 132, 12, 90, 132, 178, 1215, 183, 12,
4854
12, 12, 145, 991, 182, 12, 154, 12, 136, 182,
4855
133, 349, 12, 114, 12, 394, 15, 186, 12, 12,
4856
309, 307, 101, 1620, 12, 136, 83, 108, 1193, 20,
4857
90, 114, 132, 172, 224, 366, 117, 272, 257, 12,
4858
432, 136, 172, 103, 330, 264, 380, 385, 191, 12,
4859
66, 385, 145, 384, 374, 447, 1175, 157, 380, 275,
4860
238, 1242, 231, 385, 1053, 238, 189, 286, 128, 85,
4861
76, 166, 262, 173, 244, 364, 384, 279, 313, 70,
4862
388, 272, 12, 226, 275, 640, 127, 12, 1062, 266,
4863
272, 276, 283, 92, 12, 1169, 1642, 1636, 817, 290,
4864
143, 292, 293, 1575, 817, 386, 297, 239, 582, 249,
4865
357, 239, 249, 304, 305, 852, 9, 1537, 266, 288,
4866
133, 224, 313, 1007, 239, 12, 296, 1201, 239, 225,
4867
1428, 239, 1262, 485, 291, 1489, 488, 261, 857, 1376,
4868
224, 1680, 239, 12, 857, 239, 386, 277, 253, 249,
4869
12, 794, 356, 239, 657, 356, 237, 1443, 371, 239,
4870
328, 239, 241, 1702, 267, 239, 239, 12, 12, 12,
4871
1388, 349, 370, 1161, 1728, 1772, 368, 1723, 413, 346,
4872
12, 239, 353, 239, 1158, 1386, 236, 12, 291, 349,
4873
1612, 1409, 239, 12, 1616, 574, 412, 388, 389, 239,
4874
239, 1783, 345, 239, 97, 344, 239, 239, 239, 292,
4875
350, 239, 239, 350, 239, 629, 273, 12, 357, 337,
4876
239, 412, 413, 1342, 1149, 12, 239, 239, 239, 619,
4877
12, 959, 239, 1008, 239, 1147, 337, 12, 331, 239,
4878
1350, 239, 154, 887, 376, 239, 239, 463, 376, 330,
4879
350, 239, 339, 897, 1243, 1492, 386, 389, 386, 966,
4880
476, 376, 376, 479, 12, 376, 239, 986, 376, 460,
4881
461, 386, 463, 986, 385, 919, 239, 385, 386, 376,
4882
1017, 1820, 376, 1837, 1838, 476, 1840, 1015, 479, 386,
4883
376, 385, 386, 1832, 485, 859, 376, 488, 376, 1853,
4884
971, 972, 376, 376, 859, 385, 386, 385, 386, 239,
4885
1454, 385, 386, 386, 239, 1533, 1761, 0, 376, 510,
4886
376, 239, 965, 1877, 1095, 1879, 1880, 385, 386, 376,
4887
386, 974, 806, 1349, 12, 325, 376, 376, 328, 386,
4888
376, 1813, 12, 376, 376, 376, 386, 386, 376, 376,
4889
386, 376, 239, 386, 386, 386, 12, 376, 386, 386,
4890
1525, 386, 553, 376, 376, 376, 1626, 386, 328, 376,
4891
239, 376, 385, 564, 386, 386, 376, 239, 376, 386,
4892
111, 386, 376, 376, 12, 1622, 386, 385, 376, 1499,
4893
12, 385, 385, 191, 239, 239, 239, 385, 283, 590,
4894
14, 617, 593, 376, 620, 49, 1794, 239, 9, 1184,
4895
12, 602, 385, 376, 239, 631, 73, 998, 653, 12,
4896
239, 1513, 385, 283, 331, 839, 617, 73, 226, 620,
4897
12, 153, 12, 12, 12, 12, 1143, 628, 12, 853,
4898
631, 154, 98, 1162, 239, 661, 376, 1222, 1609, 1162,
4899
12, 376, 239, 328, 68, 385, 12, 239, 376, 1847,
4900
385, 283, 653, 12, 239, 1641, 12, 385, 659, 1823,
4901
661, 333, 1446, 12, 118, 1857, 12, 384, 12, 9,
4902
1656, 1200, 23, 331, 1500, 1501, 7, 1200, 333, 376,
4903
11, 239, 139, 21, 1138, 969, 97, 111, 385, 384,
4904
114, 29, 1612, 1231, 283, 1607, 1616, 376, 136, 1209,
4905
153, 12, 12, 136, 376, 1215, 1235, 131, 1218, 133,
4906
136, 1221, 1235, 51, 384, 1678, 140, 9, 1228, 1229,
4907
144, 376, 376, 376, 1234, 63, 384, 12, 283, 186,
4908
154, 385, 385, 1704, 376, 159, 283, 345, 164, 157,
4909
164, 376, 1327, 385, 14, 211, 170, 376, 1639, 182,
4910
385, 239, 384, 91, 178, 93, 385, 97, 182, 239,
4911
344, 228, 123, 98, 283, 189, 233, 385, 1779, 1780,
4912
771, 376, 228, 357, 1694, 1695, 283, 233, 9, 376,
4913
385, 283, 1757, 157, 376, 811, 812, 49, 385, 291,
4914
1271, 376, 216, 385, 1578, 384, 373, 372, 68, 173,
4915
385, 239, 1331, 1284, 1285, 97, 230, 239, 1331, 386,
4916
811, 812, 238, 98, 238, 166, 817, 1864, 376, 1300,
4917
390, 9, 1713, 1714, 1815, 136, 136, 385, 90, 384,
4918
181, 288, 328, 68, 835, 350, 239, 384, 1292, 222,
4919
841, 111, 140, 1866, 114, 1868, 136, 239, 272, 239,
4920
239, 239, 239, 360, 361, 239, 857, 120, 360, 361,
4921
87, 328, 329, 133, 225, 384, 97, 239, 385, 386,
4922
140, 1325, 170, 239, 144, 9, 211, 384, 1388, 87,
4923
239, 372, 384, 239, 56, 57, 386, 190, 376, 159,
4924
239, 315, 384, 239, 164, 239, 376, 385, 384, 1409,
4925
170, 23, 129, 98, 49, 385, 123, 73, 178, 97,
4926
385, 386, 182, 379, 380, 381, 382, 383, 90, 189,
4927
384, 129, 1893, 384, 159, 349, 211, 331, 239, 239,
4928
390, 103, 356, 357, 272, 170, 384, 275, 376, 18,
4929
238, 385, 386, 178, 376, 283, 216, 371, 385, 386,
4930
29, 58, 290, 385, 292, 293, 128, 384, 959, 297,
4931
230, 385, 386, 97, 191, 389, 304, 305, 238, 384,
4932
49, 166, 279, 376, 53, 313, 98, 384, 1516, 980,
4933
341, 216, 385, 191, 376, 986, 376, 376, 376, 376,
4934
351, 157, 376, 385, 349, 385, 385, 385, 385, 226,
4935
1851, 385, 272, 384, 376, 222, 309, 1008, 225, 1010,
4936
376, 90, 52, 385, 1015, 1544, 211, 376, 226, 385,
4937
376, 1544, 325, 1533, 26, 328, 385, 376, 381, 385,
4938
376, 1032, 376, 112, 384, 1061, 385, 272, 182, 385,
4939
51, 385, 18, 384, 166, 315, 381, 382, 383, 1555,
4940
388, 389, 1558, 529, 1560, 66, 67, 1058, 384, 181,
4941
1061, 1062, 228, 74, 384, 376, 376, 233, 1919, 1920,
4942
1655, 243, 384, 49, 412, 413, 384, 53, 80, 349,
4943
315, 385, 386, 1464, 1368, 87, 309, 357, 260, 211,
4944
384, 68, 132, 172, 379, 380, 381, 382, 383, 61,
4945
222, 371, 181, 579, 580, 116, 384, 583, 584, 585,
4946
586, 587, 588, 384, 90, 385, 386, 157, 345, 389,
4947
384, 123, 460, 461, 341, 463, 384, 129, 139, 385,
4948
386, 385, 386, 173, 351, 385, 386, 345, 476, 25,
4949
384, 479, 384, 145, 384, 156, 157, 485, 1174, 125,
4950
488, 385, 386, 385, 389, 385, 386, 90, 44, 1682,
4951
171, 1162, 384, 329, 385, 386, 1167, 386, 302, 303,
4952
304, 305, 384, 1174, 384, 186, 385, 386, 385, 386,
4953
384, 315, 159, 1184, 379, 380, 381, 382, 383, 191,
4954
384, 77, 384, 170, 80, 385, 386, 173, 277, 1200,
4955
384, 178, 88, 384, 1034, 385, 386, 1037, 1209, 249,
4956
385, 386, 1042, 1239, 1215, 553, 384, 1218, 1048, 384,
4957
1221, 223, 1223, 225, 226, 1251, 564, 1228, 1229, 1814,
4958
1231, 385, 386, 1234, 1235, 384, 85, 384, 1239, 216,
4959
251, 1267, 384, 1244, 1245, 384, 222, 26, 384, 225,
4960
1251, 384, 590, 230, 230, 593, 384, 379, 380, 381,
4961
382, 383, 42, 68, 602, 384, 1267, 385, 386, 385,
4962
386, 384, 610, 249, 385, 386, 384, 288, 384, 617,
4963
385, 386, 620, 385, 386, 384, 135, 1678, 1600, 1601,
4964
628, 546, 547, 631, 384, 272, 1718, 1719, 18, 1822,
4965
149, 80, 1356, 1357, 384, 384, 384, 384, 87, 29,
4966
384, 287, 384, 384, 325, 653, 384, 328, 1319, 262,
4967
120, 659, 157, 661, 230, 257, 1327, 370, 804, 331,
4968
1331, 385, 334, 53, 385, 97, 9, 385, 315, 341,
4969
385, 390, 384, 345, 123, 158, 337, 1728, 18, 386,
4970
129, 386, 386, 202, 159, 381, 205, 368, 331, 29,
4971
297, 291, 49, 212, 1365, 170, 145, 189, 385, 385,
4972
90, 381, 1373, 178, 350, 136, 385, 379, 380, 49,
4973
385, 380, 385, 53, 385, 385, 349, 1388, 385, 385,
4974
385, 12, 112, 1922, 10, 11, 386, 386, 1936, 1922,
4975
385, 385, 68, 252, 292, 12, 22, 385, 1409, 1435,
4976
384, 216, 191, 1716, 1717, 384, 384, 1940, 1947, 390,
4977
90, 331, 35, 384, 1947, 230, 390, 1428, 1732, 45,
4978
46, 1432, 281, 771, 1435, 391, 385, 371, 1439, 55,
4979
230, 385, 112, 1444, 109, 385, 225, 226, 163, 163,
4980
385, 67, 172, 164, 385, 136, 1837, 1838, 385, 1840,
4981
81, 82, 83, 84, 85, 385, 390, 272, 390, 390,
4982
385, 385, 1853, 811, 812, 91, 92, 93, 386, 817,
4983
385, 24, 386, 168, 100, 28, 386, 52, 171, 337,
4984
326, 171, 326, 159, 35, 111, 1877, 835, 1879, 1880,
4985
49, 44, 172, 841, 170, 1809, 386, 230, 238, 1510,
4986
315, 102, 178, 384, 130, 1516, 384, 386, 385, 857,
4987
369, 385, 385, 385, 390, 146, 147, 148, 149, 378,
4988
385, 283, 1533, 386, 77, 386, 353, 80, 166, 179,
4989
1541, 173, 173, 1544, 390, 88, 162, 390, 385, 14,
4990
216, 226, 331, 182, 226, 334, 99, 277, 174, 385,
4991
285, 164, 341, 386, 385, 170, 345, 140, 170, 185,
4992
113, 240, 391, 173, 293, 500, 386, 173, 386, 1580,
4993
384, 202, 203, 204, 205, 128, 385, 173, 385, 385,
4994
385, 212, 385, 170, 170, 520, 230, 35, 523, 144,
4995
379, 380, 386, 257, 208, 90, 272, 277, 384, 90,
4996
384, 247, 537, 538, 384, 384, 541, 384, 239, 390,
4997
353, 959, 165, 328, 170, 226, 170, 51, 384, 554,
4998
555, 252, 195, 384, 384, 353, 226, 90, 1639, 173,
4999
173, 225, 980, 226, 1645, 226, 262, 263, 986, 315,
5000
266, 226, 384, 1654, 385, 114, 115, 273, 385, 280,
5001
281, 1687, 357, 279, 357, 183, 230, 283, 384, 223,
5002
1008, 361, 1010, 1674, 386, 291, 385, 1015, 294, 138,
5003
386, 1682, 385, 142, 227, 385, 1687, 226, 35, 357,
5004
357, 35, 308, 108, 1032, 35, 385, 133, 384, 35,
5005
384, 35, 35, 261, 4, 230, 230, 154, 167, 35,
5006
35, 353, 1713, 1714, 91, 226, 259, 176, 1576, 291,
5007
1058, 384, 384, 1061, 1062, 384, 342, 81, 82, 83,
5008
84, 85, 385, 1244, 386, 194, 352, 353, 1053, 657,
5009
356, 1058, 1444, 1247, 287, 670, 1033, 1541, 369, 1083,
5010
1213, 1752, 1543, 1572, 1654, 376, 377, 378, 217, 1846,
5011
1265, 1067, 1664, 1752, 1817, 1243, 999, 811, 384, 1770,
5012
278, 459, 950, 277, 429, 825, 1327, 886, 1149, 1353,
5013
949, 1918, 1610, 1834, 1782, 1943, 975, 547, 1608, 332,
5014
500, 334, 146, 147, 148, 149, 1544, 722, 1799, 1004,
5015
1527, 726, 1629, 306, 313, 413, 667, 1331, 816, 1157,
5016
302, 1940, 1822, 487, 1200, 1151, 1788, 1824, 743, 362,
5017
363, 1822, 1863, 1844, 1162, 1947, 830, 610, 510, 1167,
5018
1162, 1656, 1192, 1373, 88, 1634, 1174, 94, -1, 419,
5019
-1, -1, -1, -1, -1, -1, 1184, -1, 202, 203,
5020
204, 205, -1, -1, -1, -1, -1, -1, 212, -1,
5021
-1, -1, 1200, -1, -1, 1866, -1, 1868, -1, 1870,
5022
-1, 1209, -1, -1, -1, -1, 5, 1215, -1, -1,
5023
1218, 10, -1, 1221, -1, 1223, -1, -1, -1, 18,
5024
1228, 1229, -1, 1231, -1, -1, 1234, 1235, 252, -1,
5025
29, 1239, -1, -1, -1, -1, 1244, 1245, -1, -1,
5026
5, -1, -1, 1251, 43, 10, 1917, 1918, -1, -1,
5027
-1, 1922, -1, 18, 53, -1, 280, 281, -1, 1267,
5028
-1, -1, -1, -1, 29, 1936, 65, -1, -1, 1940,
5029
-1, -1, 1943, -1, -1, -1, 1947, -1, 43, -1,
5030
-1, -1, -1, -1, -1, -1, -1, -1, 53, -1,
5031
-1, 90, -1, -1, -1, -1, 95, 96, -1, -1,
5032
65, 100, -1, -1, -1, -1, -1, -1, 107, -1,
5033
-1, 1319, 111, 112, -1, -1, -1, -1, -1, 1327,
5034
-1, -1, -1, 1331, -1, 90, -1, -1, -1, -1,
5035
95, -1, 131, -1, -1, 100, -1, -1, -1, -1,
5036
-1, -1, 107, -1, -1, 369, -1, 112, -1, -1,
5037
-1, -1, -1, 377, 378, -1, 155, 1365, -1, -1,
5038
-1, -1, -1, -1, -1, 1373, 131, -1, -1, -1,
5039
-1, -1, -1, 172, -1, -1, -1, -1, -1, -1,
5040
1388, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5041
-1, -1, -1, -1, 318, -1, -1, -1, -1, -1,
5042
-1, 1409, -1, -1, -1, -1, -1, 172, -1, -1,
5043
-1, 210, -1, -1, -1, -1, -1, -1, -1, 343,
5044
1428, -1, -1, -1, 1432, -1, -1, 1435, 352, -1,
5045
-1, 1439, -1, -1, -1, -1, 1444, -1, -1, 238,
5046
-1, -1, -1, -1, -1, 210, -1, -1, -1, -1,
5047
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5048
-1, -1, -1, 387, 263, -1, -1, -1, -1, -1,
5049
-1, -1, -1, 238, -1, -1, -1, -1, 277, -1,
5050
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5051
-1, -1, -1, -1, -1, -1, -1, -1, 263, -1,
5052
-1, -1, 1510, -1, -1, -1, -1, -1, 1516, -1,
5053
-1, -1, 277, -1, -1, -1, -1, -1, -1, -1,
5054
-1, -1, -1, -1, -1, 1533, -1, -1, -1, -1,
5055
-1, -1, -1, 1541, -1, -1, 1544, -1, -1, -1,
5056
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5057
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5058
-1, -1, -1, -1, -1, -1, 490, -1, -1, -1,
5059
-1, 495, 1580, -1, 498, 499, -1, -1, -1, -1,
5060
-1, 505, 506, 507, -1, 509, -1, -1, -1, -1,
5061
514, 515, 516, 517, -1, 519, -1, 521, 522, -1,
5062
524, 525, -1, 527, -1, -1, 530, 531, 532, 533,
5063
534, 535, 536, -1, -1, 539, 540, -1, 542, -1,
5064
544, -1, -1, -1, 548, 549, -1, -1, -1, -1,
5065
-1, 1639, 556, -1, -1, -1, -1, 1645, 562, -1,
5066
-1, -1, -1, 567, 568, 569, 1654, -1, -1, -1,
5067
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5068
-1, -1, -1, -1, -1, -1, 1674, -1, -1, -1,
5069
-1, -1, -1, -1, 1682, -1, -1, -1, -1, 1687,
5070
-1, -1, -1, -1, -1, -1, 610, -1, -1, -1,
5071
-1, -1, -1, -1, -1, -1, -1, -1, 622, -1,
5072
-1, -1, -1, -1, -1, 1713, 1714, -1, -1, -1,
5073
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5074
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5075
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5076
-1, -1, -1, -1, 1752, -1, -1, -1, -1, 673,
5077
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5078
-1, -1, 1770, -1, -1, -1, -1, -1, -1, -1,
5079
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5080
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5081
-1, 1799, -1, -1, -1, -1, -1, -1, -1, -1,
5082
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5083
-1, -1, -1, -1, 1822, -1, -1, -1, -1, -1,
5084
-1, -1, -1, -1, -1, -1, -1, 751, 752, 753,
5085
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5086
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5087
-1, -1, -1, -1, -1, -1, -1, -1, 1866, -1,
5088
1868, -1, 1870, -1, -1, -1, -1, -1, -1, -1,
5089
794, -1, -1, 797, -1, 799, -1, -1, -1, -1,
5090
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5091
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5092
-1, -1, -1, -1, -1, -1, -1, -1, -1, 1917,
5093
1918, -1, -1, -1, 1922, -1, -1, -1, -1, -1,
5094
-1, -1, -1, -1, -1, -1, -1, -1, 1936, -1,
5095
-1, -1, 1940, -1, -1, 1943, -1, -1, -1, 1947,
5096
-1, -1, -1, -1, -1, -1, -1, -1, -1, 873,
5097
-1, -1, 876, -1, 878, 879, -1, -1, -1, 883,
5098
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5099
-1, -1, 896, -1, -1, 899, 900, 901, 902, 903,
5100
-1, -1, -1, -1, -1, -1, 910, -1, -1, 913,
5101
-1, 915, 916, -1, 918, -1, -1, -1, -1, 923,
5102
924, 925, -1, -1, -1, -1, 930, 931, 932, -1,
5103
934, -1, 936, -1, 938, -1, 940, -1, -1, -1,
5104
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5105
-1, -1, -1, -1, -1, -1, 960, -1, -1, -1,
5106
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5107
974, -1, 976, -1, -1, -1, -1, -1, -1, -1,
5108
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5109
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5110
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5111
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5112
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5113
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5114
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5115
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5116
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5117
1074, -1, -1, -1, 1078, -1, -1, -1, -1, -1,
5118
-1, -1, -1, -1, -1, -1, -1, -1, 1092, 1093,
5119
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5120
-1, -1, -1, -1, -1, 1109, -1, -1, -1, -1,
5121
-1, -1, -1, 1117, -1, 1119, -1, 1121, -1, -1,
5122
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5123
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5124
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5125
-1, -1, 1156, -1, -1, -1, -1, -1, -1, -1,
5126
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5127
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5128
-1, -1, -1, -1, -1, -1, -1, 1191, -1, -1,
5129
-1, -1, -1, -1, -1, -1, -1, -1, 1202, 1203,
5130
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5131
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5132
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5133
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5134
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5135
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5136
-1, -1, -1, -1, 1268, -1, -1, -1, -1, -1,
5137
1274, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5138
-1, -1, -1, -1, -1, 1289, 1290, -1, -1, -1,
5139
-1, -1, -1, 1297, -1, -1, -1, -1, 1302, -1,
5140
-1, 1305, 1306, 1307, -1, -1, -1, -1, -1, -1,
5141
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5142
-1, -1, -1, -1, -1, -1, -1, -1, 1332, -1,
5143
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5144
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5145
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5146
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5147
1374, -1, -1, -1, -1, -1, -1, -1, -1, 1383,
5148
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5149
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5150
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5151
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5152
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5153
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5154
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5155
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5156
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5157
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5158
-1, -1, -1, -1, -1, 1489, -1, -1, -1, -1,
5159
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5160
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5161
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5162
-1, -1, -1, -1, 1528, -1, -1, -1, -1, -1,
5163
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5164
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5165
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5166
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5167
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5168
-1, -1, -1, -1, -1, -1, -1, -1, 1592, -1,
5169
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5170
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5171
-1, -1, -1, -1, -1, -1, 1620, -1, -1, -1,
5172
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5173
1634, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5174
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5175
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5176
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5177
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5178
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5179
-1, -1, -1, -1, 1698, 1699, -1, -1, -1, 1703,
5180
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5181
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5182
-1, -1, -1, -1, -1, -1, -1, -1, -1, 4,
5183
-1, 6, 7, 8, -1, -1, -1, -1, 13, -1,
5184
-1, -1, 17, 18, 19, 20, -1, 22, -1, -1,
5185
25, 26, 27, -1, 29, 30, 31, 32, 33, 34,
5186
-1, 36, -1, -1, 39, 40, 41, 42, 1772, 44,
5187
45, -1, 47, 48, -1, 50, 51, -1, 53, 54,
5188
55, 56, 57, 58, -1, 60, 61, -1, 63, -1,
5189
65, 66, -1, -1, 69, 70, 71, -1, 73, 74,
5190
75, 76, 77, 78, 79, 80, -1, -1, -1, -1,
5191
85, 86, 87, -1, -1, 90, -1, -1, -1, 1823,
5192
95, 96, 1826, -1, 1828, -1, 101, 102, 103, -1,
5193
-1, -1, 107, -1, 109, 110, -1, 112, 113, -1,
5194
-1, 116, -1, 118, 119, 120, 121, 122, 123, -1,
5195
125, 126, 127, 128, 129, 130, -1, -1, -1, 134,
5196
135, -1, 137, -1, 139, -1, 141, -1, 143, -1,
5197
145, -1, -1, -1, 149, 150, 151, 152, 153, -1,
5198
155, 156, -1, -1, -1, -1, -1, 162, 163, -1,
5199
-1, -1, -1, 168, -1, -1, -1, 172, -1, -1,
5200
175, -1, 177, 178, 179, -1, -1, -1, -1, 184,
5201
-1, 186, -1, 188, -1, 190, 191, -1, -1, -1,
5202
-1, 196, 197, 198, 199, 200, 201, 202, -1, -1,
5203
205, 206, 207, 208, -1, 210, 211, 212, 213, 214,
5204
215, -1, -1, -1, 219, 220, 221, 222, 223, 224,
5205
225, 226, -1, 228, 229, -1, 231, 232, 233, 234,
5206
-1, -1, -1, -1, -1, -1, -1, -1, 243, 244,
5207
245, 246, -1, 248, -1, 250, 251, 252, 253, -1,
5208
-1, 256, -1, -1, -1, 260, -1, -1, -1, 264,
5209
265, 266, -1, 268, -1, 270, -1, 272, 273, 274,
5210
275, 276, 277, 278, 279, -1, 281, 282, -1, -1,
5211
-1, 286, 287, 288, 289, -1, -1, -1, 293, -1,
5212
295, 296, 297, -1, -1, -1, -1, -1, 303, -1,
5213
-1, -1, -1, 308, 309, 310, 311, 312, 313, -1,
5214
-1, 316, 317, 318, 319, 320, 321, 322, 323, 324,
5215
325, 326, -1, -1, 329, -1, 331, 332, -1, 334,
5216
335, 336, -1, 338, 339, 340, 341, 342, 343, 344,
5217
345, 346, 347, -1, -1, -1, 351, -1, -1, -1,
5218
355, -1, -1, 358, 359, 360, 361, -1, -1, 364,
5219
365, -1, 367, 368, 369, -1, -1, -1, -1, 374,
5220
-1, -1, -1, 378, 379, 380, -1, -1, -1, 384,
5221
-1, -1, -1, 388, -1, 390, 391, 4, -1, 6,
5222
7, 8, 9, -1, -1, -1, 13, -1, -1, -1,
5223
17, 18, 19, 20, -1, 22, -1, -1, 25, 26,
5224
27, -1, 29, 30, 31, 32, -1, 34, -1, 36,
5225
-1, -1, 39, 40, 41, 42, -1, 44, 45, -1,
5226
47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
5227
57, 58, -1, 60, 61, -1, 63, -1, 65, 66,
5228
-1, -1, 69, 70, 71, -1, 73, 74, 75, 76,
5229
77, 78, 79, 80, -1, -1, -1, -1, 85, 86,
5230
87, -1, -1, 90, -1, -1, -1, -1, 95, 96,
5231
-1, -1, -1, -1, 101, 102, 103, -1, -1, -1,
5232
107, -1, 109, 110, -1, 112, 113, -1, -1, 116,
5233
-1, 118, 119, 120, 121, 122, 123, -1, 125, 126,
5234
127, 128, 129, 130, -1, -1, -1, 134, 135, -1,
5235
137, -1, 139, -1, 141, -1, 143, -1, 145, -1,
5236
-1, -1, 149, 150, 151, 152, 153, -1, 155, 156,
5237
-1, -1, -1, -1, -1, 162, 163, -1, -1, -1,
5238
-1, 168, -1, -1, -1, 172, -1, -1, 175, -1,
5239
-1, 178, 179, -1, -1, -1, -1, 184, -1, 186,
5240
-1, 188, -1, 190, 191, -1, -1, -1, -1, 196,
5241
197, 198, 199, 200, 201, 202, -1, -1, 205, 206,
5242
207, 208, -1, 210, 211, 212, 213, 214, 215, -1,
5243
-1, -1, 219, 220, 221, 222, 223, 224, 225, 226,
5244
-1, 228, 229, 230, 231, 232, 233, 234, -1, -1,
5245
-1, -1, -1, -1, -1, -1, 243, 244, 245, 246,
5246
-1, 248, -1, 250, 251, 252, 253, -1, -1, 256,
5247
-1, -1, -1, 260, -1, -1, -1, 264, 265, 266,
5248
-1, 268, -1, 270, -1, 272, 273, 274, 275, 276,
5249
277, 278, 279, -1, 281, 282, -1, -1, -1, 286,
5250
287, 288, 289, -1, -1, -1, 293, -1, 295, 296,
5251
297, -1, -1, -1, -1, -1, 303, -1, -1, -1,
5252
-1, 308, 309, 310, 311, 312, 313, -1, -1, 316,
5253
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
5254
-1, -1, 329, -1, 331, 332, -1, 334, 335, 336,
5255
-1, -1, 339, 340, 341, 342, 343, 344, 345, 346,
5256
347, -1, -1, -1, 351, -1, -1, -1, 355, -1,
5257
-1, 358, 359, 360, 361, -1, -1, 364, 365, -1,
5258
367, 368, 369, -1, -1, -1, -1, 374, -1, -1,
5259
-1, 378, 379, 380, -1, -1, 4, 384, 6, 7,
5260
8, 388, -1, 390, 391, 13, -1, -1, -1, 17,
5261
18, 19, 20, -1, 22, -1, -1, 25, 26, 27,
5262
-1, 29, 30, 31, 32, -1, 34, -1, 36, -1,
5263
-1, 39, 40, 41, 42, -1, 44, 45, -1, 47,
5264
48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
5265
58, -1, 60, 61, -1, 63, -1, 65, 66, -1,
5266
-1, 69, 70, 71, -1, 73, 74, 75, 76, 77,
5267
78, 79, 80, -1, -1, -1, -1, 85, 86, 87,
5268
-1, -1, 90, -1, -1, -1, -1, 95, 96, -1,
5269
-1, -1, -1, 101, 102, 103, -1, -1, -1, 107,
5270
-1, 109, 110, -1, 112, 113, -1, -1, 116, -1,
5271
118, 119, 120, 121, 122, 123, -1, 125, 126, 127,
5272
128, 129, 130, -1, -1, -1, 134, 135, -1, 137,
5273
-1, 139, -1, 141, -1, 143, -1, 145, -1, -1,
5274
-1, 149, 150, 151, 152, 153, -1, 155, 156, -1,
5275
-1, -1, -1, -1, 162, 163, -1, -1, -1, -1,
5276
168, -1, -1, -1, 172, -1, -1, 175, -1, -1,
5277
178, 179, -1, -1, -1, -1, 184, -1, 186, -1,
5278
188, -1, 190, 191, -1, -1, -1, -1, 196, 197,
5279
198, 199, 200, 201, 202, -1, -1, 205, 206, 207,
5280
208, -1, 210, 211, 212, 213, 214, 215, -1, -1,
5281
-1, 219, 220, 221, 222, 223, 224, 225, 226, -1,
5282
228, 229, -1, 231, 232, 233, 234, -1, -1, -1,
5283
-1, -1, -1, -1, -1, 243, 244, 245, 246, -1,
5284
248, -1, 250, 251, 252, 253, -1, -1, 256, -1,
5285
-1, -1, 260, -1, -1, -1, 264, 265, 266, -1,
5286
268, -1, 270, -1, 272, 273, 274, 275, 276, 277,
5287
278, 279, -1, 281, 282, -1, -1, -1, 286, 287,
5288
288, 289, -1, -1, -1, 293, -1, 295, 296, 297,
5289
-1, -1, -1, -1, -1, 303, -1, -1, -1, -1,
5290
308, 309, 310, 311, 312, 313, -1, -1, 316, 317,
5291
318, 319, 320, 321, 322, 323, 324, 325, 326, -1,
5292
-1, 329, -1, 331, 332, -1, 334, 335, 336, -1,
5293
-1, 339, 340, 341, 342, 343, 344, 345, 346, 347,
5294
-1, -1, -1, 351, -1, -1, -1, 355, -1, -1,
5295
358, 359, 360, 361, -1, -1, 364, 365, -1, 367,
5296
368, 369, -1, -1, -1, -1, 374, -1, -1, -1,
5297
378, 379, 380, -1, -1, -1, 384, 385, -1, -1,
5298
388, -1, 390, 391, 4, -1, 6, 7, 8, -1,
5299
-1, -1, -1, 13, -1, -1, -1, 17, 18, 19,
5300
20, -1, 22, -1, -1, 25, 26, 27, -1, 29,
5301
30, 31, 32, -1, 34, -1, 36, -1, -1, 39,
5302
40, 41, 42, -1, 44, 45, -1, 47, 48, -1,
5303
50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
5304
60, 61, -1, 63, -1, 65, 66, -1, -1, 69,
5305
70, 71, -1, 73, 74, 75, 76, 77, 78, 79,
5306
80, -1, -1, -1, -1, 85, 86, 87, -1, -1,
5307
90, -1, -1, -1, -1, 95, 96, -1, -1, -1,
5308
-1, 101, 102, 103, -1, -1, -1, 107, -1, 109,
5309
110, -1, 112, 113, -1, -1, 116, -1, 118, 119,
5310
120, 121, 122, 123, -1, 125, 126, 127, 128, 129,
5311
130, -1, -1, -1, 134, 135, 136, 137, -1, 139,
5312
-1, 141, -1, 143, -1, 145, -1, -1, -1, 149,
5313
150, 151, 152, 153, -1, 155, 156, -1, -1, -1,
5314
-1, -1, 162, 163, -1, -1, -1, -1, 168, -1,
5315
-1, -1, 172, -1, -1, 175, -1, -1, 178, 179,
5316
-1, -1, -1, -1, 184, -1, 186, -1, 188, -1,
5317
190, 191, -1, -1, -1, -1, 196, 197, 198, 199,
5318
200, 201, 202, -1, -1, 205, 206, 207, 208, -1,
5319
210, 211, 212, 213, 214, 215, -1, -1, -1, 219,
5320
220, 221, 222, 223, 224, 225, 226, -1, 228, 229,
5321
-1, 231, 232, 233, 234, -1, -1, -1, -1, -1,
5322
-1, -1, -1, 243, 244, 245, 246, -1, 248, -1,
5323
250, 251, 252, 253, -1, -1, 256, -1, -1, -1,
5324
260, -1, -1, -1, 264, 265, 266, -1, 268, -1,
5325
270, -1, 272, 273, 274, 275, 276, 277, 278, 279,
5326
-1, 281, 282, -1, -1, -1, 286, 287, 288, 289,
5327
-1, -1, -1, 293, -1, 295, 296, 297, -1, -1,
5328
-1, -1, -1, 303, -1, -1, -1, -1, 308, 309,
5329
310, 311, 312, 313, -1, -1, 316, 317, 318, 319,
5330
320, 321, 322, 323, 324, 325, 326, -1, -1, 329,
5331
-1, 331, 332, -1, 334, 335, 336, -1, -1, 339,
5332
340, 341, 342, 343, 344, 345, 346, 347, -1, -1,
5333
-1, 351, -1, -1, -1, 355, -1, -1, 358, 359,
5334
360, 361, -1, -1, 364, 365, -1, 367, 368, 369,
5335
-1, -1, -1, -1, 374, -1, -1, -1, 378, 379,
5336
380, -1, -1, 4, 384, 6, 7, 8, 388, -1,
5337
390, 391, 13, -1, -1, -1, 17, 18, 19, 20,
5338
-1, 22, -1, -1, 25, 26, 27, -1, 29, 30,
5339
31, 32, -1, 34, -1, 36, -1, -1, 39, 40,
5340
41, 42, -1, 44, 45, -1, 47, 48, -1, 50,
5341
51, -1, 53, 54, 55, 56, 57, 58, -1, 60,
5342
61, -1, 63, -1, 65, 66, -1, -1, 69, 70,
5343
71, -1, 73, 74, 75, 76, 77, 78, 79, 80,
5344
-1, -1, -1, -1, 85, 86, 87, -1, -1, 90,
5345
-1, -1, -1, -1, 95, 96, -1, -1, -1, -1,
5346
101, 102, 103, -1, -1, -1, 107, -1, 109, 110,
5347
-1, 112, 113, -1, -1, 116, -1, 118, 119, 120,
5348
121, 122, 123, -1, 125, 126, 127, 128, 129, 130,
5349
-1, -1, -1, 134, 135, 136, 137, -1, 139, -1,
5350
141, -1, 143, -1, 145, -1, -1, -1, 149, 150,
5351
151, 152, 153, -1, 155, 156, -1, -1, -1, -1,
5352
-1, 162, 163, -1, -1, -1, -1, 168, -1, -1,
5353
-1, 172, -1, -1, 175, -1, -1, 178, 179, -1,
5354
-1, -1, -1, 184, -1, 186, -1, 188, -1, 190,
5355
191, -1, -1, -1, -1, 196, 197, 198, 199, 200,
5356
201, 202, -1, -1, 205, 206, 207, 208, -1, 210,
5357
211, 212, 213, 214, 215, -1, -1, -1, 219, 220,
5358
221, 222, 223, 224, 225, 226, -1, 228, 229, -1,
5359
231, 232, 233, 234, -1, -1, -1, -1, -1, -1,
5360
-1, -1, 243, 244, 245, 246, -1, 248, -1, 250,
5361
251, 252, 253, -1, -1, 256, -1, -1, -1, 260,
5362
-1, -1, -1, 264, 265, 266, -1, 268, -1, 270,
5363
-1, 272, 273, 274, 275, 276, 277, 278, 279, -1,
5364
281, 282, -1, -1, -1, 286, 287, 288, 289, -1,
5365
-1, -1, 293, -1, 295, 296, 297, -1, -1, -1,
5366
-1, -1, 303, -1, -1, -1, -1, 308, 309, 310,
5367
311, 312, 313, -1, -1, 316, 317, 318, 319, 320,
5368
321, 322, 323, 324, 325, 326, -1, -1, 329, -1,
5369
331, 332, -1, 334, 335, 336, -1, -1, 339, 340,
5370
341, 342, 343, 344, 345, 346, 347, -1, -1, -1,
5371
351, -1, -1, -1, 355, -1, -1, 358, 359, 360,
5372
361, -1, -1, 364, 365, -1, 367, 368, 369, -1,
5373
-1, -1, -1, 374, -1, -1, -1, 378, 379, 380,
5374
-1, -1, 4, 384, 6, 7, 8, 388, -1, 390,
5375
391, 13, -1, -1, -1, 17, 18, 19, 20, -1,
5376
22, -1, -1, 25, 26, 27, -1, 29, 30, 31,
5377
32, -1, 34, -1, 36, -1, -1, 39, 40, 41,
5378
42, -1, 44, 45, -1, 47, 48, -1, 50, 51,
5379
-1, 53, 54, 55, 56, 57, 58, -1, 60, 61,
5380
-1, 63, -1, 65, 66, -1, -1, 69, 70, 71,
5381
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
5382
-1, -1, -1, 85, 86, 87, -1, -1, 90, -1,
5383
-1, -1, -1, 95, 96, -1, -1, -1, -1, 101,
5384
102, 103, -1, -1, -1, 107, -1, 109, 110, -1,
5385
112, 113, -1, -1, 116, -1, 118, 119, 120, 121,
5386
122, 123, -1, 125, 126, 127, 128, 129, 130, -1,
5387
-1, -1, 134, 135, 136, 137, -1, 139, -1, 141,
5388
-1, 143, -1, 145, -1, -1, -1, 149, 150, 151,
5389
152, 153, -1, 155, 156, -1, -1, -1, -1, -1,
5390
162, 163, -1, -1, -1, -1, 168, -1, -1, -1,
5391
172, -1, -1, 175, -1, -1, 178, 179, -1, -1,
5392
-1, -1, 184, -1, 186, -1, 188, -1, 190, 191,
5393
-1, -1, -1, -1, 196, 197, 198, 199, 200, 201,
5394
202, -1, -1, 205, 206, 207, 208, -1, 210, 211,
5395
212, 213, 214, 215, -1, -1, -1, 219, 220, 221,
5396
222, 223, 224, 225, 226, -1, 228, 229, -1, 231,
5397
232, 233, 234, -1, -1, -1, -1, -1, -1, -1,
5398
-1, 243, 244, 245, 246, -1, 248, -1, 250, 251,
5399
252, 253, -1, -1, 256, -1, -1, -1, 260, -1,
5400
-1, -1, 264, 265, 266, -1, 268, -1, 270, -1,
5401
272, 273, 274, 275, 276, 277, 278, 279, -1, 281,
5402
282, -1, -1, -1, 286, 287, 288, 289, -1, -1,
5403
-1, 293, -1, 295, 296, 297, -1, -1, -1, -1,
5404
-1, 303, -1, -1, -1, -1, 308, 309, 310, 311,
5405
312, 313, -1, -1, 316, 317, 318, 319, 320, 321,
5406
322, 323, 324, 325, 326, -1, -1, 329, -1, 331,
5407
332, -1, 334, 335, 336, -1, -1, 339, 340, 341,
5408
342, 343, 344, 345, 346, 347, -1, -1, -1, 351,
5409
-1, -1, -1, 355, -1, -1, 358, 359, 360, 361,
5410
-1, -1, 364, 365, -1, 367, 368, 369, -1, -1,
5411
-1, -1, 374, -1, -1, -1, 378, 379, 380, -1,
5412
-1, 4, 384, 6, 7, 8, 388, -1, 390, 391,
5413
13, -1, -1, -1, 17, 18, 19, 20, -1, 22,
5414
-1, -1, 25, 26, 27, -1, 29, 30, 31, 32,
5415
-1, 34, -1, 36, -1, -1, 39, 40, 41, 42,
5416
-1, 44, 45, -1, 47, 48, -1, 50, 51, -1,
5417
53, 54, 55, 56, 57, 58, -1, 60, 61, -1,
5418
63, -1, 65, 66, -1, -1, 69, 70, 71, -1,
5419
73, 74, 75, 76, 77, 78, 79, 80, -1, -1,
5420
-1, -1, 85, 86, 87, -1, -1, 90, -1, -1,
5421
-1, -1, 95, 96, -1, -1, -1, -1, 101, 102,
5422
103, -1, -1, -1, 107, -1, 109, 110, -1, 112,
5423
113, -1, -1, 116, -1, 118, 119, 120, 121, 122,
5424
123, -1, 125, 126, 127, 128, 129, 130, -1, -1,
5425
-1, 134, 135, -1, 137, -1, 139, -1, 141, -1,
5426
143, -1, 145, -1, -1, -1, 149, 150, 151, 152,
5427
153, -1, 155, 156, -1, -1, -1, -1, -1, 162,
5428
163, -1, -1, -1, -1, 168, -1, -1, -1, 172,
5429
-1, -1, 175, -1, -1, 178, 179, -1, -1, -1,
5430
-1, 184, -1, 186, -1, 188, -1, 190, 191, -1,
5431
-1, -1, -1, 196, 197, 198, 199, 200, 201, 202,
5432
-1, -1, 205, 206, 207, 208, -1, 210, 211, 212,
5433
213, 214, 215, -1, -1, -1, 219, 220, 221, 222,
5434
223, 224, 225, 226, -1, 228, 229, -1, 231, 232,
5435
233, 234, -1, -1, -1, -1, -1, -1, -1, -1,
5436
243, 244, 245, 246, -1, 248, -1, 250, 251, 252,
5437
253, -1, -1, 256, -1, -1, -1, 260, -1, -1,
5438
-1, 264, 265, 266, -1, 268, -1, 270, -1, 272,
5439
273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
5440
-1, -1, -1, 286, 287, 288, 289, -1, -1, -1,
5441
293, -1, 295, 296, 297, -1, -1, -1, -1, -1,
5442
303, -1, -1, -1, -1, 308, 309, 310, 311, 312,
5443
313, -1, -1, 316, 317, 318, 319, 320, 321, 322,
5444
323, 324, 325, 326, -1, -1, 329, -1, 331, 332,
5445
-1, 334, 335, 336, -1, -1, 339, 340, 341, 342,
5446
343, 344, 345, 346, 347, -1, -1, -1, 351, -1,
5447
-1, -1, 355, -1, -1, 358, 359, 360, 361, -1,
5448
-1, 364, 365, -1, 367, 368, 369, -1, -1, -1,
5449
-1, 374, -1, -1, -1, 378, 379, 380, -1, -1,
5450
4, 384, 6, 7, 8, 388, -1, 390, 391, 13,
5451
-1, -1, -1, 17, 18, 19, 20, -1, 22, -1,
5452
-1, 25, 26, 27, -1, 29, 30, 31, 32, -1,
5453
34, -1, 36, -1, -1, 39, 40, 41, 42, -1,
5454
44, 45, -1, 47, 48, -1, 50, 51, -1, 53,
5455
54, 55, 56, 57, 58, -1, 60, 61, -1, 63,
5456
-1, 65, 66, -1, -1, 69, 70, 71, -1, 73,
5457
74, 75, 76, 77, 78, 79, 80, -1, -1, -1,
5458
-1, 85, 86, 87, -1, -1, 90, -1, -1, -1,
5459
-1, 95, 96, -1, -1, -1, -1, 101, 102, 103,
5460
-1, -1, -1, 107, -1, 109, 110, -1, 112, 113,
5461
-1, -1, 116, -1, 118, 119, 120, 121, 122, 123,
5462
-1, 125, 126, 127, 128, 129, 130, -1, -1, -1,
5463
134, 135, -1, 137, -1, 139, -1, 141, -1, 143,
5464
-1, 145, -1, -1, -1, 149, 150, 151, 152, 153,
5465
-1, 155, 156, -1, -1, -1, -1, -1, 162, 163,
5466
-1, -1, -1, -1, 168, -1, -1, -1, 172, -1,
5467
-1, 175, -1, -1, 178, 179, -1, -1, -1, -1,
5468
184, -1, 186, -1, 188, -1, 190, 191, -1, -1,
5469
-1, -1, 196, 197, 198, 199, 200, 201, 202, -1,
5470
-1, 205, 206, 207, 208, -1, 210, 211, 212, 213,
5471
214, 215, -1, -1, -1, 219, 220, 221, 222, 223,
5472
224, 225, 226, -1, 228, 229, -1, 231, 232, 233,
5473
234, -1, -1, -1, -1, -1, -1, -1, -1, 243,
5474
244, 245, 246, -1, 248, -1, 250, 251, 252, 253,
5475
-1, -1, 256, -1, -1, -1, 260, -1, -1, -1,
5476
264, 265, 266, -1, 268, -1, 270, -1, 272, 273,
5477
274, 275, 276, 277, 278, 279, -1, 281, 282, -1,
5478
-1, -1, 286, 287, 288, 289, -1, -1, -1, 293,
5479
-1, 295, 296, 297, -1, -1, -1, -1, -1, 303,
5480
-1, -1, -1, -1, 308, 309, 310, 311, 312, 313,
5481
-1, -1, 316, 317, 318, 319, 320, 321, 322, 323,
5482
324, 325, 326, -1, -1, 329, -1, 331, 332, -1,
5483
334, 335, 336, -1, -1, 339, 340, 341, 342, 343,
5484
344, 345, 346, 347, -1, -1, -1, 351, -1, -1,
5485
-1, 355, -1, -1, 358, 359, 360, 361, -1, -1,
5486
364, 365, -1, 367, 368, 369, -1, -1, -1, -1,
5487
374, -1, -1, -1, 378, 379, 380, -1, -1, -1,
5488
384, -1, -1, -1, 388, -1, 390, 391, 4, -1,
5489
6, 7, 8, 9, -1, -1, -1, 13, -1, -1,
5490
-1, 17, 18, 19, 20, -1, 22, -1, -1, 25,
5491
26, 27, -1, 29, 30, 31, 32, -1, 34, -1,
5492
36, -1, -1, 39, 40, 41, 42, -1, 44, 45,
5493
-1, 47, 48, -1, 50, 51, -1, 53, 54, 55,
5494
56, 57, 58, -1, 60, 61, -1, 63, -1, 65,
5495
66, -1, -1, 69, 70, 71, -1, 73, 74, 75,
5496
76, 77, 78, 79, 80, -1, -1, -1, -1, 85,
5497
86, 87, -1, -1, 90, -1, -1, -1, -1, 95,
5498
96, -1, -1, -1, -1, 101, 102, 103, -1, -1,
5499
-1, 107, -1, 109, 110, -1, 112, 113, -1, -1,
5500
116, -1, 118, 119, 120, 121, 122, 123, -1, 125,
5501
126, 127, 128, 129, 130, -1, -1, -1, 134, 135,
5502
-1, 137, -1, 139, -1, 141, -1, 143, -1, 145,
5503
-1, -1, -1, 149, 150, 151, 152, 153, -1, 155,
5504
156, -1, -1, -1, -1, -1, 162, 163, -1, -1,
5505
-1, -1, 168, -1, -1, -1, 172, -1, -1, 175,
5506
-1, -1, 178, 179, -1, -1, -1, -1, 184, -1,
5507
186, -1, 188, -1, 190, 191, -1, -1, -1, -1,
5508
196, 197, 198, 199, 200, 201, 202, -1, -1, 205,
5509
206, 207, 208, -1, 210, 211, 212, 213, 214, 215,
5510
-1, -1, -1, 219, 220, 221, -1, 223, 224, 225,
5511
226, -1, 228, 229, -1, 231, 232, 233, 234, -1,
5512
-1, -1, -1, -1, -1, -1, -1, 243, 244, 245,
5513
246, -1, 248, -1, 250, 251, 252, 253, -1, -1,
5514
256, -1, -1, -1, 260, -1, -1, -1, 264, 265,
5515
266, -1, 268, -1, 270, -1, 272, 273, 274, 275,
5516
276, 277, 278, 279, -1, 281, 282, -1, -1, -1,
5517
286, 287, 288, 289, -1, -1, -1, 293, -1, 295,
5518
296, 297, -1, -1, -1, -1, -1, 303, -1, -1,
5519
-1, -1, 308, 309, 310, 311, 312, 313, -1, -1,
5520
316, 317, 318, 319, 320, 321, 322, 323, 324, 325,
5521
326, -1, -1, 329, -1, 331, 332, -1, 334, 335,
5522
336, -1, -1, 339, 340, 341, 342, 343, 344, 345,
5523
346, 347, -1, -1, -1, 351, -1, -1, -1, 355,
5524
-1, -1, 358, 359, 360, 361, -1, -1, 364, 365,
5525
-1, 367, 368, 369, -1, -1, -1, -1, 374, -1,
5526
-1, -1, 378, 379, 380, -1, -1, 4, 384, 6,
5527
7, 8, 388, -1, 390, 391, 13, -1, -1, -1,
5528
17, 18, 19, 20, -1, 22, -1, -1, 25, 26,
5529
27, -1, 29, 30, 31, 32, -1, 34, -1, 36,
5530
-1, -1, 39, 40, 41, 42, -1, 44, 45, -1,
5531
47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
5532
57, 58, -1, 60, 61, -1, 63, -1, 65, 66,
5533
-1, -1, 69, 70, 71, -1, 73, 74, 75, 76,
5534
77, 78, 79, 80, -1, -1, -1, -1, 85, 86,
5535
87, -1, -1, 90, -1, -1, -1, -1, 95, 96,
5536
-1, -1, -1, -1, 101, 102, 103, -1, -1, -1,
5537
107, -1, 109, 110, -1, 112, 113, -1, -1, 116,
5538
-1, 118, 119, 120, 121, 122, 123, -1, 125, 126,
5539
127, 128, 129, 130, -1, -1, -1, 134, 135, -1,
5540
137, -1, 139, -1, 141, -1, 143, -1, 145, -1,
5541
-1, -1, 149, 150, 151, 152, 153, -1, 155, 156,
5542
-1, -1, -1, -1, -1, 162, 163, -1, -1, -1,
5543
-1, 168, -1, -1, -1, 172, -1, -1, 175, -1,
5544
-1, 178, 179, -1, -1, -1, -1, 184, -1, 186,
5545
-1, 188, -1, 190, 191, -1, -1, -1, -1, 196,
5546
197, 198, 199, 200, 201, 202, -1, -1, 205, 206,
5547
207, 208, -1, 210, 211, 212, 213, 214, 215, -1,
5548
-1, -1, 219, 220, 221, 222, 223, 224, 225, 226,
5549
-1, 228, 229, -1, 231, 232, 233, 234, -1, -1,
5550
-1, -1, -1, -1, -1, -1, 243, 244, 245, 246,
5551
-1, 248, -1, 250, 251, 252, 253, -1, -1, 256,
5552
-1, -1, -1, 260, -1, -1, -1, 264, 265, 266,
5553
-1, 268, -1, 270, -1, 272, 273, 274, 275, 276,
5554
277, 278, 279, -1, 281, 282, -1, -1, -1, 286,
5555
287, 288, 289, -1, -1, -1, 293, -1, 295, 296,
5556
297, -1, -1, -1, -1, -1, 303, -1, -1, -1,
5557
-1, 308, 309, 310, 311, 312, 313, -1, -1, 316,
5558
317, 318, 319, 320, 321, 322, 323, 324, 325, 326,
5559
-1, -1, 329, -1, 331, 332, -1, 334, 335, 336,
5560
-1, -1, 339, 340, 341, 342, 343, 344, 345, 346,
5561
347, -1, -1, -1, 351, -1, -1, -1, 355, -1,
5562
-1, 358, 359, 360, 361, -1, -1, 364, 365, -1,
5563
367, 368, 369, -1, -1, -1, -1, 374, -1, -1,
5564
-1, 378, 379, 380, -1, -1, 4, 384, 6, 7,
5565
8, 388, -1, 390, 391, 13, -1, -1, -1, 17,
5566
18, 19, 20, -1, 22, -1, -1, 25, 26, 27,
5567
-1, 29, 30, 31, 32, -1, 34, -1, 36, -1,
5568
-1, 39, 40, 41, 42, -1, 44, 45, -1, 47,
5569
48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
5570
58, -1, 60, 61, -1, 63, -1, 65, 66, -1,
5571
-1, 69, 70, 71, -1, 73, 74, 75, 76, 77,
5572
78, 79, 80, -1, -1, -1, -1, 85, 86, 87,
5573
-1, -1, 90, -1, -1, -1, -1, 95, 96, -1,
5574
-1, -1, -1, 101, 102, 103, -1, -1, -1, 107,
5575
-1, 109, 110, -1, 112, 113, -1, -1, 116, -1,
5576
118, 119, 120, 121, 122, 123, -1, 125, 126, 127,
5577
128, 129, 130, -1, -1, -1, 134, 135, -1, 137,
5578
-1, 139, -1, 141, -1, 143, -1, 145, -1, -1,
5579
-1, 149, 150, 151, 152, 153, -1, 155, 156, -1,
5580
-1, -1, -1, -1, 162, 163, -1, -1, -1, -1,
5581
168, -1, -1, -1, 172, -1, -1, 175, -1, -1,
5582
178, 179, -1, -1, -1, -1, 184, -1, 186, -1,
5583
188, -1, 190, 191, -1, -1, -1, -1, 196, 197,
5584
198, 199, 200, 201, 202, -1, -1, 205, 206, 207,
5585
208, -1, 210, 211, 212, 213, 214, 215, -1, -1,
5586
-1, 219, 220, 221, 222, 223, 224, 225, 226, -1,
5587
228, 229, -1, 231, 232, 233, 234, -1, -1, -1,
5588
-1, -1, -1, -1, -1, 243, 244, 245, 246, -1,
5589
248, -1, 250, 251, 252, 253, -1, -1, 256, -1,
5590
-1, -1, 260, -1, -1, -1, 264, 265, 266, -1,
5591
268, -1, 270, -1, 272, 273, 274, 275, 276, 277,
5592
278, 279, -1, 281, 282, -1, -1, -1, 286, 287,
5593
288, 289, -1, -1, -1, 293, -1, 295, 296, 297,
5594
-1, -1, -1, -1, -1, 303, -1, -1, -1, -1,
5595
308, 309, 310, 311, 312, 313, -1, -1, 316, 317,
5596
318, 319, 320, 321, 322, 323, 324, 325, 326, -1,
5597
-1, 329, -1, 331, 332, -1, 334, 335, 336, -1,
5598
-1, 339, 340, 341, 342, 343, 344, 345, 346, 347,
5599
-1, -1, -1, 351, -1, -1, -1, 355, -1, -1,
5600
358, 359, 360, 361, -1, -1, 364, 365, -1, 367,
5601
368, 369, -1, -1, -1, -1, 374, -1, -1, -1,
5602
378, 379, 380, -1, -1, 4, 384, 6, 7, 8,
5603
388, -1, 390, 391, 13, -1, -1, -1, 17, 18,
5604
19, 20, -1, 22, -1, -1, 25, 26, 27, -1,
5605
29, 30, 31, 32, -1, 34, -1, 36, -1, -1,
5606
39, 40, 41, 42, -1, 44, 45, -1, 47, 48,
5607
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
5608
-1, 60, 61, -1, 63, -1, 65, 66, -1, -1,
5609
69, 70, 71, -1, 73, 74, 75, 76, 77, 78,
5610
79, 80, -1, -1, -1, -1, 85, 86, 87, -1,
5611
-1, 90, -1, -1, -1, -1, 95, 96, -1, -1,
5612
-1, -1, 101, 102, 103, -1, -1, -1, 107, -1,
5613
109, 110, -1, 112, 113, -1, -1, 116, -1, 118,
5614
119, 120, 121, 122, 123, -1, 125, 126, 127, 128,
5615
129, 130, -1, -1, -1, 134, 135, -1, 137, -1,
5616
139, -1, 141, -1, 143, -1, 145, -1, -1, -1,
5617
149, 150, 151, 152, 153, -1, 155, 156, -1, -1,
5618
-1, -1, -1, 162, 163, -1, -1, -1, -1, 168,
5619
-1, -1, -1, 172, -1, -1, 175, -1, -1, 178,
5620
179, -1, -1, -1, -1, 184, -1, 186, -1, 188,
5621
-1, 190, 191, -1, -1, -1, -1, 196, 197, 198,
5622
199, 200, 201, 202, -1, -1, 205, 206, 207, 208,
5623
-1, 210, 211, 212, 213, 214, 215, -1, -1, -1,
5624
219, 220, 221, 222, 223, 224, 225, 226, -1, 228,
5625
229, -1, 231, 232, 233, 234, -1, -1, -1, -1,
5626
-1, -1, -1, -1, 243, 244, 245, 246, -1, 248,
5627
-1, 250, 251, 252, 253, -1, -1, 256, -1, -1,
5628
-1, 260, -1, -1, -1, 264, 265, 266, -1, 268,
5629
-1, 270, -1, 272, 273, 274, 275, 276, 277, 278,
5630
279, -1, 281, 282, -1, -1, -1, 286, 287, 288,
5631
289, -1, -1, -1, 293, -1, 295, 296, 297, -1,
5632
-1, -1, -1, -1, 303, -1, -1, -1, -1, 308,
5633
309, 310, 311, 312, 313, -1, -1, 316, 317, 318,
5634
319, 320, 321, 322, 323, 324, 325, 326, -1, -1,
5635
329, -1, 331, 332, -1, 334, 335, 336, -1, -1,
5636
339, 340, 341, 342, 343, 344, 345, 346, 347, -1,
5637
-1, -1, 351, -1, -1, -1, 355, -1, -1, 358,
5638
359, 360, 361, -1, -1, 364, 365, -1, 367, 368,
5639
369, -1, -1, -1, -1, 374, -1, -1, -1, 378,
5640
379, 380, -1, -1, 4, 384, 6, 7, 8, 388,
5641
-1, 390, 391, 13, -1, -1, -1, 17, 18, 19,
5642
20, -1, 22, -1, -1, 25, 26, 27, -1, 29,
5643
30, 31, 32, -1, 34, -1, 36, -1, -1, 39,
5644
40, 41, 42, -1, 44, 45, -1, 47, 48, -1,
5645
50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
5646
60, 61, -1, 63, -1, 65, 66, -1, -1, 69,
5647
70, 71, -1, 73, 74, 75, 76, 77, 78, 79,
5648
80, -1, -1, -1, -1, 85, 86, 87, -1, -1,
5649
90, -1, -1, -1, -1, 95, 96, -1, -1, -1,
5650
-1, 101, 102, 103, -1, -1, -1, 107, -1, 109,
5651
110, -1, 112, 113, -1, -1, 116, -1, 118, 119,
5652
120, 121, 122, 123, -1, 125, 126, 127, 128, 129,
5653
130, -1, -1, -1, 134, 135, -1, 137, -1, 139,
5654
-1, 141, -1, 143, -1, 145, -1, -1, -1, 149,
5655
150, 151, 152, 153, -1, 155, 156, -1, -1, -1,
5656
-1, -1, 162, 163, -1, -1, -1, -1, 168, -1,
5657
-1, -1, 172, -1, -1, 175, -1, -1, 178, 179,
5658
-1, -1, -1, -1, 184, -1, 186, -1, 188, -1,
5659
190, 191, -1, -1, -1, -1, 196, 197, 198, 199,
5660
200, 201, 202, -1, -1, 205, 206, 207, 208, -1,
5661
210, 211, 212, 213, 214, 215, -1, -1, -1, 219,
5662
220, 221, -1, 223, 224, 225, 226, -1, 228, 229,
5663
-1, 231, 232, 233, 234, -1, -1, -1, -1, -1,
5664
-1, -1, -1, 243, 244, 245, 246, -1, 248, -1,
5665
250, 251, 252, 253, -1, -1, 256, -1, -1, -1,
5666
260, -1, -1, -1, 264, 265, 266, -1, 268, -1,
5667
270, -1, 272, 273, 274, 275, 276, 277, 278, 279,
5668
-1, 281, 282, -1, -1, -1, 286, 287, 288, 289,
5669
-1, -1, -1, 293, -1, 295, 296, 297, -1, -1,
5670
-1, -1, -1, 303, -1, -1, -1, -1, 308, 309,
5671
310, 311, 312, 313, -1, -1, 316, 317, 318, 319,
5672
320, 321, 322, 323, 324, 325, 326, -1, -1, 329,
5673
-1, 331, 332, -1, 334, 335, 336, -1, -1, 339,
5674
340, 341, 342, 343, 344, 345, 346, 347, -1, -1,
5675
-1, 351, -1, -1, -1, 355, -1, -1, 358, 359,
5676
360, 361, -1, -1, 364, 365, -1, 367, 368, 369,
5677
-1, -1, -1, -1, 374, -1, -1, -1, 378, 379,
5678
380, -1, -1, 4, 384, 6, 7, 8, 388, -1,
5679
390, 391, 13, -1, -1, -1, 17, 18, 19, 20,
5680
-1, 22, -1, -1, 25, 26, 27, -1, 29, 30,
5681
31, 32, -1, 34, -1, 36, -1, -1, 39, 40,
5682
41, 42, -1, 44, 45, -1, 47, 48, -1, 50,
5683
51, -1, 53, 54, 55, 56, 57, 58, -1, 60,
5684
61, -1, 63, -1, 65, 66, -1, -1, 69, 70,
5685
71, -1, 73, 74, 75, 76, 77, 78, 79, 80,
5686
-1, -1, -1, -1, 85, 86, 87, -1, -1, 90,
5687
-1, -1, -1, -1, 95, 96, -1, -1, -1, -1,
5688
101, 102, 103, -1, -1, -1, 107, -1, 109, 110,
5689
-1, 112, 113, -1, -1, 116, -1, 118, 119, 120,
5690
121, 122, 123, -1, 125, 126, 127, 128, 129, 130,
5691
-1, -1, -1, 134, 135, -1, 137, -1, 139, -1,
5692
141, -1, 143, -1, 145, -1, -1, -1, 149, 150,
5693
151, 152, 153, -1, 155, 156, -1, -1, -1, -1,
5694
-1, 162, 163, -1, -1, -1, -1, 168, -1, -1,
5695
-1, 172, -1, -1, 175, -1, -1, 178, 179, -1,
5696
-1, -1, -1, 184, -1, 186, -1, 188, -1, 190,
5697
191, -1, -1, -1, -1, 196, 197, 198, 199, 200,
5698
201, 202, -1, -1, 205, 206, 207, 208, -1, 210,
5699
211, 212, 213, 214, 215, -1, -1, -1, 219, 220,
5700
221, -1, 223, 224, 225, 226, -1, 228, 229, -1,
5701
231, 232, 233, 234, -1, -1, -1, -1, -1, -1,
5702
-1, -1, 243, 244, 245, 246, -1, 248, -1, 250,
5703
251, 252, 253, -1, -1, 256, -1, -1, -1, 260,
5704
-1, -1, -1, 264, 265, 266, -1, 268, -1, 270,
5705
-1, 272, 273, 274, 275, 276, 277, 278, 279, -1,
5706
281, 282, -1, -1, -1, 286, 287, 288, 289, -1,
5707
-1, -1, 293, -1, 295, 296, 297, -1, -1, -1,
5708
-1, -1, 303, -1, -1, -1, -1, 308, 309, 310,
5709
311, 312, 313, -1, -1, 316, 317, 318, 319, 320,
5710
321, 322, 323, 324, 325, 326, -1, -1, 329, -1,
5711
331, 332, -1, 334, 335, 336, -1, -1, 339, 340,
5712
341, 342, 343, 344, 345, 346, 347, -1, -1, -1,
5713
351, -1, -1, -1, 355, -1, -1, 358, 359, 360,
5714
361, -1, -1, 364, 365, -1, 367, 368, 369, -1,
5715
-1, -1, -1, 374, -1, -1, -1, 378, 379, 380,
5716
-1, -1, 4, 384, 6, 7, 8, 388, -1, 390,
5717
391, 13, -1, -1, -1, 17, 18, 19, 20, -1,
5718
22, -1, -1, 25, 26, 27, -1, 29, 30, 31,
5719
32, -1, 34, -1, 36, -1, -1, 39, 40, 41,
5720
42, -1, 44, 45, -1, 47, 48, -1, 50, 51,
5721
-1, 53, 54, 55, 56, 57, 58, -1, 60, 61,
5722
-1, 63, -1, 65, 66, -1, -1, 69, 70, 71,
5723
-1, 73, 74, 75, 76, 77, 78, 79, 80, -1,
5724
-1, -1, -1, 85, 86, 87, -1, -1, 90, -1,
5725
-1, -1, -1, 95, 96, -1, -1, -1, -1, 101,
5726
102, 103, -1, -1, -1, 107, -1, 109, 110, -1,
5727
112, 113, -1, -1, 116, -1, 118, 119, 120, 121,
5728
122, 123, -1, 125, 126, 127, 128, 129, 130, -1,
5729
-1, -1, 134, 135, -1, 137, -1, 139, -1, 141,
5730
-1, 143, -1, 145, -1, -1, -1, 149, 150, 151,
5731
152, 153, -1, 155, 156, -1, -1, -1, -1, -1,
5732
162, 163, -1, -1, -1, -1, 168, -1, -1, -1,
5733
172, -1, -1, 175, -1, -1, 178, 179, -1, -1,
5734
-1, -1, 184, -1, 186, -1, 188, -1, 190, 191,
5735
-1, -1, -1, -1, 196, 197, 198, 199, 200, 201,
5736
202, -1, -1, 205, 206, 207, 208, -1, 210, 211,
5737
212, 213, 214, 215, -1, -1, -1, 219, 220, 221,
5738
-1, 223, 224, 225, 226, -1, 228, 229, -1, 231,
5739
232, 233, 234, -1, -1, -1, -1, -1, -1, -1,
5740
-1, 243, 244, 245, 246, -1, 248, -1, 250, 251,
5741
252, 253, -1, -1, 256, -1, -1, -1, 260, -1,
5742
-1, -1, 264, 265, 266, -1, 268, -1, 270, -1,
5743
272, 273, 274, 275, 276, 277, 278, 279, -1, 281,
5744
282, -1, -1, -1, 286, 287, 288, 289, -1, -1,
5745
-1, 293, -1, 295, 296, 297, -1, -1, -1, -1,
5746
-1, 303, -1, -1, -1, -1, 308, 309, 310, 311,
5747
312, 313, -1, -1, 316, 317, 318, 319, 320, 321,
5748
322, 323, 324, 325, 326, -1, -1, 329, -1, 331,
5749
332, -1, 334, 335, 336, -1, -1, 339, 340, 341,
5750
342, 343, 344, 345, 346, 347, -1, -1, -1, 351,
5751
-1, -1, -1, 355, -1, -1, 358, 359, 360, 361,
5752
-1, -1, 364, 365, -1, 367, 368, 369, -1, -1,
5753
-1, -1, 374, -1, -1, -1, 378, 379, 380, -1,
5754
-1, 4, 384, 6, 7, 8, 388, -1, 390, 391,
5755
13, -1, -1, -1, 17, 18, 19, 20, -1, 22,
5756
-1, -1, -1, -1, 27, -1, 29, 30, 31, 32,
5757
-1, 34, -1, 36, -1, -1, 39, -1, -1, 42,
5758
-1, -1, 45, -1, 47, 48, -1, 50, 51, -1,
5759
53, 54, 55, 56, 57, 58, -1, 60, 61, -1,
5760
63, -1, -1, -1, -1, -1, 69, -1, -1, -1,
5761
-1, 74, 75, 76, 77, -1, -1, 80, -1, -1,
5762
-1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
5763
-1, -1, 95, 96, -1, -1, -1, -1, 101, 102,
5764
103, -1, -1, -1, 107, -1, 109, 110, -1, 112,
5765
113, -1, -1, 116, -1, 118, 119, -1, 121, -1,
5766
-1, -1, 125, 126, 127, 128, -1, 130, -1, -1,
5767
-1, 134, 135, -1, 137, -1, 139, -1, -1, -1,
5768
143, -1, -1, -1, -1, -1, 149, 150, 151, 152,
5769
-1, -1, 155, 156, -1, -1, -1, -1, -1, -1,
5770
-1, -1, -1, -1, -1, 168, -1, -1, -1, 172,
5771
-1, -1, 175, -1, -1, -1, 179, 180, -1, -1,
5772
-1, 184, -1, 186, -1, 188, -1, 190, -1, -1,
5773
-1, -1, -1, 196, 197, -1, 199, 200, 201, 202,
5774
-1, -1, 205, 206, -1, 208, -1, 210, -1, 212,
5775
213, 214, 215, -1, -1, -1, 219, 220, 221, -1,
5776
-1, 224, -1, -1, -1, 228, 229, -1, 231, 232,
5777
233, 234, -1, -1, -1, -1, -1, -1, -1, -1,
5778
243, 244, 245, -1, -1, 248, -1, 250, 251, 252,
5779
253, -1, -1, 256, -1, -1, -1, 260, -1, -1,
5780
-1, 264, -1, -1, -1, 268, -1, 270, -1, -1,
5781
273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
5782
-1, -1, -1, 286, 287, 288, 289, -1, -1, -1,
5783
293, -1, 295, 296, 297, -1, -1, -1, -1, -1,
5784
303, -1, -1, -1, -1, 308, 309, -1, -1, 312,
5785
313, -1, -1, 316, 317, 318, -1, -1, 321, 322,
5786
323, -1, 325, 326, -1, -1, 329, -1, 331, 332,
5787
-1, 334, 335, 336, -1, -1, 339, -1, -1, 342,
5788
343, 344, -1, 346, 347, -1, -1, -1, 351, -1,
5789
-1, -1, 355, -1, -1, -1, -1, -1, 361, -1,
5790
-1, 364, -1, -1, -1, 368, 369, -1, -1, -1,
5791
-1, 374, -1, -1, -1, 378, 4, -1, 6, 7,
5792
8, -1, -1, -1, -1, 13, -1, -1, 391, 17,
5793
18, 19, 20, -1, 22, -1, -1, -1, -1, 27,
5794
-1, 29, 30, 31, 32, -1, 34, -1, 36, -1,
5795
-1, 39, -1, -1, 42, -1, -1, 45, -1, 47,
5796
48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
5797
58, -1, 60, 61, -1, 63, -1, -1, -1, -1,
5798
-1, 69, -1, -1, -1, -1, 74, 75, 76, 77,
5799
-1, -1, 80, -1, -1, -1, -1, 85, 86, -1,
5800
-1, -1, -1, -1, -1, -1, -1, 95, 96, -1,
5801
-1, -1, -1, 101, 102, 103, -1, -1, -1, 107,
5802
-1, 109, 110, -1, 112, 113, -1, -1, 116, -1,
5803
118, 119, -1, 121, -1, -1, -1, 125, 126, 127,
5804
128, -1, 130, -1, -1, -1, 134, 135, -1, 137,
5805
-1, 139, -1, -1, -1, 143, -1, -1, -1, -1,
5806
-1, 149, 150, 151, 152, -1, -1, 155, 156, -1,
5807
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5808
168, -1, -1, -1, 172, -1, -1, 175, -1, -1,
5809
-1, 179, 180, -1, -1, -1, 184, -1, 186, -1,
5810
188, -1, 190, -1, -1, -1, -1, -1, 196, 197,
5811
-1, 199, 200, 201, 202, -1, -1, 205, 206, -1,
5812
208, -1, 210, -1, 212, 213, 214, 215, -1, -1,
5813
-1, 219, 220, 221, -1, -1, 224, -1, -1, -1,
5814
228, 229, -1, 231, 232, 233, 234, -1, -1, -1,
5815
-1, -1, -1, -1, -1, 243, 244, 245, -1, -1,
5816
248, -1, 250, 251, 252, 253, -1, -1, 256, -1,
5817
-1, -1, 260, -1, -1, -1, 264, -1, -1, -1,
5818
268, -1, 270, -1, -1, 273, 274, 275, 276, 277,
5819
278, 279, -1, 281, 282, -1, -1, -1, 286, 287,
5820
288, 289, -1, -1, -1, 293, -1, 295, 296, 297,
5821
-1, -1, -1, -1, -1, 303, -1, -1, -1, -1,
5822
308, 309, -1, -1, 312, 313, -1, -1, 316, 317,
5823
318, -1, -1, 321, 322, 323, -1, 325, 326, -1,
5824
-1, 329, -1, 331, 332, -1, 334, 335, 336, -1,
5825
-1, 339, -1, -1, 342, 343, 344, -1, 346, 347,
5826
-1, -1, -1, 351, -1, -1, -1, 355, -1, -1,
5827
-1, -1, -1, 361, -1, -1, 364, -1, -1, -1,
5828
368, 369, -1, -1, -1, -1, 374, -1, -1, -1,
5829
378, 4, -1, 6, 7, 8, -1, -1, -1, -1,
5830
13, -1, -1, 391, 17, 18, 19, 20, -1, 22,
5831
-1, -1, -1, -1, 27, -1, 29, 30, 31, 32,
5832
-1, 34, -1, 36, -1, -1, 39, -1, -1, 42,
5833
-1, -1, 45, -1, 47, 48, -1, 50, 51, -1,
5834
53, 54, 55, 56, 57, 58, -1, 60, 61, -1,
5835
63, -1, -1, -1, -1, -1, 69, -1, -1, -1,
5836
-1, 74, 75, 76, 77, -1, -1, 80, -1, -1,
5837
-1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
5838
-1, -1, 95, 96, -1, -1, -1, -1, 101, 102,
5839
103, -1, -1, -1, 107, -1, 109, 110, -1, 112,
5840
113, -1, -1, 116, -1, 118, 119, -1, 121, -1,
5841
-1, -1, 125, 126, 127, 128, -1, 130, -1, -1,
5842
-1, 134, 135, -1, 137, -1, 139, -1, -1, -1,
5843
143, -1, -1, -1, -1, -1, 149, 150, 151, 152,
5844
-1, -1, 155, 156, -1, -1, -1, -1, -1, -1,
5845
-1, -1, -1, -1, -1, 168, -1, -1, -1, 172,
5846
-1, -1, 175, -1, -1, -1, 179, -1, -1, -1,
5847
-1, 184, -1, 186, -1, 188, -1, 190, -1, -1,
5848
-1, -1, -1, 196, 197, -1, 199, 200, 201, 202,
5849
-1, -1, 205, 206, -1, 208, -1, 210, -1, 212,
5850
213, 214, 215, -1, -1, -1, 219, 220, 221, -1,
5851
-1, 224, -1, -1, -1, 228, 229, -1, 231, 232,
5852
233, 234, -1, -1, -1, -1, -1, -1, -1, -1,
5853
243, 244, 245, -1, -1, 248, -1, 250, 251, 252,
5854
253, -1, -1, 256, -1, -1, -1, 260, -1, -1,
5855
-1, 264, -1, -1, -1, 268, -1, 270, -1, -1,
5856
273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
5857
-1, -1, -1, 286, 287, 288, 289, -1, -1, -1,
5858
293, -1, 295, 296, 297, -1, -1, -1, -1, -1,
5859
303, -1, -1, -1, -1, 308, 309, -1, -1, 312,
5860
313, -1, -1, 316, 317, 318, -1, -1, 321, 322,
5861
323, -1, 325, 326, -1, -1, 329, -1, -1, 332,
5862
-1, 334, 335, 336, -1, -1, 339, -1, -1, 342,
5863
343, 344, -1, 346, 347, -1, -1, -1, 351, -1,
5864
-1, -1, 355, -1, -1, -1, -1, -1, 361, -1,
5865
-1, 364, -1, -1, -1, 368, 369, -1, -1, -1,
5866
-1, 374, -1, -1, -1, 378, 4, -1, 6, 7,
5867
8, -1, 385, -1, -1, 13, -1, 390, 391, 17,
5868
18, 19, 20, -1, 22, -1, -1, -1, -1, 27,
5869
-1, 29, 30, 31, 32, -1, 34, -1, 36, -1,
5870
-1, 39, -1, -1, 42, -1, -1, 45, -1, 47,
5871
48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
5872
58, -1, 60, 61, -1, 63, -1, -1, -1, -1,
5873
-1, 69, -1, -1, -1, -1, 74, 75, 76, 77,
5874
-1, -1, 80, -1, -1, -1, -1, 85, 86, -1,
5875
-1, -1, -1, -1, -1, -1, -1, 95, 96, -1,
5876
-1, -1, -1, 101, 102, 103, -1, -1, -1, 107,
5877
-1, 109, 110, -1, 112, 113, -1, -1, 116, -1,
5878
118, 119, -1, 121, -1, -1, -1, 125, 126, 127,
5879
128, -1, 130, -1, -1, -1, 134, 135, -1, 137,
5880
-1, 139, -1, -1, -1, 143, -1, -1, -1, -1,
5881
-1, 149, 150, 151, 152, -1, -1, 155, 156, -1,
5882
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
5883
168, -1, -1, -1, 172, -1, -1, 175, -1, -1,
5884
-1, 179, -1, -1, -1, -1, 184, -1, 186, -1,
5885
188, -1, 190, -1, -1, -1, -1, -1, 196, 197,
5886
-1, 199, 200, 201, 202, -1, -1, 205, 206, -1,
5887
208, -1, 210, -1, 212, 213, 214, 215, -1, -1,
5888
-1, 219, 220, 221, -1, -1, 224, -1, -1, -1,
5889
228, 229, -1, 231, 232, 233, 234, -1, -1, -1,
5890
-1, -1, -1, -1, -1, 243, 244, 245, -1, -1,
5891
248, -1, 250, 251, 252, 253, -1, -1, 256, -1,
5892
-1, -1, 260, -1, -1, -1, 264, -1, -1, -1,
5893
268, -1, 270, -1, -1, 273, 274, 275, 276, 277,
5894
278, 279, -1, 281, 282, -1, -1, -1, 286, 287,
5895
288, 289, -1, -1, -1, 293, -1, 295, 296, 297,
5896
-1, -1, -1, -1, -1, 303, -1, -1, -1, -1,
5897
308, 309, -1, -1, 312, 313, -1, -1, 316, 317,
5898
318, -1, -1, 321, 322, 323, -1, 325, 326, -1,
5899
-1, 329, -1, -1, 332, -1, 334, 335, 336, -1,
5900
-1, 339, -1, -1, 342, 343, 344, -1, 346, 347,
5901
-1, -1, -1, 351, -1, -1, -1, 355, -1, -1,
5902
-1, -1, -1, 361, -1, -1, 364, -1, -1, -1,
5903
368, 369, -1, -1, -1, -1, 374, -1, -1, -1,
5904
378, 4, -1, 6, 7, 8, -1, -1, -1, -1,
5905
13, -1, 390, 391, 17, 18, 19, 20, -1, 22,
5906
-1, -1, -1, -1, 27, -1, 29, 30, 31, 32,
5907
-1, 34, -1, 36, -1, -1, 39, -1, -1, 42,
5908
-1, -1, 45, -1, 47, 48, -1, 50, 51, -1,
5909
53, 54, 55, 56, 57, 58, -1, 60, 61, 62,
5910
63, -1, -1, -1, -1, -1, 69, -1, -1, -1,
5911
-1, 74, 75, 76, 77, -1, -1, 80, -1, -1,
5912
-1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
5913
-1, -1, 95, 96, -1, -1, -1, -1, 101, 102,
5914
103, -1, -1, -1, 107, -1, 109, 110, -1, 112,
5915
113, -1, -1, 116, -1, 118, 119, -1, 121, -1,
5916
-1, -1, 125, 126, 127, 128, -1, 130, -1, -1,
5917
-1, 134, 135, -1, 137, -1, 139, -1, -1, -1,
5918
143, -1, -1, -1, -1, -1, 149, 150, 151, 152,
5919
-1, -1, 155, 156, 157, -1, -1, -1, -1, -1,
5920
-1, -1, -1, -1, -1, 168, -1, -1, -1, 172,
5921
173, -1, 175, -1, -1, -1, 179, -1, 181, -1,
5922
-1, 184, -1, 186, -1, 188, -1, 190, -1, -1,
5923
-1, -1, -1, 196, 197, -1, 199, 200, 201, 202,
5924
-1, -1, 205, 206, -1, 208, -1, 210, -1, 212,
5925
213, 214, 215, -1, -1, -1, 219, 220, 221, -1,
5926
-1, 224, -1, -1, -1, 228, 229, -1, 231, 232,
5927
233, 234, -1, -1, -1, -1, -1, -1, -1, -1,
5928
243, 244, 245, -1, -1, 248, -1, 250, 251, 252,
5929
253, -1, -1, 256, -1, -1, -1, 260, -1, -1,
5930
-1, 264, -1, -1, -1, 268, -1, 270, -1, -1,
5931
273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
5932
283, -1, -1, 286, 287, 288, 289, -1, -1, -1,
5933
293, -1, 295, 296, 297, -1, -1, -1, -1, -1,
5934
303, -1, -1, -1, -1, 308, 309, -1, -1, 312,
5935
313, -1, -1, 316, 317, 318, -1, -1, 321, 322,
5936
323, -1, 325, 326, -1, -1, 329, -1, -1, 332,
5937
-1, 334, 335, 336, -1, -1, 339, -1, -1, 342,
5938
343, 344, -1, 346, 347, -1, -1, -1, 351, -1,
5939
-1, -1, 355, -1, -1, -1, -1, -1, 361, -1,
5940
-1, 364, -1, -1, -1, 368, 369, -1, -1, -1,
5941
4, 374, 6, 7, 8, 378, -1, -1, -1, 13,
5942
-1, -1, -1, 17, 18, 19, 20, 390, 22, -1,
5943
-1, -1, -1, 27, -1, 29, 30, 31, 32, -1,
5944
34, -1, 36, -1, -1, 39, -1, -1, 42, -1,
5945
-1, 45, -1, 47, 48, -1, 50, 51, -1, 53,
5946
54, 55, 56, 57, 58, -1, 60, 61, 62, 63,
5947
-1, -1, -1, -1, -1, 69, -1, -1, -1, -1,
5948
74, 75, 76, 77, -1, -1, 80, -1, -1, -1,
5949
-1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
5950
-1, 95, 96, -1, -1, -1, -1, 101, 102, 103,
5951
-1, -1, -1, 107, -1, 109, 110, -1, 112, 113,
5952
-1, -1, 116, -1, 118, 119, -1, 121, -1, -1,
5953
-1, 125, 126, 127, 128, -1, 130, -1, -1, -1,
5954
134, 135, -1, 137, -1, 139, -1, -1, -1, 143,
5955
-1, -1, -1, -1, -1, 149, 150, 151, 152, -1,
5956
-1, 155, 156, 157, -1, -1, -1, -1, -1, -1,
5957
-1, -1, -1, -1, 168, -1, -1, -1, 172, 173,
5958
-1, 175, -1, -1, -1, 179, -1, -1, -1, -1,
5959
184, -1, 186, -1, 188, -1, 190, -1, -1, -1,
5960
-1, -1, 196, 197, -1, 199, 200, 201, 202, -1,
5961
-1, 205, 206, -1, 208, -1, 210, -1, 212, 213,
5962
214, 215, -1, -1, -1, 219, 220, 221, -1, -1,
5963
224, -1, -1, -1, 228, 229, -1, 231, 232, 233,
5964
234, -1, -1, -1, -1, -1, -1, -1, -1, 243,
5965
244, 245, -1, -1, 248, -1, 250, 251, 252, 253,
5966
-1, -1, 256, -1, -1, -1, 260, -1, -1, -1,
5967
264, -1, -1, -1, 268, -1, 270, -1, -1, 273,
5968
274, 275, 276, 277, 278, 279, -1, 281, 282, -1,
5969
-1, -1, 286, 287, 288, 289, -1, -1, -1, 293,
5970
-1, 295, 296, 297, -1, -1, -1, -1, -1, 303,
5971
-1, -1, -1, -1, 308, 309, -1, -1, 312, 313,
5972
-1, -1, 316, 317, 318, -1, -1, 321, 322, 323,
5973
-1, 325, 326, -1, -1, 329, -1, -1, 332, -1,
5974
334, 335, 336, -1, -1, 339, -1, -1, 342, 343,
5975
344, -1, 346, 347, -1, -1, -1, 351, -1, -1,
5976
-1, 355, -1, -1, -1, -1, -1, 361, -1, -1,
5977
364, -1, -1, -1, 368, 369, -1, -1, -1, 4,
5978
374, 6, 7, 8, 378, -1, -1, -1, 13, -1,
5979
-1, -1, 17, 18, 19, 20, 390, 22, -1, -1,
5980
-1, -1, 27, -1, 29, 30, 31, 32, -1, 34,
5981
-1, 36, -1, -1, 39, -1, -1, 42, -1, -1,
5982
45, -1, 47, 48, -1, 50, 51, -1, 53, 54,
5983
55, 56, 57, 58, -1, 60, 61, -1, 63, -1,
5984
-1, -1, -1, -1, 69, -1, -1, -1, -1, 74,
5985
75, 76, 77, -1, -1, 80, -1, -1, -1, -1,
5986
85, 86, -1, -1, -1, -1, -1, -1, -1, -1,
5987
95, 96, -1, -1, -1, -1, 101, 102, 103, -1,
5988
-1, -1, 107, -1, 109, 110, -1, 112, 113, -1,
5989
-1, 116, -1, 118, 119, -1, 121, -1, -1, -1,
5990
125, 126, 127, 128, -1, 130, -1, -1, -1, 134,
5991
135, -1, 137, -1, 139, -1, -1, -1, 143, -1,
5992
-1, -1, -1, -1, 149, 150, 151, 152, -1, -1,
5993
155, 156, -1, -1, -1, -1, -1, -1, -1, -1,
5994
-1, -1, -1, 168, -1, -1, -1, 172, -1, -1,
5995
175, -1, -1, -1, 179, -1, -1, -1, -1, 184,
5996
-1, 186, -1, 188, -1, 190, -1, -1, -1, -1,
5997
-1, 196, 197, -1, 199, 200, 201, 202, -1, -1,
5998
205, 206, -1, 208, -1, 210, -1, 212, 213, 214,
5999
215, -1, -1, -1, 219, 220, 221, -1, -1, 224,
6000
-1, -1, -1, 228, 229, -1, 231, 232, 233, 234,
6001
-1, -1, -1, -1, -1, -1, -1, -1, 243, 244,
6002
245, -1, -1, 248, -1, 250, 251, 252, 253, -1,
6003
-1, 256, -1, -1, -1, 260, -1, -1, -1, 264,
6004
-1, -1, -1, 268, -1, 270, -1, -1, 273, 274,
6005
275, 276, 277, 278, 279, -1, 281, 282, 283, -1,
6006
-1, 286, 287, 288, 289, -1, -1, -1, 293, -1,
6007
295, 296, 297, -1, -1, -1, -1, -1, 303, -1,
6008
-1, -1, -1, 308, 309, -1, -1, 312, 313, -1,
6009
-1, 316, 317, 318, -1, -1, 321, 322, 323, -1,
6010
325, 326, -1, -1, 329, -1, -1, 332, -1, 334,
6011
335, 336, -1, -1, 339, -1, -1, 342, 343, 344,
6012
-1, 346, 347, -1, -1, -1, 351, -1, -1, -1,
6013
355, -1, -1, -1, -1, -1, 361, -1, -1, 364,
6014
-1, -1, -1, 368, 369, -1, -1, -1, 4, 374,
6015
6, 7, 8, 378, -1, -1, -1, 13, -1, -1,
6016
385, 17, 18, 19, 20, 390, 22, -1, -1, -1,
6017
-1, 27, -1, 29, 30, 31, 32, -1, 34, -1,
6018
36, -1, -1, 39, -1, -1, 42, -1, -1, 45,
6019
-1, 47, 48, -1, 50, 51, -1, 53, 54, 55,
6020
56, 57, 58, -1, 60, 61, -1, 63, -1, -1,
6021
-1, -1, -1, 69, -1, -1, -1, -1, 74, 75,
6022
76, 77, -1, -1, 80, -1, -1, -1, -1, 85,
6023
86, -1, -1, -1, -1, -1, -1, -1, -1, 95,
6024
96, -1, -1, -1, -1, 101, 102, 103, -1, -1,
6025
-1, 107, -1, 109, 110, -1, 112, 113, -1, -1,
6026
116, -1, 118, 119, -1, 121, -1, -1, -1, 125,
6027
126, 127, 128, -1, 130, -1, -1, -1, 134, 135,
6028
-1, 137, -1, 139, -1, -1, -1, 143, -1, -1,
6029
-1, -1, -1, 149, 150, 151, 152, -1, -1, 155,
6030
156, -1, -1, -1, -1, -1, -1, -1, 164, -1,
6031
-1, -1, 168, -1, -1, -1, 172, -1, -1, 175,
6032
-1, -1, -1, 179, -1, -1, -1, -1, 184, -1,
6033
186, -1, 188, -1, 190, -1, -1, -1, -1, -1,
6034
196, 197, -1, 199, 200, 201, 202, -1, -1, 205,
6035
206, -1, 208, -1, 210, -1, 212, 213, 214, 215,
6036
-1, -1, -1, 219, 220, 221, -1, -1, 224, -1,
6037
-1, -1, 228, 229, -1, 231, 232, 233, 234, -1,
6038
-1, -1, -1, -1, -1, -1, -1, 243, 244, 245,
6039
-1, -1, 248, -1, 250, 251, 252, 253, -1, -1,
6040
256, -1, -1, -1, 260, -1, -1, -1, 264, -1,
6041
-1, -1, 268, -1, 270, -1, -1, 273, 274, 275,
6042
276, 277, 278, 279, -1, 281, 282, -1, -1, -1,
6043
286, 287, 288, 289, -1, -1, -1, 293, -1, 295,
6044
296, 297, -1, -1, -1, -1, -1, 303, -1, -1,
6045
-1, -1, 308, 309, -1, -1, 312, 313, -1, -1,
6046
316, 317, 318, -1, -1, 321, 322, 323, -1, 325,
6047
326, -1, -1, 329, -1, -1, 332, -1, 334, 335,
6048
336, -1, -1, 339, -1, -1, 342, 343, 344, -1,
6049
346, 347, -1, -1, -1, 351, -1, -1, -1, 355,
6050
-1, -1, -1, -1, -1, 361, -1, -1, 364, -1,
6051
-1, -1, 368, 369, -1, -1, -1, 4, 374, 6,
6052
7, 8, 378, -1, -1, -1, 13, -1, -1, -1,
6053
17, 18, 19, 20, 390, 22, -1, -1, -1, -1,
6054
27, -1, 29, 30, 31, 32, -1, 34, -1, 36,
6055
-1, -1, 39, -1, -1, 42, -1, -1, 45, -1,
6056
47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
6057
57, 58, -1, 60, 61, -1, 63, -1, -1, -1,
6058
-1, -1, 69, -1, -1, -1, -1, 74, 75, 76,
6059
77, -1, -1, 80, -1, -1, -1, -1, 85, 86,
6060
-1, -1, -1, -1, -1, -1, -1, -1, 95, 96,
6061
-1, -1, -1, -1, 101, 102, 103, -1, -1, -1,
6062
107, -1, 109, 110, -1, 112, 113, -1, -1, 116,
6063
-1, 118, 119, -1, 121, -1, -1, -1, 125, 126,
6064
127, 128, -1, 130, -1, -1, -1, 134, 135, -1,
6065
137, -1, 139, -1, -1, -1, 143, -1, -1, -1,
6066
-1, -1, 149, 150, 151, 152, -1, -1, 155, 156,
6067
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6068
-1, 168, -1, -1, -1, 172, -1, -1, 175, -1,
6069
-1, -1, 179, -1, -1, -1, -1, 184, -1, 186,
6070
-1, 188, -1, 190, -1, -1, -1, -1, -1, 196,
6071
197, -1, 199, 200, 201, 202, -1, -1, 205, 206,
6072
-1, 208, -1, 210, -1, 212, 213, 214, 215, -1,
6073
-1, -1, 219, 220, 221, -1, -1, 224, -1, -1,
6074
-1, 228, 229, -1, 231, 232, 233, 234, -1, -1,
6075
-1, -1, -1, -1, -1, -1, 243, 244, 245, -1,
6076
-1, 248, -1, 250, 251, 252, 253, -1, -1, 256,
6077
-1, -1, -1, 260, -1, -1, -1, 264, -1, -1,
6078
-1, 268, -1, 270, -1, -1, 273, 274, 275, 276,
6079
277, 278, 279, -1, 281, 282, -1, -1, -1, 286,
6080
287, 288, 289, -1, -1, -1, 293, -1, 295, 296,
6081
297, -1, -1, -1, -1, -1, 303, -1, -1, -1,
6082
-1, 308, 309, -1, -1, 312, 313, -1, -1, 316,
6083
317, 318, -1, -1, 321, 322, 323, -1, 325, 326,
6084
-1, -1, 329, -1, -1, 332, -1, 334, 335, 336,
6085
-1, -1, 339, -1, -1, 342, 343, 344, -1, 346,
6086
347, -1, -1, -1, 351, -1, -1, -1, 355, -1,
6087
-1, -1, -1, -1, 361, -1, -1, 364, -1, -1,
6088
-1, 368, 369, -1, -1, -1, 4, 374, 6, 7,
6089
8, 378, -1, -1, -1, 13, -1, 384, -1, 17,
6090
18, 19, 20, 390, 22, -1, -1, -1, -1, 27,
6091
-1, 29, 30, 31, 32, -1, 34, -1, 36, -1,
6092
-1, 39, -1, -1, 42, -1, -1, 45, -1, 47,
6093
48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
6094
58, -1, 60, 61, -1, 63, -1, -1, -1, -1,
6095
-1, 69, -1, -1, -1, -1, 74, 75, 76, 77,
6096
-1, -1, 80, -1, -1, -1, -1, 85, 86, -1,
6097
-1, -1, -1, -1, -1, -1, -1, 95, 96, -1,
6098
-1, -1, -1, 101, 102, 103, -1, -1, -1, 107,
6099
-1, 109, 110, -1, 112, 113, -1, -1, 116, -1,
6100
118, 119, -1, 121, -1, -1, -1, 125, 126, 127,
6101
128, -1, 130, -1, -1, -1, 134, 135, -1, 137,
6102
-1, 139, -1, -1, -1, 143, -1, -1, -1, -1,
6103
-1, 149, 150, 151, 152, -1, -1, 155, 156, -1,
6104
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6105
168, -1, -1, -1, 172, -1, -1, 175, -1, -1,
6106
-1, 179, -1, -1, -1, -1, 184, -1, 186, -1,
6107
188, -1, 190, -1, -1, -1, -1, -1, 196, 197,
6108
-1, 199, 200, 201, 202, -1, -1, 205, 206, -1,
6109
208, -1, 210, -1, 212, 213, 214, 215, -1, -1,
6110
-1, 219, 220, 221, -1, -1, 224, -1, -1, -1,
6111
228, 229, -1, 231, 232, 233, 234, -1, -1, -1,
6112
-1, -1, -1, -1, -1, 243, 244, 245, -1, -1,
6113
248, -1, 250, 251, 252, 253, -1, -1, 256, -1,
6114
-1, -1, 260, -1, -1, -1, 264, -1, -1, -1,
6115
268, -1, 270, -1, -1, 273, 274, 275, 276, 277,
6116
278, 279, -1, 281, 282, -1, -1, -1, 286, 287,
6117
288, 289, -1, -1, -1, 293, -1, 295, 296, 297,
6118
-1, -1, -1, -1, -1, 303, -1, -1, -1, -1,
6119
308, 309, -1, -1, 312, 313, -1, -1, 316, 317,
6120
318, -1, -1, 321, 322, 323, -1, 325, 326, -1,
6121
-1, 329, -1, -1, 332, -1, 334, 335, 336, -1,
6122
-1, 339, -1, -1, 342, 343, 344, -1, 346, 347,
6123
-1, -1, -1, 351, -1, -1, -1, 355, -1, -1,
6124
-1, -1, -1, 361, -1, -1, 364, -1, -1, -1,
6125
368, 369, -1, -1, -1, 4, 374, 6, 7, 8,
6126
378, -1, -1, -1, 13, -1, -1, -1, 17, 18,
6127
19, 20, 390, 22, -1, -1, -1, -1, 27, -1,
6128
29, 30, 31, 32, -1, 34, -1, 36, -1, -1,
6129
39, -1, -1, 42, -1, -1, 45, -1, 47, 48,
6130
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
6131
-1, 60, 61, -1, 63, -1, -1, -1, -1, -1,
6132
69, -1, -1, -1, -1, 74, 75, 76, 77, -1,
6133
-1, 80, -1, -1, -1, -1, 85, 86, -1, -1,
6134
-1, -1, -1, -1, -1, -1, 95, 96, -1, -1,
6135
-1, -1, 101, 102, 103, -1, -1, -1, 107, -1,
6136
109, 110, -1, 112, 113, -1, -1, 116, -1, 118,
6137
119, -1, 121, -1, -1, -1, 125, 126, 127, 128,
6138
-1, 130, -1, -1, -1, 134, 135, -1, 137, -1,
6139
139, -1, -1, -1, 143, -1, -1, -1, -1, -1,
6140
149, 150, 151, 152, -1, -1, 155, 156, -1, -1,
6141
-1, -1, -1, -1, -1, -1, -1, -1, -1, 168,
6142
-1, -1, -1, 172, -1, -1, 175, -1, -1, -1,
6143
179, -1, -1, -1, -1, 184, -1, 186, -1, 188,
6144
-1, 190, -1, -1, -1, -1, -1, 196, 197, -1,
6145
199, 200, 201, 202, -1, -1, 205, 206, -1, 208,
6146
-1, 210, -1, 212, 213, 214, 215, -1, -1, -1,
6147
219, 220, 221, -1, -1, 224, -1, -1, -1, 228,
6148
229, -1, 231, 232, 233, 234, -1, -1, -1, -1,
6149
-1, -1, -1, -1, 243, 244, 245, -1, -1, 248,
6150
-1, 250, 251, 252, 253, -1, -1, 256, -1, -1,
6151
-1, 260, -1, -1, -1, 264, -1, -1, -1, 268,
6152
-1, 270, -1, -1, 273, 274, 275, 276, 277, 278,
6153
279, -1, 281, 282, -1, -1, -1, 286, 287, 288,
6154
289, -1, -1, -1, 293, -1, 295, 296, 297, -1,
6155
-1, -1, -1, -1, 303, -1, -1, -1, -1, 308,
6156
309, -1, -1, 312, 313, -1, -1, 316, 317, 318,
6157
-1, -1, 321, 322, 323, -1, 325, 326, -1, -1,
6158
329, -1, -1, 332, -1, 334, 335, 336, -1, -1,
6159
339, -1, -1, 342, 343, 344, -1, 346, 347, -1,
6160
-1, -1, 351, -1, -1, -1, 355, -1, -1, -1,
6161
-1, -1, 361, -1, -1, 364, -1, -1, -1, 368,
6162
369, -1, -1, -1, 4, 374, 6, 7, 8, 378,
6163
-1, -1, -1, 13, -1, -1, -1, 17, 18, 19,
6164
20, 390, 22, -1, -1, -1, -1, 27, -1, 29,
6165
30, 31, 32, -1, 34, -1, 36, -1, -1, 39,
6166
-1, -1, 42, -1, -1, 45, -1, 47, 48, -1,
6167
50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
6168
60, 61, -1, 63, -1, -1, -1, -1, -1, 69,
6169
-1, -1, -1, -1, 74, 75, 76, 77, -1, -1,
6170
80, -1, -1, -1, -1, 85, 86, -1, -1, -1,
6171
-1, -1, -1, -1, -1, 95, 96, -1, -1, -1,
6172
-1, 101, 102, 103, -1, -1, -1, 107, -1, 109,
6173
110, -1, 112, 113, -1, -1, 116, -1, 118, 119,
6174
-1, 121, -1, -1, -1, 125, 126, 127, 128, -1,
6175
130, -1, -1, -1, 134, 135, -1, 137, -1, 139,
6176
-1, -1, -1, 143, -1, -1, -1, -1, -1, 149,
6177
150, 151, 152, -1, -1, 155, 156, -1, -1, -1,
6178
-1, -1, -1, -1, -1, -1, -1, -1, 168, -1,
6179
-1, -1, 172, -1, -1, 175, -1, -1, -1, 179,
6180
-1, -1, -1, -1, 184, -1, 186, -1, 188, -1,
6181
190, -1, -1, -1, -1, -1, 196, 197, -1, 199,
6182
200, 201, 202, -1, -1, 205, 206, -1, 208, -1,
6183
210, -1, 212, 213, 214, 215, -1, -1, -1, 219,
6184
220, 221, -1, -1, 224, -1, -1, -1, 228, 229,
6185
-1, 231, 232, 233, 234, -1, -1, -1, -1, -1,
6186
-1, -1, -1, 243, 244, 245, -1, -1, 248, -1,
6187
250, 251, 252, 253, -1, -1, 256, -1, -1, -1,
6188
260, -1, -1, -1, 264, -1, -1, -1, 268, -1,
6189
270, -1, -1, 273, 274, 275, 276, 277, 278, 279,
6190
-1, 281, 282, -1, -1, -1, 286, 287, 288, 289,
6191
-1, -1, -1, 293, -1, 295, 296, 297, -1, -1,
6192
-1, -1, -1, 303, -1, -1, -1, -1, 308, 309,
6193
-1, -1, 312, 313, -1, -1, 316, 317, 318, -1,
6194
-1, 321, 322, 323, -1, 325, 326, -1, -1, 329,
6195
-1, -1, 332, -1, 334, 335, 336, -1, -1, 339,
6196
-1, -1, 342, 343, 344, -1, 346, 347, -1, -1,
6197
-1, 351, -1, -1, -1, 355, -1, -1, -1, -1,
6198
-1, 361, -1, -1, 364, -1, -1, -1, 368, 369,
6199
-1, -1, -1, 4, 374, 6, 7, 8, 378, -1,
6200
-1, -1, 13, -1, -1, -1, 17, 18, 19, 20,
6201
390, 22, -1, -1, -1, -1, 27, -1, 29, 30,
6202
31, 32, -1, 34, -1, 36, -1, -1, 39, -1,
6203
-1, 42, -1, -1, 45, -1, 47, 48, -1, 50,
6204
51, -1, 53, 54, 55, 56, 57, 58, -1, 60,
6205
61, -1, 63, -1, -1, -1, -1, -1, 69, -1,
6206
-1, -1, -1, 74, 75, 76, 77, -1, -1, 80,
6207
-1, -1, -1, -1, 85, 86, -1, -1, -1, -1,
6208
-1, -1, -1, -1, 95, 96, -1, -1, -1, -1,
6209
101, 102, 103, -1, -1, -1, 107, -1, 109, 110,
6210
-1, 112, 113, -1, -1, 116, -1, 118, 119, -1,
6211
121, -1, -1, -1, 125, 126, 127, 128, -1, 130,
6212
-1, -1, -1, 134, 135, -1, 137, -1, 139, -1,
6213
-1, -1, 143, -1, -1, -1, -1, -1, 149, 150,
6214
151, 152, -1, -1, 155, 156, -1, -1, -1, -1,
6215
-1, -1, -1, -1, -1, -1, -1, 168, -1, -1,
6216
-1, 172, -1, -1, 175, -1, -1, -1, 179, -1,
6217
-1, -1, -1, 184, -1, 186, -1, 188, -1, 190,
6218
-1, -1, -1, -1, -1, 196, 197, -1, 199, 200,
6219
201, 202, -1, -1, 205, 206, -1, 208, -1, 210,
6220
-1, 212, 213, 214, 215, -1, -1, -1, 219, 220,
6221
221, -1, -1, 224, -1, -1, -1, 228, 229, -1,
6222
231, 232, 233, 234, -1, -1, -1, -1, -1, -1,
6223
-1, -1, 243, 244, 245, -1, -1, 248, -1, 250,
6224
251, 252, 253, -1, -1, 256, -1, -1, -1, 260,
6225
-1, -1, -1, 264, -1, -1, -1, 268, -1, 270,
6226
-1, -1, 273, 274, 275, 276, 277, 278, 279, -1,
6227
281, 282, -1, -1, -1, 286, 287, 288, 289, -1,
6228
-1, -1, 293, -1, 295, 296, 297, -1, -1, -1,
6229
-1, -1, 303, -1, -1, -1, -1, 308, 309, -1,
6230
-1, 312, 313, -1, -1, 316, 317, 318, -1, -1,
6231
321, 322, 323, -1, 325, 326, -1, -1, 329, -1,
6232
-1, 332, -1, 334, 335, 336, -1, -1, 339, -1,
6233
-1, 342, 343, 344, -1, 346, 347, -1, -1, -1,
6234
351, -1, -1, -1, 355, -1, -1, -1, -1, -1,
6235
361, -1, -1, 364, -1, -1, -1, 368, 369, -1,
6236
-1, -1, 4, 374, 6, 7, 8, 378, -1, -1,
6237
-1, 13, -1, -1, -1, 17, 18, 19, 20, 390,
6238
22, -1, -1, -1, -1, 27, -1, 29, 30, 31,
6239
32, -1, 34, -1, 36, -1, -1, 39, -1, -1,
6240
42, -1, -1, 45, -1, 47, 48, -1, 50, 51,
6241
-1, 53, 54, 55, 56, 57, 58, -1, 60, 61,
6242
-1, 63, -1, -1, -1, -1, -1, 69, -1, -1,
6243
-1, -1, 74, 75, 76, 77, -1, -1, 80, -1,
6244
-1, -1, -1, 85, 86, -1, -1, -1, -1, -1,
6245
-1, -1, -1, 95, 96, -1, -1, -1, -1, 101,
6246
102, 103, -1, -1, -1, 107, -1, 109, 110, -1,
6247
112, 113, -1, -1, 116, -1, 118, 119, -1, 121,
6248
-1, -1, -1, 125, 126, 127, 128, -1, 130, -1,
6249
-1, -1, 134, 135, -1, 137, -1, 139, -1, -1,
6250
-1, 143, -1, -1, -1, -1, -1, 149, 150, 151,
6251
152, -1, -1, 155, 156, -1, -1, -1, -1, -1,
6252
-1, -1, -1, -1, -1, -1, 168, -1, -1, -1,
6253
172, -1, -1, 175, -1, -1, -1, 179, -1, -1,
6254
-1, -1, 184, -1, 186, -1, 188, -1, 190, -1,
6255
-1, -1, -1, -1, 196, 197, -1, 199, 200, 201,
6256
202, -1, -1, 205, 206, -1, 208, -1, 210, -1,
6257
212, 213, 214, 215, -1, -1, -1, 219, 220, 221,
6258
-1, -1, 224, -1, -1, -1, 228, 229, -1, 231,
6259
232, 233, 234, -1, -1, -1, -1, -1, -1, -1,
6260
-1, 243, 244, 245, -1, -1, 248, -1, 250, 251,
6261
252, 253, -1, -1, 256, -1, -1, -1, 260, -1,
6262
-1, -1, 264, -1, -1, -1, 268, -1, 270, -1,
6263
-1, 273, 274, 275, 276, 277, 278, 279, -1, 281,
6264
282, -1, -1, -1, 286, 287, 288, 289, -1, -1,
6265
-1, 293, -1, 295, 296, 297, -1, -1, -1, -1,
6266
-1, 303, -1, -1, -1, -1, 308, 309, -1, -1,
6267
312, 313, -1, -1, 316, 317, 318, -1, -1, 321,
6268
322, 323, -1, 325, 326, -1, -1, 329, -1, -1,
6269
332, -1, 334, 335, 336, -1, -1, 339, -1, -1,
6270
342, 343, 344, -1, 346, 347, -1, -1, -1, 351,
6271
-1, -1, -1, 355, -1, -1, -1, -1, -1, 361,
6272
-1, -1, 364, -1, -1, -1, 368, 369, -1, -1,
6273
-1, 4, 374, 6, 7, 8, 378, -1, -1, 381,
6274
13, -1, -1, -1, 17, 18, 19, 20, -1, 22,
6275
-1, -1, -1, -1, 27, -1, 29, 30, 31, 32,
6276
-1, 34, -1, 36, -1, -1, 39, -1, -1, 42,
6277
-1, -1, 45, -1, 47, 48, -1, 50, 51, -1,
6278
53, 54, 55, 56, 57, 58, -1, 60, 61, -1,
6279
63, -1, -1, -1, -1, -1, 69, -1, -1, -1,
6280
-1, 74, 75, 76, 77, -1, -1, 80, -1, -1,
6281
-1, -1, 85, 86, -1, -1, -1, -1, -1, -1,
6282
-1, -1, 95, 96, -1, -1, -1, -1, 101, 102,
6283
103, -1, -1, -1, 107, -1, 109, 110, -1, 112,
6284
113, -1, -1, 116, -1, 118, 119, -1, 121, -1,
6285
-1, -1, 125, 126, 127, 128, -1, 130, -1, -1,
6286
-1, 134, 135, -1, 137, -1, 139, -1, -1, -1,
6287
143, -1, -1, -1, -1, -1, 149, 150, 151, 152,
6288
-1, -1, 155, 156, -1, -1, -1, -1, -1, -1,
6289
-1, -1, -1, -1, -1, 168, -1, -1, -1, 172,
6290
-1, -1, 175, -1, -1, -1, 179, -1, -1, -1,
6291
-1, 184, -1, 186, -1, 188, -1, 190, -1, -1,
6292
-1, -1, -1, 196, 197, -1, 199, 200, 201, 202,
6293
-1, -1, 205, 206, -1, 208, -1, 210, -1, 212,
6294
213, 214, 215, -1, -1, -1, 219, 220, 221, -1,
6295
-1, 224, -1, -1, -1, 228, 229, -1, 231, 232,
6296
233, 234, -1, -1, -1, -1, -1, -1, -1, -1,
6297
243, 244, 245, -1, -1, 248, -1, 250, 251, 252,
6298
253, -1, -1, 256, -1, -1, -1, 260, -1, -1,
6299
-1, 264, -1, -1, -1, 268, -1, 270, -1, -1,
6300
273, 274, 275, 276, 277, 278, 279, -1, 281, 282,
6301
-1, -1, -1, 286, 287, 288, 289, -1, -1, -1,
6302
293, -1, 295, 296, 297, -1, -1, -1, -1, -1,
6303
303, -1, -1, -1, -1, 308, 309, -1, -1, 312,
6304
313, -1, -1, 316, 317, 318, -1, -1, 321, 322,
6305
323, -1, 325, 326, -1, -1, 329, -1, -1, 332,
6306
-1, 334, 335, 336, -1, -1, 339, -1, -1, 342,
6307
343, 344, -1, 346, 347, -1, -1, -1, 351, -1,
6308
-1, -1, 355, -1, -1, -1, -1, -1, 361, -1,
6309
-1, 364, -1, -1, -1, 368, 369, -1, -1, -1,
6310
4, 374, 6, 7, 8, 378, -1, -1, 381, 13,
6311
-1, -1, -1, 17, 18, 19, 20, -1, 22, -1,
6312
-1, -1, 26, 27, -1, 29, 30, 31, 32, -1,
6313
34, -1, 36, -1, -1, 39, -1, -1, 42, -1,
6314
-1, 45, -1, 47, 48, -1, 50, 51, -1, 53,
6315
54, 55, 56, 57, 58, -1, 60, 61, -1, 63,
6316
-1, -1, -1, -1, -1, 69, -1, -1, -1, -1,
6317
74, 75, 76, 77, -1, -1, 80, -1, -1, -1,
6318
-1, 85, 86, -1, -1, -1, -1, -1, -1, -1,
6319
-1, 95, 96, -1, -1, -1, -1, 101, 102, 103,
6320
-1, -1, -1, 107, -1, 109, 110, -1, 112, 113,
6321
-1, -1, 116, -1, 118, 119, -1, 121, -1, -1,
6322
-1, 125, 126, 127, 128, -1, 130, -1, -1, -1,
6323
134, 135, -1, 137, -1, 139, -1, -1, -1, 143,
6324
-1, 145, -1, -1, -1, 149, 150, 151, 152, -1,
6325
-1, 155, 156, -1, -1, -1, -1, -1, -1, -1,
6326
-1, -1, -1, -1, 168, -1, -1, -1, 172, -1,
6327
-1, 175, -1, -1, -1, 179, -1, -1, -1, -1,
6328
184, -1, 186, -1, 188, -1, 190, -1, -1, -1,
6329
-1, -1, 196, 197, -1, 199, 200, 201, 202, -1,
6330
-1, 205, 206, -1, 208, -1, 210, -1, 212, 213,
6331
214, 215, -1, -1, -1, 219, 220, 221, -1, -1,
6332
224, -1, -1, -1, 228, 229, -1, 231, 232, 233,
6333
234, -1, -1, -1, -1, -1, -1, -1, -1, 243,
6334
244, 245, -1, -1, 248, -1, 250, 251, 252, 253,
6335
-1, -1, 256, -1, -1, -1, 260, -1, -1, -1,
6336
264, -1, -1, -1, 268, -1, 270, -1, -1, 273,
6337
274, 275, 276, 277, 278, 279, -1, 281, 282, -1,
6338
-1, -1, 286, 287, 288, 289, -1, -1, -1, 293,
6339
-1, 295, 296, 297, -1, -1, -1, -1, -1, 303,
6340
-1, -1, -1, -1, 308, 309, -1, -1, 312, 313,
6341
-1, -1, 316, 317, 318, -1, -1, 321, 322, 323,
6342
-1, 325, 326, -1, -1, 329, -1, 331, 332, -1,
6343
334, 335, 336, -1, -1, 339, -1, -1, 342, 343,
6344
344, -1, 346, 347, -1, -1, -1, 351, -1, -1,
6345
-1, 355, -1, -1, -1, -1, -1, 361, -1, -1,
6346
364, -1, -1, -1, 368, 369, -1, -1, -1, 4,
6347
374, 6, 7, 8, 378, -1, -1, -1, 13, -1,
6348
-1, -1, 17, 18, 19, 20, -1, 22, -1, -1,
6349
-1, -1, 27, -1, 29, 30, 31, 32, -1, 34,
6350
-1, 36, -1, -1, 39, -1, -1, 42, -1, -1,
6351
45, -1, 47, 48, -1, 50, 51, -1, 53, 54,
6352
55, 56, 57, 58, -1, 60, 61, -1, 63, -1,
6353
-1, -1, -1, -1, 69, -1, -1, -1, -1, 74,
6354
75, 76, 77, -1, -1, 80, -1, -1, -1, -1,
6355
85, 86, -1, -1, -1, 90, -1, -1, -1, -1,
6356
95, 96, -1, -1, -1, -1, 101, 102, 103, -1,
6357
-1, -1, 107, -1, 109, 110, -1, 112, 113, -1,
6358
-1, 116, -1, 118, 119, -1, 121, -1, -1, -1,
6359
125, 126, 127, 128, -1, 130, -1, -1, -1, 134,
6360
135, -1, 137, -1, 139, -1, -1, -1, 143, -1,
6361
-1, -1, -1, -1, 149, 150, 151, 152, -1, -1,
6362
155, 156, -1, -1, -1, -1, -1, -1, -1, -1,
6363
-1, -1, -1, 168, -1, -1, -1, 172, -1, -1,
6364
175, -1, -1, -1, 179, 180, -1, -1, -1, 184,
6365
-1, 186, -1, 188, -1, 190, -1, -1, -1, -1,
6366
-1, 196, 197, -1, 199, 200, 201, 202, -1, -1,
6367
205, 206, -1, 208, -1, 210, -1, 212, 213, 214,
6368
215, -1, -1, -1, 219, 220, 221, -1, -1, 224,
6369
-1, -1, -1, 228, 229, -1, 231, 232, 233, 234,
6370
-1, -1, -1, -1, -1, -1, -1, -1, 243, 244,
6371
245, -1, -1, 248, -1, 250, 251, 252, 253, -1,
6372
-1, 256, -1, -1, -1, 260, -1, -1, -1, 264,
6373
-1, -1, -1, 268, -1, 270, -1, -1, 273, 274,
6374
275, 276, 277, 278, 279, -1, 281, 282, -1, -1,
6375
-1, 286, 287, 288, 289, -1, -1, -1, 293, -1,
6376
295, 296, 297, -1, -1, -1, -1, -1, 303, -1,
6377
-1, -1, -1, 308, 309, -1, -1, 312, 313, -1,
6378
-1, 316, 317, 318, -1, -1, 321, 322, 323, -1,
6379
325, 326, -1, -1, 329, -1, 331, 332, -1, 334,
6380
335, 336, -1, -1, 339, -1, -1, 342, 343, 344,
6381
-1, 346, 347, -1, -1, -1, 351, -1, -1, -1,
6382
355, -1, -1, -1, -1, -1, 361, -1, -1, 364,
6383
-1, -1, -1, 368, 369, -1, -1, -1, 4, 374,
6384
6, 7, 8, 378, -1, -1, -1, 13, -1, -1,
6385
-1, 17, 18, 19, 20, -1, 22, -1, -1, -1,
6386
-1, 27, -1, 29, 30, 31, 32, -1, 34, -1,
6387
36, -1, -1, 39, -1, -1, 42, -1, -1, 45,
6388
-1, 47, 48, -1, 50, 51, -1, 53, 54, 55,
6389
56, 57, 58, -1, 60, 61, -1, 63, -1, -1,
6390
-1, -1, -1, 69, -1, -1, -1, -1, 74, 75,
6391
76, 77, -1, -1, 80, -1, -1, -1, -1, 85,
6392
86, -1, -1, -1, -1, -1, -1, -1, -1, 95,
6393
96, -1, -1, -1, -1, 101, 102, 103, -1, -1,
6394
-1, 107, -1, 109, 110, -1, 112, 113, -1, -1,
6395
116, -1, 118, 119, -1, 121, -1, -1, -1, 125,
6396
126, 127, 128, -1, 130, -1, -1, -1, 134, 135,
6397
-1, 137, -1, 139, -1, -1, -1, 143, -1, -1,
6398
-1, -1, -1, 149, 150, 151, 152, -1, -1, 155,
6399
156, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6400
-1, -1, 168, -1, -1, -1, 172, -1, -1, 175,
6401
-1, -1, -1, 179, 180, -1, -1, -1, 184, -1,
6402
186, -1, 188, -1, 190, -1, -1, -1, -1, -1,
6403
196, 197, -1, 199, 200, 201, 202, -1, -1, 205,
6404
206, -1, 208, -1, 210, -1, 212, 213, 214, 215,
6405
-1, -1, -1, 219, 220, 221, -1, -1, 224, -1,
6406
-1, -1, 228, 229, -1, 231, 232, 233, 234, -1,
6407
-1, -1, -1, -1, -1, -1, -1, 243, 244, 245,
6408
-1, -1, 248, -1, 250, 251, 252, 253, -1, -1,
6409
256, -1, -1, -1, 260, -1, -1, -1, 264, -1,
6410
-1, -1, 268, -1, 270, -1, -1, 273, 274, 275,
6411
276, 277, 278, 279, -1, 281, 282, -1, -1, -1,
6412
286, 287, 288, 289, -1, -1, -1, 293, -1, 295,
6413
296, 297, -1, -1, -1, -1, -1, 303, -1, -1,
6414
-1, -1, 308, 309, -1, -1, 312, 313, -1, -1,
6415
316, 317, 318, -1, -1, 321, 322, 323, -1, 325,
6416
326, -1, -1, 329, -1, 331, 332, -1, 334, 335,
6417
336, -1, -1, 339, -1, -1, 342, 343, 344, -1,
6418
346, 347, -1, -1, -1, 351, -1, -1, -1, 355,
6419
-1, -1, -1, -1, -1, 361, -1, -1, 364, -1,
6420
-1, -1, 368, 369, -1, -1, -1, 4, 374, 6,
6421
7, 8, 378, -1, -1, -1, 13, 14, -1, -1,
6422
17, 18, 19, 20, -1, 22, -1, -1, -1, -1,
6423
27, -1, 29, 30, 31, 32, -1, 34, -1, 36,
6424
-1, -1, 39, -1, -1, 42, -1, -1, 45, -1,
6425
47, 48, -1, 50, 51, -1, 53, 54, 55, 56,
6426
57, 58, -1, 60, 61, -1, 63, -1, -1, -1,
6427
-1, -1, 69, -1, -1, -1, -1, 74, 75, 76,
6428
77, -1, -1, 80, -1, -1, -1, -1, 85, 86,
6429
-1, -1, -1, -1, -1, -1, -1, -1, 95, 96,
6430
-1, -1, -1, -1, 101, 102, 103, -1, -1, -1,
6431
107, -1, 109, 110, -1, 112, 113, -1, -1, 116,
6432
-1, 118, 119, -1, 121, -1, -1, -1, 125, 126,
6433
127, 128, -1, 130, -1, -1, -1, 134, 135, -1,
6434
137, -1, 139, -1, -1, -1, 143, -1, -1, -1,
6435
-1, -1, 149, 150, 151, 152, -1, -1, 155, 156,
6436
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6437
-1, 168, -1, -1, -1, 172, -1, -1, 175, -1,
6438
-1, -1, 179, -1, -1, -1, -1, 184, -1, 186,
6439
-1, 188, -1, 190, -1, -1, -1, -1, -1, 196,
6440
197, -1, 199, 200, 201, 202, -1, -1, 205, 206,
6441
-1, 208, -1, 210, -1, 212, 213, 214, 215, -1,
6442
-1, -1, 219, 220, 221, -1, -1, 224, -1, -1,
6443
-1, 228, 229, -1, 231, 232, 233, 234, -1, -1,
6444
-1, -1, -1, -1, -1, -1, 243, 244, 245, -1,
6445
-1, 248, -1, 250, 251, 252, 253, -1, -1, 256,
6446
-1, -1, -1, 260, -1, -1, -1, 264, -1, -1,
6447
-1, 268, -1, 270, -1, -1, 273, 274, 275, 276,
6448
277, 278, 279, -1, 281, 282, -1, -1, -1, 286,
6449
287, 288, 289, -1, -1, -1, 293, -1, 295, 296,
6450
297, -1, -1, -1, -1, -1, 303, -1, -1, -1,
6451
-1, 308, 309, -1, -1, 312, 313, -1, -1, 316,
6452
317, 318, -1, -1, 321, 322, 323, -1, 325, 326,
6453
-1, -1, 329, -1, 331, 332, -1, 334, 335, 336,
6454
-1, -1, 339, -1, -1, 342, 343, 344, -1, 346,
6455
347, -1, -1, -1, 351, -1, -1, -1, 355, -1,
6456
-1, -1, -1, -1, 361, -1, -1, 364, -1, -1,
6457
-1, 368, 369, -1, -1, -1, 4, 374, 6, 7,
6458
8, 378, -1, -1, -1, 13, -1, -1, -1, 17,
6459
18, 19, 20, -1, 22, -1, -1, -1, -1, 27,
6460
-1, 29, 30, 31, 32, -1, 34, -1, 36, -1,
6461
-1, 39, -1, -1, 42, -1, -1, 45, -1, 47,
6462
48, -1, 50, 51, -1, 53, 54, 55, 56, 57,
6463
58, -1, 60, 61, -1, 63, -1, -1, -1, -1,
6464
-1, 69, -1, -1, -1, -1, 74, 75, 76, 77,
6465
-1, -1, 80, -1, -1, -1, -1, 85, 86, -1,
6466
-1, -1, -1, -1, -1, -1, -1, 95, 96, -1,
6467
-1, -1, -1, 101, 102, 103, -1, -1, -1, 107,
6468
-1, 109, 110, -1, 112, 113, -1, -1, 116, -1,
6469
118, 119, -1, 121, -1, -1, -1, 125, 126, 127,
6470
128, -1, 130, -1, -1, -1, 134, 135, -1, 137,
6471
-1, 139, -1, -1, -1, 143, -1, -1, -1, -1,
6472
-1, 149, 150, 151, 152, -1, -1, 155, 156, -1,
6473
-1, -1, -1, -1, -1, -1, -1, -1, -1, -1,
6474
168, -1, -1, -1, 172, -1, -1, 175, -1, -1,
6475
-1, 179, -1, -1, -1, -1, 184, -1, 186, -1,
6476
188, -1, 190, -1, -1, -1, -1, -1, 196, 197,
6477
-1, 199, 200, 201, 202, -1, -1, 205, 206, -1,
6478
208, -1, 210, -1, 212, 213, 214, 215, -1, -1,
6479
-1, 219, 220, 221, -1, -1, 224, -1, -1, -1,
6480
228, 229, -1, 231, 232, 233, 234, -1, -1, -1,
6481
-1, -1, -1, -1, -1, 243, 244, 245, -1, -1,
6482
248, -1, 250, 251, 252, 253, -1, -1, 256, -1,
6483
-1, -1, 260, -1, -1, -1, 264, -1, -1, -1,
6484
268, -1, 270, -1, -1, 273, 274, 275, 276, 277,
6485
278, 279, -1, 281, 282, -1, -1, -1, 286, 287,
6486
288, 289, -1, -1, -1, 293, -1, 295, 296, 297,
6487
-1, -1, -1, -1, -1, 303, -1, -1, -1, -1,
6488
308, 309, -1, -1, 312, 313, -1, -1, 316, 317,
6489
318, -1, -1, 321, 322, 323, -1, 325, 326, -1,
6490
-1, 329, -1, 331, 332, -1, 334, 335, 336, -1,
6491
-1, 339, -1, -1, 342, 343, 344, -1, 346, 347,
6492
-1, -1, -1, 351, -1, -1, -1, 355, -1, -1,
6493
-1, -1, -1, 361, -1, -1, 364, -1, -1, -1,
6494
368, 369, -1, -1, -1, 4, 374, 6, 7, 8,
6495
378, -1, -1, -1, 13, -1, -1, -1, 17, 18,
6496
19, 20, -1, 22, -1, -1, -1, -1, 27, -1,
6497
29, 30, 31, 32, -1, 34, -1, 36, -1, -1,
6498
39, -1, -1, 42, -1, -1, 45, -1, 47, 48,
6499
-1, 50, 51, -1, 53, 54, 55, 56, 57, 58,
6500
-1, 60, 61, -1, 63, -1, -1, -1, -1, -1,
6501
69, -1, -1, -1, -1, 74, 75, 76, 77, -1,
6502
-1, 80, -1, -1, -1, -1, 85, 86, -1, -1,
6503
-1, -1, -1, -1, -1, -1, 95, 96, -1, -1,
6504
-1, -1, 101, 102, 103, -1, -1, -1, 107, -1,
6505
109, 110, -1, 112, 113, -1, -1, 116, -1, 118,
6506
119, -1, 121, -1, -1, -1, 125, 126, 127, 128,
6507
-1, 130, -1, -1, -1, 134, 135, -1, 137, -1,
6508
139, -1, -1, -1, 143, -1, -1, -1, -1, -1,
6509
149, 150, 151, 152, -1, -1, 155, 156, -1, -1,
6510
-1, -1, -1, -1, -1, -1, -1, -1, -1, 168,
6511
-1, -1, -1, 172, -1, -1, 175, -1, -1, -1,
6512
179, -1, -1, -1, -1, 184, -1, 186, -1, 188,
6513
-1, 190, -1, -1, -1, -1, -1, 196, 197, -1,
6514
199, 200, 201, 202, -1, -1, 205, 206, -1, 208,
6515
-1, 210, -1, 212, 213, 214, 215, -1, -1, -1,
6516
219, 220, 221, -1, -1, 224, -1, -1, -1, 228,
6517
229, -1, 231, 232, 233, 234, -1, -1, -1, -1,
6518
-1, -1, -1, -1, 243, 244, 245, -1, -1, 248,
6519
249, 250, 251, 252, 253, -1, -1, 256, -1, -1,
6520
-1, 260, -1, -1, -1, 264, -1, -1, -1, 268,
6521
-1, 270, -1, -1, 273, 274, 275, 276, 277, 278,
6522
279, -1, 281, 282, -1, -1, -1, 286, 287, 288,
6523
289, -1, -1, -1, 293, -1, 295, 296, 297, -1,
6524
-1, -1, -1, -1, 303, -1, -1, -1, -1, 308,
6525
309, -1, -1, 312, 313, -1, -1, 316, 317, 318,
6526
-1, -1, 321, 322, 323, -1, 325, 326, -1, -1,
6527
329, -1, -1, 332, -1, 334, 335, 336, -1, -1,
6528
339, -1, -1, 342, 343, 344, -1, 346, 347, -1,
6529
-1, -1, 351, -1, -1, -1, 355, -1, -1, -1,
6530
-1, -1, 361, -1, -1, 364, -1, -1, -1, 368,
6531
369, -1, -1, -1, 4, 374, 6, 7, 8, 378,
6532
-1, -1, -1, 13, -1, -1, -1, 17, 18, 19,
6533
20, -1, 22, -1, -1, -1, -1, 27, -1, 29,
6534
30, 31, 32, -1, 34, -1, 36, -1, -1, 39,
6535
-1, -1, 42, -1, -1, 45, -1, 47, 48, -1,
6536
50, 51, -1, 53, 54, 55, 56, 57, 58, -1,
6537
60, 61, -1, 63, -1, -1, -1, -1, -1, 69,
6538
-1, -1, -1, -1, 74, 75, 76, 77, -1, -1,
6539
80, -1, -1, -1, -1, 85, 86, -1, -1, -1,
6540
-1, -1, -1, -1, -1, 95, 96, -1, -1, -1,
6541
-1, 101, 102, 103, -1, -1, -1, 107, -1, 109,
6542
110, -1, 112, 113, -1, -1, 116, -1, 118, 119,
6543
-1, 121, -1, -1, -1, 125, 126, 127, 128, -1,
6544
130, -1, -1, -1, 134, 135, -1, 137, -1, 139,
6545
-1, -1, -1, 143, -1, -1, -1, -1, -1, 149,
6546
150, 151, 152, -1, -1, 155, 156, -1, -1, -1,
6547
-1, -1, -1, -1, -1, -1, -1, -1, 168, -1,
6548
-1, -1, 172, -1, -1, 175, -1, -1, -1, 179,
6549
-1, -1, -1, -1, 184, -1, 186, -1, 188, -1,
6550
190, -1, -1, -1, -1, -1, 196, 197, -1, 199,
6551
200, 201, 202, -1, -1, 205, 206, -1, 208, -1,
6552
210, -1, 212, 213, 214, 215, -1, -1, -1, 219,
6553
220, 221, -1, -1, 224, -1, -1, -1, 228, 229,
6554
-1, 231, 232, 233, 234, -1, -1, -1, -1, -1,
6555
-1, -1, -1, 243, 244, 245, -1, -1, 248, -1,
6556
250, 251, 252, 253, -1, -1, 256, -1, -1, -1,
6557
260, -1, -1, -1, 264, -1, -1, -1, 268, -1,
6558
270, -1, -1, 273, 274, 275, 276, 277, 278, 279,
6559
-1, 281, 282, -1, -1, -1, 286, 287, 288, 289,
6560
-1, -1, -1, 293, -1, 295, 296, 297, -1, -1,
6561
-1, -1, -1, 303, -1, -1, -1, -1, 308, 309,
6562
-1, -1, 312, 313, -1, -1, 316, 317, 318, -1,
6563
-1, 321, 322, 323, -1, 325, 326, -1, -1, 329,
6564
-1, -1, 332, -1, 334, 335, 336, -1, -1, 339,
6565
-1, -1, 342, 343, 344, -1, 346, 347, -1, -1,
6566
-1, 351, -1, -1, -1, 355, -1, -1, -1, -1,
6567
-1, 361, -1, -1, 364, -1, -1, -1, 368, 369,
6568
-1, -1, -1, 4, 374, 6, 7, 8, 378, -1,
6569
-1, -1, 13, -1, -1, -1, 17, 18, 19, 20,
6570
-1, 22, -1, -1, -1, -1, 27, -1, 29, 30,
6571
31, 32, -1, 34, -1, 36, -1, -1, 39, -1,
6572
-1, 42, -1, -1, 45, -1, 47, 48, -1, 50,
6573
51, -1, 53, 54, 55, 56, 57, 58, -1, 60,
6574
61, -1, 63, -1, -1, -1, -1, -1, 69, -1,
6575
-1, -1, -1, 74, 75, 76, 77, -1, -1, 80,
6576
-1, -1, -1, -1, 85, 86, -1, -1, -1, -1,
6577
-1, -1, -1, -1, 95, 96, -1, -1, -1, -1,
6578
101, 102, 103, -1, -1, -1, 107, -1, 109, 110,
6579
-1, 112, 113, -1, -1, 116, -1, 118, 119, -1,
6580
121, -1, -1, -1, 125, 126, 127, 128, -1, 130,
6581
-1, -1, -1, 134, 135, -1, 137, -1, 139, -1,
6582
-1, -1, 143, -1, -1, -1, -1, -1, 149, 150,
6583
151, 152, -1, -1, 155, 156, -1, -1, -1, -1,
6584
-1, -1, -1, -1, -1, -1, -1, 168, -1, -1,
6585
-1, 172, -1, -1, 175, -1, -1, -1, 179, -1,
6586
-1, -1, -1, 184, -1, 186, -1, 188, -1, 190,
6587
-1, -1, -1, -1, -1, 196, 197, -1, 199, 200,
6588
201, 202, -1, -1, 205, 206, -1, 208, -1, 210,
6589
-1, 212, 213, 214, 215, -1, -1, -1, 219, 220,
6590
221, -1, -1, 224, -1, -1, -1, 228, 229, -1,
6591
231, 232, 233, 234, -1, -1, -1, -1, -1, -1,
6592
-1, -1, 243, 244, 245, -1, -1, 248, -1, 250,
6593
251, 252, 253, -1, -1, 256, -1, -1, -1, 260,
6594
-1, -1, -1, 264, -1, -1, -1, 268, -1, 270,
6595
-1, -1, 273, 274, 275, 276, 277, 278, 279, -1,
6596
281, 282, -1, -1, -1, 286, 287, 288, 289, -1,
6597
-1, -1, 293, -1, 295, 296, 297, -1, -1, -1,
6598
-1, -1, 303, -1, -1, -1, -1, 308, 309, -1,
6599
-1, 312, 313, -1, -1, 316, 317, 318, -1, -1,
6600
321, 322, 323, -1, 325, 326, -1, -1, 329, -1,
6601
-1, 332, -1, 334, 335, 336, -1, -1, 339, -1,
6602
-1, 342, 343, 344, -1, 346, 347, -1, -1, -1,
6603
351, -1, -1, -1, 355, -1, -1, -1, -1, -1,
6604
361, -1, -1, 364, -1, -1, -1, 368, 369, -1,
6605
-1, -1, -1, 374, -1, -1, -1, 378
6608
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
6609
symbol of state STATE-NUM. */
6610
static const yytype_uint16 yystos[] =
6612
0, 10, 11, 22, 45, 46, 55, 67, 91, 92,
6613
93, 100, 111, 130, 162, 174, 185, 262, 263, 266,
6614
273, 279, 283, 291, 294, 308, 342, 352, 353, 356,
6615
384, 393, 394, 395, 396, 475, 491, 493, 495, 497,
6616
499, 503, 504, 641, 647, 650, 673, 680, 686, 688,
6617
694, 697, 700, 706, 708, 709, 750, 767, 769, 775,
6618
776, 777, 778, 73, 228, 233, 480, 325, 328, 766,
6619
770, 766, 766, 374, 771, 73, 329, 411, 480, 681,
6620
73, 329, 480, 646, 701, 648, 60, 253, 707, 76,
6621
714, 279, 766, 651, 771, 4, 6, 7, 8, 13,
6622
17, 18, 19, 20, 22, 27, 29, 30, 31, 32,
6623
34, 36, 39, 42, 45, 47, 48, 50, 51, 53,
6624
54, 55, 56, 57, 58, 60, 61, 63, 69, 74,
6625
75, 76, 77, 80, 85, 86, 95, 96, 101, 102,
6626
103, 107, 109, 110, 112, 113, 116, 118, 119, 121,
6627
125, 126, 127, 128, 130, 134, 135, 137, 139, 143,
6628
149, 150, 151, 152, 155, 156, 168, 172, 175, 179,
6629
184, 186, 188, 190, 196, 197, 199, 200, 201, 202,
6630
205, 206, 208, 210, 212, 213, 214, 215, 219, 220,
6631
221, 224, 228, 229, 231, 232, 233, 234, 243, 244,
6632
245, 248, 250, 251, 252, 253, 256, 260, 264, 268,
6633
270, 273, 274, 275, 276, 277, 278, 279, 281, 282,
6634
286, 287, 288, 289, 293, 295, 296, 297, 303, 308,
6635
309, 312, 313, 316, 317, 318, 321, 322, 323, 325,
6636
326, 329, 332, 334, 335, 336, 339, 342, 343, 344,
6637
346, 347, 351, 355, 361, 364, 368, 369, 374, 378,
6638
742, 746, 748, 749, 507, 509, 510, 236, 752, 689,
6639
339, 328, 687, 768, 154, 488, 746, 283, 384, 505,
6640
0, 111, 121, 390, 698, 741, 746, 478, 746, 488,
6641
496, 771, 494, 498, 12, 772, 153, 412, 328, 398,
6642
154, 684, 685, 153, 645, 157, 766, 190, 309, 325,
6643
702, 703, 766, 488, 6, 20, 25, 26, 40, 41,
6644
44, 48, 50, 65, 66, 70, 71, 73, 78, 79,
6645
80, 85, 87, 90, 120, 122, 123, 129, 141, 145,
6646
149, 153, 162, 163, 178, 191, 198, 202, 205, 207,
6647
211, 212, 222, 223, 225, 226, 246, 252, 265, 266,
6648
270, 272, 278, 281, 310, 311, 317, 319, 320, 324,
6649
331, 334, 335, 336, 340, 341, 342, 345, 355, 358,
6650
359, 360, 365, 367, 378, 379, 380, 384, 388, 390,
6651
391, 524, 525, 526, 527, 533, 534, 535, 536, 537,
6652
542, 546, 729, 732, 733, 737, 739, 742, 744, 746,
6653
710, 746, 500, 164, 644, 653, 654, 741, 337, 772,
6654
508, 9, 97, 302, 303, 304, 305, 315, 514, 515,
6655
516, 751, 51, 66, 67, 74, 116, 139, 156, 157,
6656
171, 186, 251, 288, 325, 328, 368, 461, 690, 758,
6657
372, 492, 644, 766, 741, 509, 505, 385, 746, 696,
6658
695, 390, 477, 328, 643, 644, 643, 643, 42, 224,
6659
224, 262, 773, 222, 530, 746, 412, 350, 462, 136,
6660
682, 684, 120, 746, 746, 645, 372, 386, 704, 653,
6661
384, 384, 533, 524, 556, 384, 384, 384, 384, 384,
6662
384, 384, 523, 523, 384, 384, 384, 384, 729, 384,
6663
384, 384, 384, 384, 384, 384, 384, 384, 524, 384,
6664
384, 384, 384, 384, 384, 384, 524, 384, 523, 384,
6665
384, 384, 384, 384, 384, 384, 384, 384, 384, 384,
6666
384, 384, 384, 523, 384, 729, 384, 384, 384, 384,
6667
384, 523, 523, 384, 384, 384, 384, 533, 533, 524,
6668
790, 791, 746, 746, 547, 12, 239, 376, 528, 529,
6669
114, 115, 138, 142, 167, 176, 194, 217, 531, 23,
6670
98, 166, 181, 211, 379, 380, 381, 382, 383, 530,
6671
49, 744, 384, 390, 58, 715, 501, 502, 741, 654,
6672
652, 279, 774, 773, 349, 779, 780, 381, 518, 519,
6673
520, 516, 753, 754, 755, 136, 166, 692, 384, 73,
6674
328, 181, 371, 693, 182, 625, 627, 691, 692, 309,
6675
625, 692, 309, 364, 61, 674, 385, 780, 782, 783,
6676
784, 503, 26, 145, 699, 730, 744, 746, 746, 90,
6677
418, 449, 741, 386, 42, 262, 120, 399, 741, 157,
6678
741, 230, 643, 257, 703, 643, 705, 649, 524, 9,
6679
97, 552, 608, 370, 558, 524, 524, 555, 555, 524,
6680
524, 97, 552, 608, 385, 385, 524, 524, 524, 524,
6681
737, 790, 81, 82, 83, 84, 85, 146, 147, 148,
6682
149, 202, 203, 204, 205, 212, 252, 280, 281, 369,
6683
377, 378, 603, 605, 97, 549, 524, 524, 524, 524,
6684
603, 524, 97, 552, 524, 524, 97, 552, 524, 524,
6685
524, 527, 524, 524, 524, 524, 524, 524, 524, 552,
6686
552, 524, 524, 97, 552, 524, 524, 135, 604, 605,
6687
604, 33, 177, 338, 524, 524, 385, 738, 739, 746,
6688
552, 552, 524, 385, 386, 385, 283, 384, 787, 788,
6689
524, 390, 180, 331, 391, 548, 743, 746, 747, 524,
6690
524, 524, 526, 123, 225, 341, 351, 530, 9, 13,
6691
526, 532, 527, 527, 384, 533, 527, 163, 527, 163,
6692
527, 527, 527, 527, 23, 166, 181, 747, 538, 746,
6693
158, 386, 337, 283, 291, 360, 361, 384, 406, 655,
6694
658, 746, 9, 97, 786, 386, 511, 524, 735, 746,
6695
386, 139, 186, 231, 288, 756, 757, 760, 761, 741,
6696
381, 412, 741, 743, 524, 191, 226, 345, 628, 629,
6697
693, 746, 691, 741, 693, 693, 297, 291, 238, 621,
6698
627, 785, 49, 476, 644, 410, 418, 397, 746, 683,
6699
741, 189, 655, 386, 552, 385, 553, 524, 105, 370,
6700
557, 14, 385, 386, 385, 385, 386, 543, 385, 381,
6701
386, 386, 385, 385, 385, 385, 136, 545, 385, 386,
6702
386, 386, 380, 386, 552, 385, 385, 385, 552, 385,
6703
386, 385, 385, 166, 385, 386, 386, 385, 386, 386,
6704
385, 385, 385, 386, 136, 386, 552, 385, 385, 385,
6705
386, 386, 136, 524, 136, 524, 136, 524, 136, 385,
6706
386, 385, 385, 385, 385, 555, 577, 578, 579, 283,
6707
384, 506, 349, 792, 389, 746, 139, 186, 288, 759,
6708
292, 123, 225, 341, 351, 384, 12, 524, 790, 118,
6709
613, 524, 524, 527, 384, 533, 520, 539, 540, 541,
6710
390, 331, 745, 502, 741, 407, 656, 384, 661, 666,
6711
661, 385, 406, 657, 734, 735, 738, 746, 659, 781,
6712
519, 136, 164, 512, 513, 620, 621, 637, 521, 521,
6713
390, 754, 339, 746, 763, 391, 762, 691, 385, 746,
6714
229, 386, 693, 691, 676, 677, 738, 35, 625, 114,
6715
292, 664, 665, 5, 10, 18, 29, 43, 53, 65,
6716
95, 96, 100, 107, 112, 131, 155, 172, 210, 238,
6717
263, 277, 414, 416, 417, 449, 479, 481, 482, 483,
6718
617, 181, 384, 400, 413, 415, 416, 463, 464, 371,
6719
609, 642, 230, 671, 163, 524, 385, 524, 333, 524,
6720
524, 109, 25, 44, 77, 80, 88, 554, 524, 554,
6721
555, 385, 163, 163, 524, 555, 524, 524, 524, 524,
6722
524, 385, 385, 524, 524, 524, 524, 524, 555, 163,
6723
524, 524, 524, 385, 524, 524, 524, 136, 524, 136,
6724
524, 136, 524, 524, 385, 514, 578, 506, 385, 786,
6725
390, 390, 390, 747, 524, 790, 526, 385, 386, 385,
6726
533, 603, 603, 12, 524, 790, 613, 524, 385, 386,
6727
746, 711, 514, 662, 663, 738, 667, 386, 384, 658,
6728
385, 385, 386, 779, 504, 283, 384, 388, 559, 560,
6729
561, 562, 563, 572, 573, 587, 638, 133, 189, 517,
6730
637, 626, 627, 513, 14, 522, 743, 746, 381, 746,
6731
168, 664, 391, 747, 693, 116, 368, 629, 629, 609,
6732
386, 675, 664, 622, 90, 447, 448, 747, 52, 62,
6733
157, 173, 425, 428, 429, 457, 459, 487, 487, 665,
6734
665, 487, 665, 337, 171, 326, 132, 249, 459, 487,
6735
171, 665, 326, 665, 487, 35, 14, 114, 337, 490,
6736
665, 414, 49, 386, 384, 390, 424, 430, 740, 746,
6737
741, 181, 401, 406, 422, 423, 424, 425, 154, 266,
6738
403, 716, 386, 415, 344, 357, 467, 230, 610, 620,
6739
102, 524, 385, 524, 333, 384, 441, 441, 384, 439,
6740
440, 385, 385, 544, 524, 524, 385, 551, 621, 386,
6741
386, 385, 386, 385, 385, 385, 385, 386, 385, 385,
6742
524, 385, 133, 385, 385, 386, 386, 386, 385, 524,
6743
385, 524, 385, 524, 385, 385, 518, 385, 789, 390,
6744
473, 385, 555, 526, 385, 386, 385, 521, 541, 716,
6745
518, 386, 664, 90, 524, 668, 669, 670, 666, 660,
6746
658, 734, 586, 746, 68, 159, 170, 178, 216, 272,
6747
315, 571, 609, 386, 741, 586, 101, 241, 633, 634,
6748
639, 353, 166, 743, 746, 390, 179, 9, 25, 90,
6749
230, 524, 765, 759, 664, 677, 609, 670, 524, 623,
6750
736, 472, 740, 46, 132, 249, 350, 427, 458, 426,
6751
427, 472, 740, 87, 129, 191, 226, 345, 632, 87,
6752
129, 145, 191, 226, 345, 631, 740, 743, 448, 173,
6753
173, 740, 740, 747, 631, 740, 618, 619, 738, 741,
6754
56, 57, 90, 103, 128, 243, 260, 420, 665, 483,
6755
422, 746, 7, 127, 489, 261, 426, 451, 431, 390,
6756
413, 741, 385, 385, 386, 14, 409, 415, 34, 143,
6757
469, 469, 741, 524, 182, 630, 672, 603, 524, 226,
6758
226, 385, 603, 603, 285, 550, 524, 524, 555, 524,
6759
603, 524, 524, 524, 524, 385, 385, 385, 580, 787,
6760
746, 385, 555, 522, 164, 408, 663, 670, 385, 386,
6761
782, 574, 581, 586, 559, 170, 170, 240, 588, 170,
6762
178, 272, 588, 572, 559, 140, 614, 561, 14, 114,
6763
606, 607, 583, 584, 745, 745, 391, 635, 636, 293,
6764
381, 257, 264, 286, 764, 763, 524, 620, 386, 15,
6765
92, 624, 524, 173, 173, 459, 460, 472, 464, 100,
6766
291, 484, 472, 485, 386, 624, 448, 385, 746, 741,
6767
24, 28, 44, 77, 80, 88, 99, 113, 128, 165,
6768
227, 259, 287, 332, 334, 362, 363, 432, 433, 435,
6769
436, 437, 438, 746, 385, 402, 413, 423, 384, 406,
6770
384, 629, 173, 385, 385, 385, 386, 385, 385, 730,
6771
385, 385, 386, 385, 385, 385, 385, 385, 385, 385,
6772
421, 513, 626, 385, 712, 421, 670, 349, 385, 620,
6773
582, 389, 170, 572, 588, 588, 170, 230, 230, 357,
6774
35, 144, 611, 746, 597, 598, 514, 640, 747, 386,
6775
208, 54, 346, 257, 664, 630, 736, 472, 464, 384,
6776
90, 90, 430, 432, 619, 384, 452, 439, 247, 434,
6777
439, 439, 384, 18, 49, 53, 90, 125, 225, 230,
6778
249, 287, 350, 443, 444, 445, 450, 530, 366, 384,
6779
384, 384, 440, 442, 390, 782, 403, 406, 404, 470,
6780
471, 746, 353, 226, 524, 517, 517, 328, 786, 607,
6781
626, 562, 559, 572, 170, 170, 559, 572, 565, 564,
6782
566, 615, 736, 612, 620, 595, 596, 518, 51, 717,
6783
636, 765, 624, 384, 384, 470, 80, 334, 379, 380,
6784
731, 732, 489, 486, 453, 746, 195, 454, 384, 226,
6785
447, 743, 223, 446, 731, 90, 103, 128, 419, 353,
6786
90, 173, 445, 173, 225, 226, 226, 226, 746, 385,
6787
779, 385, 386, 624, 384, 678, 679, 738, 385, 385,
6788
741, 575, 230, 568, 572, 572, 230, 570, 524, 524,
6789
384, 373, 386, 616, 624, 524, 626, 131, 154, 356,
6790
590, 591, 594, 585, 108, 117, 237, 330, 718, 719,
6791
183, 720, 470, 470, 385, 733, 733, 489, 385, 386,
6792
137, 244, 296, 230, 455, 474, 730, 385, 523, 223,
6793
361, 385, 385, 405, 53, 172, 465, 466, 467, 468,
6794
471, 226, 386, 664, 713, 787, 567, 357, 569, 357,
6795
602, 746, 736, 459, 459, 591, 421, 35, 35, 108,
6796
35, 719, 307, 330, 721, 722, 385, 385, 465, 746,
6797
91, 353, 385, 386, 523, 782, 743, 665, 468, 624,
6798
385, 679, 670, 717, 576, 524, 384, 524, 384, 385,
6799
386, 624, 133, 589, 589, 730, 730, 35, 730, 35,
6800
35, 722, 451, 465, 38, 224, 267, 291, 456, 456,
6801
730, 631, 720, 620, 602, 602, 746, 140, 170, 238,
6802
593, 592, 730, 730, 730, 4, 90, 225, 230, 230,
6803
154, 723, 626, 385, 385, 35, 35, 384, 384, 353,
6804
91, 226, 384, 725, 249, 599, 600, 601, 746, 601,
6805
456, 456, 183, 276, 724, 385, 391, 726, 727, 738,
6806
291, 728, 385, 386, 385, 747, 385, 386, 678, 600,
6810
#define yyerrok (yyerrstatus = 0)
6811
#define yyclearin (yychar = YYEMPTY)
6812
#define YYEMPTY (-2)
6815
#define YYACCEPT goto yyacceptlab
6816
#define YYABORT goto yyabortlab
6817
#define YYERROR goto yyerrorlab
6820
/* Like YYERROR except do call yyerror. This remains here temporarily
6821
to ease the transition to the new meaning of YYERROR, for GCC.
6822
Once GCC version 2 has supplanted version 1, this can go. */
6824
#define YYFAIL goto yyerrlab
6826
#define YYRECOVERING() (!!yyerrstatus)
6828
#define YYBACKUP(Token, Value) \
6830
if (yychar == YYEMPTY && yylen == 1) \
6834
yytoken = YYTRANSLATE (yychar); \
6840
yyerror (YY_("syntax error: cannot back up")); \
6847
#define YYERRCODE 256
6850
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
6851
If N is 0, then set CURRENT to the empty location which ends
6852
the previous symbol: RHS[0] (always defined). */
6854
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
6855
#ifndef YYLLOC_DEFAULT
6856
# define YYLLOC_DEFAULT(Current, Rhs, N) \
6860
(Current).first_line = YYRHSLOC (Rhs, 1).first_line; \
6861
(Current).first_column = YYRHSLOC (Rhs, 1).first_column; \
6862
(Current).last_line = YYRHSLOC (Rhs, N).last_line; \
6863
(Current).last_column = YYRHSLOC (Rhs, N).last_column; \
6867
(Current).first_line = (Current).last_line = \
6868
YYRHSLOC (Rhs, 0).last_line; \
6869
(Current).first_column = (Current).last_column = \
6870
YYRHSLOC (Rhs, 0).last_column; \
6876
/* YY_LOCATION_PRINT -- Print the location on the stream.
6877
This macro was not mandated originally: define only if we know
6878
we won't break user code: when these are the locations we know. */
6880
#ifndef YY_LOCATION_PRINT
6881
# if YYLTYPE_IS_TRIVIAL
6882
# define YY_LOCATION_PRINT(File, Loc) \
6883
fprintf (File, "%d.%d-%d.%d", \
6884
(Loc).first_line, (Loc).first_column, \
6885
(Loc).last_line, (Loc).last_column)
6887
# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
6892
/* YYLEX -- calling `yylex' with the right arguments. */
6895
# define YYLEX yylex (&yylval, YYLEX_PARAM)
6897
# define YYLEX yylex (&yylval)
6900
/* Enable debugging if requested. */
6904
# include <stdio.h> /* INFRINGES ON USER NAME SPACE */
6905
# define YYFPRINTF fprintf
6908
# define YYDPRINTF(Args) \
6914
# define YY_SYMBOL_PRINT(Title, Type, Value, Location) \
6918
YYFPRINTF (stderr, "%s ", Title); \
6919
yy_symbol_print (stderr, \
6921
YYFPRINTF (stderr, "\n"); \
6926
/*--------------------------------.
6927
| Print this symbol on YYOUTPUT. |
6928
`--------------------------------*/
6931
#if (defined __STDC__ || defined __C99__FUNC__ \
6932
|| defined __cplusplus || defined _MSC_VER)
6934
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
6937
yy_symbol_value_print (yyoutput, yytype, yyvaluep)
6940
YYSTYPE const * const yyvaluep;
6946
if (yytype < YYNTOKENS)
6947
YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
6959
/*--------------------------------.
6960
| Print this symbol on YYOUTPUT. |
6961
`--------------------------------*/
6963
#if (defined __STDC__ || defined __C99__FUNC__ \
6964
|| defined __cplusplus || defined _MSC_VER)
6966
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep)
6969
yy_symbol_print (yyoutput, yytype, yyvaluep)
6972
YYSTYPE const * const yyvaluep;
6975
if (yytype < YYNTOKENS)
6976
YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
6978
YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
6980
yy_symbol_value_print (yyoutput, yytype, yyvaluep);
6981
YYFPRINTF (yyoutput, ")");
6984
/*------------------------------------------------------------------.
6985
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
6987
`------------------------------------------------------------------*/
6989
#if (defined __STDC__ || defined __C99__FUNC__ \
6990
|| defined __cplusplus || defined _MSC_VER)
6992
yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
6995
yy_stack_print (bottom, top)
6996
yytype_int16 *bottom;
7000
YYFPRINTF (stderr, "Stack now");
7001
for (; bottom <= top; ++bottom)
7002
YYFPRINTF (stderr, " %d", *bottom);
7003
YYFPRINTF (stderr, "\n");
7006
# define YY_STACK_PRINT(Bottom, Top) \
7009
yy_stack_print ((Bottom), (Top)); \
7013
/*------------------------------------------------.
7014
| Report that the YYRULE is going to be reduced. |
7015
`------------------------------------------------*/
7017
#if (defined __STDC__ || defined __C99__FUNC__ \
7018
|| defined __cplusplus || defined _MSC_VER)
7020
yy_reduce_print (YYSTYPE *yyvsp, int yyrule)
7023
yy_reduce_print (yyvsp, yyrule)
7028
int yynrhs = yyr2[yyrule];
7030
unsigned long int yylno = yyrline[yyrule];
7031
YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
7033
/* The symbols being reduced. */
7034
for (yyi = 0; yyi < yynrhs; yyi++)
7036
fprintf (stderr, " $%d = ", yyi + 1);
7037
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
7038
&(yyvsp[(yyi + 1) - (yynrhs)])
7040
fprintf (stderr, "\n");
7044
# define YY_REDUCE_PRINT(Rule) \
7047
yy_reduce_print (yyvsp, Rule); \
7050
/* Nonzero means print parse trace. It is left uninitialized so that
7051
multiple parsers can coexist. */
7053
#else /* !YYDEBUG */
7054
# define YYDPRINTF(Args)
7055
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
7056
# define YY_STACK_PRINT(Bottom, Top)
7057
# define YY_REDUCE_PRINT(Rule)
7058
#endif /* !YYDEBUG */
7061
/* YYINITDEPTH -- initial size of the parser's stacks. */
7063
# define YYINITDEPTH 200
7066
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
7067
if the built-in stack extension method is used).
7069
Do not make this value too large; the results are undefined if
7070
YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
7071
evaluated with infinite-precision integer arithmetic. */
7074
# define YYMAXDEPTH 10000
7082
# if defined __GLIBC__ && defined _STRING_H
7083
# define yystrlen strlen
7085
/* Return the length of YYSTR. */
7086
#if (defined __STDC__ || defined __C99__FUNC__ \
7087
|| defined __cplusplus || defined _MSC_VER)
7089
yystrlen (const char *yystr)
7097
for (yylen = 0; yystr[yylen]; yylen++)
7105
# if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
7106
# define yystpcpy stpcpy
7108
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
7110
#if (defined __STDC__ || defined __C99__FUNC__ \
7111
|| defined __cplusplus || defined _MSC_VER)
7113
yystpcpy (char *yydest, const char *yysrc)
7116
yystpcpy (yydest, yysrc)
7122
const char *yys = yysrc;
7124
while ((*yyd++ = *yys++) != '\0')
7133
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
7134
quotes and backslashes, so that it's suitable for yyerror. The
7135
heuristic is that double-quoting is unnecessary unless the string
7136
contains an apostrophe, a comma, or backslash (other than
7137
backslash-backslash). YYSTR is taken from yytname. If YYRES is
7138
null, do not copy; instead, return the length of what the result
7141
yytnamerr (char *yyres, const char *yystr)
7146
char const *yyp = yystr;
7153
goto do_not_strip_quotes;
7157
goto do_not_strip_quotes;
7170
do_not_strip_quotes: ;
7174
return yystrlen (yystr);
7176
return yystpcpy (yyres, yystr) - yyres;
7180
/* Copy into YYRESULT an error message about the unexpected token
7181
YYCHAR while in state YYSTATE. Return the number of bytes copied,
7182
including the terminating null byte. If YYRESULT is null, do not
7183
copy anything; just return the number of bytes that would be
7184
copied. As a special case, return 0 if an ordinary "syntax error"
7185
message will do. Return YYSIZE_MAXIMUM if overflow occurs during
7186
size calculation. */
7188
yysyntax_error (char *yyresult, int yystate, int yychar)
7190
int yyn = yypact[yystate];
7192
if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
7196
int yytype = YYTRANSLATE (yychar);
7197
YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
7198
YYSIZE_T yysize = yysize0;
7200
int yysize_overflow = 0;
7201
enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
7202
char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
7206
/* This is so xgettext sees the translatable formats that are
7207
constructed on the fly. */
7208
YY_("syntax error, unexpected %s");
7209
YY_("syntax error, unexpected %s, expecting %s");
7210
YY_("syntax error, unexpected %s, expecting %s or %s");
7211
YY_("syntax error, unexpected %s, expecting %s or %s or %s");
7212
YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
7216
static char const yyunexpected[] = "syntax error, unexpected %s";
7217
static char const yyexpecting[] = ", expecting %s";
7218
static char const yyor[] = " or %s";
7219
char yyformat[sizeof yyunexpected
7220
+ sizeof yyexpecting - 1
7221
+ ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
7222
* (sizeof yyor - 1))];
7223
char const *yyprefix = yyexpecting;
7225
/* Start YYX at -YYN if negative to avoid negative indexes in
7227
int yyxbegin = yyn < 0 ? -yyn : 0;
7229
/* Stay within bounds of both yycheck and yytname. */
7230
int yychecklim = YYLAST - yyn + 1;
7231
int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
7234
yyarg[0] = yytname[yytype];
7235
yyfmt = yystpcpy (yyformat, yyunexpected);
7237
for (yyx = yyxbegin; yyx < yyxend; ++yyx)
7238
if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
7240
if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
7244
yyformat[sizeof yyunexpected - 1] = '\0';
7247
yyarg[yycount++] = yytname[yyx];
7248
yysize1 = yysize + yytnamerr (0, yytname[yyx]);
7249
yysize_overflow |= (yysize1 < yysize);
7251
yyfmt = yystpcpy (yyfmt, yyprefix);
7255
yyf = YY_(yyformat);
7256
yysize1 = yysize + yystrlen (yyf);
7257
yysize_overflow |= (yysize1 < yysize);
7260
if (yysize_overflow)
7261
return YYSIZE_MAXIMUM;
7265
/* Avoid sprintf, as that infringes on the user's name space.
7266
Don't have undefined behavior even if the translation
7267
produced a string with the wrong number of "%s"s. */
7268
char *yyp = yyresult;
7270
while ((*yyp = *yyf) != '\0')
7272
if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
7274
yyp += yytnamerr (yyp, yyarg[yyi++]);
7287
#endif /* YYERROR_VERBOSE */
7290
/*-----------------------------------------------.
7291
| Release the memory associated to this symbol. |
7292
`-----------------------------------------------*/
7295
#if (defined __STDC__ || defined __C99__FUNC__ \
7296
|| defined __cplusplus || defined _MSC_VER)
7298
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep)
7301
yydestruct (yymsg, yytype, yyvaluep)
7311
YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
7322
/* Prevent warnings from -Wmissing-prototypes. */
7324
#ifdef YYPARSE_PARAM
7325
#if defined __STDC__ || defined __cplusplus
7326
int yyparse (void *YYPARSE_PARAM);
7330
#else /* ! YYPARSE_PARAM */
7331
#if defined __STDC__ || defined __cplusplus
7336
#endif /* ! YYPARSE_PARAM */
7347
#ifdef YYPARSE_PARAM
7348
#if (defined __STDC__ || defined __C99__FUNC__ \
7349
|| defined __cplusplus || defined _MSC_VER)
7351
yyparse (void *YYPARSE_PARAM)
7354
yyparse (YYPARSE_PARAM)
7355
void *YYPARSE_PARAM;
7357
#else /* ! YYPARSE_PARAM */
7358
#if (defined __STDC__ || defined __C99__FUNC__ \
7359
|| defined __cplusplus || defined _MSC_VER)
7369
/* The look-ahead symbol. */
7372
/* The semantic value of the look-ahead symbol. */
7375
/* Number of syntax errors so far. */
7381
/* Number of tokens to shift before error messages enabled. */
7383
/* Look-ahead token as an internal (translated) token number. */
7386
/* Buffer for error messages, and its allocated size. */
7388
char *yymsg = yymsgbuf;
7389
YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
7392
/* Three stacks and their tools:
7393
`yyss': related to states,
7394
`yyvs': related to semantic values,
7395
`yyls': related to locations.
7397
Refer to the stacks thru separate pointers, to allow yyoverflow
7398
to reallocate them elsewhere. */
7400
/* The state stack. */
7401
yytype_int16 yyssa[YYINITDEPTH];
7402
yytype_int16 *yyss = yyssa;
7403
yytype_int16 *yyssp;
7405
/* The semantic value stack. */
7406
YYSTYPE yyvsa[YYINITDEPTH];
7407
YYSTYPE *yyvs = yyvsa;
7412
#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
7414
YYSIZE_T yystacksize = YYINITDEPTH;
7416
/* The variables used to return semantic value and location from the
7421
/* The number of symbols on the RHS of the reduced rule.
7422
Keep to zero when no symbol should be popped. */
7425
YYDPRINTF ((stderr, "Starting parse\n"));
7430
yychar = YYEMPTY; /* Cause a token to be read. */
7432
/* Initialize stack pointers.
7433
Waste one element of value and location stack
7434
so that they stay on the same level as the state stack.
7435
The wasted elements are never initialized. */
7442
/*------------------------------------------------------------.
7443
| yynewstate -- Push a new state, which is found in yystate. |
7444
`------------------------------------------------------------*/
7446
/* In all cases, when you get here, the value and location stacks
7447
have just been pushed. So pushing a state here evens the stacks. */
7453
if (yyss + yystacksize - 1 <= yyssp)
7455
/* Get the current used size of the three stacks, in elements. */
7456
YYSIZE_T yysize = yyssp - yyss + 1;
7460
/* Give user a chance to reallocate the stack. Use copies of
7461
these so that the &'s don't force the real ones into
7463
YYSTYPE *yyvs1 = yyvs;
7464
yytype_int16 *yyss1 = yyss;
7467
/* Each stack pointer address is followed by the size of the
7468
data in use in that stack, in bytes. This used to be a
7469
conditional around just the two extra args, but that might
7470
be undefined if yyoverflow is a macro. */
7471
yyoverflow (YY_("memory exhausted"),
7472
&yyss1, yysize * sizeof (*yyssp),
7473
&yyvs1, yysize * sizeof (*yyvsp),
7480
#else /* no yyoverflow */
7481
# ifndef YYSTACK_RELOCATE
7482
goto yyexhaustedlab;
7484
/* Extend the stack our own way. */
7485
if (YYMAXDEPTH <= yystacksize)
7486
goto yyexhaustedlab;
7488
if (YYMAXDEPTH < yystacksize)
7489
yystacksize = YYMAXDEPTH;
7492
yytype_int16 *yyss1 = yyss;
7493
union yyalloc *yyptr =
7494
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
7496
goto yyexhaustedlab;
7497
YYSTACK_RELOCATE (yyss);
7498
YYSTACK_RELOCATE (yyvs);
7500
# undef YYSTACK_RELOCATE
7502
YYSTACK_FREE (yyss1);
7505
#endif /* no yyoverflow */
7507
yyssp = yyss + yysize - 1;
7508
yyvsp = yyvs + yysize - 1;
7511
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
7512
(unsigned long int) yystacksize));
7514
if (yyss + yystacksize - 1 <= yyssp)
7518
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
7527
/* Do appropriate processing given the current state. Read a
7528
look-ahead token if we need one and don't already have one. */
7530
/* First try to decide what to do without reference to look-ahead token. */
7531
yyn = yypact[yystate];
7532
if (yyn == YYPACT_NINF)
7535
/* Not known => get a look-ahead token if don't already have one. */
7537
/* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
7538
if (yychar == YYEMPTY)
7540
YYDPRINTF ((stderr, "Reading a token: "));
7544
if (yychar <= YYEOF)
7546
yychar = yytoken = YYEOF;
7547
YYDPRINTF ((stderr, "Now at end of input.\n"));
7551
yytoken = YYTRANSLATE (yychar);
7552
YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
7555
/* If the proper action on seeing token YYTOKEN is to reduce or to
7556
detect an error, take that action. */
7558
if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
7563
if (yyn == 0 || yyn == YYTABLE_NINF)
7572
/* Count tokens shifted since error; after three, turn off error
7577
/* Shift the look-ahead token. */
7578
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
7580
/* Discard the shifted token unless it is eof. */
7581
if (yychar != YYEOF)
7590
/*-----------------------------------------------------------.
7591
| yydefault -- do the default action for the current state. |
7592
`-----------------------------------------------------------*/
7594
yyn = yydefact[yystate];
7600
/*-----------------------------.
7601
| yyreduce -- Do a reduction. |
7602
`-----------------------------*/
7604
/* yyn is the number of a rule to reduce with. */
7607
/* If YYLEN is nonzero, implement the default value of the action:
7610
Otherwise, the following line sets YYVAL to garbage.
7611
This behavior is undocumented and Bison
7612
users should not rely upon it. Assigning to YYVAL
7613
unconditionally makes the parser a bit smaller, and it avoids a
7614
GCC warning that YYVAL may be used uninitialized. */
7615
yyval = yyvsp[1-yylen];
7618
YY_REDUCE_PRINT (yyn);
7622
#line 963 "sql_yacc.yy"
7624
Session *session= YYSession;
7625
if (!(session->lex->select_lex.options & OPTION_FOUND_COMMENT))
7627
my_message(ER_EMPTY_QUERY, ER(ER_EMPTY_QUERY), MYF(0));
7632
session->lex->sql_command= SQLCOM_EMPTY_QUERY;
7633
session->lex->statement=
7634
new(std::nothrow) statement::EmptyQuery(YYSession);
7635
if (session->lex->statement == NULL)
7642
#line 979 "sql_yacc.yy"
7647
#line 1021 "sql_yacc.yy"
7649
Session *session= YYSession;
7650
LEX *lex= session->lex;
7651
lex->sql_command= SQLCOM_CREATE_TABLE;
7652
statement::CreateTable *statement= new(std::nothrow) statement::CreateTable(YYSession);
7653
lex->statement= statement;
7654
if (lex->statement == NULL)
7656
if (!lex->select_lex.add_table_to_list(session, (yyvsp[(5) - (5)].table), NULL,
7660
lex->col_list.empty();
7661
statement->change=NULL;
7662
statement->is_if_not_exists= (yyvsp[(4) - (5)].num);
7663
statement->create_info.db_type= NULL;
7664
statement->create_info.default_table_charset= NULL;
7667
message::Table &proto= statement->create_table_proto;
7669
proto.set_name((yyvsp[(5) - (5)].table)->table.str);
7670
if((yyvsp[(2) - (5)].num))
7671
proto.set_type(message::Table::TEMPORARY);
7673
proto.set_type(message::Table::STANDARD);
7678
#line 1049 "sql_yacc.yy"
7680
LEX *lex= YYSession->lex;
7681
lex->current_select= &lex->select_lex;
7686
#line 1054 "sql_yacc.yy"
7689
lex->sql_command= SQLCOM_CREATE_INDEX;
7690
statement::CreateIndex *statement= new(std::nothrow) statement::CreateIndex(YYSession);
7691
lex->statement= statement;
7692
if (lex->statement == NULL)
7694
statement->alter_info.flags.set(ALTER_ADD_INDEX);
7695
statement->alter_info.build_method= (yyvsp[(2) - (2)].build_method);
7696
lex->col_list.empty();
7697
statement->change=NULL;
7702
#line 1067 "sql_yacc.yy"
7705
statement::CreateIndex *statement= (statement::CreateIndex *)Lex->statement;
7707
if (!lex->current_select->add_table_to_list(lex->session, (yyvsp[(9) - (13)].table),
7709
TL_OPTION_UPDATING))
7712
key= new Key((yyvsp[(4) - (13)].key_type), (yyvsp[(6) - (13)].lex_str), &statement->key_create_info, 0, lex->col_list);
7713
statement->alter_info.key_list.push_back(key);
7714
lex->col_list.empty();
7719
#line 1081 "sql_yacc.yy"
7723
lex->sql_command=SQLCOM_CREATE_DB;
7724
statement::CreateSchema *statement= new(std::nothrow) statement::CreateSchema(YYSession);
7725
lex->statement= statement;
7726
if (lex->statement == NULL)
7728
statement->is_if_not_exists= (yyvsp[(3) - (4)].num);
7733
#line 1092 "sql_yacc.yy"
7735
Lex->name= (yyvsp[(4) - (6)].lex_str);
7740
#line 1098 "sql_yacc.yy"
7745
#line 1100 "sql_yacc.yy"
7750
#line 1102 "sql_yacc.yy"
7752
Session *session= YYSession;
7753
LEX *lex= session->lex;
7754
statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
7756
statement->is_create_table_like= true;
7757
if (!lex->select_lex.add_table_to_list(session, (yyvsp[(2) - (3)].table), NULL, 0, TL_READ))
7763
#line 1112 "sql_yacc.yy"
7765
Session *session= YYSession;
7766
LEX *lex= session->lex;
7767
statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
7769
statement->is_create_table_like= true;
7770
if (!lex->select_lex.add_table_to_list(session, (yyvsp[(3) - (4)].table), NULL, 0, TL_READ))
7776
#line 1125 "sql_yacc.yy"
7781
#line 1127 "sql_yacc.yy"
7782
{ Lex->current_select->set_braces(1);}
7786
#line 1128 "sql_yacc.yy"
7791
#line 1132 "sql_yacc.yy"
7796
#line 1134 "sql_yacc.yy"
7797
{ Lex->current_select->set_braces(0);}
7801
#line 1135 "sql_yacc.yy"
7806
#line 1137 "sql_yacc.yy"
7807
{ Lex->current_select->set_braces(1);}
7811
#line 1138 "sql_yacc.yy"
7816
#line 1143 "sql_yacc.yy"
7819
lex->lock_option= TL_READ;
7820
if (lex->sql_command == SQLCOM_INSERT)
7822
lex->sql_command= SQLCOM_INSERT_SELECT;
7823
delete lex->statement;
7825
new(std::nothrow) statement::InsertSelect(YYSession);
7826
if (lex->statement == NULL)
7829
else if (lex->sql_command == SQLCOM_REPLACE)
7831
lex->sql_command= SQLCOM_REPLACE_SELECT;
7832
delete lex->statement;
7834
new(std::nothrow) statement::ReplaceSelect(YYSession);
7835
if (lex->statement == NULL)
7839
The following work only with the local list, the global list
7840
is created correctly in this case
7842
lex->current_select->table_list.save_and_clear(&lex->save_list);
7843
mysql_init_select(lex);
7844
lex->current_select->parsing_place= SELECT_LIST;
7849
#line 1173 "sql_yacc.yy"
7851
Lex->current_select->parsing_place= NO_MATTER;
7856
#line 1177 "sql_yacc.yy"
7859
The following work only with the local list, the global list
7860
is created correctly in this case
7862
Lex->current_select->table_list.push_front(&Lex->save_list);
7867
#line 1187 "sql_yacc.yy"
7872
#line 1188 "sql_yacc.yy"
7877
#line 1192 "sql_yacc.yy"
7882
#line 1193 "sql_yacc.yy"
7887
#line 1197 "sql_yacc.yy"
7888
{ (yyval.num)= false; }
7892
#line 1198 "sql_yacc.yy"
7893
{ (yyval.num)= true; }
7897
#line 1202 "sql_yacc.yy"
7898
{ (yyval.num)= false; }
7902
#line 1203 "sql_yacc.yy"
7903
{ (yyval.num)= true; }
7907
#line 1224 "sql_yacc.yy"
7909
statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
7910
message::Table::StorageEngine *protoengine;
7911
protoengine= ((statement::CreateTable *)Lex->statement)->create_table_proto.mutable_engine();
7913
statement->is_engine_set= true;
7915
protoengine->set_name((yyvsp[(3) - (3)].lex_str).str);
7920
#line 1234 "sql_yacc.yy"
7922
message::Table::TableOptions *tableopts;
7923
statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
7924
tableopts= ((statement::CreateTable *)Lex->statement)->create_table_proto.mutable_options();
7926
tableopts->set_block_size((yyvsp[(3) - (3)].ulong_num));
7927
statement->create_info.used_fields|= HA_CREATE_USED_BLOCK_SIZE;
7932
#line 1243 "sql_yacc.yy"
7934
message::Table::TableOptions *tableopts;
7935
tableopts= ((statement::CreateTable *)Lex->statement)->create_table_proto.mutable_options();
7937
tableopts->set_comment((yyvsp[(3) - (3)].lex_str).str);
7942
#line 1250 "sql_yacc.yy"
7944
message::Table::TableOptions *tableopts;
7945
statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
7947
tableopts= ((statement::CreateTable *)Lex->statement)->create_table_proto.mutable_options();
7949
statement->create_info.auto_increment_value=(yyvsp[(3) - (3)].ulonglong_number);
7950
statement->create_info.used_fields|= HA_CREATE_USED_AUTO;
7951
tableopts->set_auto_increment_value((yyvsp[(3) - (3)].ulonglong_number));
7956
#line 1261 "sql_yacc.yy"
7958
statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
7960
statement->create_info.row_type= (yyvsp[(3) - (3)].row_type);
7961
statement->create_info.used_fields|= HA_CREATE_USED_ROW_FORMAT;
7962
statement->alter_info.flags.set(ALTER_ROW_FORMAT);
7967
#line 1270 "sql_yacc.yy"
7969
statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
7971
statement->create_info.used_fields|= HA_CREATE_USED_KEY_BLOCK_SIZE;
7973
message::Table::TableOptions *tableopts;
7974
tableopts= ((statement::CreateTable *)Lex->statement)->create_table_proto.mutable_options();
7975
tableopts->set_key_block_size((yyvsp[(3) - (3)].ulong_num));
7980
#line 1283 "sql_yacc.yy"
7982
statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
7984
HA_CREATE_INFO *cinfo= &statement->create_info;
7985
if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) &&
7986
cinfo->default_table_charset && (yyvsp[(4) - (4)].charset) &&
7987
!my_charset_same(cinfo->default_table_charset,(yyvsp[(4) - (4)].charset)))
7989
my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0),
7990
(yyvsp[(4) - (4)].charset)->name, cinfo->default_table_charset->csname);
7993
statement->create_info.default_table_charset= (yyvsp[(4) - (4)].charset);
7994
statement->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET;
7999
#line 1302 "sql_yacc.yy"
8001
statement::CreateSchema *statement= (statement::CreateSchema *)Lex->statement;
8003
message::Schema &schema_message= statement->schema_message;
8004
schema_message.set_collation((yyvsp[(4) - (4)].charset)->name);
8009
#line 1311 "sql_yacc.yy"
8010
{ (yyval.column_format_type)= COLUMN_FORMAT_TYPE_DEFAULT; }
8014
#line 1312 "sql_yacc.yy"
8015
{ (yyval.column_format_type)= COLUMN_FORMAT_TYPE_FIXED; }
8019
#line 1313 "sql_yacc.yy"
8020
{ (yyval.column_format_type)= COLUMN_FORMAT_TYPE_DYNAMIC; }
8024
#line 1316 "sql_yacc.yy"
8025
{ (yyval.row_type)= ROW_TYPE_DEFAULT; }
8029
#line 1317 "sql_yacc.yy"
8030
{ (yyval.row_type)= ROW_TYPE_FIXED; }
8034
#line 1318 "sql_yacc.yy"
8035
{ (yyval.row_type)= ROW_TYPE_DYNAMIC; }
8039
#line 1319 "sql_yacc.yy"
8040
{ (yyval.row_type)= ROW_TYPE_COMPRESSED; }
8044
#line 1320 "sql_yacc.yy"
8045
{ (yyval.row_type)= ROW_TYPE_REDUNDANT; }
8049
#line 1321 "sql_yacc.yy"
8050
{ (yyval.row_type)= ROW_TYPE_COMPACT; }
8054
#line 1322 "sql_yacc.yy"
8055
{ (yyval.row_type)= ROW_TYPE_PAGE; }
8059
#line 1326 "sql_yacc.yy"
8064
#line 1343 "sql_yacc.yy"
8066
Lex->col_list.empty(); /* Alloced by memory::sql_alloc */
8071
#line 1350 "sql_yacc.yy"
8074
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
8075
Key *key= new Key((yyvsp[(1) - (7)].key_type), (yyvsp[(2) - (7)].lex_str), &statement->key_create_info, 0,
8077
statement->alter_info.key_list.push_back(key);
8078
lex->col_list.empty(); /* Alloced by memory::sql_alloc */
8083
#line 1360 "sql_yacc.yy"
8086
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
8087
Key *key= new Key((yyvsp[(2) - (8)].key_type), (yyvsp[(3) - (8)].lex_str).str ? (yyvsp[(3) - (8)].lex_str) : (yyvsp[(1) - (8)].lex_str), &statement->key_create_info, 0,
8089
statement->alter_info.key_list.push_back(key);
8090
lex->col_list.empty(); /* Alloced by memory::sql_alloc */
8095
#line 1369 "sql_yacc.yy"
8098
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
8099
Key *key= new Foreign_key((yyvsp[(4) - (8)].lex_str).str ? (yyvsp[(4) - (8)].lex_str) : (yyvsp[(1) - (8)].lex_str), lex->col_list,
8100
(yyvsp[(8) - (8)].table),
8102
statement->fk_delete_opt,
8103
statement->fk_update_opt,
8104
statement->fk_match_option);
8105
statement->alter_info.key_list.push_back(key);
8106
key= new Key(Key::MULTIPLE, (yyvsp[(1) - (8)].lex_str).str ? (yyvsp[(1) - (8)].lex_str) : (yyvsp[(4) - (8)].lex_str),
8107
&default_key_create_info, 1,
8109
statement->alter_info.key_list.push_back(key);
8110
lex->col_list.empty(); /* Alloced by memory::sql_alloc */
8111
/* Only used for ALTER TABLE. Ignored otherwise. */
8112
statement->alter_info.flags.set(ALTER_FOREIGN_KEY);
8117
#line 1388 "sql_yacc.yy"
8119
Lex->col_list.empty(); /* Alloced by memory::sql_alloc */
8124
#line 1392 "sql_yacc.yy"
8126
Lex->col_list.empty(); /* Alloced by memory::sql_alloc */
8131
#line 1407 "sql_yacc.yy"
8132
{ (yyval.lex_str)= null_lex_str; }
8136
#line 1408 "sql_yacc.yy"
8137
{ (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); }
8141
#line 1412 "sql_yacc.yy"
8142
{ (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); }
8146
#line 1417 "sql_yacc.yy"
8149
statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
8150
lex->length=lex->dec=0;
8152
statement->default_value= statement->on_update_value= 0;
8153
statement->comment= null_lex_str;
8155
statement->column_format= COLUMN_FORMAT_TYPE_DEFAULT;
8157
message::AlterTable &alter_proto=
8158
((statement::CreateTable *)Lex->statement)->alter_info.alter_proto;
8159
statement->current_proto_field= alter_proto.add_added_field();
8164
#line 1432 "sql_yacc.yy"
8167
statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
8169
if (statement->current_proto_field)
8170
statement->current_proto_field->set_name((yyvsp[(1) - (3)].lex_str).str);
8172
if (add_field_to_list(lex->session, &(yyvsp[(1) - (3)].lex_str), (enum enum_field_types) (yyvsp[(3) - (3)].num),
8173
lex->length,lex->dec,lex->type,
8174
statement->column_format,
8175
statement->default_value, statement->on_update_value,
8176
&statement->comment,
8177
statement->change, &lex->interval_list, lex->charset))
8180
statement->current_proto_field= NULL;
8185
#line 1451 "sql_yacc.yy"
8190
#line 1456 "sql_yacc.yy"
8192
(yyval.num)=(yyvsp[(1) - (1)].num);
8193
Lex->length=(char*) 0; /* use default length */
8194
statement::CreateTable *statement=
8195
(statement::CreateTable *)Lex->statement;
8197
if (statement->current_proto_field)
8199
if ((yyvsp[(1) - (1)].num) == DRIZZLE_TYPE_LONG)
8200
statement->current_proto_field->set_type(message::Table::Field::INTEGER);
8201
else if ((yyvsp[(1) - (1)].num) == DRIZZLE_TYPE_LONGLONG)
8202
statement->current_proto_field->set_type(message::Table::Field::BIGINT);
8210
#line 1473 "sql_yacc.yy"
8212
(yyval.num)=(yyvsp[(1) - (2)].num);
8214
statement::CreateTable *statement=
8215
(statement::CreateTable *)Lex->statement;
8217
if (statement->current_proto_field)
8219
assert ((yyvsp[(1) - (2)].num) == DRIZZLE_TYPE_DOUBLE);
8220
statement->current_proto_field->set_type(message::Table::Field::DOUBLE);
8226
#line 1486 "sql_yacc.yy"
8228
Lex->length=(yyvsp[(3) - (4)].lex_str).str;
8229
(yyval.num)=DRIZZLE_TYPE_VARCHAR;
8231
statement::CreateTable *statement=
8232
(statement::CreateTable *)Lex->statement;
8234
if (statement->current_proto_field)
8236
statement->current_proto_field->set_type(message::Table::Field::VARCHAR);
8237
message::Table::Field::StringFieldOptions *string_field_options;
8239
string_field_options= statement->current_proto_field->mutable_string_options();
8241
string_field_options->set_length(atoi((yyvsp[(3) - (4)].lex_str).str));
8247
#line 1504 "sql_yacc.yy"
8249
Lex->length=(char*) "1";
8250
(yyval.num)=DRIZZLE_TYPE_VARCHAR;
8252
statement::CreateTable *statement=
8253
(statement::CreateTable *)Lex->statement;
8255
if (statement->current_proto_field)
8256
statement->current_proto_field->set_type(message::Table::Field::VARCHAR);
8261
#line 1515 "sql_yacc.yy"
8263
Lex->length=(yyvsp[(3) - (4)].lex_str).str;
8264
(yyval.num)= DRIZZLE_TYPE_VARCHAR;
8266
statement::CreateTable *statement=
8267
(statement::CreateTable *)Lex->statement;
8269
if (statement->current_proto_field)
8271
statement->current_proto_field->set_type(message::Table::Field::VARCHAR);
8273
message::Table::Field::StringFieldOptions *string_field_options;
8275
string_field_options= statement->current_proto_field->mutable_string_options();
8277
string_field_options->set_length(atoi((yyvsp[(3) - (4)].lex_str).str));
8283
#line 1534 "sql_yacc.yy"
8285
Lex->length=(yyvsp[(3) - (4)].lex_str).str;
8286
Lex->charset=&my_charset_bin;
8287
(yyval.num)= DRIZZLE_TYPE_VARCHAR;
8289
statement::CreateTable *statement=
8290
(statement::CreateTable *)Lex->statement;
8292
if (statement->current_proto_field)
8294
statement->current_proto_field->set_type(message::Table::Field::VARCHAR);
8295
message::Table::Field::StringFieldOptions *string_field_options;
8297
string_field_options= statement->current_proto_field->mutable_string_options();
8299
string_field_options->set_length(atoi((yyvsp[(3) - (4)].lex_str).str));
8300
string_field_options->set_collation_id(my_charset_bin.number);
8301
string_field_options->set_collation(my_charset_bin.name);
8307
#line 1555 "sql_yacc.yy"
8309
(yyval.num)=DRIZZLE_TYPE_DATE;
8311
statement::CreateTable *statement=
8312
(statement::CreateTable *)Lex->statement;
8314
if (statement->current_proto_field)
8315
statement->current_proto_field->set_type(message::Table::Field::DATE);
8320
#line 1565 "sql_yacc.yy"
8322
(yyval.num)=DRIZZLE_TYPE_TIMESTAMP;
8324
statement::CreateTable *statement=
8325
(statement::CreateTable *)Lex->statement;
8327
if (statement->current_proto_field)
8328
statement->current_proto_field->set_type(message::Table::Field::TIMESTAMP);
8333
#line 1575 "sql_yacc.yy"
8335
(yyval.num)=DRIZZLE_TYPE_DATETIME;
8337
statement::CreateTable *statement=
8338
(statement::CreateTable *)Lex->statement;
8340
if (statement->current_proto_field)
8341
statement->current_proto_field->set_type(message::Table::Field::DATETIME);
8346
#line 1585 "sql_yacc.yy"
8348
Lex->charset=&my_charset_bin;
8349
(yyval.num)=DRIZZLE_TYPE_BLOB;
8350
Lex->length=(char*) 0; /* use default length */
8352
statement::CreateTable *statement=
8353
(statement::CreateTable *)Lex->statement;
8355
if (statement->current_proto_field)
8356
statement->current_proto_field->set_type(message::Table::Field::BLOB);
8361
#line 1597 "sql_yacc.yy"
8363
(yyval.num)=DRIZZLE_TYPE_BLOB;
8364
Lex->length=(char*) 0; /* use default length */
8366
statement::CreateTable *statement=
8367
(statement::CreateTable *)Lex->statement;
8369
if (statement->current_proto_field)
8370
statement->current_proto_field->set_type(message::Table::Field::BLOB);
8375
#line 1608 "sql_yacc.yy"
8377
(yyval.num)=DRIZZLE_TYPE_DECIMAL;
8379
statement::CreateTable *statement=
8380
(statement::CreateTable *)Lex->statement;
8382
if (statement->current_proto_field)
8383
statement->current_proto_field->set_type(message::Table::Field::DECIMAL);
8388
#line 1618 "sql_yacc.yy"
8390
(yyval.num)=DRIZZLE_TYPE_DECIMAL;
8392
statement::CreateTable *statement=
8393
(statement::CreateTable *)Lex->statement;
8395
if (statement->current_proto_field)
8396
statement->current_proto_field->set_type(message::Table::Field::DECIMAL);
8401
#line 1628 "sql_yacc.yy"
8403
(yyval.num)=DRIZZLE_TYPE_DECIMAL;
8405
statement::CreateTable *statement=
8406
(statement::CreateTable *)Lex->statement;
8408
if (statement->current_proto_field)
8409
statement->current_proto_field->set_type(message::Table::Field::DECIMAL);
8414
#line 1638 "sql_yacc.yy"
8415
{Lex->interval_list.empty();}
8419
#line 1640 "sql_yacc.yy"
8421
(yyval.num)=DRIZZLE_TYPE_ENUM;
8423
statement::CreateTable *statement=
8424
(statement::CreateTable *)Lex->statement;
8426
if (statement->current_proto_field)
8427
statement->current_proto_field->set_type(message::Table::Field::ENUM);
8432
#line 1650 "sql_yacc.yy"
8434
(yyval.num)=DRIZZLE_TYPE_LONGLONG;
8435
Lex->type|= (AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNIQUE_FLAG);
8437
statement::CreateTable *statement= (statement::CreateTable *)Lex->statement;
8438
if (statement->current_proto_field)
8440
message::Table::Field::FieldConstraints *constraints;
8441
constraints= statement->current_proto_field->mutable_constraints();
8442
constraints->set_is_nullable(false);
8444
statement->current_proto_field->set_type(message::Table::Field::BIGINT);
8450
#line 1667 "sql_yacc.yy"
8455
#line 1671 "sql_yacc.yy"
8460
#line 1672 "sql_yacc.yy"
8465
#line 1676 "sql_yacc.yy"
8466
{ (yyval.num)=DRIZZLE_TYPE_LONG; }
8470
#line 1677 "sql_yacc.yy"
8471
{ (yyval.num)=DRIZZLE_TYPE_LONGLONG; }
8475
#line 1682 "sql_yacc.yy"
8477
(yyval.num)= DRIZZLE_TYPE_DOUBLE;
8482
#line 1686 "sql_yacc.yy"
8483
{ (yyval.num)=DRIZZLE_TYPE_DOUBLE; }
8487
#line 1688 "sql_yacc.yy"
8488
{ (yyval.num)=DRIZZLE_TYPE_DOUBLE; }
8492
#line 1693 "sql_yacc.yy"
8493
{ Lex->dec=Lex->length= (char*)0; }
8497
#line 1695 "sql_yacc.yy"
8498
{ Lex->length=(yyvsp[(2) - (3)].lex_str).str; Lex->dec= (char*)0; }
8502
#line 1697 "sql_yacc.yy"
8507
#line 1702 "sql_yacc.yy"
8510
lex->length=(yyvsp[(2) - (5)].lex_str).str;
8511
lex->dec=(yyvsp[(4) - (5)].lex_str).str;
8516
#line 1710 "sql_yacc.yy"
8517
{ Lex->length=(char*) 0; /* use default length */ }
8521
#line 1711 "sql_yacc.yy"
8522
{ Lex->length= (yyvsp[(2) - (3)].lex_str).str; }
8526
#line 1715 "sql_yacc.yy"
8531
#line 1716 "sql_yacc.yy"
8536
#line 1720 "sql_yacc.yy"
8541
#line 1721 "sql_yacc.yy"
8546
#line 1725 "sql_yacc.yy"
8551
#line 1731 "sql_yacc.yy"
8553
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
8554
Lex->type&= ~ NOT_NULL_FLAG;
8556
if (statement->current_proto_field)
8558
message::Table::Field::FieldConstraints *constraints;
8559
constraints= statement->current_proto_field->mutable_constraints();
8560
constraints->set_is_nullable(true);
8566
#line 1743 "sql_yacc.yy"
8568
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
8570
statement->column_format= (yyvsp[(2) - (2)].column_format_type);
8571
statement->alter_info.flags.set(ALTER_COLUMN_FORMAT);
8576
#line 1750 "sql_yacc.yy"
8578
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
8579
Lex->type|= NOT_NULL_FLAG;
8581
if (statement->current_proto_field)
8583
message::Table::Field::FieldConstraints *constraints;
8584
constraints= statement->current_proto_field->mutable_constraints();
8585
constraints->set_is_nullable(false);
8591
#line 1762 "sql_yacc.yy"
8593
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
8595
statement->default_value=(yyvsp[(2) - (2)].item);
8596
statement->alter_info.flags.set(ALTER_COLUMN_DEFAULT);
8601
#line 1769 "sql_yacc.yy"
8602
{ ((statement::AlterTable *)Lex->statement)->on_update_value= new Item_func_now_local(); }
8606
#line 1771 "sql_yacc.yy"
8608
Lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG;
8610
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
8611
if (statement->current_proto_field)
8613
message::Table::Field::FieldConstraints *constraints;
8615
constraints= statement->current_proto_field->mutable_constraints();
8616
constraints->set_is_nullable(false);
8622
#line 1784 "sql_yacc.yy"
8625
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
8627
lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNIQUE_FLAG;
8628
statement->alter_info.flags.set(ALTER_ADD_INDEX);
8630
if (statement->current_proto_field)
8632
message::Table::Field::FieldConstraints *constraints;
8633
constraints= statement->current_proto_field->mutable_constraints();
8634
constraints->set_is_nullable(false);
8640
#line 1799 "sql_yacc.yy"
8643
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
8645
lex->type|= PRI_KEY_FLAG | NOT_NULL_FLAG;
8646
statement->alter_info.flags.set(ALTER_ADD_INDEX);
8648
if (statement->current_proto_field)
8650
message::Table::Field::FieldConstraints *constraints;
8651
constraints= statement->current_proto_field->mutable_constraints();
8652
constraints->set_is_nullable(false);
8658
#line 1814 "sql_yacc.yy"
8661
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
8663
lex->type|= UNIQUE_FLAG;
8664
statement->alter_info.flags.set(ALTER_ADD_INDEX);
8669
#line 1822 "sql_yacc.yy"
8672
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
8674
lex->type|= UNIQUE_KEY_FLAG;
8675
statement->alter_info.flags.set(ALTER_ADD_INDEX);
8680
#line 1830 "sql_yacc.yy"
8682
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
8683
statement->comment= (yyvsp[(2) - (2)].lex_str);
8685
if (statement->current_proto_field)
8686
statement->current_proto_field->set_comment((yyvsp[(2) - (2)].lex_str).str);
8691
#line 1838 "sql_yacc.yy"
8693
if (Lex->charset && !my_charset_same(Lex->charset,(yyvsp[(2) - (2)].charset)))
8695
my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0),
8696
(yyvsp[(2) - (2)].charset)->name,Lex->charset->csname);
8701
Lex->charset=(yyvsp[(2) - (2)].charset);
8707
#line 1854 "sql_yacc.yy"
8708
{ (yyval.item)= new Item_func_now_local(); }
8712
#line 1856 "sql_yacc.yy"
8713
{ (yyval.item)=(yyvsp[(1) - (1)].item); }
8717
#line 1861 "sql_yacc.yy"
8719
if (!((yyval.charset)=get_charset_by_name((yyvsp[(1) - (1)].lex_str).str)))
8721
my_error(ER_UNKNOWN_COLLATION, MYF(0), (yyvsp[(1) - (1)].lex_str).str);
8728
#line 1871 "sql_yacc.yy"
8729
{ (yyval.charset)=(yyvsp[(1) - (1)].charset); }
8733
#line 1872 "sql_yacc.yy"
8734
{ (yyval.charset)=NULL; }
8738
#line 1876 "sql_yacc.yy"
8743
#line 1877 "sql_yacc.yy"
8748
#line 1891 "sql_yacc.yy"
8750
(yyval.table)=(yyvsp[(2) - (5)].table);
8755
#line 1898 "sql_yacc.yy"
8756
{ Lex->ref_list.empty(); }
8760
#line 1904 "sql_yacc.yy"
8761
{ Lex->ref_list.push_back(new Key_part_spec((yyvsp[(3) - (3)].lex_str), 0)); }
8765
#line 1906 "sql_yacc.yy"
8768
lex->ref_list.empty();
8769
lex->ref_list.push_back(new Key_part_spec((yyvsp[(1) - (1)].lex_str), 0));
8774
#line 1915 "sql_yacc.yy"
8775
{ ((statement::CreateTable *)Lex->statement)->fk_match_option= Foreign_key::FK_MATCH_UNDEF; }
8779
#line 1917 "sql_yacc.yy"
8780
{ ((statement::CreateTable *)Lex->statement)->fk_match_option= Foreign_key::FK_MATCH_FULL; }
8784
#line 1919 "sql_yacc.yy"
8785
{ ((statement::CreateTable *)Lex->statement)->fk_match_option= Foreign_key::FK_MATCH_PARTIAL; }
8789
#line 1921 "sql_yacc.yy"
8790
{ ((statement::CreateTable *)Lex->statement)->fk_match_option= Foreign_key::FK_MATCH_SIMPLE; }
8794
#line 1926 "sql_yacc.yy"
8796
((statement::CreateTable *)Lex->statement)->fk_update_opt= Foreign_key::FK_OPTION_UNDEF;
8797
((statement::CreateTable *)Lex->statement)->fk_delete_opt= Foreign_key::FK_OPTION_UNDEF;
8802
#line 1931 "sql_yacc.yy"
8804
((statement::CreateTable *)Lex->statement)->fk_update_opt= (yyvsp[(3) - (3)].m_fk_option);
8805
((statement::CreateTable *)Lex->statement)->fk_delete_opt= Foreign_key::FK_OPTION_UNDEF;
8810
#line 1936 "sql_yacc.yy"
8812
((statement::CreateTable *)Lex->statement)->fk_update_opt= Foreign_key::FK_OPTION_UNDEF;
8813
((statement::CreateTable *)Lex->statement)->fk_delete_opt= (yyvsp[(3) - (3)].m_fk_option);
8818
#line 1942 "sql_yacc.yy"
8820
((statement::CreateTable *)Lex->statement)->fk_update_opt= (yyvsp[(3) - (6)].m_fk_option);
8821
((statement::CreateTable *)Lex->statement)->fk_delete_opt= (yyvsp[(6) - (6)].m_fk_option);
8826
#line 1948 "sql_yacc.yy"
8828
((statement::CreateTable *)Lex->statement)->fk_update_opt= (yyvsp[(6) - (6)].m_fk_option);
8829
((statement::CreateTable *)Lex->statement)->fk_delete_opt= (yyvsp[(3) - (6)].m_fk_option);
8834
#line 1955 "sql_yacc.yy"
8835
{ (yyval.m_fk_option)= Foreign_key::FK_OPTION_RESTRICT; }
8839
#line 1956 "sql_yacc.yy"
8840
{ (yyval.m_fk_option)= Foreign_key::FK_OPTION_CASCADE; }
8844
#line 1957 "sql_yacc.yy"
8845
{ (yyval.m_fk_option)= Foreign_key::FK_OPTION_SET_NULL; }
8849
#line 1958 "sql_yacc.yy"
8850
{ (yyval.m_fk_option)= Foreign_key::FK_OPTION_NO_ACTION; }
8854
#line 1959 "sql_yacc.yy"
8855
{ (yyval.m_fk_option)= Foreign_key::FK_OPTION_DEFAULT; }
8859
#line 1963 "sql_yacc.yy"
8860
{ (yyval.key_type)= Key::MULTIPLE; }
8864
#line 1967 "sql_yacc.yy"
8865
{ (yyval.key_type)= Key::PRIMARY; }
8869
#line 1968 "sql_yacc.yy"
8870
{ (yyval.key_type)= Key::UNIQUE; }
8874
#line 1972 "sql_yacc.yy"
8879
#line 1973 "sql_yacc.yy"
8884
#line 1977 "sql_yacc.yy"
8889
#line 1982 "sql_yacc.yy"
8894
#line 1983 "sql_yacc.yy"
8899
#line 1984 "sql_yacc.yy"
8904
#line 1988 "sql_yacc.yy"
8905
{ (yyval.key_type)= Key::MULTIPLE; }
8909
#line 1989 "sql_yacc.yy"
8910
{ (yyval.key_type)= Key::UNIQUE; }
8914
#line 1993 "sql_yacc.yy"
8916
((statement::CreateTable *)Lex->statement)->key_create_info= default_key_create_info;
8921
#line 2010 "sql_yacc.yy"
8926
#line 2020 "sql_yacc.yy"
8927
{ ((statement::CreateTable *)Lex->statement)->key_create_info.algorithm= (yyvsp[(2) - (2)].key_alg); }
8931
#line 2021 "sql_yacc.yy"
8932
{ ((statement::CreateTable *)Lex->statement)->key_create_info.algorithm= (yyvsp[(2) - (2)].key_alg); }
8936
#line 2027 "sql_yacc.yy"
8937
{ ((statement::CreateTable *)Lex->statement)->key_create_info.block_size= (yyvsp[(3) - (3)].ulong_num); }
8941
#line 2029 "sql_yacc.yy"
8942
{ ((statement::CreateTable *)Lex->statement)->key_create_info.comment= (yyvsp[(2) - (2)].lex_str); }
8946
#line 2033 "sql_yacc.yy"
8947
{ (yyval.key_alg)= HA_KEY_ALG_BTREE; }
8951
#line 2034 "sql_yacc.yy"
8952
{ (yyval.key_alg)= HA_KEY_ALG_HASH; }
8956
#line 2038 "sql_yacc.yy"
8957
{ Lex->col_list.push_back((yyvsp[(3) - (4)].key_part)); }
8961
#line 2039 "sql_yacc.yy"
8962
{ Lex->col_list.push_back((yyvsp[(1) - (2)].key_part)); }
8966
#line 2043 "sql_yacc.yy"
8967
{ (yyval.key_part)=new Key_part_spec((yyvsp[(1) - (1)].lex_str), 0); }
8971
#line 2045 "sql_yacc.yy"
8973
int key_part_len= atoi((yyvsp[(3) - (4)].lex_str).str);
8976
my_error(ER_KEY_PART_0, MYF(0), (yyvsp[(1) - (4)].lex_str).str);
8978
(yyval.key_part)=new Key_part_spec((yyvsp[(1) - (4)].lex_str), (uint) key_part_len);
8983
#line 2056 "sql_yacc.yy"
8984
{ (yyval.lex_str)= null_lex_str; }
8988
#line 2057 "sql_yacc.yy"
8989
{ (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); }
8993
#line 2061 "sql_yacc.yy"
8994
{ (yyval.lex_str)= null_lex_str; }
8998
#line 2062 "sql_yacc.yy"
8999
{ (yyval.lex_str)= (yyvsp[(2) - (2)].lex_str); }
9003
#line 2066 "sql_yacc.yy"
9004
{ Lex->interval_list.push_back((yyvsp[(1) - (1)].string)); }
9008
#line 2067 "sql_yacc.yy"
9009
{ Lex->interval_list.push_back((yyvsp[(3) - (3)].string)); }
9013
#line 2075 "sql_yacc.yy"
9015
Session *session= YYSession;
9016
LEX *lex= session->lex;
9018
lex->name.length= 0;
9019
lex->sql_command= SQLCOM_ALTER_TABLE;
9020
statement::AlterTable *statement= new(std::nothrow) statement::AlterTable(YYSession);
9021
lex->statement= statement;
9022
if (lex->statement == NULL)
9024
lex->duplicates= DUP_ERROR;
9025
if (!lex->select_lex.add_table_to_list(session, (yyvsp[(5) - (5)].table), NULL,
9026
TL_OPTION_UPDATING))
9028
lex->col_list.empty();
9029
lex->select_lex.init_order();
9031
((TableList*) lex->select_lex.table_list.first)->db;
9032
statement->create_info.row_type= ROW_TYPE_NOT_USED;
9033
statement->alter_info.build_method= (yyvsp[(2) - (5)].build_method);
9038
#line 2097 "sql_yacc.yy"
9043
#line 2099 "sql_yacc.yy"
9046
lex->sql_command=SQLCOM_ALTER_DB;
9047
lex->statement= new(std::nothrow) statement::AlterSchema(YYSession);
9048
if (lex->statement == NULL)
9054
#line 2107 "sql_yacc.yy"
9057
lex->name= (yyvsp[(3) - (5)].lex_str);
9058
if (lex->name.str == NULL &&
9059
lex->copy_db_to(&lex->name.str, &lex->name.length))
9065
#line 2117 "sql_yacc.yy"
9066
{ (yyval.lex_str).str= 0; (yyval.lex_str).length= 0; }
9070
#line 2118 "sql_yacc.yy"
9071
{ (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); }
9075
#line 2124 "sql_yacc.yy"
9077
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9078
statement->alter_info.tablespace_op= DISCARD_TABLESPACE;
9083
#line 2129 "sql_yacc.yy"
9085
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9086
statement->alter_info.tablespace_op= IMPORT_TABLESPACE;
9091
#line 2138 "sql_yacc.yy"
9093
(yyval.build_method)= HA_BUILD_DEFAULT;
9098
#line 2142 "sql_yacc.yy"
9100
(yyval.build_method)= HA_BUILD_ONLINE;
9105
#line 2146 "sql_yacc.yy"
9107
(yyval.build_method)= HA_BUILD_OFFLINE;
9112
#line 2158 "sql_yacc.yy"
9114
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9116
statement->change=0;
9117
statement->alter_info.flags.set(ALTER_ADD_COLUMN);
9122
#line 2167 "sql_yacc.yy"
9127
#line 2169 "sql_yacc.yy"
9129
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9131
statement->alter_info.flags.set(ALTER_ADD_INDEX);
9136
#line 2175 "sql_yacc.yy"
9138
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9140
statement->alter_info.flags.set(ALTER_ADD_COLUMN);
9141
statement->alter_info.flags.set(ALTER_ADD_INDEX);
9146
#line 2182 "sql_yacc.yy"
9148
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9149
statement->change= (yyvsp[(3) - (3)].lex_str).str;
9150
statement->alter_info.flags.set(ALTER_CHANGE_COLUMN);
9155
#line 2189 "sql_yacc.yy"
9158
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9159
lex->length=lex->dec=0; lex->type=0;
9160
statement->default_value= statement->on_update_value= 0;
9161
statement->comment= null_lex_str;
9163
statement->alter_info.flags.set(ALTER_CHANGE_COLUMN);
9164
statement->column_format= COLUMN_FORMAT_TYPE_DEFAULT;
9166
statement->current_proto_field= NULL;
9171
#line 2202 "sql_yacc.yy"
9174
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9176
if (add_field_to_list(lex->session,&(yyvsp[(3) - (5)].lex_str),
9177
(enum enum_field_types) (yyvsp[(5) - (5)].num),
9178
lex->length, lex->dec, lex->type,
9179
statement->column_format,
9180
statement->default_value,
9181
statement->on_update_value,
9182
&statement->comment,
9183
(yyvsp[(3) - (5)].lex_str).str, &lex->interval_list, lex->charset))
9189
#line 2218 "sql_yacc.yy"
9191
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9193
statement->alter_info.drop_list.push_back(new AlterDrop(AlterDrop::COLUMN, (yyvsp[(3) - (3)].lex_str).str));
9194
statement->alter_info.flags.set(ALTER_DROP_COLUMN);
9199
#line 2225 "sql_yacc.yy"
9201
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9203
statement->alter_info.flags.set(ALTER_DROP_INDEX);
9204
statement->alter_info.flags.set(ALTER_FOREIGN_KEY);
9209
#line 2232 "sql_yacc.yy"
9211
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9213
statement->alter_info.drop_list.push_back(new AlterDrop(AlterDrop::KEY,
9215
statement->alter_info.flags.set(ALTER_DROP_INDEX);
9220
#line 2240 "sql_yacc.yy"
9222
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9224
statement->alter_info.drop_list.push_back(new AlterDrop(AlterDrop::KEY,
9225
(yyvsp[(3) - (3)].lex_str).str));
9226
statement->alter_info.flags.set(ALTER_DROP_INDEX);
9231
#line 2248 "sql_yacc.yy"
9233
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9235
statement->alter_info.keys_onoff= DISABLE;
9236
statement->alter_info.flags.set(ALTER_KEYS_ONOFF);
9241
#line 2255 "sql_yacc.yy"
9243
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9245
statement->alter_info.keys_onoff= ENABLE;
9246
statement->alter_info.flags.set(ALTER_KEYS_ONOFF);
9251
#line 2262 "sql_yacc.yy"
9253
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9255
statement->alter_info.alter_list.push_back(new AlterColumn((yyvsp[(3) - (6)].lex_str).str,(yyvsp[(6) - (6)].item)));
9256
statement->alter_info.flags.set(ALTER_COLUMN_DEFAULT);
9261
#line 2269 "sql_yacc.yy"
9263
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9265
statement->alter_info.alter_list.push_back(new AlterColumn((yyvsp[(3) - (5)].lex_str).str, (Item*) 0));
9266
statement->alter_info.flags.set(ALTER_COLUMN_DEFAULT);
9271
#line 2276 "sql_yacc.yy"
9274
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9277
lex->select_lex.db=(yyvsp[(3) - (3)].table)->db.str;
9278
if (lex->select_lex.db == NULL &&
9279
lex->copy_db_to(&lex->select_lex.db, &dummy))
9284
if (check_table_name((yyvsp[(3) - (3)].table)->table.str,(yyvsp[(3) - (3)].table)->table.length))
9286
my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[(3) - (3)].table)->table.str);
9290
lex->name= (yyvsp[(3) - (3)].table)->table;
9291
statement->alter_info.flags.set(ALTER_RENAME);
9296
#line 2298 "sql_yacc.yy"
9298
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9300
statement->create_info.table_charset=
9301
statement->create_info.default_table_charset= (yyvsp[(3) - (3)].charset);
9302
statement->create_info.used_fields|= (HA_CREATE_USED_CHARSET |
9303
HA_CREATE_USED_DEFAULT_CHARSET);
9304
statement->alter_info.flags.set(ALTER_CONVERT);
9309
#line 2308 "sql_yacc.yy"
9311
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9313
statement->alter_info.flags.set(ALTER_OPTIONS);
9318
#line 2314 "sql_yacc.yy"
9320
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9322
statement->alter_info.flags.set(ALTER_FORCE);
9327
#line 2320 "sql_yacc.yy"
9329
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9331
statement->alter_info.flags.set(ALTER_ORDER);
9336
#line 2328 "sql_yacc.yy"
9341
#line 2329 "sql_yacc.yy"
9346
#line 2333 "sql_yacc.yy"
9351
#line 2334 "sql_yacc.yy"
9356
#line 2338 "sql_yacc.yy"
9361
#line 2340 "sql_yacc.yy"
9363
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9365
store_position_for_column((yyvsp[(2) - (2)].lex_str).str);
9366
statement->alter_info.flags.set(ALTER_COLUMN_ORDER);
9371
#line 2347 "sql_yacc.yy"
9373
statement::AlterTable *statement= (statement::AlterTable *)Lex->statement;
9375
store_position_for_column(first_keyword);
9376
statement->alter_info.flags.set(ALTER_COLUMN_ORDER);
9381
#line 2356 "sql_yacc.yy"
9386
#line 2357 "sql_yacc.yy"
9391
#line 2358 "sql_yacc.yy"
9396
#line 2359 "sql_yacc.yy"
9401
#line 2364 "sql_yacc.yy"
9404
lex->sql_command= SQLCOM_BEGIN;
9405
lex->statement= new(std::nothrow) statement::StartTransaction(YYSession, (start_transaction_option_t)(yyvsp[(3) - (3)].num));
9406
if (lex->statement == NULL)
9412
#line 2374 "sql_yacc.yy"
9413
{ (yyval.num) = START_TRANS_NO_OPTIONS; }
9417
#line 2376 "sql_yacc.yy"
9419
(yyval.num)= START_TRANS_OPT_WITH_CONS_SNAPSHOT;
9424
#line 2384 "sql_yacc.yy"
9427
lex->sql_command = SQLCOM_CHECKSUM;
9428
lex->statement= new(std::nothrow) statement::Checksum(YYSession);
9429
if (lex->statement == NULL)
9435
#line 2392 "sql_yacc.yy"
9440
#line 2398 "sql_yacc.yy"
9443
lex->sql_command = SQLCOM_ANALYZE;
9444
lex->statement= new(std::nothrow) statement::Analyze(YYSession);
9445
if (lex->statement == NULL)
9451
#line 2406 "sql_yacc.yy"
9456
#line 2411 "sql_yacc.yy"
9460
lex->sql_command = SQLCOM_CHECK;
9461
lex->statement= new(std::nothrow) statement::Check(YYSession);
9462
if (lex->statement == NULL)
9468
#line 2420 "sql_yacc.yy"
9473
#line 2425 "sql_yacc.yy"
9475
Lex->sql_command= SQLCOM_RENAME_TABLE;
9476
Lex->statement= new(std::nothrow) statement::RenameTable(YYSession);
9477
if (Lex->statement == NULL)
9483
#line 2432 "sql_yacc.yy"
9488
#line 2442 "sql_yacc.yy"
9491
Select_Lex *sl= lex->current_select;
9492
if (!sl->add_table_to_list(lex->session, (yyvsp[(1) - (3)].table),NULL,TL_OPTION_UPDATING,
9494
!sl->add_table_to_list(lex->session, (yyvsp[(3) - (3)].table),NULL,TL_OPTION_UPDATING,
9501
#line 2460 "sql_yacc.yy"
9504
lex->sql_command= SQLCOM_SELECT;
9505
lex->statement= new(std::nothrow) statement::Select(YYSession);
9506
if (lex->statement == NULL)
9512
#line 2477 "sql_yacc.yy"
9514
if (setup_select_in_parentheses(Lex))
9520
#line 2487 "sql_yacc.yy"
9522
if (setup_select_in_parentheses(Lex))
9528
#line 2496 "sql_yacc.yy"
9531
Select_Lex * sel= lex->current_select;
9532
if (lex->current_select->set_braces(0))
9534
my_parse_error(ER(ER_SYNTAX_ERROR));
9537
if (sel->linkage == UNION_TYPE &&
9538
sel->master_unit()->first_select()->braces)
9540
my_parse_error(ER(ER_SYNTAX_ERROR));
9547
#line 2515 "sql_yacc.yy"
9550
Select_Lex *sel= lex->current_select;
9551
if (sel->linkage != UNION_TYPE)
9552
mysql_init_select(lex);
9553
lex->current_select->parsing_place= SELECT_LIST;
9558
#line 2523 "sql_yacc.yy"
9560
Lex->current_select->parsing_place= NO_MATTER;
9565
#line 2530 "sql_yacc.yy"
9570
#line 2540 "sql_yacc.yy"
9572
Lex->current_select->context.table_list=
9573
Lex->current_select->context.first_name_resolution_table=
9574
reinterpret_cast<TableList *>(Lex->current_select->table_list.first);
9579
#line 2550 "sql_yacc.yy"
9581
if (Lex->current_select->options & SELECT_DISTINCT &&
9582
Lex->current_select->options & SELECT_ALL)
9584
my_error(ER_WRONG_USAGE, MYF(0), "ALL", "DISTINCT");
9591
#line 2566 "sql_yacc.yy"
9592
{ Lex->current_select->options|= SELECT_STRAIGHT_JOIN; }
9596
#line 2567 "sql_yacc.yy"
9597
{ Lex->current_select->options|= SELECT_DISTINCT; }
9601
#line 2568 "sql_yacc.yy"
9602
{ Lex->current_select->options|= SELECT_SMALL_RESULT; }
9606
#line 2569 "sql_yacc.yy"
9607
{ Lex->current_select->options|= SELECT_BIG_RESULT; }
9611
#line 2571 "sql_yacc.yy"
9613
if (check_simple_select())
9615
Lex->current_select->options|= OPTION_BUFFER_RESULT;
9620
#line 2577 "sql_yacc.yy"
9622
if (check_simple_select())
9624
Lex->current_select->options|= OPTION_FOUND_ROWS;
9629
#line 2582 "sql_yacc.yy"
9630
{ Lex->current_select->options|= SELECT_ALL; }
9634
#line 2588 "sql_yacc.yy"
9637
lex->current_select->set_lock_for_tables(TL_WRITE);
9642
#line 2593 "sql_yacc.yy"
9645
lex->current_select->
9646
set_lock_for_tables(TL_READ_WITH_SHARED_LOCKS);
9651
#line 2604 "sql_yacc.yy"
9653
Session *session= YYSession;
9654
if (session->add_item_to_list( new Item_field(&session->lex->current_select->
9658
(session->lex->current_select->with_wild)++;
9663
#line 2616 "sql_yacc.yy"
9665
Session *session= YYSession;
9667
if (session->add_item_to_list((yyvsp[(2) - (3)].item)))
9673
#line 2623 "sql_yacc.yy"
9675
Session *session= YYSession;
9676
assert((yyvsp[(1) - (4)].simple_string) < (yyvsp[(3) - (4)].simple_string));
9678
if (session->add_item_to_list((yyvsp[(2) - (4)].item)))
9680
if ((yyvsp[(4) - (4)].lex_str).str)
9682
(yyvsp[(2) - (4)].item)->is_autogenerated_name= false;
9683
(yyvsp[(2) - (4)].item)->set_name((yyvsp[(4) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).length, system_charset_info);
9685
else if (!(yyvsp[(2) - (4)].item)->name)
9687
(yyvsp[(2) - (4)].item)->set_name((yyvsp[(1) - (4)].simple_string), (uint) ((yyvsp[(3) - (4)].simple_string) - (yyvsp[(1) - (4)].simple_string)), session->charset());
9693
#line 2642 "sql_yacc.yy"
9695
Session *session= YYSession;
9696
Lex_input_stream *lip= session->m_lip;
9697
(yyval.simple_string)= (char*) lip->get_cpp_tok_start();
9702
#line 2650 "sql_yacc.yy"
9704
Session *session= YYSession;
9705
Lex_input_stream *lip= session->m_lip;
9706
(yyval.simple_string)= (char*) lip->get_cpp_tok_end();
9711
#line 2658 "sql_yacc.yy"
9712
{ (yyval.lex_str)=null_lex_str;}
9716
#line 2659 "sql_yacc.yy"
9717
{ (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); }
9721
#line 2660 "sql_yacc.yy"
9722
{ (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); }
9726
#line 2661 "sql_yacc.yy"
9727
{ (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); }
9731
#line 2662 "sql_yacc.yy"
9732
{ (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); }
9736
#line 2666 "sql_yacc.yy"
9741
#line 2667 "sql_yacc.yy"
9746
#line 2673 "sql_yacc.yy"
9750
Do not use a manually maintained stack like session->lex->xxx_list,
9751
but use the internal bison stack ($$, $1 and $3) instead.
9752
Using the bison stack is:
9753
- more robust to changes in the grammar,
9754
- guaranteed to be in sync with the parser state,
9755
- better for performances (no memory allocation).
9757
Item_cond_or *item1;
9758
Item_cond_or *item3;
9759
if (is_cond_or((yyvsp[(1) - (3)].item)))
9761
item1= (Item_cond_or*) (yyvsp[(1) - (3)].item);
9762
if (is_cond_or((yyvsp[(3) - (3)].item)))
9764
item3= (Item_cond_or*) (yyvsp[(3) - (3)].item);
9766
(X1 OR X2) OR (Y1 OR Y2) ==> OR (X1, X2, Y1, Y2)
9768
item3->add_at_head(item1->argument_list());
9769
(yyval.item) = (yyvsp[(3) - (3)].item);
9774
(X1 OR X2) OR Y ==> OR (X1, X2, Y)
9776
item1->add((yyvsp[(3) - (3)].item));
9777
(yyval.item) = (yyvsp[(1) - (3)].item);
9780
else if (is_cond_or((yyvsp[(3) - (3)].item)))
9782
item3= (Item_cond_or*) (yyvsp[(3) - (3)].item);
9784
X OR (Y1 OR Y2) ==> OR (X, Y1, Y2)
9786
item3->add_at_head((yyvsp[(1) - (3)].item));
9787
(yyval.item) = (yyvsp[(3) - (3)].item);
9792
(yyval.item) = new (YYSession->mem_root) Item_cond_or((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item));
9798
#line 2722 "sql_yacc.yy"
9800
/* XOR is a proprietary extension */
9801
(yyval.item) = new (YYSession->mem_root) Item_cond_xor((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item));
9806
#line 2727 "sql_yacc.yy"
9808
/* See comments in rule expr: expr or expr */
9809
Item_cond_and *item1;
9810
Item_cond_and *item3;
9811
if (is_cond_and((yyvsp[(1) - (3)].item)))
9813
item1= (Item_cond_and*) (yyvsp[(1) - (3)].item);
9814
if (is_cond_and((yyvsp[(3) - (3)].item)))
9816
item3= (Item_cond_and*) (yyvsp[(3) - (3)].item);
9818
(X1 AND X2) AND (Y1 AND Y2) ==> AND (X1, X2, Y1, Y2)
9820
item3->add_at_head(item1->argument_list());
9821
(yyval.item) = (yyvsp[(3) - (3)].item);
9826
(X1 AND X2) AND Y ==> AND (X1, X2, Y)
9828
item1->add((yyvsp[(3) - (3)].item));
9829
(yyval.item) = (yyvsp[(1) - (3)].item);
9832
else if (is_cond_and((yyvsp[(3) - (3)].item)))
9834
item3= (Item_cond_and*) (yyvsp[(3) - (3)].item);
9836
X AND (Y1 AND Y2) ==> AND (X, Y1, Y2)
9838
item3->add_at_head((yyvsp[(1) - (3)].item));
9839
(yyval.item) = (yyvsp[(3) - (3)].item);
9844
(yyval.item) = new (YYSession->mem_root) Item_cond_and((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item));
9850
#line 2768 "sql_yacc.yy"
9851
{ (yyval.item)= negate_expression(YYSession, (yyvsp[(2) - (2)].item)); }
9855
#line 2770 "sql_yacc.yy"
9856
{ (yyval.item)= new (YYSession->mem_root) Item_func_istrue((yyvsp[(1) - (3)].item)); }
9860
#line 2772 "sql_yacc.yy"
9861
{ (yyval.item)= new (YYSession->mem_root) Item_func_isnottrue((yyvsp[(1) - (4)].item)); }
9865
#line 2774 "sql_yacc.yy"
9866
{ (yyval.item)= new (YYSession->mem_root) Item_func_isfalse((yyvsp[(1) - (3)].item)); }
9870
#line 2776 "sql_yacc.yy"
9871
{ (yyval.item)= new (YYSession->mem_root) Item_func_isnotfalse((yyvsp[(1) - (4)].item)); }
9875
#line 2778 "sql_yacc.yy"
9876
{ (yyval.item)= new Item_func_isnull((yyvsp[(1) - (3)].item)); }
9880
#line 2780 "sql_yacc.yy"
9881
{ (yyval.item)= new Item_func_isnotnull((yyvsp[(1) - (4)].item)); }
9885
#line 2786 "sql_yacc.yy"
9886
{ (yyval.item)= new Item_func_isnull((yyvsp[(1) - (3)].item)); }
9890
#line 2788 "sql_yacc.yy"
9891
{ (yyval.item)= new Item_func_isnotnull((yyvsp[(1) - (4)].item)); }
9895
#line 2790 "sql_yacc.yy"
9896
{ (yyval.item)= new Item_func_equal((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
9900
#line 2792 "sql_yacc.yy"
9901
{ (yyval.item)= (*(yyvsp[(2) - (3)].boolfunc2creator))(0)->create((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
9905
#line 2794 "sql_yacc.yy"
9906
{ (yyval.item)= all_any_subquery_creator((yyvsp[(1) - (6)].item), (yyvsp[(2) - (6)].boolfunc2creator), (yyvsp[(3) - (6)].num), (yyvsp[(5) - (6)].select_lex)); }
9910
#line 2800 "sql_yacc.yy"
9912
(yyval.item)= new (YYSession->mem_root) Item_in_subselect((yyvsp[(1) - (5)].item), (yyvsp[(4) - (5)].select_lex));
9917
#line 2804 "sql_yacc.yy"
9919
Session *session= YYSession;
9920
Item *item= new (session->mem_root) Item_in_subselect((yyvsp[(1) - (6)].item), (yyvsp[(5) - (6)].select_lex));
9921
(yyval.item)= negate_expression(session, item);
9926
#line 2810 "sql_yacc.yy"
9928
(yyval.item)= handle_sql2003_note184_exception(YYSession, (yyvsp[(1) - (5)].item), true, (yyvsp[(4) - (5)].item));
9933
#line 2814 "sql_yacc.yy"
9935
(yyvsp[(6) - (7)].item_list)->push_front((yyvsp[(4) - (7)].item));
9936
(yyvsp[(6) - (7)].item_list)->push_front((yyvsp[(1) - (7)].item));
9937
(yyval.item)= new (YYSession->mem_root) Item_func_in(*(yyvsp[(6) - (7)].item_list));
9942
#line 2820 "sql_yacc.yy"
9944
(yyval.item)= handle_sql2003_note184_exception(YYSession, (yyvsp[(1) - (6)].item), false, (yyvsp[(5) - (6)].item));
9949
#line 2824 "sql_yacc.yy"
9951
(yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(5) - (8)].item));
9952
(yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(1) - (8)].item));
9953
Item_func_in *item = new (YYSession->mem_root) Item_func_in(*(yyvsp[(7) - (8)].item_list));
9960
#line 2832 "sql_yacc.yy"
9961
{ (yyval.item)= new Item_func_between((yyvsp[(1) - (5)].item),(yyvsp[(3) - (5)].item),(yyvsp[(5) - (5)].item)); }
9965
#line 2834 "sql_yacc.yy"
9967
Item_func_between *item= new Item_func_between((yyvsp[(1) - (6)].item),(yyvsp[(4) - (6)].item),(yyvsp[(6) - (6)].item));
9974
#line 2840 "sql_yacc.yy"
9975
{ (yyval.item)= new Item_func_like((yyvsp[(1) - (4)].item),(yyvsp[(3) - (4)].item),(yyvsp[(4) - (4)].item),Lex->escape_used); }
9979
#line 2842 "sql_yacc.yy"
9980
{ (yyval.item)= new Item_func_not(new Item_func_like((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].item), Lex->escape_used)); }
9984
#line 2848 "sql_yacc.yy"
9985
{ (yyval.item)= new Item_func_plus((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
9989
#line 2850 "sql_yacc.yy"
9990
{ (yyval.item)= new Item_func_minus((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
9994
#line 2852 "sql_yacc.yy"
9995
{ (yyval.item)= new Item_date_add_interval((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].interval),0); }
9999
#line 2854 "sql_yacc.yy"
10000
{ (yyval.item)= new Item_date_add_interval((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].interval),1); }
10004
#line 2856 "sql_yacc.yy"
10005
{ (yyval.item)= new Item_func_mul((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
10009
#line 2858 "sql_yacc.yy"
10010
{ (yyval.item)= new Item_func_div((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
10014
#line 2860 "sql_yacc.yy"
10015
{ (yyval.item)= new Item_func_mod((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
10019
#line 2862 "sql_yacc.yy"
10020
{ (yyval.item)= new Item_func_int_div((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
10024
#line 2864 "sql_yacc.yy"
10025
{ (yyval.item)= new Item_func_mod((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); }
10029
#line 2881 "sql_yacc.yy"
10030
{ (yyval.boolfunc2creator) = &comp_eq_creator; }
10034
#line 2882 "sql_yacc.yy"
10035
{ (yyval.boolfunc2creator) = &comp_ge_creator; }
10039
#line 2883 "sql_yacc.yy"
10040
{ (yyval.boolfunc2creator) = &comp_gt_creator; }
10044
#line 2884 "sql_yacc.yy"
10045
{ (yyval.boolfunc2creator) = &comp_le_creator; }
10049
#line 2885 "sql_yacc.yy"
10050
{ (yyval.boolfunc2creator) = &comp_lt_creator; }
10054
#line 2886 "sql_yacc.yy"
10055
{ (yyval.boolfunc2creator) = &comp_ne_creator; }
10059
#line 2890 "sql_yacc.yy"
10060
{ (yyval.num) = 1; }
10064
#line 2891 "sql_yacc.yy"
10065
{ (yyval.num) = 0; }
10069
#line 2901 "sql_yacc.yy"
10071
Session *session= YYSession;
10072
Item *i1= new (session->mem_root) Item_string((yyvsp[(3) - (3)].lex_str).str,
10073
(yyvsp[(3) - (3)].lex_str).length,
10074
session->charset());
10075
(yyval.item)= new (session->mem_root) Item_func_set_collation((yyvsp[(1) - (3)].item), i1);
10080
#line 2911 "sql_yacc.yy"
10081
{ (yyval.item)= (yyvsp[(2) - (2)].item); }
10085
#line 2913 "sql_yacc.yy"
10086
{ (yyval.item)= new (YYSession->mem_root) Item_func_neg((yyvsp[(2) - (2)].item)); }
10090
#line 2915 "sql_yacc.yy"
10092
(yyval.item)= new (YYSession->mem_root) Item_singlerow_subselect((yyvsp[(2) - (3)].select_lex));
10097
#line 2918 "sql_yacc.yy"
10098
{ (yyval.item)= (yyvsp[(2) - (3)].item); }
10102
#line 2920 "sql_yacc.yy"
10104
(yyvsp[(4) - (5)].item_list)->push_front((yyvsp[(2) - (5)].item));
10105
(yyval.item)= new (YYSession->mem_root) Item_row(*(yyvsp[(4) - (5)].item_list));
10110
#line 2925 "sql_yacc.yy"
10112
(yyvsp[(5) - (6)].item_list)->push_front((yyvsp[(3) - (6)].item));
10113
(yyval.item)= new (YYSession->mem_root) Item_row(*(yyvsp[(5) - (6)].item_list));
10118
#line 2930 "sql_yacc.yy"
10120
(yyval.item)= new (YYSession->mem_root) Item_exists_subselect((yyvsp[(3) - (4)].select_lex));
10125
#line 2933 "sql_yacc.yy"
10126
{ (yyval.item)= (yyvsp[(3) - (4)].item); }
10130
#line 2935 "sql_yacc.yy"
10132
(yyval.item)= create_func_cast(YYSession, (yyvsp[(2) - (2)].item), ITEM_CAST_CHAR, NULL, NULL,
10138
#line 2940 "sql_yacc.yy"
10141
(yyval.item)= create_func_cast(YYSession, (yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].cast_type), lex->length, lex->dec,
10149
#line 2948 "sql_yacc.yy"
10150
{ (yyval.item)= new (YYSession->mem_root) Item_func_case(* (yyvsp[(3) - (5)].item_list), (yyvsp[(2) - (5)].item), (yyvsp[(4) - (5)].item) ); }
10154
#line 2950 "sql_yacc.yy"
10156
(yyval.item)= create_func_cast(YYSession, (yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].cast_type), Lex->length, Lex->dec,
10164
#line 2957 "sql_yacc.yy"
10166
(yyval.item)= new (YYSession->mem_root) Item_default_value(Lex->current_context(),
10167
(yyvsp[(3) - (4)].item));
10172
#line 2962 "sql_yacc.yy"
10174
(yyval.item)= new (YYSession->mem_root) Item_insert_value(Lex->current_context(),
10175
(yyvsp[(3) - (4)].item));
10180
#line 2968 "sql_yacc.yy"
10181
{ (yyval.item)= new (YYSession->mem_root) Item_date_add_interval((yyvsp[(5) - (5)].item),(yyvsp[(2) - (5)].item),(yyvsp[(3) - (5)].interval),0); }
10185
#line 2979 "sql_yacc.yy"
10186
{ (yyval.item)= new (YYSession->mem_root) Item_func_char(*(yyvsp[(3) - (4)].item_list)); }
10190
#line 2981 "sql_yacc.yy"
10192
(yyval.item)= new (YYSession->mem_root) Item_func_current_user(Lex->current_context());
10197
#line 2985 "sql_yacc.yy"
10198
{ (yyval.item)= new (YYSession->mem_root) Item_date_typecast((yyvsp[(3) - (4)].item)); }
10202
#line 2987 "sql_yacc.yy"
10203
{ (yyval.item)= new (YYSession->mem_root) Item_func_dayofmonth((yyvsp[(3) - (4)].item)); }
10207
#line 2989 "sql_yacc.yy"
10208
{ (yyval.item)= new (YYSession->mem_root) Item_func_hour((yyvsp[(3) - (4)].item)); }
10212
#line 2991 "sql_yacc.yy"
10213
{ (yyval.item)= new (YYSession->mem_root) Item_func_insert((yyvsp[(3) - (10)].item),(yyvsp[(5) - (10)].item),(yyvsp[(7) - (10)].item),(yyvsp[(9) - (10)].item)); }
10217
#line 2993 "sql_yacc.yy"
10219
Session *session= YYSession;
10220
List<Item> *list= new (session->mem_root) List<Item>;
10221
list->push_front((yyvsp[(5) - (6)].item));
10222
list->push_front((yyvsp[(3) - (6)].item));
10223
Item_row *item= new (session->mem_root) Item_row(*list);
10224
(yyval.item)= new (session->mem_root) Item_func_interval(item);
10229
#line 3002 "sql_yacc.yy"
10231
Session *session= YYSession;
10232
(yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(5) - (8)].item));
10233
(yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(3) - (8)].item));
10234
Item_row *item= new (session->mem_root) Item_row(*(yyvsp[(7) - (8)].item_list));
10235
(yyval.item)= new (session->mem_root) Item_func_interval(item);
10240
#line 3010 "sql_yacc.yy"
10241
{ (yyval.item)= new (YYSession->mem_root) Item_func_left((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); }
10245
#line 3012 "sql_yacc.yy"
10246
{ (yyval.item)= new (YYSession->mem_root) Item_func_minute((yyvsp[(3) - (4)].item)); }
10250
#line 3014 "sql_yacc.yy"
10251
{ (yyval.item)= new (YYSession->mem_root) Item_func_month((yyvsp[(3) - (4)].item)); }
10255
#line 3016 "sql_yacc.yy"
10256
{ (yyval.item)= new (YYSession->mem_root) Item_func_right((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); }
10260
#line 3018 "sql_yacc.yy"
10261
{ (yyval.item)= new (YYSession->mem_root) Item_func_second((yyvsp[(3) - (4)].item)); }
10265
#line 3020 "sql_yacc.yy"
10266
{ (yyval.item)= new (YYSession->mem_root) Item_datetime_typecast((yyvsp[(3) - (4)].item)); }
10270
#line 3022 "sql_yacc.yy"
10271
{ (yyval.item)= new (YYSession->mem_root) Item_func_trim((yyvsp[(3) - (4)].item)); }
10275
#line 3024 "sql_yacc.yy"
10276
{ (yyval.item)= new (YYSession->mem_root) Item_func_ltrim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item)); }
10280
#line 3026 "sql_yacc.yy"
10281
{ (yyval.item)= new (YYSession->mem_root) Item_func_rtrim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item)); }
10285
#line 3028 "sql_yacc.yy"
10286
{ (yyval.item)= new (YYSession->mem_root) Item_func_trim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item)); }
10290
#line 3030 "sql_yacc.yy"
10291
{ (yyval.item)= new (YYSession->mem_root) Item_func_ltrim((yyvsp[(5) - (6)].item)); }
10295
#line 3032 "sql_yacc.yy"
10296
{ (yyval.item)= new (YYSession->mem_root) Item_func_rtrim((yyvsp[(5) - (6)].item)); }
10300
#line 3034 "sql_yacc.yy"
10301
{ (yyval.item)= new (YYSession->mem_root) Item_func_trim((yyvsp[(5) - (6)].item)); }
10305
#line 3036 "sql_yacc.yy"
10306
{ (yyval.item)= new (YYSession->mem_root) Item_func_trim((yyvsp[(5) - (6)].item),(yyvsp[(3) - (6)].item)); }
10310
#line 3038 "sql_yacc.yy"
10312
(yyval.item)= new (YYSession->mem_root) Item_func_user();
10317
#line 3042 "sql_yacc.yy"
10318
{ (yyval.item)= new (YYSession->mem_root) Item_func_year((yyvsp[(3) - (4)].item)); }
10322
#line 3058 "sql_yacc.yy"
10324
(yyval.item)= new (YYSession->mem_root) Item_date_add_interval((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item),
10330
#line 3063 "sql_yacc.yy"
10331
{ (yyval.item)= new (YYSession->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item), (yyvsp[(6) - (8)].item), (yyvsp[(7) - (8)].interval), 0); }
10335
#line 3065 "sql_yacc.yy"
10337
(yyval.item)= new (YYSession->mem_root) Item_func_curdate_local();
10342
#line 3069 "sql_yacc.yy"
10343
{ (yyval.item)= new (YYSession->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item),(yyvsp[(6) - (8)].item),(yyvsp[(7) - (8)].interval),0); }
10347
#line 3071 "sql_yacc.yy"
10348
{ (yyval.item)= new (YYSession->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item),(yyvsp[(6) - (8)].item),(yyvsp[(7) - (8)].interval),1); }
10352
#line 3073 "sql_yacc.yy"
10353
{ (yyval.item)=new (YYSession->mem_root) Item_extract( (yyvsp[(3) - (6)].interval), (yyvsp[(5) - (6)].item)); }
10357
#line 3075 "sql_yacc.yy"
10359
(yyval.item)= new (YYSession->mem_root) Item_func_now_local();
10364
#line 3079 "sql_yacc.yy"
10366
(yyval.item)= new (YYSession->mem_root) Item_func_now_local((yyvsp[(3) - (4)].item));
10371
#line 3083 "sql_yacc.yy"
10372
{ (yyval.item) = new (YYSession->mem_root) Item_func_locate((yyvsp[(5) - (6)].item),(yyvsp[(3) - (6)].item)); }
10376
#line 3085 "sql_yacc.yy"
10378
(yyval.item)= new (YYSession->mem_root) Item_date_add_interval((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item),
10384
#line 3090 "sql_yacc.yy"
10385
{ (yyval.item)= new (YYSession->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item), (yyvsp[(6) - (8)].item), (yyvsp[(7) - (8)].interval), 1); }
10389
#line 3092 "sql_yacc.yy"
10391
std::string reverse_str("substr");
10392
List<Item> *args= new (YYSession->mem_root) List<Item>;
10393
args->push_back((yyvsp[(3) - (8)].item));
10394
args->push_back((yyvsp[(5) - (8)].item));
10395
args->push_back((yyvsp[(7) - (8)].item));
10396
if (! ((yyval.item)= reserved_keyword_function(reverse_str, args)))
10404
#line 3104 "sql_yacc.yy"
10406
std::string reverse_str("substr");
10407
List<Item> *args= new (YYSession->mem_root) List<Item>;
10408
args->push_back((yyvsp[(3) - (6)].item));
10409
args->push_back((yyvsp[(5) - (6)].item));
10410
if (! ((yyval.item)= reserved_keyword_function(reverse_str, args)))
10418
#line 3115 "sql_yacc.yy"
10420
std::string reverse_str("substr");
10421
List<Item> *args= new (YYSession->mem_root) List<Item>;
10422
args->push_back((yyvsp[(3) - (8)].item));
10423
args->push_back((yyvsp[(5) - (8)].item));
10424
args->push_back((yyvsp[(7) - (8)].item));
10425
if (! ((yyval.item)= reserved_keyword_function(reverse_str, args)))
10433
#line 3127 "sql_yacc.yy"
10435
std::string reverse_str("substr");
10436
List<Item> *args= new (YYSession->mem_root) List<Item>;
10437
args->push_back((yyvsp[(3) - (6)].item));
10438
args->push_back((yyvsp[(5) - (6)].item));
10439
if (! ((yyval.item)= reserved_keyword_function(reverse_str, args)))
10447
#line 3138 "sql_yacc.yy"
10448
{ (yyval.item)= new (YYSession->mem_root) Item_func_sysdate_local(); }
10452
#line 3140 "sql_yacc.yy"
10453
{ (yyval.item)= new (YYSession->mem_root) Item_func_sysdate_local((yyvsp[(3) - (4)].item)); }
10457
#line 3142 "sql_yacc.yy"
10458
{ (yyval.item)= new (YYSession->mem_root) Item_date_add_interval((yyvsp[(7) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(3) - (8)].interval_time_st),0); }
10462
#line 3144 "sql_yacc.yy"
10463
{ (yyval.item)= new (YYSession->mem_root) Item_func_timestamp_diff((yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item),(yyvsp[(3) - (8)].interval_time_st)); }
10467
#line 3146 "sql_yacc.yy"
10469
(yyval.item)= new (YYSession->mem_root) Item_func_curdate_utc();
10474
#line 3150 "sql_yacc.yy"
10476
(yyval.item)= new (YYSession->mem_root) Item_func_now_utc();
10481
#line 3162 "sql_yacc.yy"
10482
{ (yyval.item)= new (YYSession->mem_root) Item_func_coalesce(* (yyvsp[(3) - (4)].item_list)); }
10486
#line 3164 "sql_yacc.yy"
10487
{ (yyval.item)= new (YYSession->mem_root) Item_func_collation((yyvsp[(3) - (4)].item)); }
10491
#line 3166 "sql_yacc.yy"
10493
std::string database_str("database");
10494
if (! ((yyval.item)= reserved_keyword_function(database_str, NULL)))
10502
#line 3174 "sql_yacc.yy"
10503
{ (yyval.item)= new (YYSession->mem_root) Item_func_if((yyvsp[(3) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item)); }
10507
#line 3176 "sql_yacc.yy"
10508
{ (yyval.item)= new (YYSession->mem_root) Item_func_microsecond((yyvsp[(3) - (4)].item)); }
10512
#line 3178 "sql_yacc.yy"
10513
{ (yyval.item) = new (YYSession->mem_root) Item_func_mod( (yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item)); }
10517
#line 3180 "sql_yacc.yy"
10518
{ (yyval.item) = new (YYSession->mem_root) Item_func_quarter((yyvsp[(3) - (4)].item)); }
10522
#line 3182 "sql_yacc.yy"
10523
{ (yyval.item)= new (YYSession->mem_root) Item_func_repeat((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); }
10527
#line 3184 "sql_yacc.yy"
10528
{ (yyval.item)= new (YYSession->mem_root) Item_func_replace((yyvsp[(3) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item)); }
10532
#line 3186 "sql_yacc.yy"
10534
std::string reverse_str("reverse");
10535
List<Item> *args= new (YYSession->mem_root) List<Item>;
10536
args->push_back((yyvsp[(3) - (4)].item));
10537
if (! ((yyval.item)= reserved_keyword_function(reverse_str, args)))
10545
#line 3196 "sql_yacc.yy"
10546
{ (yyval.item)= new (YYSession->mem_root) Item_func_round((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item),1); }
10550
#line 3209 "sql_yacc.yy"
10552
const plugin::Function *udf= plugin::Function::get((yyvsp[(1) - (2)].lex_str).str, (yyvsp[(1) - (2)].lex_str).length);
10554
/* Temporary placing the result of getFunction in $3 */
10560
#line 3216 "sql_yacc.yy"
10562
Session *session= YYSession;
10563
Create_func *builder;
10567
Implementation note:
10568
names are resolved with the following order:
10569
- MySQL native functions,
10570
- User Defined Functions,
10571
- Stored Functions (assuming the current <use> database)
10573
This will be revised with WL#2128 (SQL PATH)
10575
builder= find_native_function_builder((yyvsp[(1) - (5)].lex_str));
10578
item= builder->create(session, (yyvsp[(1) - (5)].lex_str), (yyvsp[(4) - (5)].item_list));
10582
/* Retrieving the result of service::Function::get */
10583
const plugin::Function *udf= (yyvsp[(3) - (5)].udf);
10586
item= Create_udf_func::s_singleton.create(session, udf, (yyvsp[(4) - (5)].item_list));
10588
/* fix for bug 250065, from Andrew Garner <muzazzi@gmail.com> */
10589
my_error(ER_SP_DOES_NOT_EXIST, MYF(0), "FUNCTION", (yyvsp[(1) - (5)].lex_str).str);
10593
if (! ((yyval.item)= item))
10601
#line 3256 "sql_yacc.yy"
10602
{ (yyval.item_list)= NULL; }
10606
#line 3257 "sql_yacc.yy"
10607
{ (yyval.item_list)= (yyvsp[(1) - (1)].item_list); }
10611
#line 3262 "sql_yacc.yy"
10613
(yyval.item_list)= new (YYSession->mem_root) List<Item>;
10614
(yyval.item_list)->push_back((yyvsp[(1) - (1)].item));
10619
#line 3267 "sql_yacc.yy"
10621
(yyvsp[(1) - (3)].item_list)->push_back((yyvsp[(3) - (3)].item));
10622
(yyval.item_list)= (yyvsp[(1) - (3)].item_list);
10627
#line 3275 "sql_yacc.yy"
10630
Use Item::name as a storage for the attribute value of user
10631
defined function argument. It is safe to use Item::name
10632
because the syntax will not allow having an explicit name here.
10633
See WL#1017 re. udf attributes.
10635
if ((yyvsp[(4) - (4)].lex_str).str)
10637
(yyvsp[(2) - (4)].item)->is_autogenerated_name= false;
10638
(yyvsp[(2) - (4)].item)->set_name((yyvsp[(4) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).length, system_charset_info);
10641
(yyvsp[(2) - (4)].item)->set_name((yyvsp[(1) - (4)].simple_string), (uint) ((yyvsp[(3) - (4)].simple_string) - (yyvsp[(1) - (4)].simple_string)), YYSession->charset());
10642
(yyval.item)= (yyvsp[(2) - (4)].item);
10647
#line 3295 "sql_yacc.yy"
10648
{ (yyval.item)=new Item_sum_avg((yyvsp[(3) - (4)].item)); }
10652
#line 3297 "sql_yacc.yy"
10653
{ (yyval.item)=new Item_sum_avg_distinct((yyvsp[(4) - (5)].item)); }
10657
#line 3299 "sql_yacc.yy"
10658
{ (yyval.item)=new Item_sum_count(new Item_int((int32_t) 0L,1)); }
10662
#line 3301 "sql_yacc.yy"
10663
{ (yyval.item)=new Item_sum_count((yyvsp[(3) - (4)].item)); }
10667
#line 3303 "sql_yacc.yy"
10668
{ Lex->current_select->in_sum_expr++; }
10672
#line 3305 "sql_yacc.yy"
10673
{ Lex->current_select->in_sum_expr--; }
10677
#line 3307 "sql_yacc.yy"
10678
{ (yyval.item)=new Item_sum_count_distinct(* (yyvsp[(5) - (7)].item_list)); }
10682
#line 3309 "sql_yacc.yy"
10683
{ (yyval.item)=new Item_sum_min((yyvsp[(3) - (4)].item)); }
10687
#line 3316 "sql_yacc.yy"
10688
{ (yyval.item)=new Item_sum_min((yyvsp[(4) - (5)].item)); }
10692
#line 3318 "sql_yacc.yy"
10693
{ (yyval.item)=new Item_sum_max((yyvsp[(3) - (4)].item)); }
10697
#line 3320 "sql_yacc.yy"
10698
{ (yyval.item)=new Item_sum_max((yyvsp[(4) - (5)].item)); }
10702
#line 3322 "sql_yacc.yy"
10703
{ (yyval.item)=new Item_sum_std((yyvsp[(3) - (4)].item), 0); }
10707
#line 3324 "sql_yacc.yy"
10708
{ (yyval.item)=new Item_sum_variance((yyvsp[(3) - (4)].item), 0); }
10712
#line 3326 "sql_yacc.yy"
10713
{ (yyval.item)=new Item_sum_std((yyvsp[(3) - (4)].item), 1); }
10717
#line 3328 "sql_yacc.yy"
10718
{ (yyval.item)=new Item_sum_variance((yyvsp[(3) - (4)].item), 1); }
10722
#line 3330 "sql_yacc.yy"
10723
{ (yyval.item)=new Item_sum_sum((yyvsp[(3) - (4)].item)); }
10727
#line 3332 "sql_yacc.yy"
10728
{ (yyval.item)=new Item_sum_sum_distinct((yyvsp[(4) - (5)].item)); }
10732
#line 3334 "sql_yacc.yy"
10733
{ Lex->current_select->in_sum_expr++; }
10737
#line 3338 "sql_yacc.yy"
10739
Select_Lex *sel= Lex->current_select;
10740
sel->in_sum_expr--;
10741
(yyval.item)=new Item_func_group_concat(Lex->current_context(), (yyvsp[(3) - (8)].num), (yyvsp[(5) - (8)].item_list),
10742
sel->gorder_list, (yyvsp[(7) - (8)].string));
10743
(yyvsp[(5) - (8)].item_list)->empty();
10748
#line 3349 "sql_yacc.yy"
10753
#line 3351 "sql_yacc.yy"
10755
(yyval.item)= (yyvsp[(3) - (3)].item);
10760
#line 3358 "sql_yacc.yy"
10762
(yyval.item)= new Item_func_set_user_var((yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].item));
10767
#line 3362 "sql_yacc.yy"
10769
(yyval.item)= new Item_func_get_user_var((yyvsp[(1) - (1)].lex_str));
10774
#line 3366 "sql_yacc.yy"
10776
/* disallow "SELECT @@global.global.variable" */
10777
if ((yyvsp[(3) - (4)].lex_str).str && (yyvsp[(4) - (4)].lex_str).str && check_reserved_words(&(yyvsp[(3) - (4)].lex_str)))
10779
my_parse_error(ER(ER_SYNTAX_ERROR));
10782
if (!((yyval.item)= get_system_var(YYSession, (yyvsp[(2) - (4)].var_type), (yyvsp[(3) - (4)].lex_str), (yyvsp[(4) - (4)].lex_str))))
10788
#line 3379 "sql_yacc.yy"
10789
{ (yyval.num) = 0; }
10793
#line 3380 "sql_yacc.yy"
10794
{ (yyval.num) = 1; }
10798
#line 3385 "sql_yacc.yy"
10800
(yyval.string)= new (YYSession->mem_root) String(",", 1, &my_charset_utf8_general_ci);
10805
#line 3388 "sql_yacc.yy"
10806
{ (yyval.string) = (yyvsp[(2) - (2)].string); }
10810
#line 3393 "sql_yacc.yy"
10812
Lex->current_select->gorder_list = NULL;
10817
#line 3397 "sql_yacc.yy"
10819
Select_Lex *select= Lex->current_select;
10820
select->gorder_list=
10821
(SQL_LIST*) memory::sql_memdup((char*) &select->order_list,
10822
sizeof(st_sql_list));
10823
select->order_list.empty();
10828
#line 3408 "sql_yacc.yy"
10831
if (lex->current_select->inc_in_sum_expr())
10833
my_parse_error(ER(ER_SYNTAX_ERROR));
10840
#line 3417 "sql_yacc.yy"
10842
Lex->current_select->in_sum_expr--;
10843
(yyval.item)= (yyvsp[(3) - (3)].item);
10848
#line 3425 "sql_yacc.yy"
10849
{ (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= &my_charset_bin; Lex->dec= 0; }
10853
#line 3427 "sql_yacc.yy"
10854
{ (yyval.cast_type)=ITEM_CAST_CHAR; Lex->dec= 0; }
10858
#line 3429 "sql_yacc.yy"
10859
{ (yyval.cast_type)=ITEM_CAST_DATE; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
10863
#line 3431 "sql_yacc.yy"
10864
{ (yyval.cast_type)=ITEM_CAST_DATETIME; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; }
10868
#line 3433 "sql_yacc.yy"
10869
{ (yyval.cast_type)=ITEM_CAST_DECIMAL; Lex->charset= NULL; }
10873
#line 3438 "sql_yacc.yy"
10875
(yyval.item_list)= new (YYSession->mem_root) List<Item>;
10876
(yyval.item_list)->push_back((yyvsp[(1) - (1)].item));
10881
#line 3443 "sql_yacc.yy"
10883
(yyvsp[(1) - (3)].item_list)->push_back((yyvsp[(3) - (3)].item));
10884
(yyval.item_list)= (yyvsp[(1) - (3)].item_list);
10889
#line 3450 "sql_yacc.yy"
10890
{ (yyval.item)= NULL; }
10894
#line 3451 "sql_yacc.yy"
10895
{ (yyval.item)= (yyvsp[(1) - (1)].item); }
10899
#line 3455 "sql_yacc.yy"
10900
{ (yyval.item)= NULL; }
10904
#line 3456 "sql_yacc.yy"
10905
{ (yyval.item)= (yyvsp[(2) - (2)].item); }
10909
#line 3461 "sql_yacc.yy"
10911
(yyval.item_list)= new List<Item>;
10912
(yyval.item_list)->push_back((yyvsp[(2) - (4)].item));
10913
(yyval.item_list)->push_back((yyvsp[(4) - (4)].item));
10918
#line 3467 "sql_yacc.yy"
10920
(yyvsp[(1) - (5)].item_list)->push_back((yyvsp[(3) - (5)].item));
10921
(yyvsp[(1) - (5)].item_list)->push_back((yyvsp[(5) - (5)].item));
10922
(yyval.item_list)= (yyvsp[(1) - (5)].item_list);
10927
#line 3477 "sql_yacc.yy"
10928
{ (yyval.table_list)=(yyvsp[(1) - (1)].table_list); }
10932
#line 3479 "sql_yacc.yy"
10935
if (!((yyval.table_list)= lex->current_select->nest_last_join(lex->session)))
10941
#line 3487 "sql_yacc.yy"
10942
{ DRIZZLE_YYABORT_UNLESS((yyval.table_list)=(yyvsp[(1) - (1)].table_list)); }
10946
#line 3498 "sql_yacc.yy"
10947
{ (yyval.table_list)=(yyvsp[(1) - (1)].table_list); }
10951
#line 3499 "sql_yacc.yy"
10952
{ (yyval.table_list)=(yyvsp[(3) - (4)].table_list); }
10956
#line 3505 "sql_yacc.yy"
10957
{ (yyval.table_list)=(yyvsp[(1) - (1)].table_list); }
10961
#line 3507 "sql_yacc.yy"
10963
DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list)));
10968
#line 3527 "sql_yacc.yy"
10969
{ DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list))); }
10973
#line 3529 "sql_yacc.yy"
10974
{ DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list))); (yyvsp[(3) - (3)].table_list)->straight=1; }
10978
#line 3532 "sql_yacc.yy"
10980
DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list));
10981
/* Change the current name resolution context to a local context. */
10982
if (push_new_name_resolution_context(YYSession, (yyvsp[(1) - (4)].table_list), (yyvsp[(3) - (4)].table_list)))
10984
Lex->current_select->parsing_place= IN_ON;
10989
#line 3540 "sql_yacc.yy"
10991
add_join_on((yyvsp[(3) - (6)].table_list),(yyvsp[(6) - (6)].item));
10992
Lex->pop_context();
10993
Lex->current_select->parsing_place= NO_MATTER;
10998
#line 3547 "sql_yacc.yy"
11000
DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list));
11001
/* Change the current name resolution context to a local context. */
11002
if (push_new_name_resolution_context(YYSession, (yyvsp[(1) - (4)].table_list), (yyvsp[(3) - (4)].table_list)))
11004
Lex->current_select->parsing_place= IN_ON;
11009
#line 3555 "sql_yacc.yy"
11011
(yyvsp[(3) - (6)].table_list)->straight=1;
11012
add_join_on((yyvsp[(3) - (6)].table_list),(yyvsp[(6) - (6)].item));
11013
Lex->pop_context();
11014
Lex->current_select->parsing_place= NO_MATTER;
11019
#line 3563 "sql_yacc.yy"
11021
DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list));
11026
#line 3567 "sql_yacc.yy"
11027
{ add_join_natural((yyvsp[(1) - (8)].table_list),(yyvsp[(3) - (8)].table_list),(yyvsp[(7) - (8)].string_list),Lex->current_select); (yyval.table_list)=(yyvsp[(3) - (8)].table_list); }
11031
#line 3569 "sql_yacc.yy"
11033
DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && ((yyval.table_list)=(yyvsp[(4) - (4)].table_list)));
11034
add_join_natural((yyvsp[(1) - (4)].table_list),(yyvsp[(4) - (4)].table_list),NULL,Lex->current_select);
11039
#line 3577 "sql_yacc.yy"
11041
DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(5) - (6)].table_list));
11042
/* Change the current name resolution context to a local context. */
11043
if (push_new_name_resolution_context(YYSession, (yyvsp[(1) - (6)].table_list), (yyvsp[(5) - (6)].table_list)))
11045
Lex->current_select->parsing_place= IN_ON;
11050
#line 3585 "sql_yacc.yy"
11052
add_join_on((yyvsp[(5) - (8)].table_list),(yyvsp[(8) - (8)].item));
11053
Lex->pop_context();
11054
(yyvsp[(5) - (8)].table_list)->outer_join|=JOIN_TYPE_LEFT;
11055
(yyval.table_list)=(yyvsp[(5) - (8)].table_list);
11056
Lex->current_select->parsing_place= NO_MATTER;
11061
#line 3593 "sql_yacc.yy"
11063
DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (5)].table_list) && (yyvsp[(5) - (5)].table_list));
11068
#line 3597 "sql_yacc.yy"
11070
add_join_natural((yyvsp[(1) - (10)].table_list),(yyvsp[(5) - (10)].table_list),(yyvsp[(9) - (10)].string_list),Lex->current_select);
11071
(yyvsp[(5) - (10)].table_list)->outer_join|=JOIN_TYPE_LEFT;
11072
(yyval.table_list)=(yyvsp[(5) - (10)].table_list);
11077
#line 3603 "sql_yacc.yy"
11079
DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(6) - (6)].table_list));
11080
add_join_natural((yyvsp[(1) - (6)].table_list),(yyvsp[(6) - (6)].table_list),NULL,Lex->current_select);
11081
(yyvsp[(6) - (6)].table_list)->outer_join|=JOIN_TYPE_LEFT;
11082
(yyval.table_list)=(yyvsp[(6) - (6)].table_list);
11087
#line 3613 "sql_yacc.yy"
11089
DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(5) - (6)].table_list));
11090
/* Change the current name resolution context to a local context. */
11091
if (push_new_name_resolution_context(YYSession, (yyvsp[(1) - (6)].table_list), (yyvsp[(5) - (6)].table_list)))
11093
Lex->current_select->parsing_place= IN_ON;
11098
#line 3621 "sql_yacc.yy"
11101
if (!((yyval.table_list)= lex->current_select->convert_right_join()))
11103
add_join_on((yyval.table_list), (yyvsp[(8) - (8)].item));
11104
Lex->pop_context();
11105
Lex->current_select->parsing_place= NO_MATTER;
11110
#line 3630 "sql_yacc.yy"
11112
DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (5)].table_list) && (yyvsp[(5) - (5)].table_list));
11117
#line 3634 "sql_yacc.yy"
11120
if (!((yyval.table_list)= lex->current_select->convert_right_join()))
11122
add_join_natural((yyval.table_list),(yyvsp[(5) - (10)].table_list),(yyvsp[(9) - (10)].string_list),Lex->current_select);
11127
#line 3641 "sql_yacc.yy"
11129
DRIZZLE_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(6) - (6)].table_list));
11130
add_join_natural((yyvsp[(6) - (6)].table_list),(yyvsp[(1) - (6)].table_list),NULL,Lex->current_select);
11132
if (!((yyval.table_list)= lex->current_select->convert_right_join()))
11138
#line 3651 "sql_yacc.yy"
11143
#line 3652 "sql_yacc.yy"
11148
#line 3653 "sql_yacc.yy"
11153
#line 3665 "sql_yacc.yy"
11155
Select_Lex *sel= Lex->current_select;
11156
sel->table_join_options= 0;
11161
#line 3670 "sql_yacc.yy"
11163
if (!((yyval.table_list)= Lex->current_select->add_table_to_list(YYSession, (yyvsp[(2) - (4)].table), (yyvsp[(3) - (4)].lex_str_ptr),
11164
Lex->current_select->get_table_join_options(),
11166
Lex->current_select->pop_index_hints())))
11168
Lex->current_select->add_joined_table((yyval.table_list));
11173
#line 3679 "sql_yacc.yy"
11176
Select_Lex *sel= lex->current_select;
11177
if ((yyvsp[(1) - (3)].num))
11179
if (sel->set_braces(1))
11181
my_parse_error(ER(ER_SYNTAX_ERROR));
11184
/* select in braces, can't contain global parameters */
11185
if (sel->master_unit()->fake_select_lex)
11186
sel->master_unit()->global_parameters=
11187
sel->master_unit()->fake_select_lex;
11189
if ((yyvsp[(2) - (3)].select_lex)->init_nested_join(lex->session))
11191
(yyval.table_list)= 0;
11192
/* incomplete derived tables return NULL, we must be
11193
nested in select_derived rule to be here. */
11198
#line 3719 "sql_yacc.yy"
11200
/* Use $2 instead of Lex->current_select as derived table will
11201
alter value of Lex->current_select. */
11202
if (!((yyvsp[(3) - (5)].table_list) || (yyvsp[(5) - (5)].lex_str_ptr)) && (yyvsp[(2) - (5)].select_lex)->embedding &&
11203
!(yyvsp[(2) - (5)].select_lex)->embedding->nested_join->join_list.elements)
11205
/* we have a derived table ($3 == NULL) but no alias,
11206
Since we are nested in further parentheses so we
11207
can pass NULL to the outer level parentheses
11208
Permits parsing of "((((select ...))) as xyz)" */
11209
(yyval.table_list)= 0;
11211
else if (!(yyvsp[(3) - (5)].table_list))
11213
/* Handle case of derived table, alias may be NULL if there
11214
are no outer parentheses, add_table_to_list() will throw
11215
error in this case */
11217
Select_Lex *sel= lex->current_select;
11218
Select_Lex_Unit *unit= sel->master_unit();
11219
lex->current_select= sel= unit->outer_select();
11220
if (!((yyval.table_list)= sel->add_table_to_list(lex->session,
11221
new Table_ident(unit), (yyvsp[(5) - (5)].lex_str_ptr), 0,
11225
sel->add_joined_table((yyval.table_list));
11226
lex->pop_context();
11228
else if (((yyvsp[(3) - (5)].table_list)->select_lex && (yyvsp[(3) - (5)].table_list)->select_lex->master_unit()->is_union()) || (yyvsp[(5) - (5)].lex_str_ptr))
11230
/* simple nested joins cannot have aliases or unions */
11231
my_parse_error(ER(ER_SYNTAX_ERROR));
11235
(yyval.table_list)= (yyvsp[(3) - (5)].table_list);
11240
#line 3764 "sql_yacc.yy"
11242
if (add_select_to_union_list(Lex, (bool)(yyvsp[(3) - (3)].num)))
11248
#line 3769 "sql_yacc.yy"
11251
Remove from the name resolution context stack the context of the
11252
last select in the union.
11254
Lex->pop_context();
11259
#line 3782 "sql_yacc.yy"
11262
Select_Lex * sel= lex->current_select;
11263
if (lex->current_select->set_braces(0))
11265
my_parse_error(ER(ER_SYNTAX_ERROR));
11268
if (sel->linkage == UNION_TYPE &&
11269
sel->master_unit()->first_select()->braces)
11271
my_parse_error(ER(ER_SYNTAX_ERROR));
11278
#line 3801 "sql_yacc.yy"
11281
Select_Lex *sel= lex->current_select;
11282
if (sel->linkage != UNION_TYPE)
11283
mysql_init_select(lex);
11284
lex->current_select->parsing_place= SELECT_LIST;
11289
#line 3809 "sql_yacc.yy"
11291
Lex->current_select->parsing_place= NO_MATTER;
11296
#line 3818 "sql_yacc.yy"
11299
if ((yyvsp[(1) - (1)].select_lex)->init_nested_join(lex->session))
11305
#line 3824 "sql_yacc.yy"
11308
/* for normal joins, $3 != NULL and end_nested_join() != NULL,
11309
for derived tables, both must equal NULL */
11311
if (!((yyval.table_list)= (yyvsp[(1) - (3)].select_lex)->end_nested_join(lex->session)) && (yyvsp[(3) - (3)].table_list))
11313
if (!(yyvsp[(3) - (3)].table_list) && (yyval.table_list))
11315
my_parse_error(ER(ER_SYNTAX_ERROR));
11322
#line 3840 "sql_yacc.yy"
11325
lex->derived_tables|= DERIVED_SUBQUERY;
11326
if (!lex->expr_allows_subselect)
11328
my_parse_error(ER(ER_SYNTAX_ERROR));
11331
if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE ||
11332
mysql_new_select(lex, 1))
11334
mysql_init_select(lex);
11335
lex->current_select->linkage= DERIVED_TABLE_TYPE;
11336
lex->current_select->parsing_place= SELECT_LIST;
11341
#line 3856 "sql_yacc.yy"
11343
Lex->current_select->parsing_place= NO_MATTER;
11348
#line 3863 "sql_yacc.yy"
11349
{ (yyval.select_lex)= Lex->current_select; }
11353
#line 3868 "sql_yacc.yy"
11357
Select_Lex *sel= lex->current_select;
11358
TableList *embedding;
11359
if (!sel->embedding || sel->end_nested_join(lex->session))
11361
/* we are not in parentheses */
11362
my_parse_error(ER(ER_SYNTAX_ERROR));
11365
embedding= Lex->current_select->embedding;
11366
(yyval.num)= embedding &&
11367
!embedding->nested_join->join_list.elements;
11368
/* return true if we are deeply nested */
11373
#line 3887 "sql_yacc.yy"
11378
#line 3888 "sql_yacc.yy"
11383
#line 3893 "sql_yacc.yy"
11385
(yyval.num)= INDEX_HINT_MASK_ALL;
11390
#line 3896 "sql_yacc.yy"
11391
{ (yyval.num)= INDEX_HINT_MASK_JOIN; }
11395
#line 3897 "sql_yacc.yy"
11396
{ (yyval.num)= INDEX_HINT_MASK_ORDER; }
11400
#line 3898 "sql_yacc.yy"
11401
{ (yyval.num)= INDEX_HINT_MASK_GROUP; }
11405
#line 3902 "sql_yacc.yy"
11406
{ (yyval.index_hint)= INDEX_HINT_FORCE; }
11410
#line 3903 "sql_yacc.yy"
11411
{ (yyval.index_hint)= INDEX_HINT_IGNORE; }
11415
#line 3908 "sql_yacc.yy"
11417
Lex->current_select->set_index_hint_type((yyvsp[(1) - (3)].index_hint), (yyvsp[(3) - (3)].num));
11422
#line 3913 "sql_yacc.yy"
11424
Lex->current_select->set_index_hint_type(INDEX_HINT_USE, (yyvsp[(3) - (3)].num));
11429
#line 3926 "sql_yacc.yy"
11430
{ Lex->current_select->alloc_index_hints(YYSession); }
11434
#line 3930 "sql_yacc.yy"
11435
{ Lex->current_select->clear_index_hints(); }
11439
#line 3935 "sql_yacc.yy"
11440
{ Lex->current_select->add_index_hint(YYSession, NULL, 0); }
11444
#line 3936 "sql_yacc.yy"
11449
#line 3941 "sql_yacc.yy"
11450
{ Lex->current_select->add_index_hint(YYSession, (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); }
11454
#line 3943 "sql_yacc.yy"
11455
{ Lex->current_select->add_index_hint(YYSession, (char *)"PRIMARY", 7); }
11459
#line 3953 "sql_yacc.yy"
11461
if (!((yyval.string_list)= new List<String>))
11463
(yyval.string_list)->push_back(new (YYSession->mem_root)
11464
String((const char *) (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length,
11465
system_charset_info));
11470
#line 3961 "sql_yacc.yy"
11472
(yyvsp[(1) - (3)].string_list)->push_back(new (YYSession->mem_root)
11473
String((const char *) (yyvsp[(3) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).length,
11474
system_charset_info));
11475
(yyval.string_list)= (yyvsp[(1) - (3)].string_list);
11480
#line 3970 "sql_yacc.yy"
11485
#line 3971 "sql_yacc.yy"
11486
{ (yyval.interval)=INTERVAL_DAY_HOUR; }
11490
#line 3972 "sql_yacc.yy"
11491
{ (yyval.interval)=INTERVAL_DAY_MICROSECOND; }
11495
#line 3973 "sql_yacc.yy"
11496
{ (yyval.interval)=INTERVAL_DAY_MINUTE; }
11500
#line 3974 "sql_yacc.yy"
11501
{ (yyval.interval)=INTERVAL_DAY_SECOND; }
11505
#line 3975 "sql_yacc.yy"
11506
{ (yyval.interval)=INTERVAL_HOUR_MICROSECOND; }
11510
#line 3976 "sql_yacc.yy"
11511
{ (yyval.interval)=INTERVAL_HOUR_MINUTE; }
11515
#line 3977 "sql_yacc.yy"
11516
{ (yyval.interval)=INTERVAL_HOUR_SECOND; }
11520
#line 3978 "sql_yacc.yy"
11521
{ (yyval.interval)=INTERVAL_MINUTE_MICROSECOND; }
11525
#line 3979 "sql_yacc.yy"
11526
{ (yyval.interval)=INTERVAL_MINUTE_SECOND; }
11530
#line 3980 "sql_yacc.yy"
11531
{ (yyval.interval)=INTERVAL_SECOND_MICROSECOND; }
11535
#line 3981 "sql_yacc.yy"
11536
{ (yyval.interval)=INTERVAL_YEAR_MONTH; }
11540
#line 3985 "sql_yacc.yy"
11545
#line 3986 "sql_yacc.yy"
11547
(yyval.interval_time_st)=INTERVAL_MICROSECOND;
11549
FRAC_SECOND was mistakenly implemented with
11550
a wrong resolution. According to the ODBC
11551
standard it should be nanoseconds, not
11552
microseconds. Changing it to nanoseconds
11553
in MySQL would mean making TIMESTAMPDIFF
11554
and TIMESTAMPADD to return DECIMAL, since
11555
the return value would be too big for BIGINT
11556
Hence we just deprecate the incorrect
11557
implementation without changing its
11564
#line 4004 "sql_yacc.yy"
11565
{ (yyval.interval_time_st)=INTERVAL_DAY; }
11569
#line 4005 "sql_yacc.yy"
11570
{ (yyval.interval_time_st)=INTERVAL_WEEK; }
11574
#line 4006 "sql_yacc.yy"
11575
{ (yyval.interval_time_st)=INTERVAL_HOUR; }
11579
#line 4007 "sql_yacc.yy"
11580
{ (yyval.interval_time_st)=INTERVAL_MINUTE; }
11584
#line 4008 "sql_yacc.yy"
11585
{ (yyval.interval_time_st)=INTERVAL_MONTH; }
11589
#line 4009 "sql_yacc.yy"
11590
{ (yyval.interval_time_st)=INTERVAL_QUARTER; }
11594
#line 4010 "sql_yacc.yy"
11595
{ (yyval.interval_time_st)=INTERVAL_SECOND; }
11599
#line 4011 "sql_yacc.yy"
11600
{ (yyval.interval_time_st)=INTERVAL_MICROSECOND; }
11604
#line 4012 "sql_yacc.yy"
11605
{ (yyval.interval_time_st)=INTERVAL_YEAR; }
11609
#line 4022 "sql_yacc.yy"
11610
{ (yyval.lex_str_ptr)=0; }
11614
#line 4024 "sql_yacc.yy"
11615
{ (yyval.lex_str_ptr)= (drizzled::LEX_STRING*) memory::sql_memdup(&(yyvsp[(2) - (2)].lex_str),sizeof(drizzled::LEX_STRING)); }
11619
#line 4033 "sql_yacc.yy"
11620
{ Lex->current_select->where= 0; }
11624
#line 4035 "sql_yacc.yy"
11626
Lex->current_select->parsing_place= IN_WHERE;
11631
#line 4039 "sql_yacc.yy"
11633
Select_Lex *select= Lex->current_select;
11634
select->where= (yyvsp[(3) - (3)].item);
11635
select->parsing_place= NO_MATTER;
11636
if ((yyvsp[(3) - (3)].item))
11637
(yyvsp[(3) - (3)].item)->top_level_item();
11642
#line 4051 "sql_yacc.yy"
11644
Lex->current_select->parsing_place= IN_HAVING;
11649
#line 4055 "sql_yacc.yy"
11651
Select_Lex *sel= Lex->current_select;
11652
sel->having= (yyvsp[(3) - (3)].item);
11653
sel->parsing_place= NO_MATTER;
11654
if ((yyvsp[(3) - (3)].item))
11655
(yyvsp[(3) - (3)].item)->top_level_item();
11660
#line 4066 "sql_yacc.yy"
11662
Lex->escape_used= true;
11663
(yyval.item)= (yyvsp[(2) - (2)].item);
11668
#line 4071 "sql_yacc.yy"
11670
Lex->escape_used= false;
11671
(yyval.item)= new Item_string("\\", 1, &my_charset_utf8_general_ci);
11676
#line 4088 "sql_yacc.yy"
11677
{ if (YYSession->add_group_to_list((yyvsp[(3) - (4)].item),(bool) (yyvsp[(4) - (4)].num))) DRIZZLE_YYABORT; }
11681
#line 4090 "sql_yacc.yy"
11682
{ if (YYSession->add_group_to_list((yyvsp[(1) - (2)].item),(bool) (yyvsp[(2) - (2)].num))) DRIZZLE_YYABORT; }
11686
#line 4094 "sql_yacc.yy"
11691
#line 4096 "sql_yacc.yy"
11694
'WITH ROLLUP' is needed for backward compatibility,
11695
and cause LALR(2) conflicts.
11696
This syntax is not standard.
11697
MySQL syntax: GROUP BY col1, col2, col3 WITH ROLLUP
11698
SQL-2003: GROUP BY ... ROLLUP(col1, col2, col3)
11701
if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE)
11703
my_error(ER_WRONG_USAGE, MYF(0), "WITH ROLLUP",
11704
"global union parameters");
11707
lex->current_select->olap= ROLLUP_TYPE;
11712
#line 4130 "sql_yacc.yy"
11714
Session *session= YYSession;
11715
bool ascending= ((yyvsp[(2) - (2)].num) == 1) ? true : false;
11716
if (session->add_order_to_list((yyvsp[(1) - (2)].item), ascending))
11722
#line 4149 "sql_yacc.yy"
11725
Select_Lex *sel= lex->current_select;
11726
Select_Lex_Unit *unit= sel-> master_unit();
11727
if (sel->linkage != GLOBAL_OPTIONS_TYPE &&
11728
sel->olap != UNSPECIFIED_OLAP_TYPE &&
11729
(sel->linkage != UNION_TYPE || sel->braces))
11731
my_error(ER_WRONG_USAGE, MYF(0),
11732
"CUBE/ROLLUP", "ORDER BY");
11735
if (lex->sql_command != SQLCOM_ALTER_TABLE && !unit->fake_select_lex)
11738
A query of the of the form (SELECT ...) ORDER BY order_list is
11739
executed in the same way as the query
11740
SELECT ... ORDER BY order_list
11741
unless the SELECT construct contains ORDER BY or LIMIT clauses.
11742
Otherwise we create a fake Select_Lex if it has not been created
11745
Select_Lex *first_sl= unit->first_select();
11746
if (!unit->is_union() &&
11747
(first_sl->order_list.elements ||
11748
first_sl->select_limit) &&
11749
unit->add_fake_select_lex(lex->session))
11756
#line 4184 "sql_yacc.yy"
11757
{ if (YYSession->add_order_to_list((yyvsp[(3) - (4)].item),(bool) (yyvsp[(4) - (4)].num))) DRIZZLE_YYABORT; }
11761
#line 4186 "sql_yacc.yy"
11762
{ if (YYSession->add_order_to_list((yyvsp[(1) - (2)].item),(bool) (yyvsp[(2) - (2)].num))) DRIZZLE_YYABORT; }
11766
#line 4190 "sql_yacc.yy"
11767
{ (yyval.num) = 1; }
11771
#line 4191 "sql_yacc.yy"
11772
{ (yyval.num) =1; }
11776
#line 4192 "sql_yacc.yy"
11777
{ (yyval.num) =0; }
11781
#line 4197 "sql_yacc.yy"
11784
Select_Lex *sel= lex->current_select;
11785
sel->offset_limit= 0;
11786
sel->select_limit= 0;
11791
#line 4203 "sql_yacc.yy"
11796
#line 4207 "sql_yacc.yy"
11801
#line 4208 "sql_yacc.yy"
11806
#line 4212 "sql_yacc.yy"
11811
#line 4217 "sql_yacc.yy"
11813
Select_Lex *sel= Lex->current_select;
11814
sel->select_limit= (yyvsp[(1) - (1)].item);
11815
sel->offset_limit= 0;
11816
sel->explicit_limit= 1;
11821
#line 4224 "sql_yacc.yy"
11823
Select_Lex *sel= Lex->current_select;
11824
sel->select_limit= (yyvsp[(3) - (3)].item);
11825
sel->offset_limit= (yyvsp[(1) - (3)].item);
11826
sel->explicit_limit= 1;
11831
#line 4231 "sql_yacc.yy"
11833
Select_Lex *sel= Lex->current_select;
11834
sel->select_limit= (yyvsp[(1) - (3)].item);
11835
sel->offset_limit= (yyvsp[(3) - (3)].item);
11836
sel->explicit_limit= 1;
11841
#line 4240 "sql_yacc.yy"
11842
{ (yyval.item)= new Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); }
11846
#line 4241 "sql_yacc.yy"
11847
{ (yyval.item)= new Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); }
11851
#line 4242 "sql_yacc.yy"
11852
{ (yyval.item)= new Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); }
11856
#line 4247 "sql_yacc.yy"
11859
lex->current_select->select_limit= 0;
11864
#line 4252 "sql_yacc.yy"
11866
Select_Lex *sel= Lex->current_select;
11867
sel->select_limit= (yyvsp[(2) - (2)].item);
11868
sel->explicit_limit= 1;
11873
#line 4260 "sql_yacc.yy"
11874
{ int error; (yyval.ulong_num)= (ulong) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
11878
#line 4261 "sql_yacc.yy"
11879
{ (yyval.ulong_num)= (ulong) strtol((yyvsp[(1) - (1)].lex_str).str, (char**) 0, 16); }
11883
#line 4262 "sql_yacc.yy"
11884
{ int error; (yyval.ulong_num)= (ulong) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
11888
#line 4263 "sql_yacc.yy"
11889
{ int error; (yyval.ulong_num)= (ulong) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
11893
#line 4264 "sql_yacc.yy"
11894
{ int error; (yyval.ulong_num)= (ulong) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
11898
#line 4265 "sql_yacc.yy"
11899
{ int error; (yyval.ulong_num)= (ulong) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
11903
#line 4269 "sql_yacc.yy"
11904
{ int error; (yyval.ulonglong_number)= (uint64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
11908
#line 4270 "sql_yacc.yy"
11909
{ int error; (yyval.ulonglong_number)= (uint64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
11913
#line 4271 "sql_yacc.yy"
11914
{ int error; (yyval.ulonglong_number)= (uint64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
11918
#line 4272 "sql_yacc.yy"
11919
{ int error; (yyval.ulonglong_number)= (uint64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
11923
#line 4273 "sql_yacc.yy"
11924
{ int error; (yyval.ulonglong_number)= (uint64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); }
11928
#line 4277 "sql_yacc.yy"
11931
if (!lex->describe && (!(lex->result= new select_dumpvar())))
11937
#line 4283 "sql_yacc.yy"
11942
#line 4288 "sql_yacc.yy"
11947
#line 4293 "sql_yacc.yy"
11951
((select_dumpvar *)lex->result)->var_list.push_back( new my_var((yyvsp[(2) - (2)].lex_str),0,0,(enum_field_types)0));
11954
The parser won't create select_result instance only
11955
if it's an EXPLAIN.
11957
assert(lex->describe);
11962
#line 4308 "sql_yacc.yy"
11967
#line 4314 "sql_yacc.yy"
11970
if (!(lex->exchange= new file_exchange((yyvsp[(2) - (2)].lex_str).str, 0)) ||
11971
!(lex->result= new select_export(lex->exchange)))
11977
#line 4322 "sql_yacc.yy"
11980
if (!lex->describe)
11982
if (!(lex->exchange= new file_exchange((yyvsp[(2) - (2)].lex_str).str,1)))
11984
if (!(lex->result= new select_dump(lex->exchange)))
11991
#line 4333 "sql_yacc.yy"
11996
#line 4342 "sql_yacc.yy"
11999
lex->sql_command = SQLCOM_DROP_TABLE;
12000
statement::DropTable *statement= new(std::nothrow) statement::DropTable(YYSession);
12001
lex->statement= statement;
12002
if (lex->statement == NULL)
12004
statement->drop_temporary= (yyvsp[(2) - (5)].num);
12005
statement->drop_if_exists= (yyvsp[(4) - (5)].num);
12010
#line 4352 "sql_yacc.yy"
12015
#line 4353 "sql_yacc.yy"
12018
lex->sql_command= SQLCOM_DROP_INDEX;
12019
statement::DropIndex *statement= new(std::nothrow) statement::DropIndex(YYSession);
12020
lex->statement= statement;
12021
if (lex->statement == NULL)
12023
statement->alter_info.flags.set(ALTER_DROP_INDEX);
12024
statement->alter_info.build_method= (yyvsp[(2) - (7)].build_method);
12025
statement->alter_info.drop_list.push_back(new AlterDrop(AlterDrop::KEY, (yyvsp[(4) - (7)].lex_str).str));
12026
if (!lex->current_select->add_table_to_list(lex->session, (yyvsp[(6) - (7)].table), NULL,
12027
TL_OPTION_UPDATING))
12033
#line 4368 "sql_yacc.yy"
12036
lex->sql_command= SQLCOM_DROP_DB;
12037
statement::DropSchema *statement= new(std::nothrow) statement::DropSchema(YYSession);
12038
lex->statement= statement;
12039
if (lex->statement == NULL)
12041
statement->drop_if_exists=(yyvsp[(3) - (4)].num);
12042
lex->name= (yyvsp[(4) - (4)].lex_str);
12047
#line 4385 "sql_yacc.yy"
12049
if (!Lex->current_select->add_table_to_list(YYSession, (yyvsp[(1) - (1)].table), NULL, TL_OPTION_UPDATING))
12055
#line 4392 "sql_yacc.yy"
12056
{ (yyval.num)= 0; }
12060
#line 4393 "sql_yacc.yy"
12061
{ (yyval.num)= 1; }
12065
#line 4397 "sql_yacc.yy"
12066
{ (yyval.num)= 0; }
12070
#line 4398 "sql_yacc.yy"
12071
{ (yyval.num)= 1; }
12075
#line 4406 "sql_yacc.yy"
12078
lex->sql_command= SQLCOM_INSERT;
12079
lex->statement= new(std::nothrow) statement::Insert(YYSession);
12080
if (lex->statement == NULL)
12082
lex->duplicates= DUP_ERROR;
12083
mysql_init_select(lex);
12084
/* for subselects */
12085
lex->lock_option= TL_READ;
12090
#line 4418 "sql_yacc.yy"
12092
Lex->current_select->set_lock_for_tables(TL_WRITE_CONCURRENT_INSERT);
12093
Lex->current_select= &Lex->select_lex;
12098
#line 4423 "sql_yacc.yy"
12103
#line 4428 "sql_yacc.yy"
12106
lex->sql_command= SQLCOM_REPLACE;
12107
lex->statement= new(std::nothrow) statement::Replace(YYSession);
12108
if (lex->statement == NULL)
12110
lex->duplicates= DUP_REPLACE;
12111
mysql_init_select(lex);
12116
#line 4438 "sql_yacc.yy"
12118
Lex->current_select->set_lock_for_tables(TL_WRITE_DEFAULT);
12119
Lex->current_select= &Lex->select_lex;
12124
#line 4443 "sql_yacc.yy"
12129
#line 4447 "sql_yacc.yy"
12134
#line 4448 "sql_yacc.yy"
12139
#line 4453 "sql_yacc.yy"
12142
lex->field_list.empty();
12143
lex->many_values.empty();
12144
lex->insert_list=0;
12149
#line 4461 "sql_yacc.yy"
12154
#line 4462 "sql_yacc.yy"
12159
#line 4463 "sql_yacc.yy"
12164
#line 4465 "sql_yacc.yy"
12167
if (!(lex->insert_list = new List_item) ||
12168
lex->many_values.push_back(lex->insert_list))
12174
#line 4475 "sql_yacc.yy"
12175
{ Lex->field_list.push_back((yyvsp[(3) - (3)].item)); }
12179
#line 4476 "sql_yacc.yy"
12180
{ Lex->field_list.push_back((yyvsp[(1) - (1)].item)); }
12184
#line 4480 "sql_yacc.yy"
12189
#line 4481 "sql_yacc.yy"
12194
#line 4483 "sql_yacc.yy"
12195
{ Lex->current_select->set_braces(0);}
12199
#line 4484 "sql_yacc.yy"
12204
#line 4486 "sql_yacc.yy"
12205
{ Lex->current_select->set_braces(1);}
12209
#line 4487 "sql_yacc.yy"
12214
#line 4502 "sql_yacc.yy"
12217
if (lex->field_list.push_back((yyvsp[(1) - (3)].item)) ||
12218
lex->insert_list->push_back((yyvsp[(3) - (3)].item)))
12224
#line 4511 "sql_yacc.yy"
12229
#line 4512 "sql_yacc.yy"
12234
#line 4516 "sql_yacc.yy"
12239
#line 4517 "sql_yacc.yy"
12244
#line 4522 "sql_yacc.yy"
12246
if (!(Lex->insert_list = new List_item))
12252
#line 4527 "sql_yacc.yy"
12255
if (lex->many_values.push_back(lex->insert_list))
12261
#line 4535 "sql_yacc.yy"
12266
#line 4541 "sql_yacc.yy"
12268
if (Lex->insert_list->push_back((yyvsp[(3) - (3)].item)))
12274
#line 4546 "sql_yacc.yy"
12276
if (Lex->insert_list->push_back((yyvsp[(1) - (1)].item)))
12282
#line 4553 "sql_yacc.yy"
12283
{ (yyval.item)= (yyvsp[(1) - (1)].item);}
12287
#line 4554 "sql_yacc.yy"
12288
{(yyval.item)= new Item_default_value(Lex->current_context()); }
12292
#line 4559 "sql_yacc.yy"
12293
{ Lex->duplicates= DUP_UPDATE; }
12297
#line 4567 "sql_yacc.yy"
12300
mysql_init_select(lex);
12301
lex->sql_command= SQLCOM_UPDATE;
12302
lex->statement= new(std::nothrow) statement::Update(YYSession);
12303
if (lex->statement == NULL)
12305
lex->lock_option= TL_UNLOCK; /* Will be set later */
12306
lex->duplicates= DUP_ERROR;
12307
if (!lex->select_lex.add_table_to_list(YYSession, (yyvsp[(3) - (3)].table), NULL,0))
12313
#line 4580 "sql_yacc.yy"
12316
if (lex->select_lex.get_table_list()->derived)
12318
/* it is single table update and it is update of derived table */
12319
my_error(ER_NON_UPDATABLE_TABLE, MYF(0),
12320
lex->select_lex.get_table_list()->alias, "UPDATE");
12324
In case of multi-update setting write lock for all tables may
12325
be too pessimistic. We will decrease lock level if possible in
12326
mysql_multi_update().
12328
Lex->current_select->set_lock_for_tables(TL_WRITE_DEFAULT);
12333
#line 4596 "sql_yacc.yy"
12338
#line 4606 "sql_yacc.yy"
12340
if (YYSession->add_item_to_list((yyvsp[(1) - (3)].item)) || YYSession->add_value_to_list((yyvsp[(3) - (3)].item)))
12346
#line 4619 "sql_yacc.yy"
12349
if (lex->update_list.push_back((yyvsp[(1) - (3)].item)) ||
12350
lex->value_list.push_back((yyvsp[(3) - (3)].item)))
12356
#line 4631 "sql_yacc.yy"
12359
lex->sql_command= SQLCOM_DELETE;
12360
lex->statement= new(std::nothrow) statement::Delete(YYSession);
12361
if (lex->statement == NULL)
12363
mysql_init_select(lex);
12364
lex->lock_option= TL_WRITE_DEFAULT;
12366
lex->select_lex.init_order();
12371
#line 4647 "sql_yacc.yy"
12373
if (!Lex->current_select->add_table_to_list(YYSession, (yyvsp[(2) - (2)].table), NULL, TL_OPTION_UPDATING,
12380
#line 4653 "sql_yacc.yy"
12385
#line 4657 "sql_yacc.yy"
12390
#line 4658 "sql_yacc.yy"
12395
#line 4662 "sql_yacc.yy"
12396
{ Lex->ignore= 1; }
12400
#line 4667 "sql_yacc.yy"
12403
lex->sql_command= SQLCOM_TRUNCATE;
12404
lex->statement= new(std::nothrow) statement::Truncate(YYSession);
12405
if (lex->statement == NULL)
12407
lex->select_lex.options= 0;
12408
lex->select_lex.init_order();
12413
#line 4687 "sql_yacc.yy"
12417
lex->lock_option= TL_READ;
12418
mysql_init_select(lex);
12419
lex->current_select->parsing_place= SELECT_LIST;
12424
#line 4695 "sql_yacc.yy"
12429
#line 4700 "sql_yacc.yy"
12432
lex->sql_command= SQLCOM_SELECT;
12434
new(std::nothrow) statement::Select(YYSession);
12435
if (lex->statement == NULL)
12438
Session *session= YYSession;
12440
std::string column_name= "Database";
12443
column_name.append(" (");
12444
column_name.append(Lex->wild->ptr());
12445
column_name.append(")");
12448
if (Lex->current_select->where)
12450
if (prepare_new_schema_table(YYSession, lex, "SCHEMAS"))
12455
if (prepare_new_schema_table(YYSession, lex, "SCHEMA_NAMES"))
12459
Item_field *my_field= new Item_field(&session->lex->current_select->context, NULL, NULL, "SCHEMA_NAME");
12460
my_field->is_autogenerated_name= false;
12461
my_field->set_name(column_name.c_str(), column_name.length(), system_charset_info);
12463
if (session->add_item_to_list(my_field))
12469
#line 4737 "sql_yacc.yy"
12472
lex->sql_command= SQLCOM_SELECT;
12474
new(std::nothrow) statement::Select(YYSession);
12475
if (lex->statement == NULL)
12478
Session *session= YYSession;
12480
std::string column_name= "Tables_in_";
12482
if ((yyvsp[(2) - (3)].simple_string))
12484
column_name.append((yyvsp[(2) - (3)].simple_string));
12485
lex->select_lex.db= (yyvsp[(2) - (3)].simple_string);
12486
if (not plugin::StorageEngine::doesSchemaExist((yyvsp[(2) - (3)].simple_string)))
12488
my_error(ER_BAD_DB_ERROR, MYF(0), (yyvsp[(2) - (3)].simple_string));
12493
column_name.append(session->db);
12498
column_name.append(" (");
12499
column_name.append(Lex->wild->ptr());
12500
column_name.append(")");
12503
if (Lex->current_select->where)
12505
if (prepare_new_schema_table(YYSession, lex, "TABLES"))
12510
if (prepare_new_schema_table(YYSession, lex, "SHOW_TABLES"))
12514
Item_field *my_field= new Item_field(&session->lex->current_select->context, NULL, NULL, "TABLE_NAME");
12515
my_field->is_autogenerated_name= false;
12516
my_field->set_name(column_name.c_str(), column_name.length(), system_charset_info);
12518
if (session->add_item_to_list(my_field))
12524
#line 4789 "sql_yacc.yy"
12527
lex->sql_command= SQLCOM_SELECT;
12528
statement::Select *select=
12529
new(std::nothrow) statement::Select(YYSession);
12531
lex->statement= select;
12533
if (lex->statement == NULL)
12536
Session *session= YYSession;
12538
std::string column_name= "Tables_in_";
12540
if ((yyvsp[(3) - (4)].simple_string))
12542
lex->select_lex.db= (yyvsp[(3) - (4)].simple_string);
12544
if (not plugin::StorageEngine::doesSchemaExist((yyvsp[(3) - (4)].simple_string)))
12546
my_error(ER_BAD_DB_ERROR, MYF(0), (yyvsp[(3) - (4)].simple_string));
12549
select->setShowPredicate((yyvsp[(3) - (4)].simple_string), "");
12553
select->setShowPredicate(session->db, "");
12556
if (prepare_new_schema_table(session, lex, "SHOW_TABLE_STATUS"))
12559
if (session->add_item_to_list( new Item_field(&session->lex->current_select->
12563
(session->lex->current_select->with_wild)++;
12568
#line 4830 "sql_yacc.yy"
12571
Session *session= YYSession;
12572
statement::Select *select;
12574
lex->sql_command= SQLCOM_SELECT;
12576
select= new(std::nothrow) statement::Select(session);
12578
lex->statement= select;
12580
if (lex->statement == NULL)
12583
if ((yyvsp[(4) - (5)].simple_string))
12584
select->setShowPredicate((yyvsp[(4) - (5)].simple_string), (yyvsp[(3) - (5)].table)->table.str);
12585
else if ((yyvsp[(3) - (5)].table)->db.str)
12586
select->setShowPredicate((yyvsp[(3) - (5)].table)->db.str, (yyvsp[(3) - (5)].table)->table.str);
12588
select->setShowPredicate(session->db, (yyvsp[(3) - (5)].table)->table.str);
12591
drizzled::TableIdentifier identifier(select->getShowSchema().c_str(), (yyvsp[(3) - (5)].table)->table.str);
12592
if (not plugin::StorageEngine::doesTableExist(*session, identifier))
12594
my_error(ER_NO_SUCH_TABLE, MYF(0),
12595
select->getShowSchema().c_str(),
12596
(yyvsp[(3) - (5)].table)->table.str);
12600
if (prepare_new_schema_table(session, lex, "SHOW_COLUMNS"))
12603
if (session->add_item_to_list( new Item_field(&session->lex->current_select->
12607
(session->lex->current_select->with_wild)++;
12613
#line 4872 "sql_yacc.yy"
12616
Session *session= YYSession;
12617
statement::Select *select;
12619
lex->sql_command= SQLCOM_SELECT;
12621
select= new(std::nothrow) statement::Select(session);
12623
lex->statement= select;
12625
if (lex->statement == NULL)
12628
if ((yyvsp[(4) - (5)].simple_string))
12629
select->setShowPredicate((yyvsp[(4) - (5)].simple_string), (yyvsp[(3) - (5)].table)->table.str);
12630
else if ((yyvsp[(3) - (5)].table)->db.str)
12631
select->setShowPredicate((yyvsp[(3) - (5)].table)->db.str, (yyvsp[(3) - (5)].table)->table.str);
12633
select->setShowPredicate(session->db, (yyvsp[(3) - (5)].table)->table.str);
12636
drizzled::TableIdentifier identifier(select->getShowSchema().c_str(), (yyvsp[(3) - (5)].table)->table.str);
12637
if (not plugin::StorageEngine::doesTableExist(*session, identifier))
12639
my_error(ER_NO_SUCH_TABLE, MYF(0),
12640
select->getShowSchema().c_str(),
12641
(yyvsp[(3) - (5)].table)->table.str);
12645
if (prepare_new_schema_table(session, lex, "show_indexes"))
12648
if (session->add_item_to_list( new Item_field(&session->lex->current_select->
12652
(session->lex->current_select->with_wild)++;
12657
#line 4913 "sql_yacc.yy"
12659
(void) create_select_for_variable("warning_count");
12661
lex->statement= new(std::nothrow) statement::Select(YYSession);
12662
if (lex->statement == NULL)
12668
#line 4921 "sql_yacc.yy"
12670
(void) create_select_for_variable("error_count");
12672
lex->statement= new(std::nothrow) statement::Select(YYSession);
12673
if (lex->statement == NULL)
12679
#line 4929 "sql_yacc.yy"
12681
Lex->sql_command = SQLCOM_SHOW_WARNS;
12682
Lex->statement= new(std::nothrow) statement::ShowWarnings(YYSession);
12683
if (Lex->statement == NULL)
12689
#line 4936 "sql_yacc.yy"
12691
Lex->sql_command = SQLCOM_SHOW_ERRORS;
12692
Lex->statement= new(std::nothrow) statement::ShowErrors(YYSession);
12693
if (Lex->statement == NULL)
12699
#line 4943 "sql_yacc.yy"
12702
lex->sql_command= SQLCOM_SELECT;
12704
new(std::nothrow) statement::Select(YYSession);
12705
if (lex->statement == NULL)
12708
Session *session= YYSession;
12710
if ((yyvsp[(1) - (3)].var_type) == OPT_GLOBAL)
12712
if (prepare_new_schema_table(session, lex, "GLOBAL_STATUS"))
12717
if (prepare_new_schema_table(session, lex, "SESSION_STATUS"))
12721
std::string key("Variable_name");
12722
std::string value("Value");
12724
Item_field *my_field= new Item_field(&session->lex->current_select->context, NULL, NULL, "VARIABLE_NAME");
12725
my_field->is_autogenerated_name= false;
12726
my_field->set_name(key.c_str(), key.length(), system_charset_info);
12728
if (session->add_item_to_list(my_field))
12731
my_field= new Item_field(&session->lex->current_select->context, NULL, NULL, "VARIABLE_VALUE");
12732
my_field->is_autogenerated_name= false;
12733
my_field->set_name(value.c_str(), value.length(), system_charset_info);
12735
if (session->add_item_to_list(my_field))
12741
#line 4982 "sql_yacc.yy"
12745
lex->sql_command= SQLCOM_SELECT;
12747
new(std::nothrow) statement::Select(YYSession);
12748
if (lex->statement == NULL)
12751
Session *session= YYSession;
12753
if (prepare_new_schema_table(session, lex, "PROCESSLIST"))
12756
if (session->add_item_to_list( new Item_field(&session->lex->current_select->
12760
(session->lex->current_select->with_wild)++;
12766
#line 5004 "sql_yacc.yy"
12769
lex->sql_command= SQLCOM_SELECT;
12771
new(std::nothrow) statement::Select(YYSession);
12772
if (lex->statement == NULL)
12775
Session *session= YYSession;
12777
if ((yyvsp[(1) - (3)].var_type) == OPT_GLOBAL)
12779
if (prepare_new_schema_table(session, lex, "GLOBAL_VARIABLES"))
12784
if (prepare_new_schema_table(session, lex, "SESSION_VARIABLES"))
12788
std::string key("Variable_name");
12789
std::string value("Value");
12791
Item_field *my_field= new Item_field(&session->lex->current_select->context, NULL, NULL, "VARIABLE_NAME");
12792
my_field->is_autogenerated_name= false;
12793
my_field->set_name(key.c_str(), key.length(), system_charset_info);
12795
if (session->add_item_to_list(my_field))
12798
my_field= new Item_field(&session->lex->current_select->context, NULL, NULL, "VARIABLE_VALUE");
12799
my_field->is_autogenerated_name= false;
12800
my_field->set_name(value.c_str(), value.length(), system_charset_info);
12802
if (session->add_item_to_list(my_field))
12808
#line 5043 "sql_yacc.yy"
12810
Lex->sql_command=SQLCOM_SHOW_CREATE_DB;
12811
statement::ShowCreateSchema *statement= new(std::nothrow) statement::ShowCreateSchema(YYSession);
12812
Lex->statement= statement;
12813
if (Lex->statement == NULL)
12815
statement->is_if_not_exists= (yyvsp[(3) - (4)].num);
12816
Lex->name= (yyvsp[(4) - (4)].lex_str);
12821
#line 5053 "sql_yacc.yy"
12824
lex->sql_command = SQLCOM_SHOW_CREATE;
12825
lex->statement= new(std::nothrow) statement::ShowCreate(YYSession);
12826
if (lex->statement == NULL)
12828
if (!lex->select_lex.add_table_to_list(YYSession, (yyvsp[(3) - (3)].table), NULL,0))
12834
#line 5064 "sql_yacc.yy"
12835
{ (yyval.simple_string)= 0; }
12839
#line 5065 "sql_yacc.yy"
12840
{ (yyval.simple_string)= (yyvsp[(2) - (2)].lex_str).str; }
12844
#line 5076 "sql_yacc.yy"
12846
Lex->wild= new (YYSession->mem_root) String((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length,
12847
system_charset_info);
12848
if (Lex->wild == NULL)
12854
#line 5083 "sql_yacc.yy"
12856
Lex->current_select->where= (yyvsp[(2) - (2)].item);
12857
if ((yyvsp[(2) - (2)].item))
12858
(yyvsp[(2) - (2)].item)->top_level_item();
12863
#line 5093 "sql_yacc.yy"
12865
Session *session= YYSession;
12866
statement::Select *select;
12868
lex->lock_option= TL_READ;
12869
mysql_init_select(lex);
12870
lex->current_select->parsing_place= SELECT_LIST;
12871
lex->sql_command= SQLCOM_SELECT;
12872
select= new(std::nothrow) statement::Select(session);
12873
lex->statement= select;
12874
if (lex->statement == NULL)
12876
lex->select_lex.db= 0;
12878
if ((yyvsp[(2) - (2)].table)->db.str)
12879
select->setShowPredicate((yyvsp[(2) - (2)].table)->db.str, (yyvsp[(2) - (2)].table)->table.str);
12881
select->setShowPredicate(session->db, (yyvsp[(2) - (2)].table)->table.str);
12884
drizzled::TableIdentifier identifier(select->getShowSchema().c_str(), (yyvsp[(2) - (2)].table)->table.str);
12885
if (not plugin::StorageEngine::doesTableExist(*session, identifier))
12887
my_error(ER_NO_SUCH_TABLE, MYF(0),
12888
select->getShowSchema().c_str(),
12889
(yyvsp[(2) - (2)].table)->table.str);
12893
if (prepare_new_schema_table(session, lex, "SHOW_COLUMNS"))
12896
if (session->add_item_to_list( new Item_field(&session->lex->current_select->
12900
(session->lex->current_select->with_wild)++;
12906
#line 5132 "sql_yacc.yy"
12911
#line 5134 "sql_yacc.yy"
12912
{ Lex->describe|= DESCRIBE_NORMAL; }
12916
#line 5136 "sql_yacc.yy"
12919
lex->select_lex.options|= SELECT_DESCRIBE;
12924
#line 5148 "sql_yacc.yy"
12929
#line 5149 "sql_yacc.yy"
12930
{ Lex->describe|= DESCRIBE_EXTENDED; }
12934
#line 5153 "sql_yacc.yy"
12939
#line 5154 "sql_yacc.yy"
12940
{ Lex->wild= (yyvsp[(1) - (1)].string); }
12944
#line 5156 "sql_yacc.yy"
12946
Lex->wild= new (YYSession->mem_root) String((const char*) (yyvsp[(1) - (1)].lex_str).str,
12947
(yyvsp[(1) - (1)].lex_str).length,
12948
system_charset_info);
12953
#line 5168 "sql_yacc.yy"
12956
lex->sql_command= SQLCOM_FLUSH;
12957
lex->statement= new(std::nothrow) statement::Flush(YYSession);
12958
if (lex->statement == NULL)
12965
#line 5177 "sql_yacc.yy"
12970
#line 5187 "sql_yacc.yy"
12972
statement::Flush *statement= (statement::Flush*)Lex->statement;
12973
statement->setFlushTables(true);
12978
#line 5191 "sql_yacc.yy"
12983
#line 5193 "sql_yacc.yy"
12985
statement::Flush *statement= (statement::Flush*)Lex->statement;
12986
statement->setFlushTablesWithReadLock(true);
12991
#line 5198 "sql_yacc.yy"
12993
statement::Flush *statement= (statement::Flush*)Lex->statement;
12994
statement->setFlushLog(true);
12999
#line 5203 "sql_yacc.yy"
13001
statement::Flush *statement= (statement::Flush*)Lex->statement;
13002
statement->setFlushStatus(true);
13007
#line 5210 "sql_yacc.yy"
13012
#line 5211 "sql_yacc.yy"
13017
#line 5218 "sql_yacc.yy"
13020
lex->value_list.empty();
13021
lex->value_list.push_front((yyvsp[(3) - (3)].item));
13022
lex->sql_command= SQLCOM_KILL;
13023
lex->statement= new(std::nothrow) statement::Kill(YYSession);
13024
if (lex->statement == NULL)
13030
#line 5230 "sql_yacc.yy"
13035
#line 5231 "sql_yacc.yy"
13040
#line 5232 "sql_yacc.yy"
13041
{ Lex->type= ONLY_KILL_QUERY; }
13045
#line 5239 "sql_yacc.yy"
13048
lex->sql_command=SQLCOM_CHANGE_DB;
13049
lex->statement= new(std::nothrow) statement::ChangeSchema(YYSession);
13050
if (lex->statement == NULL)
13052
lex->select_lex.db= (yyvsp[(2) - (2)].lex_str).str;
13057
#line 5253 "sql_yacc.yy"
13059
Session *session= YYSession;
13060
LEX *lex= session->lex;
13062
lex->sql_command= SQLCOM_LOAD;
13063
statement::Load *statement= new(std::nothrow) statement::Load(YYSession);
13064
lex->statement= statement;
13065
if (lex->statement == NULL)
13068
Lex_input_stream *lip= session->m_lip;
13069
statement->fname_start= lip->get_ptr();
13074
#line 5267 "sql_yacc.yy"
13077
lex->lock_option= (yyvsp[(4) - (6)].lock_type);
13078
lex->duplicates= DUP_ERROR;
13080
if (!(lex->exchange= new file_exchange((yyvsp[(6) - (6)].lex_str).str, 0, (yyvsp[(2) - (6)].filetype))))
13086
#line 5276 "sql_yacc.yy"
13088
Session *session= YYSession;
13089
Lex_input_stream *lip= session->m_lip;
13090
((statement::Load *)Lex->statement)->fname_end= lip->get_ptr();
13095
#line 5282 "sql_yacc.yy"
13098
if (!Lex->current_select->add_table_to_list(YYSession,
13099
(yyvsp[(12) - (12)].table), NULL, TL_OPTION_UPDATING,
13102
lex->field_list.empty();
13103
lex->update_list.empty();
13104
lex->value_list.empty();
13109
#line 5294 "sql_yacc.yy"
13114
#line 5298 "sql_yacc.yy"
13115
{ (yyval.filetype)= FILETYPE_CSV; }
13119
#line 5301 "sql_yacc.yy"
13120
{ (yyval.lock_type)= TL_WRITE_DEFAULT; }
13124
#line 5303 "sql_yacc.yy"
13126
(yyval.lock_type)= TL_WRITE_CONCURRENT_INSERT;
13131
#line 5309 "sql_yacc.yy"
13132
{ Lex->duplicates=DUP_ERROR; }
13136
#line 5310 "sql_yacc.yy"
13137
{ Lex->duplicates=DUP_REPLACE; }
13141
#line 5311 "sql_yacc.yy"
13142
{ Lex->ignore= 1; }
13146
#line 5326 "sql_yacc.yy"
13148
assert(Lex->exchange != 0);
13149
Lex->exchange->field_term= (yyvsp[(3) - (3)].string);
13154
#line 5331 "sql_yacc.yy"
13157
assert(lex->exchange != 0);
13158
lex->exchange->enclosed= (yyvsp[(4) - (4)].string);
13159
lex->exchange->opt_enclosed= 1;
13164
#line 5338 "sql_yacc.yy"
13166
assert(Lex->exchange != 0);
13167
Lex->exchange->enclosed= (yyvsp[(3) - (3)].string);
13172
#line 5343 "sql_yacc.yy"
13174
assert(Lex->exchange != 0);
13175
Lex->exchange->escaped= (yyvsp[(3) - (3)].string);
13180
#line 5361 "sql_yacc.yy"
13182
assert(Lex->exchange != 0);
13183
Lex->exchange->line_term= (yyvsp[(3) - (3)].string);
13188
#line 5366 "sql_yacc.yy"
13190
assert(Lex->exchange != 0);
13191
Lex->exchange->line_start= (yyvsp[(3) - (3)].string);
13196
#line 5375 "sql_yacc.yy"
13198
assert(Lex->exchange != 0);
13199
Lex->exchange->skip_lines= atol((yyvsp[(2) - (3)].lex_str).str);
13204
#line 5382 "sql_yacc.yy"
13209
#line 5383 "sql_yacc.yy"
13214
#line 5387 "sql_yacc.yy"
13219
#line 5388 "sql_yacc.yy"
13224
#line 5389 "sql_yacc.yy"
13229
#line 5394 "sql_yacc.yy"
13230
{ Lex->field_list.push_back((yyvsp[(3) - (3)].item)); }
13234
#line 5396 "sql_yacc.yy"
13235
{ Lex->field_list.push_back((yyvsp[(1) - (1)].item)); }
13239
#line 5400 "sql_yacc.yy"
13240
{(yyval.item)= (yyvsp[(1) - (1)].item);}
13244
#line 5402 "sql_yacc.yy"
13245
{ (yyval.item)= new Item_user_var_as_out_param((yyvsp[(2) - (2)].lex_str)); }
13249
#line 5406 "sql_yacc.yy"
13254
#line 5407 "sql_yacc.yy"
13259
#line 5414 "sql_yacc.yy"
13261
Session *session= YYSession;
13262
(yyval.item) = new Item_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, session->variables.getCollation());
13267
#line 5419 "sql_yacc.yy"
13269
((Item_string*) (yyvsp[(1) - (2)].item))->append((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length);
13274
#line 5426 "sql_yacc.yy"
13276
(yyval.string)= new (YYSession->mem_root) String((yyvsp[(1) - (1)].lex_str).str,
13277
(yyvsp[(1) - (1)].lex_str).length,
13278
YYSession->variables.getCollation());
13283
#line 5432 "sql_yacc.yy"
13285
Item *tmp= new Item_hex_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
13287
it is OK only emulate fix_fields, because we need only
13290
(yyval.string)= tmp ?
13291
tmp->quick_fix_field(), tmp->val_str((String*) 0) :
13297
#line 5443 "sql_yacc.yy"
13299
Item *tmp= new Item_bin_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
13301
it is OK only emulate fix_fields, because we need only
13304
(yyval.string)= tmp ? tmp->quick_fix_field(), tmp->val_str((String*) 0) :
13310
#line 5455 "sql_yacc.yy"
13311
{ (yyval.item) = (yyvsp[(1) - (1)].item); }
13315
#line 5456 "sql_yacc.yy"
13316
{ (yyval.item) = (yyvsp[(2) - (2)].item_num); }
13320
#line 5458 "sql_yacc.yy"
13322
(yyvsp[(2) - (2)].item_num)->max_length++;
13323
(yyval.item)= (yyvsp[(2) - (2)].item_num)->neg();
13328
#line 5465 "sql_yacc.yy"
13329
{ (yyval.item) = (yyvsp[(1) - (1)].item); }
13333
#line 5466 "sql_yacc.yy"
13334
{ (yyval.item) = (yyvsp[(1) - (1)].item_num); }
13338
#line 5468 "sql_yacc.yy"
13340
(yyval.item) = new Item_null();
13341
YYSession->m_lip->next_state=MY_LEX_OPERATOR_OR_IDENT;
13346
#line 5472 "sql_yacc.yy"
13347
{ (yyval.item)= new Item_int((char*) "FALSE",0,1); }
13351
#line 5473 "sql_yacc.yy"
13352
{ (yyval.item)= new Item_int((char*) "TRUE",1,1); }
13356
#line 5474 "sql_yacc.yy"
13357
{ (yyval.item) = new Item_hex_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);}
13361
#line 5475 "sql_yacc.yy"
13362
{ (yyval.item)= new Item_bin_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); }
13366
#line 5476 "sql_yacc.yy"
13367
{ (yyval.item) = (yyvsp[(2) - (2)].item); }
13371
#line 5477 "sql_yacc.yy"
13372
{ (yyval.item) = (yyvsp[(2) - (2)].item); }
13376
#line 5482 "sql_yacc.yy"
13379
(yyval.item_num) = new Item_int((yyvsp[(1) - (1)].lex_str).str, (int64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, NULL, &error), (yyvsp[(1) - (1)].lex_str).length);
13384
#line 5487 "sql_yacc.yy"
13387
(yyval.item_num) = new Item_int((yyvsp[(1) - (1)].lex_str).str, (int64_t) internal::my_strtoll10((yyvsp[(1) - (1)].lex_str).str, NULL, &error), (yyvsp[(1) - (1)].lex_str).length);
13392
#line 5492 "sql_yacc.yy"
13393
{ (yyval.item_num) = new Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); }
13397
#line 5494 "sql_yacc.yy"
13399
(yyval.item_num)= new Item_decimal((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, YYSession->charset());
13400
if (YYSession->is_error())
13408
#line 5502 "sql_yacc.yy"
13410
(yyval.item_num) = new Item_float((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
13411
if (YYSession->is_error())
13419
#line 5516 "sql_yacc.yy"
13420
{ (yyval.item)=(yyvsp[(1) - (1)].item); }
13424
#line 5517 "sql_yacc.yy"
13425
{ (yyval.item)=(yyvsp[(1) - (1)].item); }
13429
#line 5522 "sql_yacc.yy"
13431
Select_Lex *sel= Lex->current_select;
13432
(yyval.item) = new Item_field(Lex->current_context(), NULL, (yyvsp[(1) - (3)].lex_str).str, "*");
13438
#line 5528 "sql_yacc.yy"
13440
Select_Lex *sel= Lex->current_select;
13441
(yyval.item) = new Item_field(Lex->current_context(), (yyvsp[(1) - (5)].lex_str).str, (yyvsp[(3) - (5)].lex_str).str,"*");
13447
#line 5536 "sql_yacc.yy"
13448
{ (yyval.item)=(yyvsp[(1) - (1)].item); }
13452
#line 5541 "sql_yacc.yy"
13455
Select_Lex *sel=Lex->current_select;
13456
(yyval.item)= (sel->parsing_place != IN_HAVING ||
13457
sel->get_in_sum_expr() > 0) ?
13458
(Item*) new Item_field(Lex->current_context(),
13459
(const char *)NULL, NULL, (yyvsp[(1) - (1)].lex_str).str) :
13460
(Item*) new Item_ref(Lex->current_context(),
13461
(const char *)NULL, NULL, (yyvsp[(1) - (1)].lex_str).str);
13467
#line 5552 "sql_yacc.yy"
13468
{ (yyval.item)= (yyvsp[(1) - (1)].item); }
13472
#line 5557 "sql_yacc.yy"
13474
Select_Lex *sel=Lex->current_select;
13475
(yyval.item)= (sel->parsing_place != IN_HAVING ||
13476
sel->get_in_sum_expr() > 0) ?
13477
(Item*) new Item_field(Lex->current_context(),
13478
(const char *)NULL, NULL, (yyvsp[(1) - (1)].lex_str).str) :
13479
(Item*) new Item_ref(Lex->current_context(),
13480
(const char *)NULL, NULL, (yyvsp[(1) - (1)].lex_str).str);
13485
#line 5566 "sql_yacc.yy"
13486
{ (yyval.item)= (yyvsp[(1) - (1)].item); }
13490
#line 5571 "sql_yacc.yy"
13492
Session *session= YYSession;
13493
LEX *lex= session->lex;
13496
Select_Lex *sel= lex->current_select;
13497
if (sel->no_table_names_allowed)
13499
my_error(ER_TABLENAME_NOT_ALLOWED_HERE,
13500
MYF(0), (yyvsp[(1) - (3)].lex_str).str, session->where);
13502
(yyval.item)= (sel->parsing_place != IN_HAVING ||
13503
sel->get_in_sum_expr() > 0) ?
13504
(Item*) new Item_field(Lex->current_context(),
13505
(const char *)NULL, (yyvsp[(1) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).str) :
13506
(Item*) new Item_ref(Lex->current_context(),
13507
(const char *)NULL, (yyvsp[(1) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).str);
13513
#line 5591 "sql_yacc.yy"
13515
Session *session= YYSession;
13516
LEX *lex= session->lex;
13517
Select_Lex *sel= lex->current_select;
13518
if (sel->no_table_names_allowed)
13520
my_error(ER_TABLENAME_NOT_ALLOWED_HERE,
13521
MYF(0), (yyvsp[(2) - (4)].lex_str).str, session->where);
13523
(yyval.item)= (sel->parsing_place != IN_HAVING ||
13524
sel->get_in_sum_expr() > 0) ?
13525
(Item*) new Item_field(Lex->current_context(), NULL, (yyvsp[(2) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).str) :
13526
(Item*) new Item_ref(Lex->current_context(),
13527
(const char *)NULL, (yyvsp[(2) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).str);
13532
#line 5607 "sql_yacc.yy"
13534
Session *session= YYSession;
13535
LEX *lex= session->lex;
13536
Select_Lex *sel= lex->current_select;
13537
if (sel->no_table_names_allowed)
13539
my_error(ER_TABLENAME_NOT_ALLOWED_HERE,
13540
MYF(0), (yyvsp[(3) - (5)].lex_str).str, session->where);
13542
(yyval.item)= (sel->parsing_place != IN_HAVING ||
13543
sel->get_in_sum_expr() > 0) ?
13544
(Item*) new Item_field(Lex->current_context(), (yyvsp[(1) - (5)].lex_str).str, (yyvsp[(3) - (5)].lex_str).str,
13545
(yyvsp[(5) - (5)].lex_str).str) :
13546
(Item*) new Item_ref(Lex->current_context(), (yyvsp[(1) - (5)].lex_str).str, (yyvsp[(3) - (5)].lex_str).str,
13547
(yyvsp[(5) - (5)].lex_str).str);
13552
#line 5626 "sql_yacc.yy"
13553
{ (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
13557
#line 5628 "sql_yacc.yy"
13560
reinterpret_cast<TableList*>(Lex->current_select->table_list.first);
13561
if (my_strcasecmp(table_alias_charset, (yyvsp[(1) - (5)].lex_str).str, table->db))
13563
my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[(1) - (5)].lex_str).str);
13566
if (my_strcasecmp(table_alias_charset, (yyvsp[(3) - (5)].lex_str).str,
13567
table->table_name))
13569
my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[(3) - (5)].lex_str).str);
13572
(yyval.lex_str)=(yyvsp[(5) - (5)].lex_str);
13577
#line 5645 "sql_yacc.yy"
13580
reinterpret_cast<TableList*>(Lex->current_select->table_list.first);
13581
if (my_strcasecmp(table_alias_charset, (yyvsp[(1) - (3)].lex_str).str, table->alias))
13583
my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[(1) - (3)].lex_str).str);
13586
(yyval.lex_str)=(yyvsp[(3) - (3)].lex_str);
13591
#line 5655 "sql_yacc.yy"
13592
{ (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str);}
13596
#line 5659 "sql_yacc.yy"
13597
{ (yyval.table)=new Table_ident((yyvsp[(1) - (1)].lex_str)); }
13601
#line 5660 "sql_yacc.yy"
13602
{ (yyval.table)=new Table_ident((yyvsp[(1) - (3)].lex_str),(yyvsp[(3) - (3)].lex_str));}
13606
#line 5661 "sql_yacc.yy"
13607
{ (yyval.table)=new Table_ident((yyvsp[(2) - (2)].lex_str));}
13611
#line 5665 "sql_yacc.yy"
13612
{ (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); }
13616
#line 5667 "sql_yacc.yy"
13618
const CHARSET_INFO * const cs= system_charset_info;
13620
uint32_t wlen= cs->cset->well_formed_len(cs, (yyvsp[(1) - (1)].lex_str).str,
13621
(yyvsp[(1) - (1)].lex_str).str+(yyvsp[(1) - (1)].lex_str).length,
13622
(yyvsp[(1) - (1)].lex_str).length, &dummy_error);
13623
if (wlen < (yyvsp[(1) - (1)].lex_str).length)
13625
my_error(ER_INVALID_CHARACTER_STRING, MYF(0),
13626
cs->csname, (yyvsp[(1) - (1)].lex_str).str + wlen);
13629
(yyval.lex_str)= (yyvsp[(1) - (1)].lex_str);
13634
#line 5685 "sql_yacc.yy"
13636
(yyval.lex_str)= (yyvsp[(1) - (1)].lex_str);
13641
#line 5692 "sql_yacc.yy"
13643
(yyval.lex_str)= (yyvsp[(1) - (1)].lex_str);
13648
#line 5699 "sql_yacc.yy"
13650
(yyval.lex_str)= (yyvsp[(1) - (1)].lex_str);
13655
#line 5705 "sql_yacc.yy"
13656
{ (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); }
13660
#line 5707 "sql_yacc.yy"
13662
Session *session= YYSession;
13663
(yyval.lex_str).str= session->strmake((yyvsp[(1) - (1)].symbol).str, (yyvsp[(1) - (1)].symbol).length);
13664
(yyval.lex_str).length= (yyvsp[(1) - (1)].symbol).length;
13669
#line 5715 "sql_yacc.yy"
13670
{ (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
13674
#line 5716 "sql_yacc.yy"
13675
{ (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
13679
#line 5717 "sql_yacc.yy"
13680
{ (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);}
13684
#line 5722 "sql_yacc.yy"
13689
#line 5723 "sql_yacc.yy"
13694
#line 5724 "sql_yacc.yy"
13699
#line 5725 "sql_yacc.yy"
13704
#line 5726 "sql_yacc.yy"
13709
#line 5727 "sql_yacc.yy"
13714
#line 5728 "sql_yacc.yy"
13719
#line 5729 "sql_yacc.yy"
13724
#line 5730 "sql_yacc.yy"
13729
#line 5731 "sql_yacc.yy"
13734
#line 5732 "sql_yacc.yy"
13739
#line 5733 "sql_yacc.yy"
13744
#line 5734 "sql_yacc.yy"
13749
#line 5735 "sql_yacc.yy"
13754
#line 5736 "sql_yacc.yy"
13759
#line 5737 "sql_yacc.yy"
13764
#line 5738 "sql_yacc.yy"
13769
#line 5739 "sql_yacc.yy"
13774
#line 5740 "sql_yacc.yy"
13779
#line 5741 "sql_yacc.yy"
13784
#line 5751 "sql_yacc.yy"
13789
#line 5752 "sql_yacc.yy"
13794
#line 5753 "sql_yacc.yy"
13799
#line 5754 "sql_yacc.yy"
13804
#line 5755 "sql_yacc.yy"
13809
#line 5756 "sql_yacc.yy"
13814
#line 5757 "sql_yacc.yy"
13819
#line 5758 "sql_yacc.yy"
13824
#line 5759 "sql_yacc.yy"
13829
#line 5760 "sql_yacc.yy"
13834
#line 5761 "sql_yacc.yy"
13839
#line 5762 "sql_yacc.yy"
13844
#line 5763 "sql_yacc.yy"
13849
#line 5764 "sql_yacc.yy"
13854
#line 5765 "sql_yacc.yy"
13859
#line 5766 "sql_yacc.yy"
13864
#line 5767 "sql_yacc.yy"
13869
#line 5768 "sql_yacc.yy"
13874
#line 5769 "sql_yacc.yy"
13879
#line 5770 "sql_yacc.yy"
13884
#line 5771 "sql_yacc.yy"
13889
#line 5772 "sql_yacc.yy"
13894
#line 5773 "sql_yacc.yy"
13899
#line 5774 "sql_yacc.yy"
13904
#line 5775 "sql_yacc.yy"
13909
#line 5776 "sql_yacc.yy"
13914
#line 5777 "sql_yacc.yy"
13919
#line 5778 "sql_yacc.yy"
13924
#line 5779 "sql_yacc.yy"
13929
#line 5780 "sql_yacc.yy"
13934
#line 5781 "sql_yacc.yy"
13939
#line 5782 "sql_yacc.yy"
13944
#line 5783 "sql_yacc.yy"
13949
#line 5784 "sql_yacc.yy"
13954
#line 5785 "sql_yacc.yy"
13959
#line 5786 "sql_yacc.yy"
13964
#line 5787 "sql_yacc.yy"
13969
#line 5788 "sql_yacc.yy"
13974
#line 5789 "sql_yacc.yy"
13979
#line 5790 "sql_yacc.yy"
13984
#line 5791 "sql_yacc.yy"
13989
#line 5792 "sql_yacc.yy"
13994
#line 5793 "sql_yacc.yy"
13999
#line 5794 "sql_yacc.yy"
14004
#line 5795 "sql_yacc.yy"
14009
#line 5796 "sql_yacc.yy"
14014
#line 5797 "sql_yacc.yy"
14019
#line 5798 "sql_yacc.yy"
14024
#line 5799 "sql_yacc.yy"
14029
#line 5800 "sql_yacc.yy"
14034
#line 5801 "sql_yacc.yy"
14039
#line 5802 "sql_yacc.yy"
14044
#line 5803 "sql_yacc.yy"
14049
#line 5804 "sql_yacc.yy"
14054
#line 5805 "sql_yacc.yy"
14059
#line 5806 "sql_yacc.yy"
14064
#line 5807 "sql_yacc.yy"
14069
#line 5808 "sql_yacc.yy"
14074
#line 5809 "sql_yacc.yy"
14079
#line 5810 "sql_yacc.yy"
14084
#line 5811 "sql_yacc.yy"
14089
#line 5812 "sql_yacc.yy"
14094
#line 5813 "sql_yacc.yy"
14099
#line 5814 "sql_yacc.yy"
14104
#line 5815 "sql_yacc.yy"
14109
#line 5816 "sql_yacc.yy"
14114
#line 5817 "sql_yacc.yy"
14119
#line 5818 "sql_yacc.yy"
14124
#line 5819 "sql_yacc.yy"
14129
#line 5820 "sql_yacc.yy"
14134
#line 5821 "sql_yacc.yy"
14139
#line 5822 "sql_yacc.yy"
14144
#line 5823 "sql_yacc.yy"
14149
#line 5824 "sql_yacc.yy"
14154
#line 5825 "sql_yacc.yy"
14159
#line 5826 "sql_yacc.yy"
14164
#line 5827 "sql_yacc.yy"
14169
#line 5828 "sql_yacc.yy"
14174
#line 5829 "sql_yacc.yy"
14179
#line 5830 "sql_yacc.yy"
14184
#line 5831 "sql_yacc.yy"
14189
#line 5832 "sql_yacc.yy"
14194
#line 5833 "sql_yacc.yy"
14199
#line 5834 "sql_yacc.yy"
14204
#line 5835 "sql_yacc.yy"
14209
#line 5836 "sql_yacc.yy"
14214
#line 5837 "sql_yacc.yy"
14219
#line 5838 "sql_yacc.yy"
14224
#line 5839 "sql_yacc.yy"
14229
#line 5840 "sql_yacc.yy"
14234
#line 5841 "sql_yacc.yy"
14239
#line 5842 "sql_yacc.yy"
14244
#line 5843 "sql_yacc.yy"
14249
#line 5844 "sql_yacc.yy"
14254
#line 5845 "sql_yacc.yy"
14259
#line 5846 "sql_yacc.yy"
14264
#line 5847 "sql_yacc.yy"
14269
#line 5848 "sql_yacc.yy"
14274
#line 5849 "sql_yacc.yy"
14279
#line 5850 "sql_yacc.yy"
14284
#line 5851 "sql_yacc.yy"
14289
#line 5852 "sql_yacc.yy"
14294
#line 5853 "sql_yacc.yy"
14299
#line 5854 "sql_yacc.yy"
14304
#line 5855 "sql_yacc.yy"
14309
#line 5856 "sql_yacc.yy"
14314
#line 5857 "sql_yacc.yy"
14319
#line 5858 "sql_yacc.yy"
14324
#line 5859 "sql_yacc.yy"
14329
#line 5860 "sql_yacc.yy"
14334
#line 5861 "sql_yacc.yy"
14339
#line 5862 "sql_yacc.yy"
14344
#line 5863 "sql_yacc.yy"
14349
#line 5864 "sql_yacc.yy"
14354
#line 5865 "sql_yacc.yy"
14359
#line 5866 "sql_yacc.yy"
14364
#line 5867 "sql_yacc.yy"
14369
#line 5868 "sql_yacc.yy"
14374
#line 5869 "sql_yacc.yy"
14379
#line 5870 "sql_yacc.yy"
14384
#line 5871 "sql_yacc.yy"
14389
#line 5872 "sql_yacc.yy"
14394
#line 5873 "sql_yacc.yy"
14399
#line 5874 "sql_yacc.yy"
14404
#line 5875 "sql_yacc.yy"
14409
#line 5876 "sql_yacc.yy"
14414
#line 5877 "sql_yacc.yy"
14419
#line 5878 "sql_yacc.yy"
14424
#line 5879 "sql_yacc.yy"
14429
#line 5880 "sql_yacc.yy"
14434
#line 5881 "sql_yacc.yy"
14439
#line 5882 "sql_yacc.yy"
14444
#line 5883 "sql_yacc.yy"
14449
#line 5884 "sql_yacc.yy"
14454
#line 5885 "sql_yacc.yy"
14459
#line 5886 "sql_yacc.yy"
14464
#line 5887 "sql_yacc.yy"
14469
#line 5888 "sql_yacc.yy"
14474
#line 5889 "sql_yacc.yy"
14479
#line 5890 "sql_yacc.yy"
14484
#line 5891 "sql_yacc.yy"
14489
#line 5892 "sql_yacc.yy"
14494
#line 5893 "sql_yacc.yy"
14499
#line 5894 "sql_yacc.yy"
14504
#line 5901 "sql_yacc.yy"
14507
lex->sql_command= SQLCOM_SET_OPTION;
14508
statement::SetOption *statement= new(std::nothrow) statement::SetOption(YYSession);
14509
lex->statement= statement;
14510
if (lex->statement == NULL)
14512
mysql_init_select(lex);
14513
lex->option_type=OPT_SESSION;
14514
lex->var_list.empty();
14519
#line 5913 "sql_yacc.yy"
14524
#line 5917 "sql_yacc.yy"
14529
#line 5918 "sql_yacc.yy"
14534
#line 5927 "sql_yacc.yy"
14540
#line 5930 "sql_yacc.yy"
14546
#line 5935 "sql_yacc.yy"
14551
#line 5936 "sql_yacc.yy"
14552
{ (yyval.var_type)=OPT_GLOBAL; }
14556
#line 5937 "sql_yacc.yy"
14557
{ (yyval.var_type)=OPT_SESSION; }
14561
#line 5938 "sql_yacc.yy"
14562
{ (yyval.var_type)=OPT_SESSION; }
14566
#line 5942 "sql_yacc.yy"
14567
{ (yyval.num)= OPT_DEFAULT; }
14571
#line 5943 "sql_yacc.yy"
14572
{ ((statement::SetOption *)Lex->statement)->one_shot_set= true; (yyval.num)= OPT_SESSION; }
14576
#line 5947 "sql_yacc.yy"
14577
{ (yyval.var_type)=OPT_SESSION; }
14581
#line 5948 "sql_yacc.yy"
14582
{ (yyval.var_type)=OPT_GLOBAL; }
14586
#line 5949 "sql_yacc.yy"
14587
{ (yyval.var_type)=OPT_SESSION; }
14591
#line 5950 "sql_yacc.yy"
14592
{ (yyval.var_type)=OPT_SESSION; }
14596
#line 5954 "sql_yacc.yy"
14597
{ (yyval.var_type)=OPT_DEFAULT; }
14601
#line 5955 "sql_yacc.yy"
14602
{ (yyval.var_type)=OPT_GLOBAL; }
14606
#line 5956 "sql_yacc.yy"
14607
{ (yyval.var_type)=OPT_SESSION; }
14611
#line 5957 "sql_yacc.yy"
14612
{ (yyval.var_type)=OPT_SESSION; }
14616
#line 5967 "sql_yacc.yy"
14620
if ((yyvsp[(2) - (4)].variable).var)
14621
{ /* System variable */
14622
if ((yyvsp[(1) - (4)].var_type))
14623
lex->option_type= (yyvsp[(1) - (4)].var_type);
14624
lex->var_list.push_back(new set_var(lex->option_type, (yyvsp[(2) - (4)].variable).var,
14625
&(yyvsp[(2) - (4)].variable).base_name, (yyvsp[(4) - (4)].item)));
14631
#line 5979 "sql_yacc.yy"
14634
lex->option_type= (yyvsp[(1) - (5)].var_type);
14635
lex->var_list.push_back(new set_var(lex->option_type,
14636
find_sys_var(YYSession, "tx_isolation"),
14638
new Item_int((int32_t) (yyvsp[(5) - (5)].tx_isolation))));
14643
#line 5991 "sql_yacc.yy"
14645
Lex->var_list.push_back(new set_var_user(new Item_func_set_user_var((yyvsp[(2) - (4)].lex_str),(yyvsp[(4) - (4)].item))));
14650
#line 5995 "sql_yacc.yy"
14653
lex->var_list.push_back(new set_var((yyvsp[(3) - (6)].var_type), (yyvsp[(4) - (6)].variable).var, &(yyvsp[(4) - (6)].variable).base_name, (yyvsp[(6) - (6)].item)));
14658
#line 6003 "sql_yacc.yy"
14660
Session *session= YYSession;
14662
/* We have to lookup here since local vars can shadow sysvars */
14664
/* Not an SP local variable */
14665
sys_var *tmp=find_sys_var(session, (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length);
14668
(yyval.variable).var= tmp;
14669
(yyval.variable).base_name= null_lex_str;
14675
#line 6019 "sql_yacc.yy"
14676
{ (yyval.tx_isolation)= ISO_READ_UNCOMMITTED; }
14680
#line 6020 "sql_yacc.yy"
14681
{ (yyval.tx_isolation)= ISO_READ_COMMITTED; }
14685
#line 6021 "sql_yacc.yy"
14686
{ (yyval.tx_isolation)= ISO_REPEATABLE_READ; }
14690
#line 6022 "sql_yacc.yy"
14691
{ (yyval.tx_isolation)= ISO_SERIALIZABLE; }
14695
#line 6026 "sql_yacc.yy"
14696
{ (yyval.item)=(yyvsp[(1) - (1)].item); }
14700
#line 6027 "sql_yacc.yy"
14701
{ (yyval.item)=0; }
14705
#line 6028 "sql_yacc.yy"
14706
{ (yyval.item)=new Item_string("ON", 2, system_charset_info); }
14710
#line 6029 "sql_yacc.yy"
14711
{ (yyval.item)=new Item_string("ALL", 3, system_charset_info); }
14715
#line 6030 "sql_yacc.yy"
14716
{ (yyval.item)=new Item_string("binary", 6, system_charset_info); }
14720
#line 6040 "sql_yacc.yy"
14723
lex->sql_command= SQLCOM_UNLOCK_TABLES;
14724
lex->statement= new(std::nothrow) statement::UnlockTables(YYSession);
14725
if (lex->statement == NULL)
14731
#line 6048 "sql_yacc.yy"
14736
#line 6053 "sql_yacc.yy"
14739
lex->sql_command = SQLCOM_BEGIN;
14740
lex->statement= new(std::nothrow) statement::StartTransaction(YYSession);
14741
if (lex->statement == NULL)
14747
#line 6060 "sql_yacc.yy"
14752
#line 6064 "sql_yacc.yy"
14757
#line 6065 "sql_yacc.yy"
14762
#line 6070 "sql_yacc.yy"
14763
{ (yyval.num)= (YYSession->variables.completion_type == 1); }
14767
#line 6071 "sql_yacc.yy"
14772
#line 6072 "sql_yacc.yy"
14777
#line 6077 "sql_yacc.yy"
14778
{ (yyval.num)= (YYSession->variables.completion_type == 2); }
14782
#line 6078 "sql_yacc.yy"
14787
#line 6079 "sql_yacc.yy"
14792
#line 6083 "sql_yacc.yy"
14797
#line 6084 "sql_yacc.yy"
14802
#line 6089 "sql_yacc.yy"
14805
lex->sql_command= SQLCOM_COMMIT;
14806
statement::Commit *statement= new(std::nothrow) statement::Commit(YYSession);
14807
lex->statement= statement;
14808
if (lex->statement == NULL)
14810
statement->tx_chain= (yyvsp[(3) - (4)].num);
14811
statement->tx_release= (yyvsp[(4) - (4)].num);
14816
#line 6103 "sql_yacc.yy"
14819
lex->sql_command= SQLCOM_ROLLBACK;
14820
statement::Rollback *statement= new(std::nothrow) statement::Rollback(YYSession);
14821
lex->statement= statement;
14822
if (lex->statement == NULL)
14824
statement->tx_chain= (yyvsp[(3) - (4)].num);
14825
statement->tx_release= (yyvsp[(4) - (4)].num);
14830
#line 6115 "sql_yacc.yy"
14833
lex->sql_command= SQLCOM_ROLLBACK_TO_SAVEPOINT;
14834
lex->statement= new(std::nothrow) statement::RollbackToSavepoint(YYSession);
14835
if (lex->statement == NULL)
14837
lex->ident= (yyvsp[(5) - (5)].lex_str);
14842
#line 6127 "sql_yacc.yy"
14845
lex->sql_command= SQLCOM_SAVEPOINT;
14846
lex->statement= new(std::nothrow) statement::Savepoint(YYSession);
14847
if (lex->statement == NULL)
14849
lex->ident= (yyvsp[(2) - (2)].lex_str);
14854
#line 6139 "sql_yacc.yy"
14857
lex->sql_command= SQLCOM_RELEASE_SAVEPOINT;
14858
lex->statement= new(std::nothrow) statement::ReleaseSavepoint(YYSession);
14859
if (lex->statement == NULL)
14861
lex->ident= (yyvsp[(3) - (3)].lex_str);
14866
#line 6155 "sql_yacc.yy"
14871
#line 6161 "sql_yacc.yy"
14873
if (add_select_to_union_list(Lex, (bool)(yyvsp[(2) - (2)].num)))
14879
#line 6166 "sql_yacc.yy"
14882
Remove from the name resolution context stack the context of the
14883
last select in the union.
14885
Lex->pop_context();
14890
#line 6176 "sql_yacc.yy"
14891
{ (yyval.num)= 0; }
14895
#line 6177 "sql_yacc.yy"
14896
{ (yyval.num)= 1; }
14900
#line 6178 "sql_yacc.yy"
14901
{ (yyval.num)= 1; }
14905
#line 6182 "sql_yacc.yy"
14907
Session *session= YYSession;
14908
LEX *lex= session->lex;
14909
assert(lex->current_select->linkage != GLOBAL_OPTIONS_TYPE);
14910
Select_Lex *sel= lex->current_select;
14911
Select_Lex_Unit *unit= sel->master_unit();
14912
Select_Lex *fake= unit->fake_select_lex;
14915
unit->global_parameters= fake;
14916
fake->no_table_names_allowed= 1;
14917
lex->current_select= fake;
14919
session->where= "global ORDER clause";
14924
#line 6198 "sql_yacc.yy"
14926
Session *session= YYSession;
14927
session->lex->current_select->no_table_names_allowed= 0;
14928
session->where= "";
14933
#line 6211 "sql_yacc.yy"
14938
#line 6212 "sql_yacc.yy"
14943
#line 6213 "sql_yacc.yy"
14948
#line 6218 "sql_yacc.yy"
14950
(yyval.select_lex)= Lex->current_select->master_unit()->first_select();
14955
#line 6222 "sql_yacc.yy"
14957
(yyval.select_lex)= Lex->current_select->master_unit()->first_select();
14962
#line 6231 "sql_yacc.yy"
14964
if (add_select_to_union_list(Lex, (bool)(yyvsp[(3) - (3)].num)))
14970
#line 6236 "sql_yacc.yy"
14972
Lex->pop_context();
14973
(yyval.select_lex)= (yyvsp[(1) - (5)].select_lex);
14978
#line 6245 "sql_yacc.yy"
14980
(yyval.select_lex)= (yyvsp[(2) - (3)].select_lex);
14985
#line 6251 "sql_yacc.yy"
14988
if (!lex->expr_allows_subselect)
14990
my_parse_error(ER(ER_SYNTAX_ERROR));
14994
we are making a "derived table" for the parenthesis
14995
as we need to have a lex level to fit the union
14996
after the parenthesis, e.g.
14997
(SELECT .. ) UNION ... becomes
14998
SELECT * FROM ((SELECT ...) UNION ...)
15000
if (mysql_new_select(Lex, 1))
15006
#line 6271 "sql_yacc.yy"
15009
lex->pop_context();
15010
Select_Lex *child= lex->current_select;
15011
lex->current_select = lex->current_select->return_after_parsing();
15013
lex->current_select->n_child_sum_items += child->n_sum_items;
15015
A subselect can add fields to an outer select. Reserve space for
15018
lex->current_select->select_n_where_fields+=
15019
child->select_n_where_fields;
15024
/* Line 1267 of yacc.c. */
15025
#line 15026 "drizzled/sql_yacc.cc"
15028
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
15030
YYPOPSTACK (yylen);
15032
YY_STACK_PRINT (yyss, yyssp);
15037
/* Now `shift' the result of the reduction. Determine what state
15038
that goes to, based on the state we popped back to and the rule
15039
number reduced by. */
15043
yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
15044
if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
15045
yystate = yytable[yystate];
15047
yystate = yydefgoto[yyn - YYNTOKENS];
15052
/*------------------------------------.
15053
| yyerrlab -- here on detecting error |
15054
`------------------------------------*/
15056
/* If not already recovering from an error, report this error. */
15060
#if ! YYERROR_VERBOSE
15061
yyerror (YY_("syntax error"));
15064
YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
15065
if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
15067
YYSIZE_T yyalloc = 2 * yysize;
15068
if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
15069
yyalloc = YYSTACK_ALLOC_MAXIMUM;
15070
if (yymsg != yymsgbuf)
15071
YYSTACK_FREE (yymsg);
15072
yymsg = (char *) YYSTACK_ALLOC (yyalloc);
15074
yymsg_alloc = yyalloc;
15078
yymsg_alloc = sizeof yymsgbuf;
15082
if (0 < yysize && yysize <= yymsg_alloc)
15084
(void) yysyntax_error (yymsg, yystate, yychar);
15089
yyerror (YY_("syntax error"));
15091
goto yyexhaustedlab;
15099
if (yyerrstatus == 3)
15101
/* If just tried and failed to reuse look-ahead token after an
15102
error, discard it. */
15104
if (yychar <= YYEOF)
15106
/* Return failure if at end of input. */
15107
if (yychar == YYEOF)
15112
yydestruct ("Error: discarding",
15118
/* Else will try to reuse look-ahead token after shifting the error
15123
/*---------------------------------------------------.
15124
| yyerrorlab -- error raised explicitly by YYERROR. |
15125
`---------------------------------------------------*/
15128
/* Pacify compilers like GCC when the user code never invokes
15129
YYERROR and the label yyerrorlab therefore never appears in user
15131
if (/*CONSTCOND*/ 0)
15134
/* Do not reclaim the symbols of the rule which action triggered
15136
YYPOPSTACK (yylen);
15138
YY_STACK_PRINT (yyss, yyssp);
15143
/*-------------------------------------------------------------.
15144
| yyerrlab1 -- common code for both syntax error and YYERROR. |
15145
`-------------------------------------------------------------*/
15147
yyerrstatus = 3; /* Each real token shifted decrements this. */
15151
yyn = yypact[yystate];
15152
if (yyn != YYPACT_NINF)
15155
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
15157
yyn = yytable[yyn];
15163
/* Pop the current state because it cannot handle the error token. */
15168
yydestruct ("Error: popping",
15169
yystos[yystate], yyvsp);
15172
YY_STACK_PRINT (yyss, yyssp);
15175
if (yyn == YYFINAL)
15181
/* Shift the error token. */
15182
YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
15188
/*-------------------------------------.
15189
| yyacceptlab -- YYACCEPT comes here. |
15190
`-------------------------------------*/
15195
/*-----------------------------------.
15196
| yyabortlab -- YYABORT comes here. |
15197
`-----------------------------------*/
15203
/*-------------------------------------------------.
15204
| yyexhaustedlab -- memory exhaustion comes here. |
15205
`-------------------------------------------------*/
15207
yyerror (YY_("memory exhausted"));
15209
/* Fall through. */
15213
if (yychar != YYEOF && yychar != YYEMPTY)
15214
yydestruct ("Cleanup: discarding lookahead",
15216
/* Do not reclaim the symbols of the rule which action triggered
15217
this YYABORT or YYACCEPT. */
15218
YYPOPSTACK (yylen);
15219
YY_STACK_PRINT (yyss, yyssp);
15220
while (yyssp != yyss)
15222
yydestruct ("Cleanup: popping",
15223
yystos[*yyssp], yyvsp);
15228
YYSTACK_FREE (yyss);
15230
#if YYERROR_VERBOSE
15231
if (yymsg != yymsgbuf)
15232
YYSTACK_FREE (yymsg);
15234
/* Make sure YYID is used. */
15235
return YYID (yyresult);