/* A Bison parser, made by GNU Bison 2.4.1. */ /* Skeleton implementation for Bison's Yacc-like parsers in C Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ /* As a special exception, you may create a larger work that contains part or all of the Bison parser skeleton and distribute that work under terms of your choice, so long as that work isn't itself a parser generator using the skeleton or a modified version thereof as a parser skeleton. Alternatively, if you modify or redistribute the parser skeleton itself, you may (at your option) remove this special exception, which will cause the skeleton and the resulting Bison output files to be licensed under the GNU General Public License without this special exception. This special exception was added by the Free Software Foundation in version 2.2 of Bison. */ /* C LALR(1) parser skeleton written by Richard Stallman, by simplifying the original so-called "semantic" parser. */ /* All symbols defined below should begin with yy or YY, to avoid infringing on user name space. This should be done even for local variables, as they might otherwise be expanded by user macros. There are some unavoidable exceptions within include files to define necessary library symbols; they are noted "INFRINGES ON USER NAME SPACE" below. */ /* Identify Bison output. */ #define YYBISON 1 /* Bison version. */ #define YYBISON_VERSION "2.4.1" /* Skeleton name. */ #define YYSKELETON_NAME "yacc.c" /* Pure parsers. */ #define YYPURE 1 /* Push parsers. */ #define YYPUSH 0 /* Pull parsers. */ #define YYPULL 1 /* Using locations. */ #define YYLSP_NEEDED 0 /* Substitute the variable and function names. */ #define yyparse MYSQLparse #define yylex MYSQLlex #define yyerror MYSQLerror #define yylval MYSQLlval #define yychar MYSQLchar #define yydebug MYSQLdebug #define yynerrs MYSQLnerrs /* Copy the first part of user declarations. */ /* Line 189 of yacc.c */ #line 24 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" /* thd is passed as an argument to yyparse(), and subsequently to yylex(). ** The type will be void*, so it must be cast to (THD*) when used. ** Use the YYTHD macro for this. */ #define YYPARSE_PARAM yythd #define YYLEX_PARAM yythd #define YYTHD ((THD *)yythd) #define YYLIP (& YYTHD->m_parser_state->m_lip) #define YYPS (& YYTHD->m_parser_state->m_yacc) #define MYSQL_YACC #define YYINITDEPTH 100 #define YYMAXDEPTH 3200 /* Because of 64K stack */ #define Lex (YYTHD->lex) #define Select Lex->current_select #include "sql_priv.h" #include "unireg.h" // REQUIRED: for other includes #include "sql_parse.h" /* comp_*_creator */ #include "sql_table.h" /* primary_key_name */ #include "sql_partition.h" /* mem_alloc_error, partition_info, HASH_PARTITION */ #include "sql_acl.h" /* *_ACL */ #include "password.h" /* my_make_scrambled_password_323, my_make_scrambled_password */ #include "sql_class.h" /* Key_part_spec, enum_filetype, Diag_condition_item_name */ #include "slave.h" #include "lex_symbol.h" #include "item_create.h" #include "sp_head.h" #include "sp_pcontext.h" #include "sp_rcontext.h" #include "sp.h" #include "sql_alter.h" // Alter_table*_statement #include "sql_truncate.h" // Truncate_statement #include "sql_admin.h" // Analyze/Check..._table_stmt #include "sql_partition_admin.h" // Alter_table_*_partition_stmt #include "sql_signal.h" #include "event_parse_data.h" #include #include #include "keycaches.h" #include "set_var.h" /* this is to get the bison compilation windows warnings out */ #ifdef _MSC_VER /* warning C4065: switch statement contains 'default' but no 'case' labels */ #pragma warning (disable : 4065) #endif int yylex(void *yylval, void *yythd); #define yyoverflow(A,B,C,D,E,F) \ { \ ulong val= *(F); \ if (my_yyoverflow((B), (D), &val)) \ { \ yyerror((char*) (A)); \ return 2; \ } \ else \ { \ *(F)= (YYSIZE_T)val; \ } \ } #define MYSQL_YYABORT \ do \ { \ LEX::cleanup_lex_after_parse_error(YYTHD);\ YYABORT; \ } while (0) #define MYSQL_YYABORT_UNLESS(A) \ if (!(A)) \ { \ my_parse_error(ER(ER_SYNTAX_ERROR));\ MYSQL_YYABORT; \ } /* Work around for broken code generated by bison 1.875. The code generated by bison 1.875a and later, bison 2.1 and bison 2.2 is ok. With bison 1.875 however, the generated code contains:
  yyerrlab1:
  #if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__)
    __attribute__ ((__unused__))
  #endif
This usage of __attribute__ is illegal, so we remove it. See the following references for details: http://lists.gnu.org/archive/html/bug-bison/2004-02/msg00014.html http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14273 */ #if defined (__GNUC_MINOR__) && 2093 <= (__GNUC__ * 1000 + __GNUC_MINOR__) #undef __attribute__ #define __attribute__(X) #endif #ifndef DBUG_OFF #define YYDEBUG 1 #else #define YYDEBUG 0 #endif /** @brief Push an error message into MySQL error stack with line and position information. This function provides semantic action implementers with a way to push the famous "You have a syntax error near..." error message into the error stack, which is normally produced only if a parse error is discovered internally by the Bison generated parser. */ void my_parse_error(const char *s) { THD *thd= current_thd; Lex_input_stream *lip= & thd->m_parser_state->m_lip; const char *yytext= lip->get_tok_start(); if (!yytext) yytext= ""; /* Push an error into the error stack */ ErrConvString err(yytext, thd->variables.character_set_client); my_printf_error(ER_PARSE_ERROR, ER(ER_PARSE_ERROR), MYF(0), s, err.ptr(), lip->yylineno); } /** @brief Bison callback to report a syntax/OOM error This function is invoked by the bison-generated parser when a syntax error, a parse error or an out-of-memory condition occurs. This function is not invoked when the parser is requested to abort by semantic action code by means of YYABORT or YYACCEPT macros. This is why these macros should not be used (use MYSQL_YYABORT/MYSQL_YYACCEPT instead). The parser will abort immediately after invoking this callback. This function is not for use in semantic actions and is internal to the parser, as it performs some pre-return cleanup. In semantic actions, please use my_parse_error or my_error to push an error into the error stack and MYSQL_YYABORT to abort from the parser. */ void MYSQLerror(const char *s) { THD *thd= current_thd; /* Restore the original LEX if it was replaced when parsing a stored procedure. We must ensure that a parsing error does not leave any side effects in the THD. */ LEX::cleanup_lex_after_parse_error(thd); /* "parse error" changed into "syntax error" between bison 1.75 and 1.875 */ if (strcmp(s,"parse error") == 0 || strcmp(s,"syntax error") == 0) s= ER(ER_SYNTAX_ERROR); my_parse_error(s); } #ifndef DBUG_OFF void turn_parser_debug_on() { /* MYSQLdebug is in sql/sql_yacc.cc, in bison generated code. Turning this option on is **VERY** verbose, and should be used when investigating a syntax error problem only. The syntax to run with bison traces is as follows : - Starting a server manually : mysqld --debug="d,parser_debug" ... - Running a test : mysql-test-run.pl --mysqld="--debug=d,parser_debug" ... The result will be in the process stderr (var/log/master.err) */ extern int yydebug; yydebug= 1; } #endif static bool is_native_function(THD *thd, const LEX_STRING *name) { if (find_native_function_builder(thd, *name)) return true; if (is_lex_native_function(name)) return true; return false; } /** Helper action for a case statement (entering the CASE). This helper is used for both 'simple' and 'searched' cases. This helper, with the other case_stmt_action_..., is executed when the following SQL code is parsed:
CREATE PROCEDURE proc_19194_simple(i int)
BEGIN
  DECLARE str CHAR(10);

  CASE i
    WHEN 1 THEN SET str="1";
    WHEN 2 THEN SET str="2";
    WHEN 3 THEN SET str="3";
    ELSE SET str="unknown";
  END CASE;

  SELECT str;
END
The actions are used to generate the following code:
SHOW PROCEDURE CODE proc_19194_simple;
Pos     Instruction
0       set str@1 NULL
1       set_case_expr (12) 0 i@0
2       jump_if_not 5(12) (case_expr@0 = 1)
3       set str@1 _latin1'1'
4       jump 12
5       jump_if_not 8(12) (case_expr@0 = 2)
6       set str@1 _latin1'2'
7       jump 12
8       jump_if_not 11(12) (case_expr@0 = 3)
9       set str@1 _latin1'3'
10      jump 12
11      set str@1 _latin1'unknown'
12      stmt 0 "SELECT str"
@param lex the parser lex context */ void case_stmt_action_case(LEX *lex) { lex->sphead->new_cont_backpatch(NULL); /* BACKPATCH: Creating target label for the jump to "case_stmt_action_end_case" (Instruction 12 in the example) */ lex->spcont->push_label((char *)"", lex->sphead->instructions()); } /** Helper action for a case expression statement (the expr in 'CASE expr'). This helper is used for 'searched' cases only. @param lex the parser lex context @param expr the parsed expression @return 0 on success */ int case_stmt_action_expr(LEX *lex, Item* expr) { sp_head *sp= lex->sphead; sp_pcontext *parsing_ctx= lex->spcont; int case_expr_id= parsing_ctx->register_case_expr(); sp_instr_set_case_expr *i; if (parsing_ctx->push_case_expr_id(case_expr_id)) return 1; i= new sp_instr_set_case_expr(sp->instructions(), parsing_ctx, case_expr_id, expr, lex); sp->add_cont_backpatch(i); return sp->add_instr(i); } /** Helper action for a case when condition. This helper is used for both 'simple' and 'searched' cases. @param lex the parser lex context @param when the parsed expression for the WHEN clause @param simple true for simple cases, false for searched cases */ int case_stmt_action_when(LEX *lex, Item *when, bool simple) { sp_head *sp= lex->sphead; sp_pcontext *ctx= lex->spcont; uint ip= sp->instructions(); sp_instr_jump_if_not *i; Item_case_expr *var; Item *expr; if (simple) { var= new Item_case_expr(ctx->get_current_case_expr_id()); #ifndef DBUG_OFF if (var) { var->m_sp= sp; } #endif expr= new Item_func_eq(var, when); i= new sp_instr_jump_if_not(ip, ctx, expr, lex); } else i= new sp_instr_jump_if_not(ip, ctx, when, lex); /* BACKPATCH: Registering forward jump from "case_stmt_action_when" to "case_stmt_action_then" (jump_if_not from instruction 2 to 5, 5 to 8 ... in the example) */ return !test(i) || sp->push_backpatch(i, ctx->push_label((char *)"", 0)) || sp->add_cont_backpatch(i) || sp->add_instr(i); } /** Helper action for a case then statements. This helper is used for both 'simple' and 'searched' cases. @param lex the parser lex context */ int case_stmt_action_then(LEX *lex) { sp_head *sp= lex->sphead; sp_pcontext *ctx= lex->spcont; uint ip= sp->instructions(); sp_instr_jump *i = new sp_instr_jump(ip, ctx); if (!test(i) || sp->add_instr(i)) return 1; /* BACKPATCH: Resolving forward jump from "case_stmt_action_when" to "case_stmt_action_then" (jump_if_not from instruction 2 to 5, 5 to 8 ... in the example) */ sp->backpatch(ctx->pop_label()); /* BACKPATCH: Registering forward jump from "case_stmt_action_then" to "case_stmt_action_end_case" (jump from instruction 4 to 12, 7 to 12 ... in the example) */ return sp->push_backpatch(i, ctx->last_label()); } /** Helper action for an end case. This helper is used for both 'simple' and 'searched' cases. @param lex the parser lex context @param simple true for simple cases, false for searched cases */ void case_stmt_action_end_case(LEX *lex, bool simple) { /* BACKPATCH: Resolving forward jump from "case_stmt_action_then" to "case_stmt_action_end_case" (jump from instruction 4 to 12, 7 to 12 ... in the example) */ lex->sphead->backpatch(lex->spcont->pop_label()); if (simple) lex->spcont->pop_case_expr_id(); lex->sphead->do_cont_backpatch(); } static bool find_sys_var_null_base(THD *thd, struct sys_var_with_base *tmp) { tmp->var= find_sys_var(thd, tmp->base_name.str, tmp->base_name.length); if (tmp->var == NULL) my_error(ER_UNKNOWN_SYSTEM_VARIABLE, MYF(0), tmp->base_name.str); else tmp->base_name= null_lex_str; return thd->is_error(); } /** Helper action for a SET statement. Used to push a system variable into the assignment list. @param thd the current thread @param tmp the system variable with base name @param var_type the scope of the variable @param val the value being assigned to the variable @return TRUE if error, FALSE otherwise. */ static bool set_system_variable(THD *thd, struct sys_var_with_base *tmp, enum enum_var_type var_type, Item *val) { set_var *var; LEX *lex= thd->lex; /* No AUTOCOMMIT from a stored function or trigger. */ if (lex->spcont && tmp->var == Sys_autocommit_ptr) lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT; if (! (var= new set_var(var_type, tmp->var, &tmp->base_name, val))) return TRUE; return lex->var_list.push_back(var); } /** Helper action for a SET statement. Used to push a SP local variable into the assignment list. @param thd the current thread @param var_type the SP local variable @param val the value being assigned to the variable @return TRUE if error, FALSE otherwise. */ static bool set_local_variable(THD *thd, sp_variable_t *spv, Item *val) { Item *it; LEX *lex= thd->lex; sp_instr_set *sp_set; if (val) it= val; else if (spv->dflt) it= spv->dflt; else { it= new (thd->mem_root) Item_null(); if (it == NULL) return TRUE; } sp_set= new sp_instr_set(lex->sphead->instructions(), lex->spcont, spv->offset, it, spv->type, lex, TRUE); return (sp_set == NULL || lex->sphead->add_instr(sp_set)); } /** Helper action for a SET statement. Used to SET a field of NEW row. @param thd the current thread @param name the field name @param val the value being assigned to the row @return TRUE if error, FALSE otherwise. */ static bool set_trigger_new_row(THD *thd, LEX_STRING *name, Item *val) { LEX *lex= thd->lex; Item_trigger_field *trg_fld; sp_instr_set_trigger_field *sp_fld; /* QQ: Shouldn't this be field's default value ? */ if (! val) val= new Item_null(); DBUG_ASSERT(lex->trg_chistics.action_time == TRG_ACTION_BEFORE && (lex->trg_chistics.event == TRG_EVENT_INSERT || lex->trg_chistics.event == TRG_EVENT_UPDATE)); trg_fld= new (thd->mem_root) Item_trigger_field(lex->current_context(), Item_trigger_field::NEW_ROW, name->str, UPDATE_ACL, FALSE); if (trg_fld == NULL) return TRUE; sp_fld= new sp_instr_set_trigger_field(lex->sphead->instructions(), lex->spcont, trg_fld, val, lex); if (sp_fld == NULL) return TRUE; /* Let us add this item to list of all Item_trigger_field objects in trigger. */ lex->trg_table_fields.link_in_list(trg_fld, &trg_fld->next_trg_field); return lex->sphead->add_instr(sp_fld); } /** Helper to resolve the SQL:2003 Syntax exception 1) in . See SQL:2003, Part 2, section 8.4 , Note 184, page 383. This function returns the proper item for the SQL expression left [NOT] IN ( expr ) @param thd the current thread @param left the in predicand @param equal true for IN predicates, false for NOT IN predicates @param expr first and only expression of the in value list @return an expression representing the IN predicate. */ Item* handle_sql2003_note184_exception(THD *thd, Item* left, bool equal, Item *expr) { /* Relevant references for this issue: - SQL:2003, Part 2, section 8.4 , page 383, - SQL:2003, Part 2, section 7.2 , page 296, - SQL:2003, Part 2, section 6.3 , page 174, - SQL:2003, Part 2, section 7.15 , page 370, - SQL:2003 Feature F561, "Full value expressions". The exception in SQL:2003 Note 184 means: Item_singlerow_subselect, which corresponds to a , should be re-interpreted as an Item_in_subselect, which corresponds to a when used inside an . Our reading of Note 184 is reccursive, so that all: - IN (( )) - IN ((( ))) - IN '('^N ')'^N - etc should be interpreted as a
, no matter how deep in the expression the is. */ Item *result; DBUG_ENTER("handle_sql2003_note184_exception"); if (expr->type() == Item::SUBSELECT_ITEM) { Item_subselect *expr2 = (Item_subselect*) expr; if (expr2->substype() == Item_subselect::SINGLEROW_SUBS) { Item_singlerow_subselect *expr3 = (Item_singlerow_subselect*) expr2; st_select_lex *subselect; /* Implement the mandated change, by altering the semantic tree: left IN Item_singlerow_subselect(subselect) is modified to left IN (subselect) which is represented as Item_in_subselect(left, subselect) */ subselect= expr3->invalidate_and_restore_select_lex(); result= new (thd->mem_root) Item_in_subselect(left, subselect); if (! equal) result = negate_expression(thd, result); DBUG_RETURN(result); } } if (equal) result= new (thd->mem_root) Item_func_eq(left, expr); else result= new (thd->mem_root) Item_func_ne(left, expr); DBUG_RETURN(result); } /** @brief Creates a new SELECT_LEX for a UNION branch. Sets up and initializes a SELECT_LEX structure for a query once the parser discovers a UNION token. The current SELECT_LEX is pushed on the stack and the new SELECT_LEX becomes the current one. @param lex The parser state. @param is_union_distinct True if the union preceding the new select statement uses UNION DISTINCT. @param is_top_level This should be @c TRUE if the newly created SELECT_LEX is a non-nested statement. @return false if successful, true if an error was reported. In the latter case parsing should stop. */ bool add_select_to_union_list(LEX *lex, bool is_union_distinct, bool is_top_level) { /* Only the last SELECT can have INTO. Since the grammar won't allow INTO in a nested SELECT, we make this check only when creating a top-level SELECT. */ if (is_top_level && lex->result) { my_error(ER_WRONG_USAGE, MYF(0), "UNION", "INTO"); return TRUE; } if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE) { my_parse_error(ER(ER_SYNTAX_ERROR)); return TRUE; } /* This counter shouldn't be incremented for UNION parts */ lex->nest_level--; if (mysql_new_select(lex, 0)) return TRUE; mysql_init_select(lex); lex->current_select->linkage=UNION_TYPE; if (is_union_distinct) /* UNION DISTINCT - remember position */ lex->current_select->master_unit()->union_distinct= lex->current_select; return FALSE; } /** @brief Initializes a SELECT_LEX for a query within parentheses (aka braces). @return false if successful, true if an error was reported. In the latter case parsing should stop. */ bool setup_select_in_parentheses(LEX *lex) { SELECT_LEX * sel= lex->current_select; if (sel->set_braces(1)) { my_parse_error(ER(ER_SYNTAX_ERROR)); return TRUE; } if (sel->linkage == UNION_TYPE && !sel->master_unit()->first_select()->braces && sel->master_unit()->first_select()->linkage == UNION_TYPE) { my_parse_error(ER(ER_SYNTAX_ERROR)); return TRUE; } if (sel->linkage == UNION_TYPE && sel->olap != UNSPECIFIED_OLAP_TYPE && sel->master_unit()->fake_select_lex) { my_error(ER_WRONG_USAGE, MYF(0), "CUBE/ROLLUP", "ORDER BY"); return TRUE; } /* select in braces, can't contain global parameters */ if (sel->master_unit()->fake_select_lex) sel->master_unit()->global_parameters= sel->master_unit()->fake_select_lex; return FALSE; } static bool add_create_index_prepare (LEX *lex, Table_ident *table) { lex->sql_command= SQLCOM_CREATE_INDEX; if (!lex->current_select->add_table_to_list(lex->thd, table, NULL, TL_OPTION_UPDATING, TL_READ_NO_INSERT, MDL_SHARED_NO_WRITE)) return TRUE; lex->alter_info.reset(); lex->alter_info.flags= ALTER_ADD_INDEX; lex->col_list.empty(); lex->change= NullS; return FALSE; } static bool add_create_index (LEX *lex, Key::Keytype type, const LEX_STRING &name, KEY_CREATE_INFO *info= NULL, bool generated= 0) { Key *key; key= new Key(type, name, info ? info : &lex->key_create_info, generated, lex->col_list); if (key == NULL) return TRUE; lex->alter_info.key_list.push_back(key); lex->col_list.empty(); return FALSE; } /* Line 189 of yacc.c */ #line 789 "/export/home/pb2/build/sb_0-11244933-1389687031.98/dist_GPL/sql/sql_yacc.cc" /* Enabling traces. */ #ifndef YYDEBUG # define YYDEBUG 0 #endif /* Enabling verbose error messages. */ #ifdef YYERROR_VERBOSE # undef YYERROR_VERBOSE # define YYERROR_VERBOSE 1 #else # define YYERROR_VERBOSE 0 #endif /* Enabling the token table. */ #ifndef YYTOKEN_TABLE # define YYTOKEN_TABLE 0 #endif /* Tokens. */ #ifndef YYTOKENTYPE # define YYTOKENTYPE /* Put the tokens into the symbol table, so that GDB and other debuggers know about them. */ enum yytokentype { ABORT_SYM = 258, ACCESSIBLE_SYM = 259, ACTION = 260, ADD = 261, ADDDATE_SYM = 262, AFTER_SYM = 263, AGAINST = 264, AGGREGATE_SYM = 265, ALGORITHM_SYM = 266, ALL = 267, ALTER = 268, ANALYZE_SYM = 269, AND_AND_SYM = 270, AND_SYM = 271, ANY_SYM = 272, AS = 273, ASC = 274, ASCII_SYM = 275, ASENSITIVE_SYM = 276, AT_SYM = 277, AUTHORS_SYM = 278, AUTOEXTEND_SIZE_SYM = 279, AUTO_INC = 280, AVG_ROW_LENGTH = 281, AVG_SYM = 282, BACKUP_SYM = 283, BEFORE_SYM = 284, BEGIN_SYM = 285, BETWEEN_SYM = 286, BIGINT = 287, BINARY = 288, BINLOG_SYM = 289, BIN_NUM = 290, BIT_AND = 291, BIT_OR = 292, BIT_SYM = 293, BIT_XOR = 294, BLOB_SYM = 295, BLOCK_SYM = 296, BOOLEAN_SYM = 297, BOOL_SYM = 298, BOTH = 299, BTREE_SYM = 300, BY = 301, BYTE_SYM = 302, CACHE_SYM = 303, CALL_SYM = 304, CASCADE = 305, CASCADED = 306, CASE_SYM = 307, CAST_SYM = 308, CATALOG_NAME_SYM = 309, CHAIN_SYM = 310, CHANGE = 311, CHANGED = 312, CHARSET = 313, CHAR_SYM = 314, CHECKSUM_SYM = 315, CHECK_SYM = 316, CIPHER_SYM = 317, CLASS_ORIGIN_SYM = 318, CLIENT_SYM = 319, CLOSE_SYM = 320, COALESCE = 321, CODE_SYM = 322, COLLATE_SYM = 323, COLLATION_SYM = 324, COLUMNS = 325, COLUMN_SYM = 326, COLUMN_NAME_SYM = 327, COMMENT_SYM = 328, COMMITTED_SYM = 329, COMMIT_SYM = 330, COMPACT_SYM = 331, COMPLETION_SYM = 332, COMPRESSED_SYM = 333, CONCURRENT = 334, CONDITION_SYM = 335, CONNECTION_SYM = 336, CONSISTENT_SYM = 337, CONSTRAINT = 338, CONSTRAINT_CATALOG_SYM = 339, CONSTRAINT_NAME_SYM = 340, CONSTRAINT_SCHEMA_SYM = 341, CONTAINS_SYM = 342, CONTEXT_SYM = 343, CONTINUE_SYM = 344, CONTRIBUTORS_SYM = 345, CONVERT_SYM = 346, COUNT_SYM = 347, CPU_SYM = 348, CREATE = 349, CROSS = 350, CUBE_SYM = 351, CURDATE = 352, CURRENT_USER = 353, CURSOR_SYM = 354, CURSOR_NAME_SYM = 355, CURTIME = 356, DATABASE = 357, DATABASES = 358, DATAFILE_SYM = 359, DATA_SYM = 360, DATETIME = 361, DATE_ADD_INTERVAL = 362, DATE_SUB_INTERVAL = 363, DATE_SYM = 364, DAY_HOUR_SYM = 365, DAY_MICROSECOND_SYM = 366, DAY_MINUTE_SYM = 367, DAY_SECOND_SYM = 368, DAY_SYM = 369, DEALLOCATE_SYM = 370, DECIMAL_NUM = 371, DECIMAL_SYM = 372, DECLARE_SYM = 373, DEFAULT = 374, DEFINER_SYM = 375, DELAYED_SYM = 376, DELAY_KEY_WRITE_SYM = 377, DELETE_SYM = 378, DESC = 379, DESCRIBE = 380, DES_KEY_FILE = 381, DETERMINISTIC_SYM = 382, DIRECTORY_SYM = 383, DISABLE_SYM = 384, DISCARD = 385, DISK_SYM = 386, DISTINCT = 387, DIV_SYM = 388, DOUBLE_SYM = 389, DO_SYM = 390, DROP = 391, DUAL_SYM = 392, DUMPFILE = 393, DUPLICATE_SYM = 394, DYNAMIC_SYM = 395, EACH_SYM = 396, ELSE = 397, ELSEIF_SYM = 398, ENABLE_SYM = 399, ENCLOSED = 400, END = 401, ENDS_SYM = 402, END_OF_INPUT = 403, ENGINES_SYM = 404, ENGINE_SYM = 405, ENUM = 406, EQ = 407, EQUAL_SYM = 408, ERROR_SYM = 409, ERRORS = 410, ESCAPED = 411, ESCAPE_SYM = 412, EVENTS_SYM = 413, EVENT_SYM = 414, EVERY_SYM = 415, EXECUTE_SYM = 416, EXISTS = 417, EXIT_SYM = 418, EXPANSION_SYM = 419, EXTENDED_SYM = 420, EXTENT_SIZE_SYM = 421, EXTRACT_SYM = 422, FALSE_SYM = 423, FAST_SYM = 424, FAULTS_SYM = 425, FETCH_SYM = 426, FILE_SYM = 427, FIRST_SYM = 428, FIXED_SYM = 429, FLOAT_NUM = 430, FLOAT_SYM = 431, FLUSH_SYM = 432, FORCE_SYM = 433, FOREIGN = 434, FOR_SYM = 435, FOUND_SYM = 436, FROM = 437, FULL = 438, FULLTEXT_SYM = 439, FUNCTION_SYM = 440, GE = 441, GENERAL = 442, GEOMETRYCOLLECTION = 443, GEOMETRY_SYM = 444, GET_FORMAT = 445, GLOBAL_SYM = 446, GRANT = 447, GRANTS = 448, GROUP_SYM = 449, GROUP_CONCAT_SYM = 450, GT_SYM = 451, HANDLER_SYM = 452, HASH_SYM = 453, HAVING = 454, HELP_SYM = 455, HEX_NUM = 456, HIGH_PRIORITY = 457, HOST_SYM = 458, HOSTS_SYM = 459, HOUR_MICROSECOND_SYM = 460, HOUR_MINUTE_SYM = 461, HOUR_SECOND_SYM = 462, HOUR_SYM = 463, IDENT = 464, IDENTIFIED_SYM = 465, IDENT_QUOTED = 466, IF = 467, IGNORE_SYM = 468, IGNORE_SERVER_IDS_SYM = 469, IMPORT = 470, INDEXES = 471, INDEX_SYM = 472, INFILE = 473, INITIAL_SIZE_SYM = 474, INNER_SYM = 475, INOUT_SYM = 476, INSENSITIVE_SYM = 477, INSERT = 478, INSERT_METHOD = 479, INSTALL_SYM = 480, INTERVAL_SYM = 481, INTO = 482, INT_SYM = 483, INVOKER_SYM = 484, IN_SYM = 485, IO_SYM = 486, IPC_SYM = 487, IS = 488, ISOLATION = 489, ISSUER_SYM = 490, ITERATE_SYM = 491, JOIN_SYM = 492, KEYS = 493, KEY_BLOCK_SIZE = 494, KEY_SYM = 495, KILL_SYM = 496, LANGUAGE_SYM = 497, LAST_SYM = 498, LE = 499, LEADING = 500, LEAVES = 501, LEAVE_SYM = 502, LEFT = 503, LESS_SYM = 504, LEVEL_SYM = 505, LEX_HOSTNAME = 506, LIKE = 507, LIMIT = 508, LINEAR_SYM = 509, LINES = 510, LINESTRING = 511, LIST_SYM = 512, LOAD = 513, LOCAL_SYM = 514, LOCATOR_SYM = 515, LOCKS_SYM = 516, LOCK_SYM = 517, LOGFILE_SYM = 518, LOGS_SYM = 519, LONGBLOB = 520, LONGTEXT = 521, LONG_NUM = 522, LONG_SYM = 523, LOOP_SYM = 524, LOW_PRIORITY = 525, LT = 526, MASTER_CONNECT_RETRY_SYM = 527, MASTER_HOST_SYM = 528, MASTER_LOG_FILE_SYM = 529, MASTER_LOG_POS_SYM = 530, MASTER_PASSWORD_SYM = 531, MASTER_PORT_SYM = 532, MASTER_SERVER_ID_SYM = 533, MASTER_SSL_CAPATH_SYM = 534, MASTER_SSL_CA_SYM = 535, MASTER_SSL_CERT_SYM = 536, MASTER_SSL_CIPHER_SYM = 537, MASTER_SSL_KEY_SYM = 538, MASTER_SSL_SYM = 539, MASTER_SSL_VERIFY_SERVER_CERT_SYM = 540, MASTER_SYM = 541, MASTER_USER_SYM = 542, MASTER_HEARTBEAT_PERIOD_SYM = 543, MATCH = 544, MAX_CONNECTIONS_PER_HOUR = 545, MAX_QUERIES_PER_HOUR = 546, MAX_ROWS = 547, MAX_SIZE_SYM = 548, MAX_SYM = 549, MAX_UPDATES_PER_HOUR = 550, MAX_USER_CONNECTIONS_SYM = 551, MAX_VALUE_SYM = 552, MEDIUMBLOB = 553, MEDIUMINT = 554, MEDIUMTEXT = 555, MEDIUM_SYM = 556, MEMORY_SYM = 557, MERGE_SYM = 558, MESSAGE_TEXT_SYM = 559, MICROSECOND_SYM = 560, MIGRATE_SYM = 561, MINUTE_MICROSECOND_SYM = 562, MINUTE_SECOND_SYM = 563, MINUTE_SYM = 564, MIN_ROWS = 565, MIN_SYM = 566, MODE_SYM = 567, MODIFIES_SYM = 568, MODIFY_SYM = 569, MOD_SYM = 570, MONTH_SYM = 571, MULTILINESTRING = 572, MULTIPOINT = 573, MULTIPOLYGON = 574, MUTEX_SYM = 575, MYSQL_ERRNO_SYM = 576, NAMES_SYM = 577, NAME_SYM = 578, NATIONAL_SYM = 579, NATURAL = 580, NCHAR_STRING = 581, NCHAR_SYM = 582, NDBCLUSTER_SYM = 583, NE = 584, NEG = 585, NEW_SYM = 586, NEXT_SYM = 587, NODEGROUP_SYM = 588, NONE_SYM = 589, NOT2_SYM = 590, NOT_SYM = 591, NOW_SYM = 592, NO_SYM = 593, NO_WAIT_SYM = 594, NO_WRITE_TO_BINLOG = 595, NULL_SYM = 596, NUM = 597, NUMERIC_SYM = 598, NVARCHAR_SYM = 599, OFFSET_SYM = 600, OLD_PASSWORD = 601, ON = 602, ONE_SHOT_SYM = 603, ONE_SYM = 604, OPEN_SYM = 605, OPTIMIZE = 606, OPTIONS_SYM = 607, OPTION = 608, OPTIONALLY = 609, OR2_SYM = 610, ORDER_SYM = 611, OR_OR_SYM = 612, OR_SYM = 613, OUTER = 614, OUTFILE = 615, OUT_SYM = 616, OWNER_SYM = 617, PACK_KEYS_SYM = 618, PAGE_SYM = 619, PARAM_MARKER = 620, PARSER_SYM = 621, PARTIAL = 622, PARTITIONING_SYM = 623, PARTITIONS_SYM = 624, PARTITION_SYM = 625, PASSWORD = 626, PHASE_SYM = 627, PLUGINS_SYM = 628, PLUGIN_SYM = 629, POINT_SYM = 630, POLYGON = 631, PORT_SYM = 632, POSITION_SYM = 633, PRECISION = 634, PREPARE_SYM = 635, PRESERVE_SYM = 636, PREV_SYM = 637, PRIMARY_SYM = 638, PRIVILEGES = 639, PROCEDURE_SYM = 640, PROCESS = 641, PROCESSLIST_SYM = 642, PROFILE_SYM = 643, PROFILES_SYM = 644, PROXY_SYM = 645, PURGE = 646, QUARTER_SYM = 647, QUERY_SYM = 648, QUICK = 649, RANGE_SYM = 650, READS_SYM = 651, READ_ONLY_SYM = 652, READ_SYM = 653, READ_WRITE_SYM = 654, REAL = 655, REBUILD_SYM = 656, RECOVER_SYM = 657, REDOFILE_SYM = 658, REDO_BUFFER_SIZE_SYM = 659, REDUNDANT_SYM = 660, REFERENCES = 661, REGEXP = 662, RELAY = 663, RELAYLOG_SYM = 664, RELAY_LOG_FILE_SYM = 665, RELAY_LOG_POS_SYM = 666, RELAY_THREAD = 667, RELEASE_SYM = 668, RELOAD = 669, REMOVE_SYM = 670, RENAME = 671, REORGANIZE_SYM = 672, REPAIR = 673, REPEATABLE_SYM = 674, REPEAT_SYM = 675, REPLACE = 676, REPLICATION = 677, REQUIRE_SYM = 678, RESET_SYM = 679, RESIGNAL_SYM = 680, RESOURCES = 681, RESTORE_SYM = 682, RESTRICT = 683, RESUME_SYM = 684, RETURNS_SYM = 685, RETURN_SYM = 686, REVOKE = 687, RIGHT = 688, ROLLBACK_SYM = 689, ROLLUP_SYM = 690, ROUTINE_SYM = 691, ROWS_SYM = 692, ROW_FORMAT_SYM = 693, ROW_SYM = 694, RTREE_SYM = 695, SAVEPOINT_SYM = 696, SCHEDULE_SYM = 697, SCHEMA_NAME_SYM = 698, SECOND_MICROSECOND_SYM = 699, SECOND_SYM = 700, SECURITY_SYM = 701, SELECT_SYM = 702, SENSITIVE_SYM = 703, SEPARATOR_SYM = 704, SERIALIZABLE_SYM = 705, SERIAL_SYM = 706, SESSION_SYM = 707, SERVER_SYM = 708, SERVER_OPTIONS = 709, SET = 710, SET_VAR = 711, SHARE_SYM = 712, SHIFT_LEFT = 713, SHIFT_RIGHT = 714, SHOW = 715, SHUTDOWN = 716, SIGNAL_SYM = 717, SIGNED_SYM = 718, SIMPLE_SYM = 719, SLAVE = 720, SLOW = 721, SMALLINT = 722, SNAPSHOT_SYM = 723, SOCKET_SYM = 724, SONAME_SYM = 725, SOUNDS_SYM = 726, SOURCE_SYM = 727, SPATIAL_SYM = 728, SPECIFIC_SYM = 729, SQLEXCEPTION_SYM = 730, SQLSTATE_SYM = 731, SQLWARNING_SYM = 732, SQL_BIG_RESULT = 733, SQL_BUFFER_RESULT = 734, SQL_CACHE_SYM = 735, SQL_CALC_FOUND_ROWS = 736, SQL_NO_CACHE_SYM = 737, SQL_SMALL_RESULT = 738, SQL_SYM = 739, SQL_THREAD = 740, SSL_SYM = 741, STARTING = 742, STARTS_SYM = 743, START_SYM = 744, STATUS_SYM = 745, STDDEV_SAMP_SYM = 746, STD_SYM = 747, STOP_SYM = 748, STORAGE_SYM = 749, STRAIGHT_JOIN = 750, STRING_SYM = 751, SUBCLASS_ORIGIN_SYM = 752, SUBDATE_SYM = 753, SUBJECT_SYM = 754, SUBPARTITIONS_SYM = 755, SUBPARTITION_SYM = 756, SUBSTRING = 757, SUM_SYM = 758, SUPER_SYM = 759, SUSPEND_SYM = 760, SWAPS_SYM = 761, SWITCHES_SYM = 762, SYSDATE = 763, TABLES = 764, TABLESPACE = 765, TABLE_REF_PRIORITY = 766, TABLE_SYM = 767, TABLE_CHECKSUM_SYM = 768, TABLE_NAME_SYM = 769, TEMPORARY = 770, TEMPTABLE_SYM = 771, TERMINATED = 772, TEXT_STRING = 773, TEXT_SYM = 774, THAN_SYM = 775, THEN_SYM = 776, TIMESTAMP = 777, TIMESTAMP_ADD = 778, TIMESTAMP_DIFF = 779, TIME_SYM = 780, TINYBLOB = 781, TINYINT = 782, TINYTEXT = 783, TO_SYM = 784, TRAILING = 785, TRANSACTION_SYM = 786, TRIGGERS_SYM = 787, TRIGGER_SYM = 788, TRIM = 789, TRUE_SYM = 790, TRUNCATE_SYM = 791, TYPES_SYM = 792, TYPE_SYM = 793, UDF_RETURNS_SYM = 794, ULONGLONG_NUM = 795, UNCOMMITTED_SYM = 796, UNDEFINED_SYM = 797, UNDERSCORE_CHARSET = 798, UNDOFILE_SYM = 799, UNDO_BUFFER_SIZE_SYM = 800, UNDO_SYM = 801, UNICODE_SYM = 802, UNINSTALL_SYM = 803, UNION_SYM = 804, UNIQUE_SYM = 805, UNKNOWN_SYM = 806, UNLOCK_SYM = 807, UNSIGNED = 808, UNTIL_SYM = 809, UPDATE_SYM = 810, UPGRADE_SYM = 811, USAGE = 812, USER = 813, USE_FRM = 814, USE_SYM = 815, USING = 816, UTC_DATE_SYM = 817, UTC_TIMESTAMP_SYM = 818, UTC_TIME_SYM = 819, VALUES = 820, VALUE_SYM = 821, VARBINARY = 822, VARCHAR = 823, VARIABLES = 824, VARIANCE_SYM = 825, VARYING = 826, VAR_SAMP_SYM = 827, VIEW_SYM = 828, WAIT_SYM = 829, WARNINGS = 830, WEEK_SYM = 831, WHEN_SYM = 832, WHERE = 833, WHILE_SYM = 834, WITH = 835, WITH_CUBE_SYM = 836, WITH_ROLLUP_SYM = 837, WORK_SYM = 838, WRAPPER_SYM = 839, WRITE_SYM = 840, X509_SYM = 841, XA_SYM = 842, XML_SYM = 843, XOR = 844, YEAR_MONTH_SYM = 845, YEAR_SYM = 846, ZEROFILL = 847 }; #endif /* Tokens. */ #define ABORT_SYM 258 #define ACCESSIBLE_SYM 259 #define ACTION 260 #define ADD 261 #define ADDDATE_SYM 262 #define AFTER_SYM 263 #define AGAINST 264 #define AGGREGATE_SYM 265 #define ALGORITHM_SYM 266 #define ALL 267 #define ALTER 268 #define ANALYZE_SYM 269 #define AND_AND_SYM 270 #define AND_SYM 271 #define ANY_SYM 272 #define AS 273 #define ASC 274 #define ASCII_SYM 275 #define ASENSITIVE_SYM 276 #define AT_SYM 277 #define AUTHORS_SYM 278 #define AUTOEXTEND_SIZE_SYM 279 #define AUTO_INC 280 #define AVG_ROW_LENGTH 281 #define AVG_SYM 282 #define BACKUP_SYM 283 #define BEFORE_SYM 284 #define BEGIN_SYM 285 #define BETWEEN_SYM 286 #define BIGINT 287 #define BINARY 288 #define BINLOG_SYM 289 #define BIN_NUM 290 #define BIT_AND 291 #define BIT_OR 292 #define BIT_SYM 293 #define BIT_XOR 294 #define BLOB_SYM 295 #define BLOCK_SYM 296 #define BOOLEAN_SYM 297 #define BOOL_SYM 298 #define BOTH 299 #define BTREE_SYM 300 #define BY 301 #define BYTE_SYM 302 #define CACHE_SYM 303 #define CALL_SYM 304 #define CASCADE 305 #define CASCADED 306 #define CASE_SYM 307 #define CAST_SYM 308 #define CATALOG_NAME_SYM 309 #define CHAIN_SYM 310 #define CHANGE 311 #define CHANGED 312 #define CHARSET 313 #define CHAR_SYM 314 #define CHECKSUM_SYM 315 #define CHECK_SYM 316 #define CIPHER_SYM 317 #define CLASS_ORIGIN_SYM 318 #define CLIENT_SYM 319 #define CLOSE_SYM 320 #define COALESCE 321 #define CODE_SYM 322 #define COLLATE_SYM 323 #define COLLATION_SYM 324 #define COLUMNS 325 #define COLUMN_SYM 326 #define COLUMN_NAME_SYM 327 #define COMMENT_SYM 328 #define COMMITTED_SYM 329 #define COMMIT_SYM 330 #define COMPACT_SYM 331 #define COMPLETION_SYM 332 #define COMPRESSED_SYM 333 #define CONCURRENT 334 #define CONDITION_SYM 335 #define CONNECTION_SYM 336 #define CONSISTENT_SYM 337 #define CONSTRAINT 338 #define CONSTRAINT_CATALOG_SYM 339 #define CONSTRAINT_NAME_SYM 340 #define CONSTRAINT_SCHEMA_SYM 341 #define CONTAINS_SYM 342 #define CONTEXT_SYM 343 #define CONTINUE_SYM 344 #define CONTRIBUTORS_SYM 345 #define CONVERT_SYM 346 #define COUNT_SYM 347 #define CPU_SYM 348 #define CREATE 349 #define CROSS 350 #define CUBE_SYM 351 #define CURDATE 352 #define CURRENT_USER 353 #define CURSOR_SYM 354 #define CURSOR_NAME_SYM 355 #define CURTIME 356 #define DATABASE 357 #define DATABASES 358 #define DATAFILE_SYM 359 #define DATA_SYM 360 #define DATETIME 361 #define DATE_ADD_INTERVAL 362 #define DATE_SUB_INTERVAL 363 #define DATE_SYM 364 #define DAY_HOUR_SYM 365 #define DAY_MICROSECOND_SYM 366 #define DAY_MINUTE_SYM 367 #define DAY_SECOND_SYM 368 #define DAY_SYM 369 #define DEALLOCATE_SYM 370 #define DECIMAL_NUM 371 #define DECIMAL_SYM 372 #define DECLARE_SYM 373 #define DEFAULT 374 #define DEFINER_SYM 375 #define DELAYED_SYM 376 #define DELAY_KEY_WRITE_SYM 377 #define DELETE_SYM 378 #define DESC 379 #define DESCRIBE 380 #define DES_KEY_FILE 381 #define DETERMINISTIC_SYM 382 #define DIRECTORY_SYM 383 #define DISABLE_SYM 384 #define DISCARD 385 #define DISK_SYM 386 #define DISTINCT 387 #define DIV_SYM 388 #define DOUBLE_SYM 389 #define DO_SYM 390 #define DROP 391 #define DUAL_SYM 392 #define DUMPFILE 393 #define DUPLICATE_SYM 394 #define DYNAMIC_SYM 395 #define EACH_SYM 396 #define ELSE 397 #define ELSEIF_SYM 398 #define ENABLE_SYM 399 #define ENCLOSED 400 #define END 401 #define ENDS_SYM 402 #define END_OF_INPUT 403 #define ENGINES_SYM 404 #define ENGINE_SYM 405 #define ENUM 406 #define EQ 407 #define EQUAL_SYM 408 #define ERROR_SYM 409 #define ERRORS 410 #define ESCAPED 411 #define ESCAPE_SYM 412 #define EVENTS_SYM 413 #define EVENT_SYM 414 #define EVERY_SYM 415 #define EXECUTE_SYM 416 #define EXISTS 417 #define EXIT_SYM 418 #define EXPANSION_SYM 419 #define EXTENDED_SYM 420 #define EXTENT_SIZE_SYM 421 #define EXTRACT_SYM 422 #define FALSE_SYM 423 #define FAST_SYM 424 #define FAULTS_SYM 425 #define FETCH_SYM 426 #define FILE_SYM 427 #define FIRST_SYM 428 #define FIXED_SYM 429 #define FLOAT_NUM 430 #define FLOAT_SYM 431 #define FLUSH_SYM 432 #define FORCE_SYM 433 #define FOREIGN 434 #define FOR_SYM 435 #define FOUND_SYM 436 #define FROM 437 #define FULL 438 #define FULLTEXT_SYM 439 #define FUNCTION_SYM 440 #define GE 441 #define GENERAL 442 #define GEOMETRYCOLLECTION 443 #define GEOMETRY_SYM 444 #define GET_FORMAT 445 #define GLOBAL_SYM 446 #define GRANT 447 #define GRANTS 448 #define GROUP_SYM 449 #define GROUP_CONCAT_SYM 450 #define GT_SYM 451 #define HANDLER_SYM 452 #define HASH_SYM 453 #define HAVING 454 #define HELP_SYM 455 #define HEX_NUM 456 #define HIGH_PRIORITY 457 #define HOST_SYM 458 #define HOSTS_SYM 459 #define HOUR_MICROSECOND_SYM 460 #define HOUR_MINUTE_SYM 461 #define HOUR_SECOND_SYM 462 #define HOUR_SYM 463 #define IDENT 464 #define IDENTIFIED_SYM 465 #define IDENT_QUOTED 466 #define IF 467 #define IGNORE_SYM 468 #define IGNORE_SERVER_IDS_SYM 469 #define IMPORT 470 #define INDEXES 471 #define INDEX_SYM 472 #define INFILE 473 #define INITIAL_SIZE_SYM 474 #define INNER_SYM 475 #define INOUT_SYM 476 #define INSENSITIVE_SYM 477 #define INSERT 478 #define INSERT_METHOD 479 #define INSTALL_SYM 480 #define INTERVAL_SYM 481 #define INTO 482 #define INT_SYM 483 #define INVOKER_SYM 484 #define IN_SYM 485 #define IO_SYM 486 #define IPC_SYM 487 #define IS 488 #define ISOLATION 489 #define ISSUER_SYM 490 #define ITERATE_SYM 491 #define JOIN_SYM 492 #define KEYS 493 #define KEY_BLOCK_SIZE 494 #define KEY_SYM 495 #define KILL_SYM 496 #define LANGUAGE_SYM 497 #define LAST_SYM 498 #define LE 499 #define LEADING 500 #define LEAVES 501 #define LEAVE_SYM 502 #define LEFT 503 #define LESS_SYM 504 #define LEVEL_SYM 505 #define LEX_HOSTNAME 506 #define LIKE 507 #define LIMIT 508 #define LINEAR_SYM 509 #define LINES 510 #define LINESTRING 511 #define LIST_SYM 512 #define LOAD 513 #define LOCAL_SYM 514 #define LOCATOR_SYM 515 #define LOCKS_SYM 516 #define LOCK_SYM 517 #define LOGFILE_SYM 518 #define LOGS_SYM 519 #define LONGBLOB 520 #define LONGTEXT 521 #define LONG_NUM 522 #define LONG_SYM 523 #define LOOP_SYM 524 #define LOW_PRIORITY 525 #define LT 526 #define MASTER_CONNECT_RETRY_SYM 527 #define MASTER_HOST_SYM 528 #define MASTER_LOG_FILE_SYM 529 #define MASTER_LOG_POS_SYM 530 #define MASTER_PASSWORD_SYM 531 #define MASTER_PORT_SYM 532 #define MASTER_SERVER_ID_SYM 533 #define MASTER_SSL_CAPATH_SYM 534 #define MASTER_SSL_CA_SYM 535 #define MASTER_SSL_CERT_SYM 536 #define MASTER_SSL_CIPHER_SYM 537 #define MASTER_SSL_KEY_SYM 538 #define MASTER_SSL_SYM 539 #define MASTER_SSL_VERIFY_SERVER_CERT_SYM 540 #define MASTER_SYM 541 #define MASTER_USER_SYM 542 #define MASTER_HEARTBEAT_PERIOD_SYM 543 #define MATCH 544 #define MAX_CONNECTIONS_PER_HOUR 545 #define MAX_QUERIES_PER_HOUR 546 #define MAX_ROWS 547 #define MAX_SIZE_SYM 548 #define MAX_SYM 549 #define MAX_UPDATES_PER_HOUR 550 #define MAX_USER_CONNECTIONS_SYM 551 #define MAX_VALUE_SYM 552 #define MEDIUMBLOB 553 #define MEDIUMINT 554 #define MEDIUMTEXT 555 #define MEDIUM_SYM 556 #define MEMORY_SYM 557 #define MERGE_SYM 558 #define MESSAGE_TEXT_SYM 559 #define MICROSECOND_SYM 560 #define MIGRATE_SYM 561 #define MINUTE_MICROSECOND_SYM 562 #define MINUTE_SECOND_SYM 563 #define MINUTE_SYM 564 #define MIN_ROWS 565 #define MIN_SYM 566 #define MODE_SYM 567 #define MODIFIES_SYM 568 #define MODIFY_SYM 569 #define MOD_SYM 570 #define MONTH_SYM 571 #define MULTILINESTRING 572 #define MULTIPOINT 573 #define MULTIPOLYGON 574 #define MUTEX_SYM 575 #define MYSQL_ERRNO_SYM 576 #define NAMES_SYM 577 #define NAME_SYM 578 #define NATIONAL_SYM 579 #define NATURAL 580 #define NCHAR_STRING 581 #define NCHAR_SYM 582 #define NDBCLUSTER_SYM 583 #define NE 584 #define NEG 585 #define NEW_SYM 586 #define NEXT_SYM 587 #define NODEGROUP_SYM 588 #define NONE_SYM 589 #define NOT2_SYM 590 #define NOT_SYM 591 #define NOW_SYM 592 #define NO_SYM 593 #define NO_WAIT_SYM 594 #define NO_WRITE_TO_BINLOG 595 #define NULL_SYM 596 #define NUM 597 #define NUMERIC_SYM 598 #define NVARCHAR_SYM 599 #define OFFSET_SYM 600 #define OLD_PASSWORD 601 #define ON 602 #define ONE_SHOT_SYM 603 #define ONE_SYM 604 #define OPEN_SYM 605 #define OPTIMIZE 606 #define OPTIONS_SYM 607 #define OPTION 608 #define OPTIONALLY 609 #define OR2_SYM 610 #define ORDER_SYM 611 #define OR_OR_SYM 612 #define OR_SYM 613 #define OUTER 614 #define OUTFILE 615 #define OUT_SYM 616 #define OWNER_SYM 617 #define PACK_KEYS_SYM 618 #define PAGE_SYM 619 #define PARAM_MARKER 620 #define PARSER_SYM 621 #define PARTIAL 622 #define PARTITIONING_SYM 623 #define PARTITIONS_SYM 624 #define PARTITION_SYM 625 #define PASSWORD 626 #define PHASE_SYM 627 #define PLUGINS_SYM 628 #define PLUGIN_SYM 629 #define POINT_SYM 630 #define POLYGON 631 #define PORT_SYM 632 #define POSITION_SYM 633 #define PRECISION 634 #define PREPARE_SYM 635 #define PRESERVE_SYM 636 #define PREV_SYM 637 #define PRIMARY_SYM 638 #define PRIVILEGES 639 #define PROCEDURE_SYM 640 #define PROCESS 641 #define PROCESSLIST_SYM 642 #define PROFILE_SYM 643 #define PROFILES_SYM 644 #define PROXY_SYM 645 #define PURGE 646 #define QUARTER_SYM 647 #define QUERY_SYM 648 #define QUICK 649 #define RANGE_SYM 650 #define READS_SYM 651 #define READ_ONLY_SYM 652 #define READ_SYM 653 #define READ_WRITE_SYM 654 #define REAL 655 #define REBUILD_SYM 656 #define RECOVER_SYM 657 #define REDOFILE_SYM 658 #define REDO_BUFFER_SIZE_SYM 659 #define REDUNDANT_SYM 660 #define REFERENCES 661 #define REGEXP 662 #define RELAY 663 #define RELAYLOG_SYM 664 #define RELAY_LOG_FILE_SYM 665 #define RELAY_LOG_POS_SYM 666 #define RELAY_THREAD 667 #define RELEASE_SYM 668 #define RELOAD 669 #define REMOVE_SYM 670 #define RENAME 671 #define REORGANIZE_SYM 672 #define REPAIR 673 #define REPEATABLE_SYM 674 #define REPEAT_SYM 675 #define REPLACE 676 #define REPLICATION 677 #define REQUIRE_SYM 678 #define RESET_SYM 679 #define RESIGNAL_SYM 680 #define RESOURCES 681 #define RESTORE_SYM 682 #define RESTRICT 683 #define RESUME_SYM 684 #define RETURNS_SYM 685 #define RETURN_SYM 686 #define REVOKE 687 #define RIGHT 688 #define ROLLBACK_SYM 689 #define ROLLUP_SYM 690 #define ROUTINE_SYM 691 #define ROWS_SYM 692 #define ROW_FORMAT_SYM 693 #define ROW_SYM 694 #define RTREE_SYM 695 #define SAVEPOINT_SYM 696 #define SCHEDULE_SYM 697 #define SCHEMA_NAME_SYM 698 #define SECOND_MICROSECOND_SYM 699 #define SECOND_SYM 700 #define SECURITY_SYM 701 #define SELECT_SYM 702 #define SENSITIVE_SYM 703 #define SEPARATOR_SYM 704 #define SERIALIZABLE_SYM 705 #define SERIAL_SYM 706 #define SESSION_SYM 707 #define SERVER_SYM 708 #define SERVER_OPTIONS 709 #define SET 710 #define SET_VAR 711 #define SHARE_SYM 712 #define SHIFT_LEFT 713 #define SHIFT_RIGHT 714 #define SHOW 715 #define SHUTDOWN 716 #define SIGNAL_SYM 717 #define SIGNED_SYM 718 #define SIMPLE_SYM 719 #define SLAVE 720 #define SLOW 721 #define SMALLINT 722 #define SNAPSHOT_SYM 723 #define SOCKET_SYM 724 #define SONAME_SYM 725 #define SOUNDS_SYM 726 #define SOURCE_SYM 727 #define SPATIAL_SYM 728 #define SPECIFIC_SYM 729 #define SQLEXCEPTION_SYM 730 #define SQLSTATE_SYM 731 #define SQLWARNING_SYM 732 #define SQL_BIG_RESULT 733 #define SQL_BUFFER_RESULT 734 #define SQL_CACHE_SYM 735 #define SQL_CALC_FOUND_ROWS 736 #define SQL_NO_CACHE_SYM 737 #define SQL_SMALL_RESULT 738 #define SQL_SYM 739 #define SQL_THREAD 740 #define SSL_SYM 741 #define STARTING 742 #define STARTS_SYM 743 #define START_SYM 744 #define STATUS_SYM 745 #define STDDEV_SAMP_SYM 746 #define STD_SYM 747 #define STOP_SYM 748 #define STORAGE_SYM 749 #define STRAIGHT_JOIN 750 #define STRING_SYM 751 #define SUBCLASS_ORIGIN_SYM 752 #define SUBDATE_SYM 753 #define SUBJECT_SYM 754 #define SUBPARTITIONS_SYM 755 #define SUBPARTITION_SYM 756 #define SUBSTRING 757 #define SUM_SYM 758 #define SUPER_SYM 759 #define SUSPEND_SYM 760 #define SWAPS_SYM 761 #define SWITCHES_SYM 762 #define SYSDATE 763 #define TABLES 764 #define TABLESPACE 765 #define TABLE_REF_PRIORITY 766 #define TABLE_SYM 767 #define TABLE_CHECKSUM_SYM 768 #define TABLE_NAME_SYM 769 #define TEMPORARY 770 #define TEMPTABLE_SYM 771 #define TERMINATED 772 #define TEXT_STRING 773 #define TEXT_SYM 774 #define THAN_SYM 775 #define THEN_SYM 776 #define TIMESTAMP 777 #define TIMESTAMP_ADD 778 #define TIMESTAMP_DIFF 779 #define TIME_SYM 780 #define TINYBLOB 781 #define TINYINT 782 #define TINYTEXT 783 #define TO_SYM 784 #define TRAILING 785 #define TRANSACTION_SYM 786 #define TRIGGERS_SYM 787 #define TRIGGER_SYM 788 #define TRIM 789 #define TRUE_SYM 790 #define TRUNCATE_SYM 791 #define TYPES_SYM 792 #define TYPE_SYM 793 #define UDF_RETURNS_SYM 794 #define ULONGLONG_NUM 795 #define UNCOMMITTED_SYM 796 #define UNDEFINED_SYM 797 #define UNDERSCORE_CHARSET 798 #define UNDOFILE_SYM 799 #define UNDO_BUFFER_SIZE_SYM 800 #define UNDO_SYM 801 #define UNICODE_SYM 802 #define UNINSTALL_SYM 803 #define UNION_SYM 804 #define UNIQUE_SYM 805 #define UNKNOWN_SYM 806 #define UNLOCK_SYM 807 #define UNSIGNED 808 #define UNTIL_SYM 809 #define UPDATE_SYM 810 #define UPGRADE_SYM 811 #define USAGE 812 #define USER 813 #define USE_FRM 814 #define USE_SYM 815 #define USING 816 #define UTC_DATE_SYM 817 #define UTC_TIMESTAMP_SYM 818 #define UTC_TIME_SYM 819 #define VALUES 820 #define VALUE_SYM 821 #define VARBINARY 822 #define VARCHAR 823 #define VARIABLES 824 #define VARIANCE_SYM 825 #define VARYING 826 #define VAR_SAMP_SYM 827 #define VIEW_SYM 828 #define WAIT_SYM 829 #define WARNINGS 830 #define WEEK_SYM 831 #define WHEN_SYM 832 #define WHERE 833 #define WHILE_SYM 834 #define WITH 835 #define WITH_CUBE_SYM 836 #define WITH_ROLLUP_SYM 837 #define WORK_SYM 838 #define WRAPPER_SYM 839 #define WRITE_SYM 840 #define X509_SYM 841 #define XA_SYM 842 #define XML_SYM 843 #define XOR 844 #define YEAR_MONTH_SYM 845 #define YEAR_SYM 846 #define ZEROFILL 847 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED typedef union YYSTYPE { /* Line 214 of yacc.c */ #line 730 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" int num; ulong ulong_num; ulonglong ulonglong_number; longlong longlong_number; LEX_STRING lex_str; LEX_STRING *lex_str_ptr; LEX_SYMBOL symbol; Table_ident *table; char *simple_string; Item *item; Item_num *item_num; List *item_list; List *string_list; String *string; Key_part_spec *key_part; TABLE_LIST *table_list; udf_func *udf; LEX_USER *lex_user; struct sys_var_with_base variable; enum enum_var_type var_type; Key::Keytype key_type; enum ha_key_alg key_alg; handlerton *db_type; enum row_type row_type; enum ha_rkey_function ha_rkey_mode; enum enum_tx_isolation tx_isolation; enum Cast_target cast_type; enum Item_udftype udf_type; CHARSET_INFO *charset; thr_lock_type lock_type; interval_type interval, interval_time_st; timestamp_type date_time_type; st_select_lex *select_lex; chooser_compare_func_creator boolfunc2creator; struct sp_cond_type *spcondtype; struct { int vars, conds, hndlrs, curs; } spblock; sp_name *spname; LEX *lex; sp_head *sphead; struct p_elem_val *p_elem_value; enum index_hint_type index_hint; enum enum_filetype filetype; enum Foreign_key::fk_option m_fk_option; enum enum_yes_no_unknown m_yes_no_unk; Diag_condition_item_name diag_condition_item_name; bool is_not_empty; /* Line 214 of yacc.c */ #line 2060 "/export/home/pb2/build/sb_0-11244933-1389687031.98/dist_GPL/sql/sql_yacc.cc" } YYSTYPE; # define YYSTYPE_IS_TRIVIAL 1 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ # define YYSTYPE_IS_DECLARED 1 #endif /* Copy the second part of user declarations. */ /* Line 264 of yacc.c */ #line 779 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize); /* Line 264 of yacc.c */ #line 2077 "/export/home/pb2/build/sb_0-11244933-1389687031.98/dist_GPL/sql/sql_yacc.cc" #ifdef short # undef short #endif #ifdef YYTYPE_UINT8 typedef YYTYPE_UINT8 yytype_uint8; #else typedef unsigned char yytype_uint8; #endif #ifdef YYTYPE_INT8 typedef YYTYPE_INT8 yytype_int8; #elif (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) typedef signed char yytype_int8; #else typedef short int yytype_int8; #endif #ifdef YYTYPE_UINT16 typedef YYTYPE_UINT16 yytype_uint16; #else typedef unsigned short int yytype_uint16; #endif #ifdef YYTYPE_INT16 typedef YYTYPE_INT16 yytype_int16; #else typedef short int yytype_int16; #endif #ifndef YYSIZE_T # ifdef __SIZE_TYPE__ # define YYSIZE_T __SIZE_TYPE__ # elif defined size_t # define YYSIZE_T size_t # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ # define YYSIZE_T size_t # else # define YYSIZE_T unsigned int # endif #endif #define YYSIZE_MAXIMUM ((YYSIZE_T) -1) #ifndef YY_ # if YYENABLE_NLS # if ENABLE_NLS # include /* INFRINGES ON USER NAME SPACE */ # define YY_(msgid) dgettext ("bison-runtime", msgid) # endif # endif # ifndef YY_ # define YY_(msgid) msgid # endif #endif /* Suppress unused-variable warnings by "using" E. */ #if ! defined lint || defined __GNUC__ # define YYUSE(e) ((void) (e)) #else # define YYUSE(e) /* empty */ #endif /* Identity function, used to suppress warnings about constant conditions. */ #ifndef lint # define YYID(n) (n) #else #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static int YYID (int yyi) #else static int YYID (yyi) int yyi; #endif { return yyi; } #endif #if ! defined yyoverflow || YYERROR_VERBOSE /* The parser invokes alloca or malloc; define the necessary symbols. */ # ifdef YYSTACK_USE_ALLOCA # if YYSTACK_USE_ALLOCA # ifdef __GNUC__ # define YYSTACK_ALLOC __builtin_alloca # elif defined __BUILTIN_VA_ARG_INCR # include /* INFRINGES ON USER NAME SPACE */ # elif defined _AIX # define YYSTACK_ALLOC __alloca # elif defined _MSC_VER # include /* INFRINGES ON USER NAME SPACE */ # define alloca _alloca # else # define YYSTACK_ALLOC alloca # if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) # include /* INFRINGES ON USER NAME SPACE */ # ifndef _STDLIB_H # define _STDLIB_H 1 # endif # endif # endif # endif # endif # ifdef YYSTACK_ALLOC /* Pacify GCC's `empty if-body' warning. */ # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0)) # ifndef YYSTACK_ALLOC_MAXIMUM /* The OS might guarantee only one guard page at the bottom of the stack, and a page size can be as small as 4096 bytes. So we cannot safely invoke alloca (N) if N exceeds 4096. Use a slightly smaller number to allow for a few compiler-allocated temporary stack slots. */ # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */ # endif # else # define YYSTACK_ALLOC YYMALLOC # define YYSTACK_FREE YYFREE # ifndef YYSTACK_ALLOC_MAXIMUM # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM # endif # if (defined __cplusplus && ! defined _STDLIB_H \ && ! ((defined YYMALLOC || defined malloc) \ && (defined YYFREE || defined free))) # include /* INFRINGES ON USER NAME SPACE */ # ifndef _STDLIB_H # define _STDLIB_H 1 # endif # endif # ifndef YYMALLOC # define YYMALLOC malloc # if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */ # endif # endif # ifndef YYFREE # define YYFREE free # if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) void free (void *); /* INFRINGES ON USER NAME SPACE */ # endif # endif # endif #endif /* ! defined yyoverflow || YYERROR_VERBOSE */ #if (! defined yyoverflow \ && (! defined __cplusplus \ || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL))) /* A type that is properly aligned for any stack member. */ union yyalloc { yytype_int16 yyss_alloc; YYSTYPE yyvs_alloc; }; /* The size of the maximum gap between one aligned stack and the next. */ # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) /* The size of an array large to enough to hold all stacks, each with N elements. */ # define YYSTACK_BYTES(N) \ ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \ + YYSTACK_GAP_MAXIMUM) /* Copy COUNT objects from FROM to TO. The source and destination do not overlap. */ # ifndef YYCOPY # if defined __GNUC__ && 1 < __GNUC__ # define YYCOPY(To, From, Count) \ __builtin_memcpy (To, From, (Count) * sizeof (*(From))) # else # define YYCOPY(To, From, Count) \ do \ { \ YYSIZE_T yyi; \ for (yyi = 0; yyi < (Count); yyi++) \ (To)[yyi] = (From)[yyi]; \ } \ while (YYID (0)) # endif # endif /* Relocate STACK from its old location to the new one. The local variables YYSIZE and YYSTACKSIZE give the old and new number of elements in the stack, and YYPTR gives the new location of the stack. Advance YYPTR to a properly aligned location for the next stack. */ # define YYSTACK_RELOCATE(Stack_alloc, Stack) \ do \ { \ YYSIZE_T yynewbytes; \ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \ Stack = &yyptr->Stack_alloc; \ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ yyptr += yynewbytes / sizeof (*yyptr); \ } \ while (YYID (0)) #endif /* YYFINAL -- State number of the termination state. */ #define YYFINAL 573 /* YYLAST -- Last index in YYTABLE. */ #define YYLAST 50277 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 612 /* YYNNTS -- Number of nonterminals. */ #define YYNNTS 888 /* YYNRULES -- Number of rules. */ #define YYNRULES 2496 /* YYNRULES -- Number of states. */ #define YYNSTATES 4247 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ #define YYUNDEFTOK 2 #define YYMAXUTOK 847 #define YYTRANSLATE(YYX) \ ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ static const yytype_uint16 yytranslate[] = { 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 605, 2, 2, 2, 599, 594, 2, 602, 603, 597, 596, 604, 595, 610, 598, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 611, 608, 2, 2, 2, 2, 609, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 600, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 606, 593, 607, 601, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592 }; #if YYDEBUG /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in YYRHS. */ static const yytype_uint16 yyprhs[] = { 0, 0, 3, 5, 6, 11, 14, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99, 101, 103, 105, 107, 109, 111, 113, 115, 117, 119, 121, 123, 127, 129, 131, 136, 138, 141, 142, 147, 148, 151, 155, 157, 160, 161, 165, 166, 172, 174, 178, 182, 186, 190, 194, 198, 202, 206, 210, 214, 218, 222, 226, 230, 236, 238, 239, 241, 245, 247, 251, 255, 259, 263, 264, 272, 273, 286, 287, 300, 301, 314, 315, 322, 323, 327, 332, 337, 341, 344, 355, 357, 361, 364, 367, 370, 373, 376, 379, 382, 383, 397, 398, 405, 408, 409, 411, 415, 417, 418, 421, 422, 425, 426, 428, 432, 437, 438, 441, 442, 445, 447, 449, 451, 453, 455, 457, 459, 461, 463, 465, 467, 469, 471, 472, 476, 478, 479, 482, 483, 486, 489, 492, 495, 498, 502, 506, 508, 510, 512, 515, 519, 523, 524, 529, 530, 534, 535, 537, 541, 543, 544, 546, 550, 552, 553, 557, 558, 560, 564, 566, 571, 572, 574, 576, 578, 579, 583, 586, 590, 591, 595, 596, 602, 608, 609, 617, 623, 624, 627, 629, 631, 633, 637, 639, 641, 643, 647, 648, 650, 652, 654, 656, 659, 661, 665, 667, 669, 670, 672, 673, 676, 680, 686, 688, 690, 692, 694, 696, 698, 700, 702, 704, 706, 708, 710, 712, 714, 716, 720, 722, 726, 727, 730, 732, 734, 736, 738, 740, 742, 744, 746, 748, 750, 752, 754, 756, 757, 763, 764, 767, 768, 772, 773, 776, 779, 782, 785, 786, 793, 796, 797, 800, 802, 804, 808, 809, 810, 811, 819, 820, 823, 826, 828, 830, 831, 832, 841, 842, 849, 851, 854, 856, 859, 860, 861, 868, 869, 870, 877, 878, 881, 882, 888, 889, 891, 892, 898, 899, 902, 903, 909, 914, 915, 916, 925, 926, 934, 936, 938, 940, 942, 944, 947, 952, 958, 959, 964, 969, 974, 978, 982, 985, 988, 989, 992, 994, 997, 1001, 1003, 1005, 1007, 1009, 1011, 1014, 1018, 1020, 1022, 1024, 1026, 1028, 1030, 1032, 1034, 1036, 1038, 1041, 1045, 1047, 1049, 1051, 1053, 1055, 1057, 1059, 1062, 1066, 1068, 1070, 1072, 1074, 1076, 1078, 1080, 1082, 1084, 1087, 1091, 1093, 1095, 1097, 1100, 1103, 1106, 1108, 1110, 1112, 1114, 1117, 1121, 1125, 1129, 1133, 1137, 1141, 1145, 1149, 1154, 1155, 1157, 1159, 1161, 1163, 1165, 1168, 1172, 1175, 1180, 1186, 1187, 1193, 1194, 1195, 1201, 1202, 1210, 1212, 1213, 1215, 1216, 1221, 1222, 1223, 1227, 1233, 1240, 1241, 1246, 1249, 1252, 1255, 1258, 1259, 1261, 1262, 1266, 1267, 1269, 1271, 1275, 1277, 1282, 1288, 1294, 1295, 1298, 1299, 1300, 1308, 1309, 1320, 1322, 1326, 1328, 1330, 1331, 1334, 1335, 1339, 1341, 1345, 1346, 1353, 1355, 1356, 1357, 1363, 1364, 1369, 1371, 1373, 1375, 1379, 1381, 1385, 1386, 1387, 1393, 1395, 1399, 1401, 1403, 1404, 1408, 1410, 1414, 1415, 1420, 1422, 1423, 1425, 1428, 1430, 1434, 1439, 1443, 1447, 1451, 1456, 1461, 1465, 1466, 1467, 1474, 1475, 1477, 1478, 1480, 1482, 1485, 1487, 1489, 1490, 1492, 1494, 1497, 1499, 1500, 1504, 1505, 1507, 1509, 1512, 1514, 1517, 1521, 1525, 1529, 1533, 1537, 1541, 1545, 1549, 1553, 1557, 1561, 1565, 1569, 1573, 1574, 1581, 1583, 1585, 1589, 1594, 1599, 1602, 1605, 1608, 1612, 1616, 1621, 1626, 1628, 1630, 1632, 1634, 1636, 1638, 1640, 1642, 1644, 1646, 1648, 1650, 1653, 1655, 1657, 1659, 1661, 1663, 1665, 1669, 1671, 1673, 1676, 1679, 1687, 1696, 1705, 1714, 1723, 1726, 1727, 1729, 1734, 1735, 1737, 1740, 1741, 1746, 1750, 1754, 1758, 1760, 1763, 1765, 1767, 1771, 1774, 1778, 1781, 1784, 1786, 1790, 1794, 1797, 1801, 1803, 1805, 1807, 1809, 1811, 1814, 1816, 1818, 1820, 1823, 1827, 1830, 1834, 1837, 1840, 1844, 1848, 1852, 1853, 1860, 1861, 1868, 1871, 1873, 1875, 1877, 1879, 1881, 1883, 1885, 1887, 1889, 1891, 1893, 1896, 1899, 1901, 1904, 1906, 1909, 1913, 1916, 1918, 1920, 1922, 1924, 1926, 1928, 1930, 1933, 1934, 1936, 1938, 1944, 1945, 1947, 1950, 1952, 1954, 1956, 1958, 1962, 1966, 1970, 1974, 1975, 1977, 1978, 1980, 1981, 1983, 1986, 1988, 1990, 1993, 1996, 2001, 2003, 2007, 2010, 2012, 2015, 2018, 2021, 2024, 2027, 2029, 2032, 2034, 2036, 2038, 2040, 2042, 2043, 2046, 2048, 2050, 2052, 2054, 2056, 2057, 2060, 2062, 2064, 2065, 2067, 2069, 2072, 2075, 2077, 2080, 2083, 2084, 2086, 2088, 2090, 2094, 2096, 2100, 2101, 2103, 2104, 2106, 2112, 2113, 2117, 2121, 2123, 2124, 2127, 2130, 2133, 2134, 2138, 2142, 2149, 2156, 2158, 2160, 2163, 2166, 2169, 2171, 2174, 2177, 2179, 2181, 2182, 2184, 2186, 2188, 2190, 2191, 2193, 2195, 2197, 2198, 2200, 2203, 2204, 2206, 2207, 2209, 2210, 2212, 2214, 2217, 2219, 2222, 2224, 2227, 2230, 2233, 2237, 2240, 2242, 2244, 2246, 2248, 2252, 2254, 2256, 2258, 2263, 2266, 2268, 2273, 2274, 2276, 2277, 2280, 2282, 2286, 2287, 2294, 2295, 2301, 2309, 2310, 2316, 2317, 2323, 2324, 2330, 2331, 2336, 2337, 2348, 2352, 2357, 2361, 2365, 2373, 2374, 2378, 2380, 2385, 2386, 2390, 2391, 2394, 2395, 2397, 2398, 2401, 2404, 2407, 2410, 2412, 2414, 2416, 2420, 2425, 2426, 2433, 2438, 2439, 2445, 2446, 2453, 2458, 2462, 2464, 2467, 2469, 2471, 2472, 2478, 2479, 2483, 2486, 2487, 2493, 2494, 2495, 2502, 2504, 2508, 2510, 2512, 2516, 2519, 2523, 2526, 2531, 2532, 2539, 2540, 2541, 2550, 2555, 2560, 2564, 2568, 2571, 2574, 2581, 2587, 2591, 2597, 2599, 2601, 2603, 2604, 2606, 2607, 2609, 2610, 2612, 2614, 2615, 2618, 2620, 2621, 2623, 2625, 2627, 2628, 2634, 2638, 2639, 2645, 2649, 2653, 2654, 2658, 2659, 2662, 2664, 2668, 2669, 2671, 2673, 2674, 2677, 2679, 2683, 2684, 2690, 2691, 2693, 2695, 2696, 2703, 2704, 2706, 2708, 2711, 2713, 2715, 2717, 2718, 2724, 2727, 2728, 2734, 2735, 2737, 2739, 2742, 2744, 2746, 2748, 2750, 2752, 2755, 2756, 2762, 2763, 2765, 2767, 2768, 2773, 2778, 2782, 2788, 2790, 2794, 2798, 2799, 2806, 2808, 2810, 2812, 2816, 2819, 2823, 2825, 2827, 2828, 2835, 2837, 2839, 2841, 2845, 2849, 2854, 2855, 2862, 2863, 2866, 2867, 2872, 2873, 2876, 2878, 2881, 2886, 2889, 2893, 2896, 2900, 2901, 2905, 2906, 2907, 2914, 2917, 2919, 2921, 2924, 2927, 2936, 2941, 2942, 2944, 2947, 2949, 2951, 2953, 2955, 2956, 2959, 2964, 2968, 2970, 2972, 2976, 2981, 2982, 2983, 2984, 2987, 2990, 2992, 2994, 2995, 2998, 3002, 3006, 3010, 3013, 3017, 3022, 3026, 3031, 3035, 3040, 3042, 3046, 3051, 3055, 3059, 3066, 3068, 3074, 3081, 3087, 3095, 3102, 3111, 3117, 3124, 3129, 3134, 3140, 3144, 3149, 3151, 3155, 3159, 3163, 3167, 3171, 3175, 3181, 3187, 3191, 3195, 3199, 3203, 3207, 3211, 3213, 3215, 3217, 3219, 3221, 3223, 3225, 3227, 3229, 3231, 3233, 3235, 3237, 3239, 3241, 3243, 3245, 3247, 3249, 3251, 3253, 3255, 3259, 3261, 3263, 3265, 3267, 3271, 3274, 3277, 3280, 3283, 3287, 3291, 3297, 3304, 3309, 3314, 3322, 3325, 3332, 3338, 3345, 3352, 3357, 3362, 3368, 3373, 3380, 3383, 3388, 3393, 3398, 3409, 3416, 3425, 3432, 3437, 3442, 3449, 3454, 3459, 3464, 3471, 3476, 3484, 3492, 3500, 3507, 3514, 3521, 3528, 3532, 3537, 3544, 3553, 3556, 3559, 3564, 3573, 3582, 3589, 3596, 3599, 3604, 3611, 3618, 3627, 3636, 3643, 3652, 3659, 3662, 3667, 3676, 3685, 3688, 3691, 3694, 3699, 3704, 3709, 3714, 3718, 3727, 3732, 3739, 3744, 3749, 3754, 3761, 3770, 3777, 3782, 3789, 3791, 3798, 3803, 3808, 3813, 3818, 3823, 3830, 3835, 3836, 3842, 3849, 3852, 3856, 3857, 3862, 3863, 3867, 3868, 3870, 3872, 3876, 3881, 3886, 3892, 3897, 3902, 3907, 3913, 3918, 3919, 3920, 3928, 3933, 3939, 3944, 3950, 3955, 3960, 3965, 3970, 3975, 3981, 3982, 3991, 3992, 3996, 4000, 4002, 4007, 4008, 4010, 4011, 4014, 4015, 4016, 4021, 4026, 4029, 4030, 4034, 4037, 4041, 4044, 4046, 4049, 4051, 4054, 4056, 4058, 4060, 4063, 4064, 4066, 4068, 4072, 4074, 4078, 4080, 4084, 4085, 4087, 4088, 4091, 4096, 4102, 4104, 4106, 4108, 4110, 4115, 4117, 4121, 4125, 4129, 4130, 4137, 4138, 4145, 4146, 4155, 4160, 4161, 4170, 4171, 4182, 4189, 4190, 4199, 4200, 4211, 4218, 4220, 4223, 4226, 4227, 4232, 4236, 4242, 4245, 4246, 4247, 4255, 4257, 4258, 4259, 4266, 4267, 4271, 4272, 4273, 4279, 4280, 4282, 4283, 4285, 4286, 4289, 4293, 4297, 4299, 4301, 4302, 4310, 4311, 4319, 4321, 4324, 4325, 4326, 4329, 4330, 4333, 4334, 4336, 4338, 4340, 4342, 4346, 4348, 4352, 4354, 4356, 4358, 4360, 4362, 4364, 4366, 4368, 4370, 4372, 4374, 4376, 4378, 4380, 4382, 4384, 4386, 4388, 4390, 4392, 4394, 4396, 4398, 4400, 4402, 4403, 4405, 4407, 4408, 4411, 4412, 4414, 4415, 4416, 4420, 4421, 4422, 4426, 4429, 4430, 4431, 4436, 4441, 4444, 4445, 4447, 4449, 4453, 4457, 4459, 4462, 4463, 4465, 4466, 4471, 4476, 4479, 4480, 4482, 4484, 4485, 4487, 4488, 4490, 4493, 4495, 4499, 4503, 4505, 4507, 4509, 4511, 4513, 4514, 4517, 4519, 4521, 4523, 4525, 4527, 4529, 4531, 4533, 4535, 4537, 4539, 4541, 4543, 4545, 4547, 4549, 4551, 4553, 4555, 4557, 4559, 4561, 4563, 4564, 4565, 4572, 4573, 4575, 4579, 4581, 4585, 4586, 4589, 4593, 4595, 4598, 4600, 4601, 4605, 4606, 4607, 4615, 4618, 4620, 4621, 4625, 4626, 4634, 4635, 4642, 4647, 4654, 4659, 4664, 4669, 4670, 4677, 4682, 4687, 4693, 4700, 4705, 4707, 4711, 4713, 4715, 4719, 4721, 4722, 4725, 4726, 4728, 4729, 4730, 4739, 4740, 4741, 4748, 4749, 4751, 4753, 4755, 4757, 4759, 4762, 4764, 4766, 4768, 4772, 4777, 4778, 4782, 4786, 4788, 4791, 4794, 4795, 4799, 4800, 4806, 4810, 4812, 4816, 4818, 4822, 4824, 4826, 4827, 4829, 4830, 4835, 4836, 4838, 4842, 4844, 4846, 4848, 4849, 4850, 4857, 4858, 4859, 4871, 4875, 4877, 4881, 4885, 4887, 4891, 4892, 4894, 4895, 4900, 4901, 4908, 4909, 4915, 4916, 4923, 4925, 4929, 4932, 4937, 4938, 4941, 4942, 4945, 4947, 4949, 4951, 4952, 4957, 4958, 4960, 4961, 4963, 4965, 4969, 4971, 4973, 4976, 4979, 4982, 4984, 4986, 4988, 4990, 4991, 4995, 4996, 5000, 5003, 5008, 5013, 5017, 5022, 5027, 5029, 5033, 5037, 5044, 5047, 5050, 5051, 5058, 5059, 5066, 5072, 5075, 5077, 5079, 5081, 5087, 5093, 5096, 5099, 5101, 5106, 5110, 5113, 5117, 5120, 5123, 5125, 5129, 5134, 5138, 5142, 5145, 5148, 5152, 5156, 5160, 5164, 5168, 5172, 5176, 5180, 5182, 5184, 5186, 5188, 5190, 5191, 5193, 5194, 5197, 5198, 5200, 5202, 5204, 5205, 5208, 5209, 5212, 5213, 5216, 5219, 5220, 5225, 5226, 5231, 5233, 5235, 5236, 5238, 5240, 5241, 5243, 5245, 5246, 5251, 5252, 5253, 5259, 5261, 5262, 5266, 5270, 5272, 5275, 5278, 5281, 5284, 5287, 5290, 5293, 5295, 5297, 5299, 5301, 5303, 5305, 5307, 5309, 5310, 5312, 5313, 5317, 5321, 5323, 5324, 5328, 5330, 5333, 5334, 5336, 5337, 5341, 5345, 5348, 5351, 5355, 5356, 5358, 5360, 5363, 5364, 5365, 5366, 5367, 5389, 5391, 5393, 5394, 5396, 5397, 5399, 5401, 5402, 5404, 5406, 5407, 5410, 5413, 5415, 5419, 5424, 5428, 5432, 5433, 5436, 5439, 5441, 5445, 5449, 5450, 5455, 5456, 5460, 5462, 5464, 5465, 5469, 5472, 5476, 5478, 5480, 5483, 5484, 5487, 5491, 5493, 5499, 5501, 5503, 5506, 5509, 5511, 5513, 5515, 5517, 5519, 5522, 5525, 5527, 5529, 5531, 5533, 5535, 5537, 5539, 5542, 5545, 5548, 5551, 5554, 5556, 5558, 5560, 5562, 5564, 5566, 5568, 5572, 5578, 5580, 5582, 5584, 5586, 5588, 5592, 5597, 5603, 5605, 5611, 5615, 5618, 5620, 5624, 5627, 5630, 5635, 5637, 5639, 5641, 5643, 5645, 5647, 5649, 5651, 5653, 5655, 5657, 5659, 5661, 5663, 5667, 5670, 5672, 5674, 5676, 5678, 5680, 5682, 5684, 5686, 5688, 5690, 5692, 5694, 5696, 5698, 5700, 5702, 5704, 5706, 5708, 5710, 5712, 5714, 5716, 5718, 5720, 5722, 5724, 5726, 5728, 5730, 5732, 5734, 5736, 5738, 5740, 5742, 5744, 5746, 5748, 5750, 5752, 5754, 5756, 5758, 5760, 5762, 5764, 5766, 5768, 5770, 5772, 5774, 5776, 5778, 5780, 5782, 5784, 5786, 5788, 5790, 5792, 5794, 5796, 5798, 5800, 5802, 5804, 5806, 5808, 5810, 5812, 5814, 5816, 5818, 5820, 5822, 5824, 5826, 5828, 5830, 5832, 5834, 5836, 5838, 5840, 5842, 5844, 5846, 5848, 5850, 5852, 5854, 5856, 5858, 5860, 5862, 5864, 5866, 5868, 5870, 5872, 5874, 5876, 5878, 5880, 5882, 5884, 5886, 5888, 5890, 5892, 5894, 5896, 5898, 5900, 5902, 5904, 5906, 5908, 5910, 5912, 5914, 5916, 5918, 5920, 5922, 5924, 5926, 5928, 5930, 5932, 5934, 5936, 5938, 5940, 5942, 5944, 5946, 5948, 5950, 5952, 5954, 5956, 5958, 5960, 5962, 5964, 5966, 5968, 5970, 5972, 5974, 5976, 5978, 5980, 5982, 5984, 5986, 5988, 5990, 5992, 5994, 5996, 5998, 6000, 6002, 6004, 6006, 6008, 6010, 6012, 6014, 6016, 6018, 6020, 6022, 6024, 6026, 6028, 6030, 6032, 6034, 6036, 6038, 6040, 6042, 6044, 6046, 6048, 6050, 6052, 6054, 6056, 6058, 6060, 6062, 6064, 6066, 6068, 6070, 6072, 6074, 6076, 6078, 6080, 6082, 6084, 6086, 6088, 6090, 6092, 6094, 6096, 6098, 6100, 6102, 6104, 6106, 6108, 6110, 6112, 6114, 6116, 6118, 6120, 6122, 6124, 6126, 6128, 6130, 6132, 6134, 6136, 6138, 6140, 6142, 6144, 6146, 6148, 6150, 6152, 6154, 6156, 6158, 6160, 6162, 6164, 6166, 6168, 6170, 6172, 6174, 6176, 6178, 6180, 6182, 6184, 6186, 6188, 6190, 6192, 6194, 6196, 6198, 6200, 6202, 6204, 6206, 6208, 6210, 6212, 6214, 6216, 6218, 6220, 6222, 6224, 6226, 6228, 6230, 6232, 6234, 6236, 6238, 6240, 6242, 6244, 6246, 6248, 6250, 6252, 6254, 6256, 6258, 6260, 6262, 6264, 6266, 6268, 6270, 6272, 6274, 6276, 6278, 6280, 6282, 6284, 6286, 6288, 6290, 6292, 6294, 6296, 6298, 6300, 6302, 6304, 6306, 6308, 6310, 6312, 6314, 6316, 6318, 6320, 6322, 6324, 6326, 6327, 6332, 6333, 6335, 6337, 6341, 6342, 6345, 6347, 6349, 6351, 6353, 6354, 6356, 6357, 6359, 6361, 6363, 6364, 6367, 6370, 6373, 6375, 6378, 6383, 6389, 6394, 6401, 6404, 6408, 6412, 6416, 6422, 6424, 6428, 6432, 6435, 6438, 6441, 6443, 6445, 6450, 6455, 6457, 6459, 6461, 6463, 6465, 6466, 6471, 6473, 6475, 6477, 6481, 6485, 6487, 6489, 6492, 6495, 6496, 6500, 6505, 6509, 6510, 6518, 6520, 6523, 6525, 6527, 6529, 6531, 6533, 6535, 6536, 6542, 6544, 6546, 6548, 6550, 6552, 6556, 6563, 6570, 6577, 6585, 6591, 6595, 6604, 6613, 6622, 6629, 6630, 6632, 6634, 6637, 6638, 6640, 6642, 6646, 6647, 6651, 6652, 6656, 6657, 6661, 6662, 6666, 6668, 6670, 6672, 6674, 6676, 6678, 6680, 6682, 6684, 6686, 6688, 6691, 6694, 6696, 6700, 6703, 6706, 6709, 6712, 6715, 6718, 6721, 6724, 6726, 6728, 6731, 6732, 6734, 6738, 6740, 6743, 6746, 6749, 6751, 6755, 6759, 6761, 6763, 6767, 6769, 6773, 6778, 6784, 6789, 6796, 6798, 6799, 6803, 6807, 6809, 6811, 6812, 6815, 6818, 6821, 6824, 6825, 6828, 6829, 6833, 6836, 6838, 6841, 6844, 6847, 6850, 6853, 6854, 6858, 6859, 6861, 6862, 6866, 6869, 6870, 6872, 6875, 6876, 6878, 6883, 6888, 6894, 6897, 6901, 6902, 6904, 6905, 6910, 6911, 6913, 6915, 6916, 6918, 6919, 6922, 6925, 6927, 6928, 6930, 6932, 6935, 6939, 6942, 6943, 6950, 6954, 6955, 6956, 6957, 6959, 6962, 6964, 6966, 6968, 6970, 6972, 6974, 6976, 6978, 6980, 6983, 6986, 6990, 6992, 6994, 6996, 6998, 7000, 7002, 7004, 7006, 7008, 7010, 7012, 7014, 7016, 7017, 7021, 7023, 7026, 7028, 7031, 7035, 7039, 7043, 7044, 7048, 7052, 7053, 7061, 7062, 7066, 7068, 7072, 7073, 7077, 7080, 7085, 7086, 7090, 7095, 7100, 7101, 7102, 7103, 7120, 7129, 7137, 7138, 7139, 7140, 7141, 7142, 7158, 7159, 7160, 7161, 7162, 7175, 7180, 7185, 7189, 7194, 7198, 7201, 7203, 7207, 7213, 7215, 7217, 7218, 7220, 7222, 7223, 7226, 7227, 7228, 7232, 7233, 7236, 7242 }; /* YYRHS -- A `-1'-separated list of the rules' RHS. */ static const yytype_int16 yyrhs[] = { 613, 0, -1, 148, -1, -1, 616, 614, 608, 615, -1, 616, 148, -1, -1, 148, -1, 617, -1, 1428, -1, 960, -1, 1017, -1, 1019, -1, 666, -1, 629, -1, 1020, -1, 1009, -1, 1434, -1, 636, -1, 618, -1, 1258, -1, 1290, -1, 1210, -1, 1212, -1, 622, -1, 1296, -1, 1402, -1, 1393, -1, 627, -1, 1222, -1, 1498, -1, 1315, -1, 1318, -1, 1385, -1, 1025, -1, 1033, -1, 809, -1, 1040, -1, 620, -1, 1311, -1, 1437, -1, 1028, -1, 1012, -1, 1225, -1, 1305, -1, 701, -1, 1400, -1, 1435, -1, 1436, -1, 1052, -1, 1368, -1, 694, -1, 1276, -1, 998, -1, 1001, -1, 1269, -1, 1499, -1, 1391, -1, 1250, -1, 1317, -1, 1490, -1, 619, 380, 1362, -1, 115, -1, 136, -1, 380, 1362, 182, 621, -1, 1359, -1, 609, 1364, -1, -1, 161, 1362, 623, 624, -1, -1, 561, 625, -1, 625, 604, 626, -1, 626, -1, 609, 1364, -1, -1, 200, 628, 1364, -1, -1, 56, 286, 529, 630, 631, -1, 632, -1, 631, 604, 632, -1, 273, 152, 1359, -1, 287, 152, 1359, -1, 276, 152, 1359, -1, 277, 152, 1190, -1, 272, 152, 1190, -1, 284, 152, 1190, -1, 280, 152, 1359, -1, 279, 152, 1359, -1, 281, 152, 1359, -1, 282, 152, 1359, -1, 283, 152, 1359, -1, 285, 152, 1190, -1, 288, 152, 1347, -1, 214, 152, 602, 633, 603, -1, 635, -1, -1, 634, -1, 633, 604, 634, -1, 1190, -1, 274, 152, 1359, -1, 275, 152, 1192, -1, 410, 152, 1359, -1, 411, 152, 1190, -1, -1, 94, 861, 512, 864, 1355, 637, 798, -1, -1, 94, 938, 217, 1362, 942, 347, 1355, 638, 602, 955, 603, 943, -1, -1, 94, 939, 217, 1362, 941, 347, 1355, 639, 602, 955, 603, 944, -1, -1, 94, 940, 217, 1362, 941, 347, 1355, 640, 602, 955, 603, 945, -1, -1, 94, 102, 864, 1362, 641, 858, -1, -1, 94, 642, 1456, -1, 94, 558, 659, 1418, -1, 94, 263, 194, 761, -1, 94, 510, 758, -1, 94, 643, -1, 453, 1364, 179, 105, 584, 1364, 352, 602, 644, 603, -1, 645, -1, 644, 604, 645, -1, 558, 1359, -1, 203, 1359, -1, 102, 1359, -1, 362, 1359, -1, 371, 1359, -1, 469, 1359, -1, 377, 1190, -1, -1, 1069, 159, 864, 660, 647, 347, 442, 648, 653, 650, 655, 135, 656, -1, -1, 160, 1073, 1162, 649, 651, 652, -1, 22, 1073, -1, -1, 144, -1, 129, 347, 465, -1, 129, -1, -1, 488, 1073, -1, -1, 147, 1073, -1, -1, 654, -1, 347, 77, 381, -1, 347, 77, 336, 381, -1, -1, 73, 1359, -1, -1, 657, 658, -1, 707, -1, 709, -1, 705, -1, 726, -1, 744, -1, 746, -1, 741, -1, 711, -1, 713, -1, 714, -1, 715, -1, 716, -1, 718, -1, -1, 1362, 610, 1362, -1, 1362, -1, -1, 661, 663, -1, -1, 662, 664, -1, 73, 1359, -1, 242, 484, -1, 338, 484, -1, 87, 484, -1, 396, 484, 105, -1, 313, 484, 105, -1, 665, -1, 663, -1, 127, -1, 1079, 127, -1, 484, 446, 120, -1, 484, 446, 229, -1, -1, 49, 660, 667, 668, -1, -1, 602, 669, 603, -1, -1, 670, -1, 670, 604, 1073, -1, 1073, -1, -1, 672, -1, 672, 604, 674, -1, 674, -1, -1, 1362, 673, 910, -1, -1, 676, -1, 676, 604, 677, -1, 677, -1, 678, 673, 1362, 910, -1, -1, 230, -1, 361, -1, 221, -1, -1, 679, 704, 608, -1, 704, 608, -1, 680, 704, 608, -1, -1, 681, 682, 608, -1, -1, 118, 702, 683, 910, 703, -1, 118, 1362, 80, 180, 690, -1, -1, 118, 687, 197, 180, 684, 688, 704, -1, 118, 1362, 99, 180, 685, -1, -1, 686, 1052, -1, 163, -1, 89, -1, 689, -1, 688, 604, 689, -1, 693, -1, 1190, -1, 691, -1, 476, 692, 1360, -1, -1, 566, -1, 690, -1, 1362, -1, 477, -1, 1079, 181, -1, 475, -1, 462, 695, 697, -1, 1362, -1, 691, -1, -1, 695, -1, -1, 455, 698, -1, 700, 152, 699, -1, 698, 604, 700, 152, 699, -1, 1346, -1, 1100, -1, 1351, -1, 63, -1, 497, -1, 84, -1, 86, -1, 85, -1, 54, -1, 443, -1, 514, -1, 72, -1, 100, -1, 304, -1, 321, -1, 425, 696, 697, -1, 1362, -1, 702, 604, 1362, -1, -1, 119, 1073, -1, 707, -1, 709, -1, 705, -1, 726, -1, 744, -1, 746, -1, 741, -1, 711, -1, 713, -1, 714, -1, 715, -1, 716, -1, 718, -1, -1, 212, 706, 721, 146, 212, -1, -1, 708, 617, -1, -1, 431, 710, 1073, -1, -1, 712, 750, -1, 247, 1363, -1, 236, 1363, -1, 350, 1362, -1, -1, 171, 719, 1362, 227, 717, 720, -1, 65, 1362, -1, -1, 332, 182, -1, 182, -1, 1362, -1, 720, 604, 1362, -1, -1, -1, -1, 722, 1073, 521, 723, 680, 724, 725, -1, -1, 143, 721, -1, 142, 680, -1, 727, -1, 730, -1, -1, -1, 52, 728, 1073, 729, 732, 740, 146, 52, -1, -1, 52, 731, 733, 740, 146, 52, -1, 734, -1, 732, 734, -1, 737, -1, 733, 737, -1, -1, -1, 577, 735, 1073, 736, 521, 680, -1, -1, -1, 577, 738, 1073, 739, 521, 680, -1, -1, 142, 680, -1, -1, 1363, 611, 742, 750, 743, -1, -1, 1363, -1, -1, 1363, 611, 745, 748, 743, -1, -1, 747, 748, -1, -1, 30, 749, 681, 679, 146, -1, 269, 680, 146, 269, -1, -1, -1, 579, 751, 1073, 135, 752, 680, 146, 579, -1, -1, 420, 680, 554, 753, 1073, 146, 420, -1, 29, -1, 8, -1, 223, -1, 555, -1, 123, -1, 783, 785, -1, 783, 56, 780, 764, -1, 783, 6, 780, 759, 768, -1, -1, 560, 263, 194, 1362, -1, 783, 6, 780, 771, -1, 783, 136, 780, 771, -1, 784, 763, 774, -1, 784, 763, 777, -1, 6, 781, -1, 6, 782, -1, -1, 765, 766, -1, 767, -1, 766, 767, -1, 766, 604, 767, -1, 786, -1, 787, -1, 788, -1, 769, -1, 770, -1, 769, 770, -1, 769, 604, 770, -1, 786, -1, 787, -1, 788, -1, 789, -1, 792, -1, 794, -1, 796, -1, 793, -1, 772, -1, 773, -1, 772, 773, -1, 772, 604, 773, -1, 786, -1, 787, -1, 788, -1, 794, -1, 796, -1, 775, -1, 776, -1, 775, 776, -1, 775, 604, 776, -1, 786, -1, 790, -1, 791, -1, 792, -1, 794, -1, 796, -1, 793, -1, 778, -1, 779, -1, 778, 779, -1, 778, 604, 779, -1, 786, -1, 794, -1, 796, -1, 104, 1359, -1, 544, 1359, -1, 403, 1359, -1, 1362, -1, 1362, -1, 397, -1, 399, -1, 336, 4, -1, 219, 1242, 797, -1, 24, 1242, 797, -1, 293, 1242, 797, -1, 166, 1242, 797, -1, 545, 1242, 797, -1, 404, 1242, 797, -1, 333, 1242, 1191, -1, 73, 1242, 1359, -1, 1283, 150, 1242, 872, -1, -1, 796, -1, 574, -1, 339, -1, 1193, -1, 1358, -1, 602, 799, -1, 865, 804, 801, -1, 252, 1355, -1, 602, 252, 1355, 603, -1, 878, 603, 865, 804, 801, -1, -1, 804, 854, 603, 800, 1441, -1, -1, -1, 1326, 857, 854, 802, 1438, -1, -1, 1326, 857, 602, 854, 603, 803, 1441, -1, 805, -1, -1, 806, -1, -1, 370, 808, 807, 811, -1, -1, -1, 370, 810, 811, -1, 46, 812, 822, 823, 830, -1, 814, 240, 815, 602, 816, 603, -1, -1, 814, 198, 813, 820, -1, 395, 820, -1, 395, 819, -1, 257, 820, -1, 257, 819, -1, -1, 254, -1, -1, 11, 152, 1191, -1, -1, 817, -1, 818, -1, 817, 604, 818, -1, 1362, -1, 70, 602, 816, 603, -1, 602, 1069, 828, 1070, 603, -1, 602, 1069, 828, 1070, 603, -1, -1, 369, 1191, -1, -1, -1, 501, 46, 814, 198, 821, 824, 829, -1, -1, 501, 46, 814, 240, 815, 602, 826, 603, 825, 829, -1, 827, -1, 826, 604, 827, -1, 1362, -1, 1076, -1, -1, 500, 1191, -1, -1, 602, 831, 603, -1, 832, -1, 831, 604, 832, -1, -1, 370, 833, 834, 835, 851, 846, -1, 1362, -1, -1, -1, 565, 249, 520, 836, 838, -1, -1, 565, 230, 837, 839, -1, 297, -1, 841, -1, 841, -1, 602, 840, 603, -1, 841, -1, 840, 604, 841, -1, -1, -1, 602, 842, 844, 843, 603, -1, 845, -1, 844, 604, 845, -1, 297, -1, 1076, -1, -1, 602, 847, 603, -1, 848, -1, 847, 604, 848, -1, -1, 501, 849, 850, 851, -1, 1364, -1, -1, 852, -1, 852, 853, -1, 853, -1, 510, 1242, 1364, -1, 1283, 150, 1242, 872, -1, 333, 1242, 1191, -1, 292, 1242, 1193, -1, 310, 1242, 1193, -1, 105, 128, 1242, 1359, -1, 217, 128, 1242, 1359, -1, 73, 1242, 1359, -1, -1, -1, 447, 855, 1063, 1067, 856, 876, -1, -1, 18, -1, -1, 859, -1, 860, -1, 859, 860, -1, 871, -1, 870, -1, -1, 862, -1, 863, -1, 863, 862, -1, 515, -1, -1, 212, 1079, 162, -1, -1, 867, -1, 868, -1, 868, 866, -1, 868, -1, 868, 867, -1, 868, 604, 867, -1, 150, 1242, 872, -1, 292, 1242, 1192, -1, 310, 1242, 1192, -1, 26, 1242, 1190, -1, 371, 1242, 1359, -1, 73, 1242, 1359, -1, 25, 1242, 1192, -1, 363, 1242, 1190, -1, 363, 1242, 119, -1, 60, 1242, 1190, -1, 513, 1242, 1190, -1, 122, 1242, 1190, -1, 438, 1242, 874, -1, -1, 549, 1242, 869, 602, 1304, 603, -1, 870, -1, 871, -1, 224, 1242, 875, -1, 105, 128, 1242, 1359, -1, 217, 128, 1242, 1359, -1, 510, 1362, -1, 494, 131, -1, 494, 302, -1, 81, 1242, 1359, -1, 239, 1242, 1190, -1, 921, 912, 1242, 914, -1, 921, 68, 1242, 920, -1, 1364, -1, 1364, -1, 119, -1, 174, -1, 140, -1, 78, -1, 405, -1, 76, -1, 338, -1, 173, -1, 243, -1, 1185, -1, 1062, 1066, -1, 496, -1, 400, -1, 117, -1, 228, -1, 879, -1, 880, -1, 879, 604, 880, -1, 881, -1, 882, -1, 887, 883, -1, 887, 927, -1, 933, 957, 942, 602, 955, 603, 943, -1, 939, 936, 957, 941, 602, 955, 603, 944, -1, 940, 936, 957, 941, 602, 955, 603, 945, -1, 885, 934, 957, 942, 602, 955, 603, 943, -1, 885, 179, 240, 957, 602, 955, 603, 927, -1, 885, 884, -1, -1, 884, -1, 61, 602, 1073, 603, -1, -1, 886, -1, 83, 957, -1, -1, 1354, 888, 889, 907, -1, 897, 905, 901, -1, 898, 906, 901, -1, 176, 899, 901, -1, 38, -1, 38, 904, -1, 43, -1, 42, -1, 893, 904, 924, -1, 893, 924, -1, 894, 904, 925, -1, 894, 925, -1, 33, 904, -1, 33, -1, 895, 904, 924, -1, 896, 904, 925, -1, 567, 904, -1, 591, 905, 901, -1, 109, -1, 525, -1, 522, -1, 106, -1, 526, -1, 40, 905, -1, 892, -1, 298, -1, 265, -1, 268, 567, -1, 268, 895, 924, -1, 528, 924, -1, 519, 905, 924, -1, 300, 924, -1, 266, 924, -1, 117, 899, 901, -1, 343, 899, 901, -1, 174, 899, 901, -1, -1, 151, 890, 602, 959, 603, 924, -1, -1, 455, 891, 602, 959, 603, 924, -1, 268, 924, -1, 451, -1, 189, -1, 188, -1, 375, -1, 318, -1, 256, -1, 317, -1, 376, -1, 319, -1, 59, -1, 327, -1, 324, 59, -1, 893, 571, -1, 568, -1, 324, 568, -1, 344, -1, 327, 568, -1, 324, 59, 571, -1, 327, 571, -1, 228, -1, 527, -1, 467, -1, 299, -1, 32, -1, 400, -1, 134, -1, 134, 379, -1, -1, 904, -1, 900, -1, 602, 342, 604, 342, 603, -1, -1, 902, -1, 902, 903, -1, 903, -1, 463, -1, 553, -1, 592, -1, 602, 267, 603, -1, 602, 540, 603, -1, 602, 116, 603, -1, 602, 342, 603, -1, -1, 904, -1, -1, 900, -1, -1, 908, -1, 908, 909, -1, 909, -1, 341, -1, 1079, 341, -1, 119, 911, -1, 347, 555, 337, 1072, -1, 25, -1, 451, 119, 566, -1, 926, 240, -1, 550, -1, 550, 240, -1, 73, 1359, -1, 68, 918, -1, 889, 919, -1, 337, 1072, -1, 1345, -1, 59, 455, -1, 58, -1, 1364, -1, 33, -1, 913, -1, 119, -1, -1, 912, 914, -1, 1364, -1, 33, -1, 916, -1, 119, -1, 1364, -1, -1, 68, 920, -1, 918, -1, 119, -1, -1, 119, -1, 20, -1, 33, 20, -1, 20, 33, -1, 547, -1, 547, 33, -1, 33, 547, -1, -1, 922, -1, 923, -1, 47, -1, 912, 913, 925, -1, 33, -1, 33, 912, 913, -1, -1, 33, -1, -1, 383, -1, 406, 1355, 928, 930, 931, -1, -1, 602, 929, 603, -1, 929, 604, 1362, -1, 1362, -1, -1, 289, 183, -1, 289, 367, -1, 289, 464, -1, -1, 347, 555, 932, -1, 347, 123, 932, -1, 347, 555, 932, 347, 123, 932, -1, 347, 123, 932, 347, 555, 932, -1, 428, -1, 50, -1, 455, 341, -1, 338, 5, -1, 455, 119, -1, 935, -1, 383, 240, -1, 550, 936, -1, 240, -1, 217, -1, -1, 935, -1, 238, -1, 217, -1, 216, -1, -1, 550, -1, 184, -1, 473, -1, -1, 941, -1, 941, 949, -1, -1, 946, -1, -1, 948, -1, -1, 947, -1, 951, -1, 946, 951, -1, 952, -1, 947, 952, -1, 953, -1, 948, 953, -1, 561, 954, -1, 538, 954, -1, 239, 1242, 1190, -1, 73, 1359, -1, 950, -1, 949, -1, 950, -1, 950, -1, 580, 366, 1358, -1, 45, -1, 440, -1, 198, -1, 955, 604, 956, 1183, -1, 956, 1183, -1, 1362, -1, 1362, 602, 342, 603, -1, -1, 1354, -1, -1, 610, 1362, -1, 1343, -1, 959, 604, 1343, -1, -1, 13, 994, 512, 1355, 961, 972, -1, -1, 13, 102, 971, 962, 859, -1, 13, 102, 1362, 556, 105, 128, 323, -1, -1, 13, 385, 660, 963, 661, -1, -1, 13, 185, 660, 964, 661, -1, -1, 13, 1464, 1459, 965, 1466, -1, -1, 13, 1459, 966, 1466, -1, -1, 13, 1459, 159, 660, 967, 968, 969, 650, 655, 970, -1, 13, 510, 760, -1, 13, 263, 194, 762, -1, 13, 510, 757, -1, 13, 510, 756, -1, 13, 453, 1364, 352, 602, 644, 603, -1, -1, 347, 442, 648, -1, 654, -1, 347, 442, 648, 654, -1, -1, 416, 529, 660, -1, -1, 135, 656, -1, -1, 1362, -1, -1, 130, 510, -1, 215, 510, -1, 987, 805, -1, 987, 976, -1, 976, -1, 806, -1, 978, -1, 136, 370, 985, -1, 401, 370, 1027, 977, -1, -1, 351, 370, 1027, 977, 973, 1027, -1, 14, 370, 1027, 977, -1, -1, 61, 370, 977, 974, 1022, -1, -1, 418, 370, 1027, 977, 975, 1014, -1, 66, 370, 1027, 1191, -1, 536, 370, 977, -1, 981, -1, 415, 368, -1, 12, -1, 985, -1, -1, 6, 370, 1027, 979, 980, -1, -1, 602, 831, 603, -1, 369, 1191, -1, -1, 417, 370, 1027, 982, 983, -1, -1, -1, 985, 984, 227, 602, 831, 603, -1, 986, -1, 985, 604, 986, -1, 1362, -1, 989, -1, 987, 604, 989, -1, 6, 993, -1, 988, 881, 996, -1, 6, 882, -1, 988, 602, 878, 603, -1, -1, 56, 993, 1354, 990, 887, 996, -1, -1, -1, 314, 993, 1354, 991, 889, 907, 992, 996, -1, 136, 993, 1354, 995, -1, 136, 179, 240, 957, -1, 136, 383, 240, -1, 136, 935, 1354, -1, 129, 238, -1, 144, 238, -1, 13, 993, 1354, 455, 119, 1345, -1, 13, 993, 1354, 136, 119, -1, 416, 997, 1355, -1, 91, 529, 912, 914, 919, -1, 866, -1, 178, -1, 1176, -1, -1, 71, -1, -1, 213, -1, -1, 428, -1, 50, -1, -1, 8, 1362, -1, 173, -1, -1, 529, -1, 152, -1, 18, -1, -1, 489, 465, 1003, 999, 1007, -1, 493, 465, 1003, -1, -1, 465, 489, 1003, 1000, 1007, -1, 465, 493, 1003, -1, 489, 531, 1002, -1, -1, 580, 82, 468, -1, -1, 1004, 1005, -1, 1006, -1, 1005, 604, 1006, -1, -1, 485, -1, 412, -1, -1, 554, 1008, -1, 635, -1, 1008, 604, 635, -1, -1, 60, 1387, 1010, 1216, 1011, -1, -1, 394, -1, 165, -1, -1, 418, 1027, 1387, 1013, 1216, 1014, -1, -1, 1015, -1, 1016, -1, 1016, 1015, -1, 394, -1, 165, -1, 559, -1, -1, 14, 1027, 1387, 1018, 1216, -1, 34, 1359, -1, -1, 61, 1387, 1021, 1216, 1022, -1, -1, 1023, -1, 1024, -1, 1024, 1023, -1, 394, -1, 169, -1, 301, -1, 165, -1, 57, -1, 180, 556, -1, -1, 351, 1027, 1387, 1026, 1216, -1, -1, 340, -1, 259, -1, -1, 416, 1387, 1029, 1031, -1, 416, 558, 659, 1030, -1, 1365, 529, 1365, -1, 1030, 604, 1365, 529, 1365, -1, 1032, -1, 1031, 604, 1032, -1, 1355, 529, 1355, -1, -1, 48, 217, 1034, 1035, 230, 1039, -1, 1036, -1, 1038, -1, 1037, -1, 1036, 604, 1037, -1, 1355, 1048, -1, 1355, 1046, 1048, -1, 1362, -1, 119, -1, -1, 258, 217, 227, 48, 1041, 1042, -1, 1045, -1, 1043, -1, 1044, -1, 1043, 604, 1044, -1, 1355, 1048, 1051, -1, 1355, 1046, 1048, 1051, -1, -1, 370, 808, 1047, 602, 977, 603, -1, -1, 1049, 1050, -1, -1, 935, 602, 1158, 603, -1, -1, 213, 246, -1, 1053, -1, 447, 1056, -1, 602, 1054, 603, 1441, -1, 447, 1058, -1, 602, 1054, 603, -1, 447, 1137, -1, 602, 1055, 603, -1, -1, 1058, 1057, 1438, -1, -1, -1, 1059, 1063, 1067, 1060, 1061, 1066, -1, 1179, 1185, -1, 1205, -1, 1062, -1, 1205, 1062, -1, 1062, 1205, -1, 182, 1119, 1168, 1173, 1170, 1179, 1185, 1196, -1, 182, 137, 1168, 1185, -1, -1, 1064, -1, 1064, 1065, -1, 1065, -1, 1455, -1, 482, -1, 480, -1, -1, 180, 555, -1, 262, 230, 457, 312, -1, 1067, 604, 1068, -1, 1068, -1, 597, -1, 1069, 1349, 1070, -1, 1069, 1073, 1070, 1071, -1, -1, -1, -1, 18, 1362, -1, 18, 1359, -1, 1362, -1, 1359, -1, -1, 602, 603, -1, 1073, 1077, 1073, -1, 1073, 589, 1073, -1, 1073, 1078, 1073, -1, 336, 1073, -1, 1074, 233, 535, -1, 1074, 233, 1079, 535, -1, 1074, 233, 168, -1, 1074, 233, 1079, 168, -1, 1074, 233, 551, -1, 1074, 233, 1079, 551, -1, 1074, -1, 1074, 233, 341, -1, 1074, 233, 1079, 341, -1, 1074, 153, 1075, -1, 1074, 1081, 1075, -1, 1074, 1081, 1082, 602, 1450, 603, -1, 1075, -1, 1076, 230, 602, 1450, 603, -1, 1076, 1079, 230, 602, 1450, 603, -1, 1076, 230, 602, 1073, 603, -1, 1076, 230, 602, 1073, 604, 1112, 603, -1, 1076, 1079, 230, 602, 1073, 603, -1, 1076, 1079, 230, 602, 1073, 604, 1112, 603, -1, 1076, 31, 1076, 16, 1075, -1, 1076, 1079, 31, 1076, 16, 1075, -1, 1076, 471, 252, 1076, -1, 1076, 252, 1083, 1172, -1, 1076, 1079, 252, 1083, 1172, -1, 1076, 407, 1076, -1, 1076, 1079, 407, 1076, -1, 1076, -1, 1076, 593, 1076, -1, 1076, 594, 1076, -1, 1076, 458, 1076, -1, 1076, 459, 1076, -1, 1076, 596, 1076, -1, 1076, 595, 1076, -1, 1076, 596, 226, 1073, 1162, -1, 1076, 595, 226, 1073, 1162, -1, 1076, 597, 1076, -1, 1076, 598, 1076, -1, 1076, 599, 1076, -1, 1076, 133, 1076, -1, 1076, 315, 1076, -1, 1076, 600, 1076, -1, 1083, -1, 358, -1, 355, -1, 16, -1, 15, -1, 336, -1, 335, -1, 605, -1, 335, -1, 152, -1, 186, -1, 196, -1, 244, -1, 271, -1, 329, -1, 12, -1, 17, -1, 1351, -1, 1084, -1, 1085, -1, 1088, -1, 1086, -1, 1083, 68, 1364, -1, 1346, -1, 1344, -1, 1100, -1, 1096, -1, 1083, 357, 1083, -1, 596, 1083, -1, 595, 1083, -1, 601, 1083, -1, 1080, 1083, -1, 602, 1450, 603, -1, 602, 1073, 603, -1, 602, 1073, 604, 1112, 603, -1, 439, 602, 1073, 604, 1112, 603, -1, 162, 602, 1450, 603, -1, 606, 1362, 1073, 607, -1, 289, 1113, 9, 602, 1076, 1090, 603, -1, 33, 1083, -1, 53, 602, 1073, 18, 1110, 603, -1, 52, 1115, 1117, 1116, 146, -1, 91, 602, 1073, 604, 1110, 603, -1, 91, 602, 1073, 561, 913, 603, -1, 119, 602, 1351, 603, -1, 565, 602, 1352, 603, -1, 226, 1073, 1162, 596, 1073, -1, 59, 602, 1112, 603, -1, 59, 602, 1112, 561, 913, 603, -1, 98, 1072, -1, 109, 602, 1073, 603, -1, 114, 602, 1073, 603, -1, 208, 602, 1073, 603, -1, 223, 602, 1073, 604, 1073, 604, 1073, 604, 1073, 603, -1, 226, 602, 1073, 604, 1073, 603, -1, 226, 602, 1073, 604, 1073, 604, 1112, 603, -1, 248, 602, 1073, 604, 1073, 603, -1, 309, 602, 1073, 603, -1, 316, 602, 1073, 603, -1, 433, 602, 1073, 604, 1073, 603, -1, 445, 602, 1073, 603, -1, 525, 602, 1073, 603, -1, 522, 602, 1073, 603, -1, 522, 602, 1073, 604, 1073, 603, -1, 534, 602, 1073, 603, -1, 534, 602, 245, 1073, 182, 1073, 603, -1, 534, 602, 530, 1073, 182, 1073, 603, -1, 534, 602, 44, 1073, 182, 1073, 603, -1, 534, 602, 245, 182, 1073, 603, -1, 534, 602, 530, 182, 1073, 603, -1, 534, 602, 44, 182, 1073, 603, -1, 534, 602, 1073, 182, 1073, 603, -1, 558, 602, 603, -1, 591, 602, 1073, 603, -1, 7, 602, 1073, 604, 1073, 603, -1, 7, 602, 1073, 604, 226, 1073, 1162, 603, -1, 97, 1072, -1, 101, 1072, -1, 101, 602, 1073, 603, -1, 107, 602, 1073, 604, 226, 1073, 1162, 603, -1, 108, 602, 1073, 604, 226, 1073, 1162, 603, -1, 167, 602, 1162, 182, 1073, 603, -1, 190, 602, 1164, 604, 1073, 603, -1, 337, 1072, -1, 337, 602, 1073, 603, -1, 378, 602, 1076, 230, 1073, 603, -1, 498, 602, 1073, 604, 1073, 603, -1, 498, 602, 1073, 604, 226, 1073, 1162, 603, -1, 502, 602, 1073, 604, 1073, 604, 1073, 603, -1, 502, 602, 1073, 604, 1073, 603, -1, 502, 602, 1073, 182, 1073, 180, 1073, 603, -1, 502, 602, 1073, 182, 1073, 603, -1, 508, 1072, -1, 508, 602, 1073, 603, -1, 523, 602, 1163, 604, 1073, 604, 1073, 603, -1, 524, 602, 1163, 604, 1073, 604, 1073, 603, -1, 562, 1072, -1, 564, 1072, -1, 563, 1072, -1, 20, 602, 1073, 603, -1, 58, 602, 1073, 603, -1, 66, 602, 1112, 603, -1, 69, 602, 1073, 603, -1, 102, 602, 603, -1, 212, 602, 1073, 604, 1073, 604, 1073, 603, -1, 305, 602, 1073, 603, -1, 315, 602, 1073, 604, 1073, 603, -1, 346, 602, 1073, 603, -1, 371, 602, 1073, 603, -1, 392, 602, 1073, 603, -1, 420, 602, 1073, 604, 1073, 603, -1, 421, 602, 1073, 604, 1073, 604, 1073, 603, -1, 536, 602, 1073, 604, 1073, 603, -1, 576, 602, 1073, 603, -1, 576, 602, 1073, 604, 1073, 603, -1, 1087, -1, 87, 602, 1073, 604, 1073, 603, -1, 188, 602, 1112, 603, -1, 256, 602, 1112, 603, -1, 317, 602, 1112, 603, -1, 318, 602, 1112, 603, -1, 319, 602, 1112, 603, -1, 375, 602, 1073, 604, 1073, 603, -1, 376, 602, 1112, 603, -1, -1, 1358, 602, 1089, 1093, 603, -1, 1362, 610, 1362, 602, 1111, 603, -1, 1091, 1092, -1, 230, 42, 312, -1, -1, 230, 325, 242, 312, -1, -1, 580, 393, 164, -1, -1, 1094, -1, 1095, -1, 1094, 604, 1095, -1, 1069, 1073, 1070, 1071, -1, 27, 602, 1108, 603, -1, 27, 602, 132, 1108, 603, -1, 36, 602, 1108, 603, -1, 37, 602, 1108, 603, -1, 39, 602, 1108, 603, -1, 92, 602, 1167, 597, 603, -1, 92, 602, 1108, 603, -1, -1, -1, 92, 602, 132, 1097, 1112, 1098, 603, -1, 311, 602, 1108, 603, -1, 311, 602, 132, 1108, 603, -1, 294, 602, 1108, 603, -1, 294, 602, 132, 1108, 603, -1, 492, 602, 1108, 603, -1, 570, 602, 1108, 603, -1, 491, 602, 1108, 603, -1, 572, 602, 1108, 603, -1, 503, 602, 1108, 603, -1, 503, 602, 132, 1108, 603, -1, -1, 195, 602, 1103, 1099, 1112, 1105, 1104, 603, -1, -1, 609, 1101, 1102, -1, 1364, 456, 1073, -1, 1364, -1, 609, 1377, 1364, 958, -1, -1, 132, -1, -1, 449, 1343, -1, -1, -1, 356, 46, 1106, 1107, -1, 1107, 604, 1350, 1183, -1, 1350, 1183, -1, -1, 1167, 1109, 1073, -1, 33, 905, -1, 59, 905, 924, -1, 327, 905, -1, 463, -1, 463, 228, -1, 553, -1, 553, 228, -1, 109, -1, 525, -1, 106, -1, 117, 899, -1, -1, 1112, -1, 1073, -1, 1112, 604, 1073, -1, 1114, -1, 602, 1114, 603, -1, 1351, -1, 1114, 604, 1351, -1, -1, 1073, -1, -1, 142, 1073, -1, 577, 1073, 521, 1073, -1, 1117, 577, 1073, 521, 1073, -1, 1131, -1, 1122, -1, 1121, -1, 1118, -1, 606, 1362, 1118, 607, -1, 1120, -1, 1121, 604, 1120, -1, 1118, 1130, 1118, -1, 1118, 495, 1131, -1, -1, 1118, 1130, 1118, 347, 1123, 1073, -1, -1, 1118, 495, 1131, 347, 1124, 1073, -1, -1, 1118, 1130, 1118, 561, 1125, 602, 1161, 603, -1, 1118, 325, 237, 1131, -1, -1, 1118, 248, 1147, 237, 1118, 347, 1126, 1073, -1, -1, 1118, 248, 1147, 237, 1131, 1127, 561, 602, 1161, 603, -1, 1118, 325, 248, 1147, 237, 1131, -1, -1, 1118, 433, 1147, 237, 1118, 347, 1128, 1073, -1, -1, 1118, 433, 1147, 237, 1131, 1129, 561, 602, 1161, 603, -1, 1118, 325, 433, 1147, 237, 1131, -1, 237, -1, 220, 237, -1, 95, 237, -1, -1, 1132, 1355, 1166, 1156, -1, 1146, 1145, 1142, -1, 602, 1145, 1133, 603, 1166, -1, 1140, 1442, -1, -1, -1, 1133, 549, 1446, 1134, 1447, 1135, 1442, -1, 1137, -1, -1, -1, 1138, 1453, 1067, 1139, 876, 1066, -1, -1, 1145, 1141, 1121, -1, -1, -1, 1143, 1063, 1067, 1144, 876, -1, -1, 447, -1, -1, 359, -1, -1, 180, 237, -1, 180, 356, 46, -1, 180, 194, 46, -1, 178, -1, 213, -1, -1, 1149, 935, 1148, 1151, 602, 1160, 603, -1, -1, 560, 935, 1148, 1152, 602, 1158, 603, -1, 1150, -1, 1153, 1150, -1, -1, -1, 1155, 1153, -1, -1, 1157, 1154, -1, -1, 1160, -1, 1362, -1, 383, -1, 1159, -1, 1160, 604, 1159, -1, 1362, -1, 1161, 604, 1362, -1, 1163, -1, 110, -1, 111, -1, 112, -1, 113, -1, 205, -1, 206, -1, 207, -1, 307, -1, 308, -1, 444, -1, 590, -1, 114, -1, 576, -1, 208, -1, 309, -1, 316, -1, 392, -1, 445, -1, 305, -1, 591, -1, 109, -1, 525, -1, 106, -1, 522, -1, -1, 18, -1, 152, -1, -1, 1165, 1362, -1, -1, 12, -1, -1, -1, 578, 1169, 1073, -1, -1, -1, 199, 1171, 1073, -1, 157, 1083, -1, -1, -1, 194, 46, 1174, 1175, -1, 1174, 604, 1350, 1183, -1, 1350, 1183, -1, -1, 581, -1, 582, -1, 356, 46, 1177, -1, 1177, 604, 1178, -1, 1178, -1, 1352, 1183, -1, -1, 1180, -1, -1, 356, 46, 1181, 1182, -1, 1182, 604, 1350, 1183, -1, 1350, 1183, -1, -1, 19, -1, 124, -1, -1, 1186, -1, -1, 1186, -1, 253, 1187, -1, 1188, -1, 1188, 604, 1188, -1, 1188, 345, 1188, -1, 1362, -1, 1344, -1, 540, -1, 267, -1, 342, -1, -1, 253, 1188, -1, 342, -1, 201, -1, 267, -1, 540, -1, 116, -1, 175, -1, 342, -1, 201, -1, 267, -1, 540, -1, 1194, -1, 342, -1, 540, -1, 267, -1, 116, -1, 175, -1, 342, -1, 540, -1, 267, -1, 1194, -1, 1195, -1, 116, -1, 175, -1, -1, -1, 385, 1362, 1197, 602, 1198, 603, -1, -1, 1199, -1, 1199, 604, 1200, -1, 1200, -1, 1069, 1073, 1070, -1, -1, 1202, 1203, -1, 1203, 604, 1204, -1, 1204, -1, 609, 1364, -1, 1364, -1, -1, 227, 1206, 1207, -1, -1, -1, 360, 1361, 1208, 915, 1209, 1327, 1330, -1, 138, 1361, -1, 1201, -1, -1, 135, 1211, 1112, -1, -1, 136, 1221, 1387, 1220, 1213, 1216, 995, -1, -1, 136, 217, 1362, 347, 1355, 1214, -1, 136, 102, 1220, 1362, -1, 136, 185, 1220, 1362, 610, 1362, -1, 136, 185, 1220, 1362, -1, 136, 385, 1220, 660, -1, 136, 558, 659, 1417, -1, -1, 136, 573, 1220, 1215, 1216, 995, -1, 136, 159, 1220, 660, -1, 136, 533, 1220, 660, -1, 136, 510, 783, 794, 795, -1, 136, 263, 194, 784, 794, 795, -1, 136, 453, 1220, 1364, -1, 1217, -1, 1216, 604, 1217, -1, 1355, -1, 1219, -1, 1218, 604, 1219, -1, 1356, -1, -1, 212, 162, -1, -1, 515, -1, -1, -1, 223, 1223, 1228, 994, 1230, 1224, 1232, 1248, -1, -1, -1, 421, 1226, 1229, 1230, 1227, 1232, -1, -1, 270, -1, 121, -1, 202, -1, 1257, -1, 121, -1, 227, 1231, -1, 1231, -1, 1217, -1, 1235, -1, 602, 603, 1235, -1, 602, 1234, 603, 1235, -1, -1, 455, 1233, 1239, -1, 1234, 604, 1348, -1, 1348, -1, 565, 1238, -1, 566, 1238, -1, -1, 854, 1236, 1438, -1, -1, 602, 854, 603, 1237, 1441, -1, 1238, 604, 1243, -1, 1243, -1, 1239, 604, 1240, -1, 1240, -1, 1352, 1241, 1247, -1, 152, -1, 456, -1, -1, 1241, -1, -1, 602, 1244, 1245, 603, -1, -1, 1246, -1, 1246, 604, 1247, -1, 1247, -1, 1073, -1, 119, -1, -1, -1, 347, 139, 1249, 240, 555, 1255, -1, -1, -1, 555, 1251, 1257, 994, 1119, 455, 1253, 1252, 1168, 1179, 1189, -1, 1253, 604, 1254, -1, 1254, -1, 1352, 1241, 1247, -1, 1255, 604, 1256, -1, 1256, -1, 1352, 1241, 1247, -1, -1, 270, -1, -1, 123, 1259, 1267, 1260, -1, -1, 182, 1355, 1261, 1168, 1179, 1189, -1, -1, 1264, 1262, 182, 1119, 1168, -1, -1, 182, 1218, 1263, 561, 1119, 1168, -1, 1265, -1, 1264, 604, 1265, -1, 1362, 1266, -1, 1362, 610, 1362, 1266, -1, -1, 610, 597, -1, -1, 1268, 1267, -1, 394, -1, 270, -1, 213, -1, -1, 536, 1271, 1270, 1217, -1, -1, 512, -1, -1, 1273, -1, 1274, -1, 1273, 604, 1274, -1, 93, -1, 302, -1, 41, 231, -1, 88, 507, -1, 364, 170, -1, 232, -1, 506, -1, 472, -1, 12, -1, -1, 180, 393, 342, -1, -1, 460, 1277, 1278, -1, 103, 1289, -1, 1285, 509, 1284, 1289, -1, 1285, 532, 1284, 1289, -1, 158, 1284, 1289, -1, 512, 490, 1284, 1289, -1, 350, 509, 1284, 1289, -1, 373, -1, 150, 873, 1281, -1, 150, 12, 1281, -1, 1285, 70, 1286, 1355, 1284, 1289, -1, 1282, 264, -1, 465, 204, -1, -1, 34, 158, 1287, 1288, 1279, 1184, -1, -1, 409, 158, 1287, 1288, 1280, 1184, -1, 937, 1286, 1355, 1284, 1168, -1, 1283, 149, -1, 23, -1, 90, -1, 384, -1, 92, 602, 597, 603, 575, -1, 92, 602, 597, 603, 155, -1, 575, 1184, -1, 155, 1184, -1, 389, -1, 388, 1272, 1275, 1184, -1, 1376, 490, 1289, -1, 1285, 387, -1, 1376, 569, 1289, -1, 912, 1289, -1, 69, 1289, -1, 193, -1, 193, 180, 1365, -1, 94, 102, 864, 1362, -1, 94, 512, 1355, -1, 94, 573, 1355, -1, 286, 490, -1, 465, 490, -1, 94, 385, 660, -1, 94, 185, 660, -1, 94, 533, 660, -1, 385, 490, 1289, -1, 185, 490, 1289, -1, 385, 67, 660, -1, 185, 67, 660, -1, 94, 159, 660, -1, 490, -1, 320, -1, 264, -1, 286, -1, 33, -1, -1, 494, -1, -1, 1286, 1362, -1, -1, 183, -1, 182, -1, 230, -1, -1, 230, 1359, -1, -1, 182, 1192, -1, -1, 252, 1359, -1, 578, 1073, -1, -1, 1293, 1355, 1291, 1295, -1, -1, 1293, 1294, 1292, 1052, -1, 124, -1, 125, -1, -1, 165, -1, 369, -1, -1, 1343, -1, 1362, -1, -1, 177, 1027, 1297, 1298, -1, -1, -1, 1387, 1299, 1304, 1300, 1301, -1, 1302, -1, -1, 580, 398, 262, -1, 1302, 604, 1303, -1, 1303, -1, 154, 264, -1, 150, 264, -1, 187, 264, -1, 466, 264, -1, 33, 264, -1, 408, 264, -1, 393, 48, -1, 204, -1, 384, -1, 264, -1, 490, -1, 465, -1, 286, -1, 126, -1, 426, -1, -1, 1216, -1, -1, 424, 1306, 1307, -1, 1307, 604, 1308, -1, 1308, -1, -1, 465, 1309, 1310, -1, 286, -1, 393, 48, -1, -1, 12, -1, -1, 391, 1312, 1313, -1, 1282, 264, 1314, -1, 529, 1359, -1, 29, 1073, -1, 241, 1316, 1073, -1, -1, 81, -1, 393, -1, 560, 1362, -1, -1, -1, -1, -1, 258, 1323, 1319, 1325, 1324, 218, 1361, 1320, 1326, 227, 512, 1355, 1321, 915, 1322, 1333, 1327, 1330, 1334, 1336, 1339, -1, 105, -1, 588, -1, -1, 259, -1, -1, 79, -1, 270, -1, -1, 421, -1, 213, -1, -1, 70, 1328, -1, 1328, 1329, -1, 1329, -1, 517, 46, 1343, -1, 354, 145, 46, 1343, -1, 145, 46, 1343, -1, 156, 46, 1343, -1, -1, 255, 1331, -1, 1331, 1332, -1, 1332, -1, 517, 46, 1343, -1, 487, 46, 1343, -1, -1, 437, 210, 46, 1343, -1, -1, 213, 342, 1335, -1, 255, -1, 437, -1, -1, 602, 1337, 603, -1, 602, 603, -1, 1337, 604, 1338, -1, 1338, -1, 1352, -1, 609, 1364, -1, -1, 455, 1340, -1, 1340, 604, 1341, -1, 1341, -1, 1352, 1241, 1069, 1247, 1070, -1, 518, -1, 326, -1, 543, 518, -1, 1342, 1360, -1, 1360, -1, 201, -1, 35, -1, 365, -1, 1346, -1, 596, 1347, -1, 595, 1347, -1, 1342, -1, 1347, -1, 341, -1, 168, -1, 535, -1, 201, -1, 35, -1, 543, 201, -1, 543, 35, -1, 109, 1342, -1, 525, 1342, -1, 522, 1342, -1, 342, -1, 267, -1, 540, -1, 116, -1, 175, -1, 1352, -1, 1349, -1, 1362, 610, 597, -1, 1362, 610, 1362, 610, 597, -1, 1073, -1, 1362, -1, 1353, -1, 1362, -1, 1353, -1, 1362, 610, 1362, -1, 610, 1362, 610, 1362, -1, 1362, 610, 1362, 610, 1362, -1, 1362, -1, 1362, 610, 1362, 610, 1362, -1, 1362, 610, 1362, -1, 610, 1362, -1, 1362, -1, 1362, 610, 1362, -1, 610, 1362, -1, 1362, 1266, -1, 1362, 610, 1362, 1266, -1, 1362, -1, 209, -1, 211, -1, 518, -1, 518, -1, 518, -1, 1358, -1, 1366, -1, 1358, -1, 1367, -1, 1362, -1, 1359, -1, 251, -1, 1364, -1, 1364, 609, 1364, -1, 98, 1072, -1, 1367, -1, 20, -1, 28, -1, 30, -1, 47, -1, 48, -1, 58, -1, 60, -1, 65, -1, 73, -1, 75, -1, 87, -1, 115, -1, 135, -1, 146, -1, 161, -1, 177, -1, 197, -1, 200, -1, 203, -1, 225, -1, 242, -1, 338, -1, 350, -1, 352, -1, 362, -1, 366, -1, 370, -1, 377, -1, 380, -1, 415, -1, 418, -1, 424, -1, 427, -1, 434, -1, 441, -1, 446, -1, 453, -1, 463, -1, 469, -1, 465, -1, 470, -1, 489, -1, 493, -1, 536, -1, 547, -1, 548, -1, 584, -1, 587, -1, 556, -1, 5, -1, 7, -1, 8, -1, 9, -1, 10, -1, 11, -1, 17, -1, 22, -1, 23, -1, 25, -1, 24, -1, 26, -1, 27, -1, 34, -1, 38, -1, 41, -1, 43, -1, 42, -1, 45, -1, 51, -1, 54, -1, 55, -1, 57, -1, 62, -1, 64, -1, 63, -1, 66, -1, 67, -1, 69, -1, 72, -1, 70, -1, 74, -1, 76, -1, 77, -1, 78, -1, 79, -1, 81, -1, 82, -1, 84, -1, 86, -1, 85, -1, 88, -1, 90, -1, 93, -1, 96, -1, 100, -1, 105, -1, 104, -1, 106, -1, 109, -1, 114, -1, 120, -1, 122, -1, 126, -1, 128, -1, 129, -1, 130, -1, 131, -1, 138, -1, 139, -1, 140, -1, 147, -1, 151, -1, 150, -1, 149, -1, 154, -1, 155, -1, 157, -1, 159, -1, 158, -1, 160, -1, 164, -1, 165, -1, 166, -1, 170, -1, 169, -1, 181, -1, 144, -1, 183, -1, 172, -1, 173, -1, 174, -1, 187, -1, 189, -1, 188, -1, 190, -1, 193, -1, 191, -1, 198, -1, 204, -1, 208, -1, 210, -1, 214, -1, 229, -1, 215, -1, 216, -1, 219, -1, 231, -1, 232, -1, 234, -1, 235, -1, 224, -1, 239, -1, 243, -1, 246, -1, 249, -1, 250, -1, 256, -1, 257, -1, 259, -1, 261, -1, 263, -1, 264, -1, 292, -1, 286, -1, 288, -1, 273, -1, 277, -1, 274, -1, 275, -1, 287, -1, 276, -1, 278, -1, 272, -1, 284, -1, 280, -1, 279, -1, 281, -1, 282, -1, 283, -1, 290, -1, 291, -1, 293, -1, 295, -1, 296, -1, 301, -1, 302, -1, 303, -1, 304, -1, 305, -1, 306, -1, 309, -1, 310, -1, 314, -1, 312, -1, 316, -1, 317, -1, 318, -1, 319, -1, 320, -1, 321, -1, 323, -1, 322, -1, 324, -1, 327, -1, 328, -1, 332, -1, 331, -1, 339, -1, 333, -1, 334, -1, 344, -1, 345, -1, 346, -1, 348, -1, 349, -1, 363, -1, 364, -1, 367, -1, 368, -1, 369, -1, 371, -1, 372, -1, 374, -1, 373, -1, 375, -1, 376, -1, 381, -1, 382, -1, 384, -1, 386, -1, 387, -1, 388, -1, 389, -1, 390, -1, 392, -1, 393, -1, 394, -1, 397, -1, 401, -1, 402, -1, 404, -1, 403, -1, 405, -1, 408, -1, 409, -1, 410, -1, 411, -1, 412, -1, 414, -1, 417, -1, 419, -1, 422, -1, 426, -1, 429, -1, 430, -1, 435, -1, 436, -1, 437, -1, 438, -1, 439, -1, 440, -1, 442, -1, 443, -1, 445, -1, 451, -1, 450, -1, 452, -1, 464, -1, 457, -1, 461, -1, 466, -1, 468, -1, 471, -1, 472, -1, 480, -1, 479, -1, 482, -1, 485, -1, 488, -1, 490, -1, 494, -1, 496, -1, 497, -1, 498, -1, 499, -1, 501, -1, 500, -1, 504, -1, 505, -1, 506, -1, 507, -1, 514, -1, 509, -1, 513, -1, 510, -1, 515, -1, 516, -1, 519, -1, 520, -1, 531, -1, 532, -1, 522, -1, 523, -1, 524, -1, 525, -1, 537, -1, 538, -1, 539, -1, 185, -1, 541, -1, 542, -1, 545, -1, 544, -1, 551, -1, 554, -1, 558, -1, 559, -1, 569, -1, 573, -1, 566, -1, 575, -1, 574, -1, 576, -1, 583, -1, 586, -1, 588, -1, 591, -1, -1, 455, 1370, 1369, 1371, -1, -1, 353, -1, 1372, -1, 1371, 604, 1372, -1, -1, 1373, 1378, -1, 1375, -1, 191, -1, 259, -1, 452, -1, -1, 348, -1, -1, 191, -1, 259, -1, 452, -1, -1, 191, 610, -1, 259, 610, -1, 452, 610, -1, 1379, -1, 1375, 1380, -1, 1374, 1381, 1241, 1384, -1, 1374, 531, 234, 250, 1382, -1, 609, 1364, 1241, 1073, -1, 609, 609, 1377, 1381, 1241, 1384, -1, 912, 917, -1, 322, 1241, 1073, -1, 322, 914, 919, -1, 371, 1241, 1383, -1, 371, 180, 1365, 1241, 1383, -1, 1362, -1, 1362, 610, 1362, -1, 119, 610, 1362, -1, 398, 541, -1, 398, 74, -1, 419, 398, -1, 450, -1, 518, -1, 371, 602, 518, 603, -1, 346, 602, 518, 603, -1, 1073, -1, 119, -1, 347, -1, 12, -1, 33, -1, -1, 262, 1387, 1386, 1388, -1, 512, -1, 509, -1, 1389, -1, 1388, 604, 1389, -1, 1355, 1166, 1390, -1, 398, -1, 585, -1, 270, 585, -1, 398, 259, -1, -1, 552, 1392, 1387, -1, 197, 1355, 350, 1166, -1, 197, 1357, 65, -1, -1, 197, 1357, 398, 1394, 1395, 1168, 1185, -1, 1396, -1, 1362, 1397, -1, 173, -1, 332, -1, 173, -1, 332, -1, 382, -1, 243, -1, -1, 1399, 1398, 602, 1246, 603, -1, 152, -1, 186, -1, 244, -1, 196, -1, 271, -1, 432, 659, 1401, -1, 1405, 347, 1404, 1416, 182, 1418, -1, 1405, 347, 185, 1416, 182, 1418, -1, 1405, 347, 385, 1416, 182, 1418, -1, 12, 1406, 604, 192, 353, 182, 1418, -1, 390, 347, 1365, 182, 1418, -1, 192, 659, 1403, -1, 1405, 347, 1404, 1416, 529, 1418, 1423, 1424, -1, 1405, 347, 185, 1416, 529, 1418, 1423, 1424, -1, 1405, 347, 385, 1416, 529, 1418, 1423, 1424, -1, 390, 347, 1365, 529, 1418, 1425, -1, -1, 512, -1, 1407, -1, 12, 1406, -1, -1, 384, -1, 1408, -1, 1407, 604, 1408, -1, -1, 447, 1409, 1420, -1, -1, 223, 1410, 1420, -1, -1, 555, 1411, 1420, -1, -1, 406, 1412, 1420, -1, 123, -1, 557, -1, 217, -1, 13, -1, 94, -1, 136, -1, 161, -1, 414, -1, 461, -1, 386, -1, 172, -1, 192, 353, -1, 460, 103, -1, 504, -1, 94, 515, 509, -1, 262, 509, -1, 422, 465, -1, 422, 64, -1, 94, 573, -1, 460, 573, -1, 94, 436, -1, 13, 436, -1, 94, 558, -1, 159, -1, 533, -1, 94, 510, -1, -1, 16, -1, 1415, 1413, 1414, -1, 1415, -1, 499, 518, -1, 235, 518, -1, 62, 518, -1, 597, -1, 1362, 610, 597, -1, 597, 610, 597, -1, 1355, -1, 1365, -1, 1417, 604, 1365, -1, 1419, -1, 1418, 604, 1419, -1, 1365, 210, 46, 518, -1, 1365, 210, 46, 371, 518, -1, 1365, 210, 580, 1364, -1, 1365, 210, 580, 1364, 18, 1359, -1, 1365, -1, -1, 602, 1421, 603, -1, 1421, 604, 1422, -1, 1422, -1, 1362, -1, -1, 423, 1414, -1, 423, 486, -1, 423, 586, -1, 423, 334, -1, -1, 580, 1426, -1, -1, 580, 192, 353, -1, 1426, 1427, -1, 1427, -1, 192, 353, -1, 291, 1190, -1, 295, 1190, -1, 290, 1190, -1, 296, 1190, -1, -1, 30, 1429, 1430, -1, -1, 583, -1, -1, 16, 338, 55, -1, 16, 55, -1, -1, 413, -1, 338, 413, -1, -1, 441, -1, 75, 1430, 1431, 1432, -1, 434, 1430, 1431, 1432, -1, 434, 1430, 529, 1433, 1362, -1, 441, 1362, -1, 413, 441, 1362, -1, -1, 1439, -1, -1, 549, 1446, 1440, 1053, -1, -1, 1439, -1, 1443, -1, -1, 1443, -1, -1, 1444, 1445, -1, 1180, 1184, -1, 1186, -1, -1, 132, -1, 12, -1, 447, 1136, -1, 602, 1055, 603, -1, 1447, 1442, -1, -1, 1448, 549, 1446, 1449, 1447, 1442, -1, 1451, 1448, 1452, -1, -1, -1, -1, 1454, -1, 1454, 1455, -1, 1455, -1, 495, -1, 202, -1, 132, -1, 483, -1, 478, -1, 479, -1, 481, -1, 12, -1, 1461, 1457, -1, 1460, 1458, -1, 1462, 1459, 1466, -1, 1466, -1, 1474, -1, 1485, -1, 1479, -1, 646, -1, 1466, -1, 1474, -1, 1485, -1, 1479, -1, 1478, -1, 646, -1, 1460, -1, 1461, -1, -1, 120, 152, 1365, -1, 1463, -1, 1463, 1464, -1, 1464, -1, 358, 421, -1, 11, 152, 542, -1, 11, 152, 303, -1, 11, 152, 516, -1, -1, 484, 446, 120, -1, 484, 446, 229, -1, -1, 1465, 573, 1355, 1467, 1468, 18, 1470, -1, -1, 602, 1469, 603, -1, 1362, -1, 1469, 604, 1362, -1, -1, 1471, 1472, 1473, -1, 447, 1056, -1, 602, 1054, 603, 1441, -1, -1, 580, 61, 353, -1, 580, 51, 61, 353, -1, 580, 259, 61, 353, -1, -1, -1, -1, 533, 1069, 660, 754, 755, 347, 1069, 1475, 1355, 180, 1069, 1476, 141, 439, 1477, 704, -1, 10, 1069, 185, 1362, 430, 877, 470, 1359, -1, 1069, 185, 1362, 430, 877, 470, 1359, -1, -1, -1, -1, -1, -1, 1069, 185, 660, 602, 1480, 671, 603, 1481, 430, 1482, 910, 1483, 662, 1484, 704, -1, -1, -1, -1, -1, 385, 1069, 660, 1486, 602, 1487, 675, 603, 1488, 662, 1489, 704, -1, 587, 1492, 1491, 1493, -1, 587, 146, 1491, 1495, -1, 587, 380, 1491, -1, 587, 75, 1491, 1494, -1, 587, 434, 1491, -1, 587, 402, -1, 1343, -1, 1343, 604, 1343, -1, 1343, 604, 1343, 604, 1190, -1, 30, -1, 489, -1, -1, 237, -1, 429, -1, -1, 349, 372, -1, -1, -1, 505, 1496, 1497, -1, -1, 180, 306, -1, 225, 374, 1362, 470, 1359, -1, 548, 374, 1362, -1 }; /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { 0, 1660, 1660, 1673, 1672, 1697, 1704, 1706, 1710, 1711, 1716, 1717, 1718, 1719, 1720, 1721, 1722, 1723, 1724, 1725, 1726, 1727, 1728, 1729, 1730, 1731, 1732, 1733, 1734, 1735, 1736, 1737, 1738, 1739, 1740, 1741, 1742, 1743, 1744, 1745, 1746, 1747, 1748, 1749, 1750, 1751, 1752, 1753, 1754, 1755, 1756, 1757, 1758, 1759, 1760, 1761, 1762, 1763, 1764, 1765, 1766, 1770, 1780, 1781, 1785, 1795, 1802, 1813, 1812, 1823, 1825, 1829, 1830, 1834, 1847, 1846, 1866, 1865, 1879, 1880, 1884, 1888, 1892, 1896, 1900, 1904, 1909, 1913, 1917, 1921, 1925, 1929, 1935, 1966, 1971, 1974, 1976, 1977, 1981, 1995, 1999, 2015, 2019, 2031, 2030, 2072, 2071, 2083, 2081, 2094, 2092, 2104, 2103, 2116, 2115, 2123, 2127, 2131, 2135, 2142, 2155, 2156, 2160, 2164, 2168, 2172, 2176, 2180, 2184, 2192, 2191, 2223, 2222, 2229, 2236, 2237, 2243, 2249, 2259, 2265, 2271, 2273, 2280, 2281, 2285, 2291, 2300, 2301, 2309, 2309, 2367, 2368, 2369, 2370, 2371, 2372, 2373, 2374, 2375, 2376, 2377, 2378, 2379, 2384, 2398, 2414, 2433, 2434, 2438, 2439, 2444, 2446, 2448, 2450, 2452, 2454, 2456, 2462, 2463, 2464, 2468, 2472, 2480, 2479, 2492, 2494, 2497, 2499, 2503, 2507, 2514, 2516, 2520, 2521, 2526, 2545, 2571, 2573, 2577, 2578, 2582, 2608, 2609, 2610, 2611, 2615, 2616, 2620, 2621, 2626, 2629, 2656, 2655, 2720, 2736, 2735, 2789, 2815, 2815, 2838, 2839, 2844, 2846, 2851, 2874, 2887, 2891, 2908, 2909, 2913, 2917, 2926, 2933, 2940, 2950, 2965, 2988, 2994, 2995, 3001, 3004, 3008, 3016, 3036, 3038, 3056, 3062, 3064, 3066, 3068, 3070, 3072, 3074, 3076, 3078, 3080, 3082, 3084, 3089, 3104, 3119, 3137, 3138, 3142, 3143, 3144, 3145, 3146, 3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3159, 3158, 3165, 3165, 3222, 3221, 3250, 3250, 3264, 3317, 3360, 3381, 3380, 3402, 3421, 3423, 3424, 3428, 3448, 3471, 3473, 3489, 3471, 3508, 3510, 3511, 3515, 3516, 3521, 3527, 3520, 3548, 3547, 3563, 3564, 3568, 3569, 3574, 3578, 3573, 3599, 3603, 3598, 3622, 3632, 3637, 3636, 3672, 3673, 3678, 3677, 3710, 3710, 3725, 3724, 3760, 3772, 3774, 3771, 3801, 3800, 3821, 3823, 3828, 3830, 3832, 3849, 3854, 3860, 3867, 3868, 3876, 3882, 3891, 3897, 3903, 3904, 3908, 3908, 3913, 3914, 3915, 3919, 3920, 3921, 3925, 3929, 3930, 3931, 3935, 3936, 3937, 3938, 3939, 3940, 3941, 3942, 3946, 3950, 3951, 3952, 3956, 3957, 3958, 3959, 3960, 3964, 3968, 3969, 3970, 3974, 3975, 3976, 3977, 3978, 3979, 3980, 3984, 3988, 3989, 3990, 3994, 3995, 3996, 4001, 4009, 4017, 4025, 4037, 4049, 4054, 4059, 4067, 4075, 4083, 4091, 4099, 4107, 4115, 4128, 4141, 4154, 4156, 4160, 4165, 4178, 4179, 4230, 4231, 4234, 4249, 4267, 4272, 4270, 4277, 4279, 4278, 4282, 4281, 4287, 4324, 4325, 4330, 4329, 4348, 4367, 4366, 4383, 4387, 4395, 4394, 4397, 4399, 4401, 4403, 4408, 4409, 4415, 4416, 4433, 4434, 4438, 4439, 4443, 4462, 4472, 4483, 4492, 4493, 4509, 4511, 4510, 4515, 4513, 4524, 4525, 4529, 4547, 4563, 4564, 4580, 4595, 4617, 4618, 4623, 4622, 4646, 4656, 4678, 4677, 4695, 4694, 4714, 4736, 4740, 4769, 4781, 4782, 4787, 4798, 4786, 4823, 4824, 4828, 4841, 4862, 4875, 4901, 4902, 4907, 4906, 4943, 4948, 4949, 4953, 4954, 4958, 4960, 4966, 4968, 4970, 4972, 4974, 4976, 4986, 5001, 4985, 5015, 5016, 5020, 5021, 5025, 5026, 5030, 5031, 5035, 5036, 5040, 5041, 5045, 5049, 5050, 5053, 5055, 5059, 5060, 5064, 5065, 5066, 5070, 5075, 5080, 5085, 5090, 5095, 5100, 5105, 5120, 5126, 5131, 5136, 5141, 5147, 5146, 5172, 5173, 5174, 5179, 5184, 5189, 5191, 5193, 5195, 5201, 5209, 5227, 5244, 5267, 5281, 5282, 5283, 5284, 5285, 5286, 5290, 5291, 5292, 5296, 5297, 5301, 5302, 5303, 5304, 5309, 5316, 5317, 5321, 5322, 5326, 5327, 5334, 5339, 5345, 5351, 5357, 5375, 5381, 5383, 5387, 5391, 5392, 5396, 5401, 5400, 5423, 5424, 5425, 5426, 5431, 5435, 5440, 5445, 5449, 5454, 5459, 5465, 5470, 5476, 5480, 5485, 5490, 5508, 5510, 5512, 5525, 5527, 5532, 5537, 5549, 5554, 5559, 5564, 5566, 5568, 5570, 5572, 5574, 5576, 5578, 5581, 5580, 5585, 5584, 5588, 5590, 5599, 5600, 5601, 5606, 5607, 5608, 5609, 5610, 5614, 5618, 5619, 5623, 5624, 5628, 5629, 5630, 5631, 5632, 5636, 5637, 5638, 5639, 5640, 5644, 5649, 5651, 5657, 5658, 5660, 5665, 5674, 5675, 5679, 5680, 5684, 5685, 5686, 5690, 5691, 5692, 5693, 5696, 5697, 5701, 5702, 5706, 5707, 5711, 5712, 5716, 5717, 5718, 5719, 5726, 5727, 5733, 5739, 5745, 5751, 5752, 5769, 5790, 5796, 5801, 5802, 5806, 5814, 5818, 5819, 5823, 5824, 5828, 5837, 5841, 5842, 5846, 5857, 5858, 5862, 5863, 5867, 5868, 5873, 5874, 5878, 5885, 5894, 5902, 5913, 5914, 5915, 5916, 5917, 5918, 5923, 5931, 5932, 5936, 5938, 5942, 5954, 5955, 5959, 5966, 5979, 5980, 5982, 5984, 5990, 5995, 6001, 6007, 6014, 6024, 6025, 6026, 6027, 6028, 6032, 6036, 6037, 6041, 6042, 6046, 6047, 6051, 6052, 6053, 6057, 6058, 6062, 6066, 6079, 6091, 6092, 6096, 6097, 6101, 6102, 6106, 6107, 6111, 6112, 6116, 6117, 6121, 6122, 6126, 6127, 6131, 6133, 6137, 6138, 6142, 6146, 6147, 6160, 6161, 6162, 6166, 6167, 6171, 6177, 6191, 6192, 6196, 6197, 6201, 6202, 6210, 6209, 6248, 6247, 6261, 6273, 6272, 6291, 6290, 6309, 6308, 6327, 6321, 6341, 6340, 6373, 6378, 6383, 6388, 6393, 6403, 6404, 6405, 6406, 6410, 6411, 6423, 6424, 6428, 6429, 6432, 6434, 6435, 6436, 6438, 6440, 6441, 6450, 6451, 6455, 6464, 6462, 6476, 6490, 6489, 6503, 6501, 6515, 6522, 6533, 6537, 6544, 6548, 6553, 6552, 6568, 6570, 6575, 6583, 6582, 6598, 6602, 6601, 6613, 6614, 6618, 6633, 6634, 6638, 6647, 6651, 6656, 6661, 6660, 6671, 6680, 6670, 6695, 6704, 6708, 6717, 6726, 6732, 6738, 6747, 6756, 6775, 6796, 6806, 6810, 6818, 6819, 6823, 6824, 6828, 6829, 6830, 6834, 6835, 6836, 6840, 6841, 6842, 6843, 6852, 6851, 6862, 6870, 6869, 6879, 6888, 6897, 6898, 6905, 6905, 6911, 6912, 6916, 6917, 6918, 6922, 6923, 6939, 6940, 6945, 6944, 6956, 6957, 6958, 6963, 6962, 6984, 6985, 6989, 6990, 6994, 6995, 6996, 7001, 7000, 7022, 7031, 7030, 7057, 7058, 7062, 7063, 7067, 7068, 7069, 7070, 7071, 7072, 7077, 7076, 7098, 7099, 7100, 7105, 7104, 7110, 7117, 7122, 7130, 7131, 7135, 7149, 7148, 7161, 7162, 7166, 7167, 7171, 7181, 7191, 7192, 7197, 7196, 7207, 7208, 7212, 7213, 7217, 7227, 7238, 7237, 7245, 7245, 7256, 7257, 7262, 7263, 7272, 7281, 7282, 7286, 7291, 7296, 7301, 7306, 7305, 7325, 7333, 7325, 7340, 7341, 7342, 7343, 7344, 7348, 7355, 7362, 7364, 7375, 7376, 7380, 7381, 7409, 7439, 7441, 7447, 7457, 7458, 7459, 7474, 7481, 7507, 7513, 7519, 7520, 7521, 7522, 7523, 7527, 7528, 7533, 7584, 7591, 7634, 7640, 7646, 7652, 7658, 7664, 7670, 7676, 7680, 7686, 7692, 7698, 7704, 7710, 7714, 7720, 7730, 7736, 7744, 7750, 7760, 7766, 7775, 7785, 7791, 7801, 7807, 7816, 7820, 7826, 7832, 7838, 7844, 7850, 7856, 7862, 7868, 7874, 7880, 7886, 7892, 7898, 7904, 7908, 7909, 7913, 7914, 7918, 7919, 7923, 7924, 7928, 7929, 7930, 7931, 7932, 7933, 7937, 7938, 7942, 7943, 7944, 7945, 7946, 7947, 7959, 7960, 7961, 7962, 7963, 7969, 7973, 7979, 7985, 7991, 7997, 7999, 8006, 8013, 8019, 8021, 8030, 8037, 8045, 8051, 8058, 8064, 8078, 8085, 8101, 8107, 8113, 8121, 8127, 8133, 8139, 8145, 8160, 8172, 8178, 8184, 8190, 8196, 8202, 8208, 8214, 8220, 8226, 8232, 8238, 8244, 8250, 8256, 8262, 8268, 8276, 8297, 8304, 8310, 8317, 8324, 8331, 8338, 8345, 8351, 8357, 8364, 8371, 8377, 8384, 8390, 8396, 8402, 8408, 8414, 8432, 8442, 8448, 8454, 8461, 8468, 8483, 8489, 8495, 8501, 8507, 8514, 8520, 8526, 8532, 8538, 8550, 8556, 8562, 8568, 8574, 8586, 8592, 8608, 8614, 8621, 8628, 8635, 8642, 8649, 8653, 8673, 8672, 8745, 8787, 8789, 8794, 8795, 8799, 8800, 8804, 8805, 8809, 8816, 8824, 8850, 8856, 8862, 8868, 8874, 8880, 8889, 8896, 8898, 8895, 8905, 8916, 8922, 8928, 8934, 8940, 8946, 8952, 8958, 8964, 8971, 8970, 8990, 8989, 9004, 9014, 9022, 9038, 9039, 9044, 9049, 9052, 9055, 9054, 9071, 9073, 9079, 9078, 9095, 9097, 9099, 9101, 9103, 9105, 9107, 9109, 9111, 9113, 9115, 9120, 9121, 9125, 9132, 9140, 9141, 9145, 9152, 9160, 9161, 9165, 9166, 9170, 9178, 9189, 9190, 9199, 9210, 9211, 9217, 9218, 9238, 9240, 9244, 9242, 9259, 9257, 9275, 9273, 9280, 9289, 9287, 9305, 9304, 9314, 9325, 9323, 9342, 9341, 9352, 9363, 9364, 9365, 9377, 9377, 9391, 9431, 9503, 9514, 9519, 9511, 9538, 9558, 9566, 9558, 9575, 9574, 9597, 9614, 9597, 9621, 9625, 9651, 9652, 9657, 9660, 9661, 9662, 9666, 9667, 9672, 9671, 9677, 9676, 9684, 9685, 9688, 9690, 9690, 9694, 9694, 9699, 9700, 9704, 9706, 9711, 9712, 9716, 9727, 9740, 9741, 9742, 9743, 9744, 9745, 9746, 9747, 9748, 9749, 9750, 9751, 9755, 9756, 9757, 9758, 9759, 9760, 9761, 9762, 9763, 9767, 9768, 9769, 9770, 9773, 9775, 9776, 9780, 9781, 9789, 9791, 9795, 9797, 9796, 9810, 9813, 9812, 9827, 9833, 9848, 9850, 9854, 9856, 9861, 9862, 9882, 9907, 9911, 9912, 9916, 9929, 9931, 9936, 9935, 9970, 9972, 9977, 9978, 9979, 9984, 9990, 9994, 9995, 9999, 10006, 10013, 10020, 10030, 10064, 10068, 10074, 10080, 10090, 10094, 10104, 10105, 10106, 10107, 10108, 10109, 10113, 10114, 10115, 10116, 10117, 10121, 10122, 10123, 10124, 10125, 10129, 10130, 10131, 10132, 10136, 10141, 10142, 10145, 10148, 10147, 10178, 10179, 10183, 10184, 10188, 10200, 10200, 10210, 10211, 10215, 10234, 10267, 10266, 10279, 10287, 10278, 10289, 10301, 10313, 10312, 10330, 10329, 10340, 10340, 10356, 10363, 10386, 10407, 10419, 10424, 10423, 10433, 10439, 10446, 10451, 10456, 10466, 10467, 10471, 10482, 10483, 10487, 10498, 10499, 10503, 10504, 10512, 10520, 10511, 10530, 10537, 10529, 10547, 10559, 10560, 10568, 10572, 10573, 10584, 10585, 10589, 10598, 10599, 10600, 10602, 10601, 10612, 10613, 10617, 10618, 10620, 10619, 10623, 10622, 10628, 10629, 10633, 10634, 10638, 10648, 10649, 10653, 10654, 10659, 10658, 10672, 10673, 10677, 10682, 10690, 10691, 10699, 10701, 10701, 10709, 10717, 10708, 10739, 10740, 10744, 10752, 10753, 10757, 10767, 10768, 10775, 10774, 10790, 10789, 10801, 10800, 10812, 10811, 10825, 10826, 10830, 10843, 10859, 10860, 10864, 10865, 10869, 10870, 10871, 10876, 10875, 10897, 10899, 10902, 10904, 10907, 10908, 10911, 10915, 10919, 10923, 10927, 10931, 10935, 10939, 10943, 10951, 10954, 10964, 10963, 10978, 10985, 10993, 11001, 11009, 11017, 11025, 11032, 11034, 11036, 11045, 11049, 11054, 11053, 11059, 11058, 11063, 11072, 11079, 11088, 11097, 11102, 11104, 11106, 11108, 11110, 11112, 11119, 11127, 11129, 11137, 11144, 11151, 11161, 11168, 11174, 11183, 11191, 11195, 11199, 11206, 11213, 11219, 11226, 11233, 11238, 11243, 11251, 11253, 11255, 11260, 11261, 11264, 11266, 11270, 11271, 11275, 11276, 11280, 11281, 11285, 11286, 11290, 11291, 11294, 11296, 11303, 11314, 11313, 11329, 11328, 11338, 11339, 11343, 11344, 11345, 11349, 11350, 11351, 11366, 11365, 11378, 11387, 11377, 11389, 11393, 11394, 11408, 11409, 11414, 11416, 11418, 11420, 11422, 11424, 11426, 11428, 11430, 11432, 11434, 11436, 11441, 11443, 11445, 11450, 11451, 11456, 11455, 11465, 11466, 11470, 11470, 11472, 11473, 11477, 11478, 11483, 11482, 11493, 11497, 11501, 11513, 11523, 11524, 11525, 11531, 11543, 11555, 11565, 11575, 11542, 11583, 11584, 11588, 11589, 11593, 11594, 11606, 11610, 11611, 11612, 11615, 11617, 11621, 11622, 11626, 11631, 11638, 11643, 11650, 11652, 11656, 11657, 11661, 11666, 11674, 11675, 11678, 11680, 11688, 11690, 11694, 11695, 11696, 11700, 11702, 11707, 11708, 11717, 11718, 11722, 11723, 11727, 11747, 11771, 11783, 11794, 11813, 11821, 11833, 11848, 11869, 11870, 11871, 11879, 11880, 11881, 11888, 11894, 11900, 11906, 11912, 11941, 11969, 11970, 11971, 11975, 11985, 11995, 12001, 12010, 12025, 12026, 12030, 12039, 12055, 12059, 12106, 12110, 12128, 12132, 12211, 12236, 12267, 12268, 12284, 12294, 12298, 12304, 12310, 12320, 12326, 12335, 12345, 12346, 12376, 12392, 12408, 12425, 12426, 12437, 12438, 12449, 12450, 12451, 12455, 12472, 12494, 12509, 12510, 12511, 12512, 12513, 12514, 12515, 12516, 12517, 12518, 12519, 12520, 12521, 12522, 12523, 12524, 12525, 12526, 12527, 12528, 12529, 12530, 12531, 12532, 12533, 12534, 12535, 12536, 12537, 12538, 12539, 12540, 12541, 12542, 12543, 12544, 12545, 12546, 12547, 12548, 12549, 12550, 12551, 12552, 12553, 12554, 12555, 12556, 12557, 12558, 12568, 12569, 12570, 12571, 12572, 12573, 12574, 12575, 12576, 12577, 12578, 12579, 12580, 12581, 12582, 12583, 12584, 12585, 12586, 12587, 12588, 12589, 12590, 12591, 12592, 12593, 12594, 12595, 12596, 12597, 12598, 12599, 12600, 12601, 12602, 12603, 12604, 12605, 12606, 12607, 12608, 12609, 12610, 12611, 12612, 12613, 12614, 12615, 12616, 12617, 12618, 12619, 12620, 12621, 12622, 12623, 12624, 12625, 12626, 12627, 12628, 12629, 12630, 12631, 12632, 12633, 12634, 12635, 12636, 12637, 12638, 12639, 12640, 12641, 12642, 12643, 12644, 12645, 12646, 12647, 12648, 12649, 12650, 12651, 12652, 12653, 12654, 12655, 12656, 12657, 12658, 12659, 12660, 12661, 12662, 12663, 12664, 12665, 12666, 12667, 12668, 12669, 12670, 12671, 12672, 12673, 12674, 12675, 12676, 12677, 12678, 12679, 12680, 12681, 12682, 12683, 12684, 12685, 12686, 12687, 12688, 12689, 12690, 12691, 12692, 12693, 12694, 12695, 12696, 12697, 12698, 12699, 12700, 12701, 12702, 12703, 12704, 12705, 12706, 12707, 12708, 12709, 12710, 12711, 12712, 12713, 12714, 12715, 12716, 12717, 12718, 12719, 12720, 12721, 12722, 12723, 12724, 12725, 12726, 12727, 12728, 12729, 12730, 12731, 12732, 12733, 12734, 12735, 12736, 12737, 12738, 12739, 12740, 12741, 12742, 12743, 12744, 12745, 12746, 12747, 12748, 12749, 12750, 12751, 12752, 12753, 12754, 12755, 12756, 12757, 12758, 12759, 12760, 12761, 12762, 12763, 12764, 12765, 12766, 12767, 12768, 12769, 12770, 12771, 12772, 12773, 12774, 12775, 12776, 12777, 12778, 12779, 12780, 12781, 12782, 12783, 12784, 12785, 12786, 12787, 12788, 12789, 12790, 12791, 12792, 12793, 12794, 12795, 12796, 12797, 12798, 12799, 12800, 12801, 12802, 12803, 12804, 12805, 12806, 12807, 12808, 12809, 12810, 12811, 12812, 12813, 12814, 12815, 12816, 12817, 12818, 12819, 12820, 12821, 12822, 12823, 12824, 12825, 12826, 12827, 12828, 12829, 12830, 12831, 12832, 12833, 12834, 12835, 12836, 12837, 12838, 12839, 12840, 12841, 12842, 12843, 12844, 12845, 12852, 12851, 12866, 12867, 12871, 12872, 12876, 12876, 12958, 12959, 12960, 12961, 12965, 12966, 12970, 12971, 12972, 12973, 12977, 12978, 12979, 12980, 12984, 12985, 12989, 13031, 13050, 13061, 13074, 13088, 13103, 13122, 13149, 13162, 13189, 13232, 13246, 13247, 13248, 13249, 13253, 13254, 13263, 13275, 13276, 13277, 13283, 13289, 13301, 13300, 13316, 13317, 13321, 13322, 13326, 13339, 13340, 13341, 13342, 13347, 13346, 13366, 13378, 13391, 13390, 13423, 13424, 13428, 13429, 13433, 13434, 13435, 13436, 13438, 13437, 13450, 13451, 13452, 13453, 13454, 13460, 13465, 13471, 13482, 13493, 13497, 13507, 13512, 13519, 13531, 13543, 13552, 13554, 13558, 13559, 13566, 13568, 13572, 13573, 13578, 13577, 13581, 13580, 13584, 13583, 13587, 13586, 13589, 13590, 13591, 13592, 13593, 13594, 13595, 13596, 13597, 13598, 13599, 13600, 13601, 13602, 13603, 13604, 13605, 13606, 13607, 13608, 13609, 13610, 13611, 13612, 13613, 13614, 13618, 13619, 13623, 13624, 13628, 13638, 13648, 13661, 13676, 13689, 13702, 13714, 13719, 13727, 13732, 13740, 13769, 13776, 13784, 13792, 13798, 13802, 13806, 13807, 13811, 13838, 13840, 13844, 13848, 13852, 13859, 13860, 13864, 13865, 13869, 13870, 13874, 13875, 13881, 13887, 13893, 13903, 13902, 13912, 13913, 13918, 13919, 13920, 13925, 13926, 13927, 13931, 13932, 13936, 13948, 13957, 13967, 13976, 13990, 13991, 13996, 13995, 14011, 14012, 14013, 14017, 14018, 14022, 14022, 14046, 14047, 14051, 14052, 14053, 14057, 14061, 14068, 14071, 14069, 14085, 14092, 14113, 14130, 14132, 14136, 14137, 14141, 14142, 14150, 14151, 14152, 14153, 14159, 14165, 14175, 14177, 14179, 14184, 14185, 14186, 14187, 14188, 14192, 14193, 14194, 14195, 14196, 14197, 14207, 14208, 14213, 14226, 14239, 14241, 14243, 14248, 14253, 14255, 14257, 14263, 14264, 14266, 14272, 14271, 14289, 14290, 14294, 14299, 14307, 14307, 14332, 14333, 14338, 14339, 14341, 14343, 14361, 14367, 14372, 14354, 14434, 14452, 14477, 14509, 14513, 14521, 14544, 14473, 14609, 14633, 14642, 14650, 14608, 14671, 14675, 14679, 14683, 14687, 14691, 14698, 14705, 14712, 14722, 14723, 14727, 14728, 14729, 14733, 14734, 14739, 14741, 14740, 14746, 14747, 14751, 14761 }; #endif #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. First, the terminals, then, starting at YYNTOKENS, nonterminals. */ static const char *const yytname[] = { "$end", "error", "$undefined", "ABORT_SYM", "ACCESSIBLE_SYM", "ACTION", "ADD", "ADDDATE_SYM", "AFTER_SYM", "AGAINST", "AGGREGATE_SYM", "ALGORITHM_SYM", "ALL", "ALTER", "ANALYZE_SYM", "AND_AND_SYM", "AND_SYM", "ANY_SYM", "AS", "ASC", "ASCII_SYM", "ASENSITIVE_SYM", "AT_SYM", "AUTHORS_SYM", "AUTOEXTEND_SIZE_SYM", "AUTO_INC", "AVG_ROW_LENGTH", "AVG_SYM", "BACKUP_SYM", "BEFORE_SYM", "BEGIN_SYM", "BETWEEN_SYM", "BIGINT", "BINARY", "BINLOG_SYM", "BIN_NUM", "BIT_AND", "BIT_OR", "BIT_SYM", "BIT_XOR", "BLOB_SYM", "BLOCK_SYM", "BOOLEAN_SYM", "BOOL_SYM", "BOTH", "BTREE_SYM", "BY", "BYTE_SYM", "CACHE_SYM", "CALL_SYM", "CASCADE", "CASCADED", "CASE_SYM", "CAST_SYM", "CATALOG_NAME_SYM", "CHAIN_SYM", "CHANGE", "CHANGED", "CHARSET", "CHAR_SYM", "CHECKSUM_SYM", "CHECK_SYM", "CIPHER_SYM", "CLASS_ORIGIN_SYM", "CLIENT_SYM", "CLOSE_SYM", "COALESCE", "CODE_SYM", "COLLATE_SYM", "COLLATION_SYM", "COLUMNS", "COLUMN_SYM", "COLUMN_NAME_SYM", "COMMENT_SYM", "COMMITTED_SYM", "COMMIT_SYM", "COMPACT_SYM", "COMPLETION_SYM", "COMPRESSED_SYM", "CONCURRENT", "CONDITION_SYM", "CONNECTION_SYM", "CONSISTENT_SYM", "CONSTRAINT", "CONSTRAINT_CATALOG_SYM", "CONSTRAINT_NAME_SYM", "CONSTRAINT_SCHEMA_SYM", "CONTAINS_SYM", "CONTEXT_SYM", "CONTINUE_SYM", "CONTRIBUTORS_SYM", "CONVERT_SYM", "COUNT_SYM", "CPU_SYM", "CREATE", "CROSS", "CUBE_SYM", "CURDATE", "CURRENT_USER", "CURSOR_SYM", "CURSOR_NAME_SYM", "CURTIME", "DATABASE", "DATABASES", "DATAFILE_SYM", "DATA_SYM", "DATETIME", "DATE_ADD_INTERVAL", "DATE_SUB_INTERVAL", "DATE_SYM", "DAY_HOUR_SYM", "DAY_MICROSECOND_SYM", "DAY_MINUTE_SYM", "DAY_SECOND_SYM", "DAY_SYM", "DEALLOCATE_SYM", "DECIMAL_NUM", "DECIMAL_SYM", "DECLARE_SYM", "DEFAULT", "DEFINER_SYM", "DELAYED_SYM", "DELAY_KEY_WRITE_SYM", "DELETE_SYM", "DESC", "DESCRIBE", "DES_KEY_FILE", "DETERMINISTIC_SYM", "DIRECTORY_SYM", "DISABLE_SYM", "DISCARD", "DISK_SYM", "DISTINCT", "DIV_SYM", "DOUBLE_SYM", "DO_SYM", "DROP", "DUAL_SYM", "DUMPFILE", "DUPLICATE_SYM", "DYNAMIC_SYM", "EACH_SYM", "ELSE", "ELSEIF_SYM", "ENABLE_SYM", "ENCLOSED", "END", "ENDS_SYM", "END_OF_INPUT", "ENGINES_SYM", "ENGINE_SYM", "ENUM", "EQ", "EQUAL_SYM", "ERROR_SYM", "ERRORS", "ESCAPED", "ESCAPE_SYM", "EVENTS_SYM", "EVENT_SYM", "EVERY_SYM", "EXECUTE_SYM", "EXISTS", "EXIT_SYM", "EXPANSION_SYM", "EXTENDED_SYM", "EXTENT_SIZE_SYM", "EXTRACT_SYM", "FALSE_SYM", "FAST_SYM", "FAULTS_SYM", "FETCH_SYM", "FILE_SYM", "FIRST_SYM", "FIXED_SYM", "FLOAT_NUM", "FLOAT_SYM", "FLUSH_SYM", "FORCE_SYM", "FOREIGN", "FOR_SYM", "FOUND_SYM", "FROM", "FULL", "FULLTEXT_SYM", "FUNCTION_SYM", "GE", "GENERAL", "GEOMETRYCOLLECTION", "GEOMETRY_SYM", "GET_FORMAT", "GLOBAL_SYM", "GRANT", "GRANTS", "GROUP_SYM", "GROUP_CONCAT_SYM", "GT_SYM", "HANDLER_SYM", "HASH_SYM", "HAVING", "HELP_SYM", "HEX_NUM", "HIGH_PRIORITY", "HOST_SYM", "HOSTS_SYM", "HOUR_MICROSECOND_SYM", "HOUR_MINUTE_SYM", "HOUR_SECOND_SYM", "HOUR_SYM", "IDENT", "IDENTIFIED_SYM", "IDENT_QUOTED", "IF", "IGNORE_SYM", "IGNORE_SERVER_IDS_SYM", "IMPORT", "INDEXES", "INDEX_SYM", "INFILE", "INITIAL_SIZE_SYM", "INNER_SYM", "INOUT_SYM", "INSENSITIVE_SYM", "INSERT", "INSERT_METHOD", "INSTALL_SYM", "INTERVAL_SYM", "INTO", "INT_SYM", "INVOKER_SYM", "IN_SYM", "IO_SYM", "IPC_SYM", "IS", "ISOLATION", "ISSUER_SYM", "ITERATE_SYM", "JOIN_SYM", "KEYS", "KEY_BLOCK_SIZE", "KEY_SYM", "KILL_SYM", "LANGUAGE_SYM", "LAST_SYM", "LE", "LEADING", "LEAVES", "LEAVE_SYM", "LEFT", "LESS_SYM", "LEVEL_SYM", "LEX_HOSTNAME", "LIKE", "LIMIT", "LINEAR_SYM", "LINES", "LINESTRING", "LIST_SYM", "LOAD", "LOCAL_SYM", "LOCATOR_SYM", "LOCKS_SYM", "LOCK_SYM", "LOGFILE_SYM", "LOGS_SYM", "LONGBLOB", "LONGTEXT", "LONG_NUM", "LONG_SYM", "LOOP_SYM", "LOW_PRIORITY", "LT", "MASTER_CONNECT_RETRY_SYM", "MASTER_HOST_SYM", "MASTER_LOG_FILE_SYM", "MASTER_LOG_POS_SYM", "MASTER_PASSWORD_SYM", "MASTER_PORT_SYM", "MASTER_SERVER_ID_SYM", "MASTER_SSL_CAPATH_SYM", "MASTER_SSL_CA_SYM", "MASTER_SSL_CERT_SYM", "MASTER_SSL_CIPHER_SYM", "MASTER_SSL_KEY_SYM", "MASTER_SSL_SYM", "MASTER_SSL_VERIFY_SERVER_CERT_SYM", "MASTER_SYM", "MASTER_USER_SYM", "MASTER_HEARTBEAT_PERIOD_SYM", "MATCH", "MAX_CONNECTIONS_PER_HOUR", "MAX_QUERIES_PER_HOUR", "MAX_ROWS", "MAX_SIZE_SYM", "MAX_SYM", "MAX_UPDATES_PER_HOUR", "MAX_USER_CONNECTIONS_SYM", "MAX_VALUE_SYM", "MEDIUMBLOB", "MEDIUMINT", "MEDIUMTEXT", "MEDIUM_SYM", "MEMORY_SYM", "MERGE_SYM", "MESSAGE_TEXT_SYM", "MICROSECOND_SYM", "MIGRATE_SYM", "MINUTE_MICROSECOND_SYM", "MINUTE_SECOND_SYM", "MINUTE_SYM", "MIN_ROWS", "MIN_SYM", "MODE_SYM", "MODIFIES_SYM", "MODIFY_SYM", "MOD_SYM", "MONTH_SYM", "MULTILINESTRING", "MULTIPOINT", "MULTIPOLYGON", "MUTEX_SYM", "MYSQL_ERRNO_SYM", "NAMES_SYM", "NAME_SYM", "NATIONAL_SYM", "NATURAL", "NCHAR_STRING", "NCHAR_SYM", "NDBCLUSTER_SYM", "NE", "NEG", "NEW_SYM", "NEXT_SYM", "NODEGROUP_SYM", "NONE_SYM", "NOT2_SYM", "NOT_SYM", "NOW_SYM", "NO_SYM", "NO_WAIT_SYM", "NO_WRITE_TO_BINLOG", "NULL_SYM", "NUM", "NUMERIC_SYM", "NVARCHAR_SYM", "OFFSET_SYM", "OLD_PASSWORD", "ON", "ONE_SHOT_SYM", "ONE_SYM", "OPEN_SYM", "OPTIMIZE", "OPTIONS_SYM", "OPTION", "OPTIONALLY", "OR2_SYM", "ORDER_SYM", "OR_OR_SYM", "OR_SYM", "OUTER", "OUTFILE", "OUT_SYM", "OWNER_SYM", "PACK_KEYS_SYM", "PAGE_SYM", "PARAM_MARKER", "PARSER_SYM", "PARTIAL", "PARTITIONING_SYM", "PARTITIONS_SYM", "PARTITION_SYM", "PASSWORD", "PHASE_SYM", "PLUGINS_SYM", "PLUGIN_SYM", "POINT_SYM", "POLYGON", "PORT_SYM", "POSITION_SYM", "PRECISION", "PREPARE_SYM", "PRESERVE_SYM", "PREV_SYM", "PRIMARY_SYM", "PRIVILEGES", "PROCEDURE_SYM", "PROCESS", "PROCESSLIST_SYM", "PROFILE_SYM", "PROFILES_SYM", "PROXY_SYM", "PURGE", "QUARTER_SYM", "QUERY_SYM", "QUICK", "RANGE_SYM", "READS_SYM", "READ_ONLY_SYM", "READ_SYM", "READ_WRITE_SYM", "REAL", "REBUILD_SYM", "RECOVER_SYM", "REDOFILE_SYM", "REDO_BUFFER_SIZE_SYM", "REDUNDANT_SYM", "REFERENCES", "REGEXP", "RELAY", "RELAYLOG_SYM", "RELAY_LOG_FILE_SYM", "RELAY_LOG_POS_SYM", "RELAY_THREAD", "RELEASE_SYM", "RELOAD", "REMOVE_SYM", "RENAME", "REORGANIZE_SYM", "REPAIR", "REPEATABLE_SYM", "REPEAT_SYM", "REPLACE", "REPLICATION", "REQUIRE_SYM", "RESET_SYM", "RESIGNAL_SYM", "RESOURCES", "RESTORE_SYM", "RESTRICT", "RESUME_SYM", "RETURNS_SYM", "RETURN_SYM", "REVOKE", "RIGHT", "ROLLBACK_SYM", "ROLLUP_SYM", "ROUTINE_SYM", "ROWS_SYM", "ROW_FORMAT_SYM", "ROW_SYM", "RTREE_SYM", "SAVEPOINT_SYM", "SCHEDULE_SYM", "SCHEMA_NAME_SYM", "SECOND_MICROSECOND_SYM", "SECOND_SYM", "SECURITY_SYM", "SELECT_SYM", "SENSITIVE_SYM", "SEPARATOR_SYM", "SERIALIZABLE_SYM", "SERIAL_SYM", "SESSION_SYM", "SERVER_SYM", "SERVER_OPTIONS", "SET", "SET_VAR", "SHARE_SYM", "SHIFT_LEFT", "SHIFT_RIGHT", "SHOW", "SHUTDOWN", "SIGNAL_SYM", "SIGNED_SYM", "SIMPLE_SYM", "SLAVE", "SLOW", "SMALLINT", "SNAPSHOT_SYM", "SOCKET_SYM", "SONAME_SYM", "SOUNDS_SYM", "SOURCE_SYM", "SPATIAL_SYM", "SPECIFIC_SYM", "SQLEXCEPTION_SYM", "SQLSTATE_SYM", "SQLWARNING_SYM", "SQL_BIG_RESULT", "SQL_BUFFER_RESULT", "SQL_CACHE_SYM", "SQL_CALC_FOUND_ROWS", "SQL_NO_CACHE_SYM", "SQL_SMALL_RESULT", "SQL_SYM", "SQL_THREAD", "SSL_SYM", "STARTING", "STARTS_SYM", "START_SYM", "STATUS_SYM", "STDDEV_SAMP_SYM", "STD_SYM", "STOP_SYM", "STORAGE_SYM", "STRAIGHT_JOIN", "STRING_SYM", "SUBCLASS_ORIGIN_SYM", "SUBDATE_SYM", "SUBJECT_SYM", "SUBPARTITIONS_SYM", "SUBPARTITION_SYM", "SUBSTRING", "SUM_SYM", "SUPER_SYM", "SUSPEND_SYM", "SWAPS_SYM", "SWITCHES_SYM", "SYSDATE", "TABLES", "TABLESPACE", "TABLE_REF_PRIORITY", "TABLE_SYM", "TABLE_CHECKSUM_SYM", "TABLE_NAME_SYM", "TEMPORARY", "TEMPTABLE_SYM", "TERMINATED", "TEXT_STRING", "TEXT_SYM", "THAN_SYM", "THEN_SYM", "TIMESTAMP", "TIMESTAMP_ADD", "TIMESTAMP_DIFF", "TIME_SYM", "TINYBLOB", "TINYINT", "TINYTEXT", "TO_SYM", "TRAILING", "TRANSACTION_SYM", "TRIGGERS_SYM", "TRIGGER_SYM", "TRIM", "TRUE_SYM", "TRUNCATE_SYM", "TYPES_SYM", "TYPE_SYM", "UDF_RETURNS_SYM", "ULONGLONG_NUM", "UNCOMMITTED_SYM", "UNDEFINED_SYM", "UNDERSCORE_CHARSET", "UNDOFILE_SYM", "UNDO_BUFFER_SIZE_SYM", "UNDO_SYM", "UNICODE_SYM", "UNINSTALL_SYM", "UNION_SYM", "UNIQUE_SYM", "UNKNOWN_SYM", "UNLOCK_SYM", "UNSIGNED", "UNTIL_SYM", "UPDATE_SYM", "UPGRADE_SYM", "USAGE", "USER", "USE_FRM", "USE_SYM", "USING", "UTC_DATE_SYM", "UTC_TIMESTAMP_SYM", "UTC_TIME_SYM", "VALUES", "VALUE_SYM", "VARBINARY", "VARCHAR", "VARIABLES", "VARIANCE_SYM", "VARYING", "VAR_SAMP_SYM", "VIEW_SYM", "WAIT_SYM", "WARNINGS", "WEEK_SYM", "WHEN_SYM", "WHERE", "WHILE_SYM", "WITH", "WITH_CUBE_SYM", "WITH_ROLLUP_SYM", "WORK_SYM", "WRAPPER_SYM", "WRITE_SYM", "X509_SYM", "XA_SYM", "XML_SYM", "XOR", "YEAR_MONTH_SYM", "YEAR_SYM", "ZEROFILL", "'|'", "'&'", "'-'", "'+'", "'*'", "'/'", "'%'", "'^'", "'~'", "'('", "')'", "','", "'!'", "'{'", "'}'", "';'", "'@'", "'.'", "':'", "$accept", "query", "$@1", "opt_end_of_input", "verb_clause", "statement", "deallocate", "deallocate_or_drop", "prepare", "prepare_src", "execute", "$@2", "execute_using", "execute_var_list", "execute_var_ident", "help", "$@3", "change", "$@4", "master_defs", "master_def", "ignore_server_id_list", "ignore_server_id", "master_file_def", "create", "$@5", "$@6", "$@7", "$@8", "$@9", "$@10", "server_def", "server_options_list", "server_option", "event_tail", "$@11", "ev_schedule_time", "$@12", "opt_ev_status", "ev_starts", "ev_ends", "opt_ev_on_completion", "ev_on_completion", "opt_ev_comment", "ev_sql_stmt", "$@13", "ev_sql_stmt_inner", "clear_privileges", "sp_name", "sp_a_chistics", "sp_c_chistics", "sp_chistic", "sp_c_chistic", "sp_suid", "call", "$@14", "opt_sp_cparam_list", "opt_sp_cparams", "sp_cparams", "sp_fdparam_list", "sp_fdparams", "sp_init_param", "sp_fdparam", "sp_pdparam_list", "sp_pdparams", "sp_pdparam", "sp_opt_inout", "sp_proc_stmts", "sp_proc_stmts1", "sp_decls", "sp_decl", "$@15", "$@16", "sp_cursor_stmt", "$@17", "sp_handler_type", "sp_hcond_list", "sp_hcond_element", "sp_cond", "sqlstate", "opt_value", "sp_hcond", "signal_stmt", "signal_value", "opt_signal_value", "opt_set_signal_information", "signal_information_item_list", "signal_allowed_expr", "signal_condition_information_item_name", "resignal_stmt", "sp_decl_idents", "sp_opt_default", "sp_proc_stmt", "sp_proc_stmt_if", "$@18", "sp_proc_stmt_statement", "$@19", "sp_proc_stmt_return", "$@20", "sp_proc_stmt_unlabeled", "$@21", "sp_proc_stmt_leave", "sp_proc_stmt_iterate", "sp_proc_stmt_open", "sp_proc_stmt_fetch", "$@22", "sp_proc_stmt_close", "sp_opt_fetch_noise", "sp_fetch_list", "sp_if", "$@23", "$@24", "$@25", "sp_elseifs", "case_stmt_specification", "simple_case_stmt", "$@26", "$@27", "searched_case_stmt", "$@28", "simple_when_clause_list", "searched_when_clause_list", "simple_when_clause", "$@29", "$@30", "searched_when_clause", "$@31", "$@32", "else_clause_opt", "sp_labeled_control", "$@33", "sp_opt_label", "sp_labeled_block", "$@34", "sp_unlabeled_block", "$@35", "sp_block_content", "$@36", "sp_unlabeled_control", "$@37", "$@38", "$@39", "trg_action_time", "trg_event", "change_tablespace_access", "change_tablespace_info", "tablespace_info", "opt_logfile_group_name", "alter_tablespace_info", "logfile_group_info", "alter_logfile_group_info", "add_log_file", "change_ts_option_list", "$@40", "change_ts_options", "change_ts_option", "tablespace_option_list", "tablespace_options", "tablespace_option", "alter_tablespace_option_list", "alter_tablespace_options", "alter_tablespace_option", "logfile_group_option_list", "logfile_group_options", "logfile_group_option", "alter_logfile_group_option_list", "alter_logfile_group_options", "alter_logfile_group_option", "ts_datafile", "lg_undofile", "lg_redofile", "tablespace_name", "logfile_group_name", "ts_access_mode", "opt_ts_initial_size", "opt_ts_autoextend_size", "opt_ts_max_size", "opt_ts_extent_size", "opt_ts_undo_buffer_size", "opt_ts_redo_buffer_size", "opt_ts_nodegroup", "opt_ts_comment", "opt_ts_engine", "opt_ts_wait", "ts_wait", "size_number", "create2", "create2a", "$@41", "create3", "$@42", "$@43", "opt_create_partitioning", "opt_partitioning", "partitioning", "$@44", "have_partitioning", "partition_entry", "$@45", "partition", "part_type_def", "$@46", "opt_linear", "opt_key_algo", "part_field_list", "part_field_item_list", "part_field_item", "part_column_list", "part_func", "sub_part_func", "opt_num_parts", "opt_sub_part", "$@47", "$@48", "sub_part_field_list", "sub_part_field_item", "part_func_expr", "opt_num_subparts", "part_defs", "part_def_list", "part_definition", "$@49", "part_name", "opt_part_values", "$@50", "$@51", "part_func_max", "part_values_in", "part_value_list", "part_value_item", "$@52", "$@53", "part_value_item_list", "part_value_expr_item", "opt_sub_partition", "sub_part_list", "sub_part_definition", "$@54", "sub_name", "opt_part_options", "opt_part_option_list", "opt_part_option", "create_select", "$@55", "$@56", "opt_as", "opt_create_database_options", "create_database_options", "create_database_option", "opt_table_options", "table_options", "table_option", "opt_if_not_exists", "opt_create_table_options", "create_table_options_space_separated", "create_table_options", "create_table_option", "$@57", "default_charset", "default_collation", "storage_engines", "known_storage_engines", "row_types", "merge_insert_types", "opt_select_from", "udf_type", "create_field_list", "field_list", "field_list_item", "column_def", "key_def", "opt_check_constraint", "check_constraint", "opt_constraint", "constraint", "field_spec", "$@58", "type", "$@59", "$@60", "spatial_type", "char", "nchar", "varchar", "nvarchar", "int_type", "real_type", "float_options", "precision", "field_options", "field_opt_list", "field_option", "field_length", "opt_field_length", "opt_precision", "opt_attribute", "opt_attribute_list", "attribute", "type_with_opt_collate", "now_or_signed_literal", "charset", "charset_name", "charset_name_or_default", "opt_load_data_charset", "old_or_new_charset_name", "old_or_new_charset_name_or_default", "collation_name", "opt_collate", "collation_name_or_default", "opt_default", "ascii", "unicode", "opt_binary", "opt_bin_mod", "opt_primary", "references", "opt_ref_list", "ref_list", "opt_match_clause", "opt_on_update_delete", "delete_option", "normal_key_type", "constraint_key_type", "key_or_index", "opt_key_or_index", "keys_or_index", "opt_unique", "fulltext", "spatial", "init_key_options", "key_alg", "normal_key_options", "fulltext_key_options", "spatial_key_options", "normal_key_opts", "spatial_key_opts", "fulltext_key_opts", "key_using_alg", "all_key_opt", "normal_key_opt", "spatial_key_opt", "fulltext_key_opt", "btree_or_rtree", "key_list", "key_part", "opt_ident", "opt_component", "string_list", "alter", "$@61", "$@62", "$@63", "$@64", "$@65", "$@66", "$@67", "ev_alter_on_schedule_completion", "opt_ev_rename_to", "opt_ev_sql_stmt", "ident_or_empty", "alter_commands", "$@68", "$@69", "$@70", "remove_partitioning", "all_or_alt_part_name_list", "add_partition_rule", "$@71", "add_part_extra", "reorg_partition_rule", "$@72", "reorg_parts_rule", "$@73", "alt_part_name_list", "alt_part_name_item", "alter_list", "add_column", "alter_list_item", "$@74", "$@75", "$@76", "opt_column", "opt_ignore", "opt_restrict", "opt_place", "opt_to", "slave", "$@77", "$@78", "start", "start_transaction_opts", "slave_thread_opts", "$@79", "slave_thread_opt_list", "slave_thread_opt", "slave_until", "slave_until_opts", "checksum", "$@80", "opt_checksum_type", "repair", "$@81", "opt_mi_repair_type", "mi_repair_types", "mi_repair_type", "analyze", "$@82", "binlog_base64_event", "check", "$@83", "opt_mi_check_type", "mi_check_types", "mi_check_type", "optimize", "$@84", "opt_no_write_to_binlog", "rename", "$@85", "rename_list", "table_to_table_list", "table_to_table", "keycache", "$@86", "keycache_list_or_parts", "keycache_list", "assign_to_keycache", "assign_to_keycache_parts", "key_cache_name", "preload", "$@87", "preload_list_or_parts", "preload_list", "preload_keys", "preload_keys_parts", "adm_partition", "$@88", "cache_keys_spec", "$@89", "cache_key_list_or_empty", "opt_ignore_leaves", "select", "select_init", "select_paren", "select_paren_derived", "select_init2", "$@90", "select_part2", "$@91", "$@92", "select_into", "select_from", "select_options", "select_option_list", "select_option", "select_lock_type", "select_item_list", "select_item", "remember_name", "remember_end", "select_alias", "optional_braces", "expr", "bool_pri", "predicate", "bit_expr", "or", "and", "not", "not2", "comp_op", "all_or_any", "simple_expr", "function_call_keyword", "function_call_nonkeyword", "function_call_conflict", "geometry_function", "function_call_generic", "@93", "fulltext_options", "opt_natural_language_mode", "opt_query_expansion", "opt_udf_expr_list", "udf_expr_list", "udf_expr", "sum_expr", "$@94", "$@95", "$@96", "variable", "$@97", "variable_aux", "opt_distinct", "opt_gconcat_separator", "opt_gorder_clause", "$@98", "gorder_list", "in_sum_expr", "$@99", "cast_type", "opt_expr_list", "expr_list", "ident_list_arg", "ident_list", "opt_expr", "opt_else", "when_list", "table_ref", "join_table_list", "esc_table_ref", "derived_table_list", "join_table", "$@100", "$@101", "$@102", "$@103", "$@104", "$@105", "$@106", "normal_join", "table_factor", "$@107", "select_derived_union", "$@108", "$@109", "select_init2_derived", "select_part2_derived", "$@110", "$@111", "select_derived", "$@112", "select_derived2", "$@113", "$@114", "get_select_lex", "select_derived_init", "opt_outer", "index_hint_clause", "index_hint_type", "index_hint_definition", "$@115", "$@116", "index_hints_list", "opt_index_hints_list", "$@117", "opt_key_definition", "$@118", "opt_key_usage_list", "key_usage_element", "key_usage_list", "using_list", "interval", "interval_time_stamp", "date_time_type", "table_alias", "opt_table_alias", "opt_all", "where_clause", "$@119", "having_clause", "$@120", "opt_escape", "group_clause", "group_list", "olap_opt", "alter_order_clause", "alter_order_list", "alter_order_item", "opt_order_clause", "order_clause", "$@121", "order_list", "order_dir", "opt_limit_clause_init", "opt_limit_clause", "limit_clause", "limit_options", "limit_option", "delete_limit_clause", "ulong_num", "real_ulong_num", "ulonglong_num", "real_ulonglong_num", "dec_num_error", "dec_num", "procedure_clause", "$@122", "procedure_list", "procedure_list2", "procedure_item", "select_var_list_init", "$@123", "select_var_list", "select_var_ident", "into", "$@124", "into_destination", "$@125", "$@126", "do", "$@127", "drop", "$@128", "$@129", "$@130", "table_list", "table_name", "table_alias_ref_list", "table_alias_ref", "if_exists", "opt_temporary", "insert", "$@131", "$@132", "replace", "$@133", "$@134", "insert_lock_option", "replace_lock_option", "insert2", "insert_table", "insert_field_spec", "$@135", "fields", "insert_values", "$@136", "$@137", "values_list", "ident_eq_list", "ident_eq_value", "equal", "opt_equal", "no_braces", "$@138", "opt_values", "values", "expr_or_default", "opt_insert_update", "$@139", "update", "$@140", "$@141", "update_list", "update_elem", "insert_update_list", "insert_update_elem", "opt_low_priority", "delete", "$@142", "single_multi", "$@143", "$@144", "$@145", "table_wild_list", "table_wild_one", "opt_wild", "opt_delete_options", "opt_delete_option", "truncate", "$@146", "opt_table_sym", "opt_profile_defs", "profile_defs", "profile_def", "opt_profile_args", "show", "$@147", "show_param", "$@148", "$@149", "show_engine_param", "master_or_binary", "opt_storage", "opt_db", "opt_full", "from_or_in", "binlog_in", "binlog_from", "wild_and_where", "describe", "$@150", "$@151", "describe_command", "opt_extended_describe", "opt_describe_column", "flush", "$@152", "flush_options", "$@153", "$@154", "opt_with_read_lock", "flush_options_list", "flush_option", "opt_table_list", "reset", "$@155", "reset_options", "reset_option", "$@156", "slave_reset_options", "purge", "$@157", "purge_options", "purge_option", "kill", "kill_option", "use", "load", "$@158", "$@159", "$@160", "$@161", "data_or_xml", "opt_local", "load_data_lock", "opt_duplicate", "opt_field_term", "field_term_list", "field_term", "opt_line_term", "line_term_list", "line_term", "opt_xml_rows_identified_by", "opt_ignore_lines", "lines_or_rows", "opt_field_or_var_spec", "fields_or_vars", "field_or_var", "opt_load_data_set_spec", "load_data_set_list", "load_data_set_elem", "text_literal", "text_string", "param_marker", "signed_literal", "literal", "NUM_literal", "insert_ident", "table_wild", "order_ident", "simple_ident", "simple_ident_nospvar", "simple_ident_q", "field_ident", "table_ident", "table_ident_opt_wild", "table_ident_nodb", "IDENT_sys", "TEXT_STRING_sys", "TEXT_STRING_literal", "TEXT_STRING_filesystem", "ident", "label_ident", "ident_or_text", "user", "keyword", "keyword_sp", "set", "$@162", "opt_option", "option_value_list", "option_type_value", "$@163", "option_type", "option_type2", "opt_var_type", "opt_var_ident_type", "ext_option_value", "sys_option_value", "option_value", "internal_variable_name", "isolation_types", "text_or_password", "set_expr_or_default", "lock", "$@164", "table_or_tables", "table_lock_list", "table_lock", "lock_option", "unlock", "$@165", "handler", "$@166", "handler_read_or_scan", "handler_scan_function", "handler_rkey_function", "$@167", "handler_rkey_mode", "revoke", "revoke_command", "grant", "grant_command", "opt_table", "grant_privileges", "opt_privileges", "object_privilege_list", "object_privilege", "$@168", "$@169", "$@170", "$@171", "opt_and", "require_list", "require_list_element", "grant_ident", "user_list", "grant_list", "grant_user", "opt_column_list", "column_list", "column_list_id", "require_clause", "grant_options", "opt_grant_option", "grant_option_list", "grant_option", "begin", "$@172", "opt_work", "opt_chain", "opt_release", "opt_savepoint", "commit", "rollback", "savepoint", "release", "union_clause", "union_list", "$@173", "union_opt", "opt_union_order_or_limit", "union_order_or_limit", "$@174", "order_or_limit", "union_option", "query_specification", "query_expression_body", "$@175", "subselect", "subselect_start", "subselect_end", "opt_query_expression_options", "query_expression_option_list", "query_expression_option", "view_or_trigger_or_sp_or_event", "definer_tail", "no_definer_tail", "definer_opt", "no_definer", "definer", "view_replace_or_algorithm", "view_replace", "view_algorithm", "view_suid", "view_tail", "$@176", "view_list_opt", "view_list", "view_select", "$@177", "view_select_aux", "view_check_option", "trigger_tail", "$@178", "$@179", "$@180", "udf_tail", "sf_tail", "$@181", "$@182", "$@183", "$@184", "$@185", "sp_tail", "$@186", "$@187", "$@188", "$@189", "xa", "xid", "begin_or_start", "opt_join_or_resume", "opt_one_phase", "opt_suspend", "$@190", "opt_migrate", "install", "uninstall", 0 }; #endif # ifdef YYPRINT /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to token YYLEX-NUM. */ static const yytype_uint16 yytoknum[] = { 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, 418, 419, 420, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 431, 432, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, 475, 476, 477, 478, 479, 480, 481, 482, 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, 511, 512, 513, 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, 525, 526, 527, 528, 529, 530, 531, 532, 533, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, 546, 547, 548, 549, 550, 551, 552, 553, 554, 555, 556, 557, 558, 559, 560, 561, 562, 563, 564, 565, 566, 567, 568, 569, 570, 571, 572, 573, 574, 575, 576, 577, 578, 579, 580, 581, 582, 583, 584, 585, 586, 587, 588, 589, 590, 591, 592, 593, 594, 595, 596, 597, 598, 599, 600, 601, 602, 603, 604, 605, 606, 607, 608, 609, 610, 611, 612, 613, 614, 615, 616, 617, 618, 619, 620, 621, 622, 623, 624, 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, 683, 684, 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, 696, 697, 698, 699, 700, 701, 702, 703, 704, 705, 706, 707, 708, 709, 710, 711, 712, 713, 714, 715, 716, 717, 718, 719, 720, 721, 722, 723, 724, 725, 726, 727, 728, 729, 730, 731, 732, 733, 734, 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, 765, 766, 767, 768, 769, 770, 771, 772, 773, 774, 775, 776, 777, 778, 779, 780, 781, 782, 783, 784, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 796, 797, 798, 799, 800, 801, 802, 803, 804, 805, 806, 807, 808, 809, 810, 811, 812, 813, 814, 815, 816, 817, 818, 819, 820, 821, 822, 823, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 124, 38, 45, 43, 42, 47, 37, 94, 126, 40, 41, 44, 33, 123, 125, 59, 64, 46, 58 }; # endif /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ static const yytype_uint16 yyr1[] = { 0, 612, 613, 614, 613, 613, 615, 615, 616, 616, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 617, 618, 619, 619, 620, 621, 621, 623, 622, 624, 624, 625, 625, 626, 628, 627, 630, 629, 631, 631, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 632, 633, 633, 633, 634, 635, 635, 635, 635, 637, 636, 638, 636, 639, 636, 640, 636, 641, 636, 642, 636, 636, 636, 636, 636, 643, 644, 644, 645, 645, 645, 645, 645, 645, 645, 647, 646, 649, 648, 648, 650, 650, 650, 650, 651, 651, 652, 652, 653, 653, 654, 654, 655, 655, 657, 656, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 658, 659, 660, 660, 661, 661, 662, 662, 663, 663, 663, 663, 663, 663, 663, 664, 664, 664, 665, 665, 667, 666, 668, 668, 669, 669, 670, 670, 671, 671, 672, 672, 673, 674, 675, 675, 676, 676, 677, 678, 678, 678, 678, 679, 679, 680, 680, 681, 681, 683, 682, 682, 684, 682, 682, 686, 685, 687, 687, 688, 688, 689, 690, 690, 691, 692, 692, 693, 693, 693, 693, 693, 694, 695, 695, 696, 696, 697, 697, 698, 698, 699, 699, 699, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 700, 701, 702, 702, 703, 703, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 704, 706, 705, 708, 707, 710, 709, 712, 711, 713, 714, 715, 717, 716, 718, 719, 719, 719, 720, 720, 722, 723, 724, 721, 725, 725, 725, 726, 726, 728, 729, 727, 731, 730, 732, 732, 733, 733, 735, 736, 734, 738, 739, 737, 740, 740, 742, 741, 743, 743, 745, 744, 747, 746, 749, 748, 750, 751, 752, 750, 753, 750, 754, 754, 755, 755, 755, 756, 757, 758, 759, 759, 760, 760, 761, 762, 763, 763, 765, 764, 766, 766, 766, 767, 767, 767, 768, 769, 769, 769, 770, 770, 770, 770, 770, 770, 770, 770, 771, 772, 772, 772, 773, 773, 773, 773, 773, 774, 775, 775, 775, 776, 776, 776, 776, 776, 776, 776, 777, 778, 778, 778, 779, 779, 779, 780, 781, 782, 783, 784, 785, 785, 785, 786, 787, 788, 789, 790, 791, 792, 793, 794, 795, 795, 796, 796, 797, 797, 798, 798, 798, 798, 799, 800, 799, 801, 802, 801, 803, 801, 804, 805, 805, 807, 806, 808, 810, 809, 811, 812, 813, 812, 812, 812, 812, 812, 814, 814, 815, 815, 816, 816, 817, 817, 818, 819, 820, 821, 822, 822, 823, 824, 823, 825, 823, 826, 826, 827, 828, 829, 829, 830, 830, 831, 831, 833, 832, 834, 835, 836, 835, 837, 835, 838, 838, 839, 839, 840, 840, 842, 843, 841, 844, 844, 845, 845, 846, 846, 847, 847, 849, 848, 850, 851, 851, 852, 852, 853, 853, 853, 853, 853, 853, 853, 853, 855, 856, 854, 857, 857, 858, 858, 859, 859, 860, 860, 861, 861, 862, 862, 863, 864, 864, 865, 865, 866, 866, 867, 867, 867, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 869, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 868, 870, 871, 872, 873, 874, 874, 874, 874, 874, 874, 875, 875, 875, 876, 876, 877, 877, 877, 877, 878, 879, 879, 880, 880, 881, 881, 882, 882, 882, 882, 882, 882, 883, 883, 884, 885, 885, 886, 888, 887, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 889, 890, 889, 891, 889, 889, 889, 892, 892, 892, 892, 892, 892, 892, 892, 893, 894, 894, 895, 895, 896, 896, 896, 896, 896, 897, 897, 897, 897, 897, 898, 898, 898, 899, 899, 899, 900, 901, 901, 902, 902, 903, 903, 903, 904, 904, 904, 904, 905, 905, 906, 906, 907, 907, 908, 908, 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, 909, 910, 911, 911, 912, 912, 913, 913, 914, 914, 915, 915, 916, 916, 917, 917, 918, 919, 919, 920, 920, 921, 921, 922, 922, 922, 923, 923, 923, 924, 924, 924, 924, 924, 924, 924, 925, 925, 926, 926, 927, 928, 928, 929, 929, 930, 930, 930, 930, 931, 931, 931, 931, 931, 932, 932, 932, 932, 932, 933, 934, 934, 935, 935, 936, 936, 937, 937, 937, 938, 938, 939, 940, 941, 942, 942, 943, 943, 944, 944, 945, 945, 946, 946, 947, 947, 948, 948, 949, 949, 950, 950, 951, 951, 952, 953, 953, 954, 954, 954, 955, 955, 956, 956, 957, 957, 958, 958, 959, 959, 961, 960, 962, 960, 960, 963, 960, 964, 960, 965, 960, 966, 960, 967, 960, 960, 960, 960, 960, 960, 968, 968, 968, 968, 969, 969, 970, 970, 971, 971, 972, 972, 972, 972, 972, 972, 972, 972, 972, 972, 973, 972, 972, 974, 972, 975, 972, 972, 972, 972, 976, 977, 977, 979, 978, 980, 980, 980, 982, 981, 983, 984, 983, 985, 985, 986, 987, 987, 988, 989, 989, 989, 990, 989, 991, 992, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 989, 993, 993, 994, 994, 995, 995, 995, 996, 996, 996, 997, 997, 997, 997, 999, 998, 998, 1000, 998, 998, 1001, 1002, 1002, 1004, 1003, 1005, 1005, 1006, 1006, 1006, 1007, 1007, 1008, 1008, 1010, 1009, 1011, 1011, 1011, 1013, 1012, 1014, 1014, 1015, 1015, 1016, 1016, 1016, 1018, 1017, 1019, 1021, 1020, 1022, 1022, 1023, 1023, 1024, 1024, 1024, 1024, 1024, 1024, 1026, 1025, 1027, 1027, 1027, 1029, 1028, 1028, 1030, 1030, 1031, 1031, 1032, 1034, 1033, 1035, 1035, 1036, 1036, 1037, 1038, 1039, 1039, 1041, 1040, 1042, 1042, 1043, 1043, 1044, 1045, 1047, 1046, 1049, 1048, 1050, 1050, 1051, 1051, 1052, 1053, 1053, 1054, 1054, 1055, 1055, 1057, 1056, 1059, 1060, 1058, 1061, 1061, 1061, 1061, 1061, 1062, 1062, 1063, 1063, 1064, 1064, 1065, 1065, 1065, 1066, 1066, 1066, 1067, 1067, 1067, 1068, 1068, 1069, 1070, 1071, 1071, 1071, 1071, 1071, 1072, 1072, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1074, 1074, 1074, 1074, 1074, 1074, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1077, 1077, 1078, 1078, 1079, 1079, 1080, 1080, 1081, 1081, 1081, 1081, 1081, 1081, 1082, 1082, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1084, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1086, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1087, 1089, 1088, 1088, 1090, 1090, 1091, 1091, 1092, 1092, 1093, 1093, 1094, 1094, 1095, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1097, 1098, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1096, 1099, 1096, 1101, 1100, 1102, 1102, 1102, 1103, 1103, 1104, 1104, 1105, 1106, 1105, 1107, 1107, 1109, 1108, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1111, 1111, 1112, 1112, 1113, 1113, 1114, 1114, 1115, 1115, 1116, 1116, 1117, 1117, 1118, 1118, 1119, 1120, 1120, 1121, 1121, 1122, 1122, 1123, 1122, 1124, 1122, 1125, 1122, 1122, 1126, 1122, 1127, 1122, 1122, 1128, 1122, 1129, 1122, 1122, 1130, 1130, 1130, 1132, 1131, 1131, 1131, 1133, 1134, 1135, 1133, 1136, 1138, 1139, 1137, 1141, 1140, 1143, 1144, 1142, 1145, 1146, 1147, 1147, 1148, 1148, 1148, 1148, 1149, 1149, 1151, 1150, 1152, 1150, 1153, 1153, 1154, 1155, 1154, 1157, 1156, 1158, 1158, 1159, 1159, 1160, 1160, 1161, 1161, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1162, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1163, 1164, 1164, 1164, 1164, 1165, 1165, 1165, 1166, 1166, 1167, 1167, 1168, 1169, 1168, 1170, 1171, 1170, 1172, 1172, 1173, 1173, 1174, 1174, 1175, 1175, 1175, 1176, 1177, 1177, 1178, 1179, 1179, 1181, 1180, 1182, 1182, 1183, 1183, 1183, 1184, 1184, 1185, 1185, 1186, 1187, 1187, 1187, 1188, 1188, 1188, 1188, 1188, 1189, 1189, 1190, 1190, 1190, 1190, 1190, 1190, 1191, 1191, 1191, 1191, 1191, 1192, 1192, 1192, 1192, 1192, 1193, 1193, 1193, 1193, 1194, 1195, 1195, 1196, 1197, 1196, 1198, 1198, 1199, 1199, 1200, 1202, 1201, 1203, 1203, 1204, 1204, 1206, 1205, 1208, 1209, 1207, 1207, 1207, 1211, 1210, 1213, 1212, 1214, 1212, 1212, 1212, 1212, 1212, 1212, 1215, 1212, 1212, 1212, 1212, 1212, 1212, 1216, 1216, 1217, 1218, 1218, 1219, 1220, 1220, 1221, 1221, 1223, 1224, 1222, 1226, 1227, 1225, 1228, 1228, 1228, 1228, 1229, 1229, 1230, 1230, 1231, 1232, 1232, 1232, 1233, 1232, 1234, 1234, 1235, 1235, 1236, 1235, 1237, 1235, 1238, 1238, 1239, 1239, 1240, 1241, 1241, 1242, 1242, 1244, 1243, 1245, 1245, 1246, 1246, 1247, 1247, 1248, 1249, 1248, 1251, 1252, 1250, 1253, 1253, 1254, 1255, 1255, 1256, 1257, 1257, 1259, 1258, 1261, 1260, 1262, 1260, 1263, 1260, 1264, 1264, 1265, 1265, 1266, 1266, 1267, 1267, 1268, 1268, 1268, 1270, 1269, 1271, 1271, 1272, 1272, 1273, 1273, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1274, 1275, 1275, 1277, 1276, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1279, 1278, 1280, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1278, 1281, 1281, 1281, 1282, 1282, 1283, 1283, 1284, 1284, 1285, 1285, 1286, 1286, 1287, 1287, 1288, 1288, 1289, 1289, 1289, 1291, 1290, 1292, 1290, 1293, 1293, 1294, 1294, 1294, 1295, 1295, 1295, 1297, 1296, 1299, 1300, 1298, 1298, 1301, 1301, 1302, 1302, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1303, 1304, 1304, 1306, 1305, 1307, 1307, 1309, 1308, 1308, 1308, 1310, 1310, 1312, 1311, 1313, 1314, 1314, 1315, 1316, 1316, 1316, 1317, 1319, 1320, 1321, 1322, 1318, 1323, 1323, 1324, 1324, 1325, 1325, 1325, 1326, 1326, 1326, 1327, 1327, 1328, 1328, 1329, 1329, 1329, 1329, 1330, 1330, 1331, 1331, 1332, 1332, 1333, 1333, 1334, 1334, 1335, 1335, 1336, 1336, 1336, 1337, 1337, 1338, 1338, 1339, 1339, 1340, 1340, 1341, 1342, 1342, 1342, 1342, 1343, 1343, 1343, 1344, 1345, 1345, 1345, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1346, 1347, 1347, 1347, 1347, 1347, 1348, 1348, 1349, 1349, 1350, 1351, 1351, 1352, 1352, 1353, 1353, 1353, 1354, 1354, 1354, 1354, 1355, 1355, 1355, 1356, 1356, 1357, 1358, 1358, 1359, 1360, 1361, 1362, 1362, 1363, 1363, 1364, 1364, 1364, 1365, 1365, 1365, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1366, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1367, 1369, 1368, 1370, 1370, 1371, 1371, 1373, 1372, 1374, 1374, 1374, 1374, 1375, 1375, 1376, 1376, 1376, 1376, 1377, 1377, 1377, 1377, 1378, 1378, 1379, 1379, 1380, 1380, 1380, 1380, 1380, 1380, 1380, 1381, 1381, 1381, 1382, 1382, 1382, 1382, 1383, 1383, 1383, 1384, 1384, 1384, 1384, 1384, 1386, 1385, 1387, 1387, 1388, 1388, 1389, 1390, 1390, 1390, 1390, 1392, 1391, 1393, 1393, 1394, 1393, 1395, 1395, 1396, 1396, 1397, 1397, 1397, 1397, 1398, 1397, 1399, 1399, 1399, 1399, 1399, 1400, 1401, 1401, 1401, 1401, 1401, 1402, 1403, 1403, 1403, 1403, 1404, 1404, 1405, 1405, 1406, 1406, 1407, 1407, 1409, 1408, 1410, 1408, 1411, 1408, 1412, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1408, 1413, 1413, 1414, 1414, 1415, 1415, 1415, 1416, 1416, 1416, 1416, 1417, 1417, 1418, 1418, 1419, 1419, 1419, 1419, 1419, 1420, 1420, 1421, 1421, 1422, 1423, 1423, 1423, 1423, 1423, 1424, 1424, 1425, 1425, 1426, 1426, 1427, 1427, 1427, 1427, 1427, 1429, 1428, 1430, 1430, 1431, 1431, 1431, 1432, 1432, 1432, 1433, 1433, 1434, 1435, 1435, 1436, 1437, 1438, 1438, 1440, 1439, 1441, 1441, 1441, 1442, 1442, 1444, 1443, 1445, 1445, 1446, 1446, 1446, 1447, 1447, 1448, 1449, 1448, 1450, 1451, 1452, 1453, 1453, 1454, 1454, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1455, 1456, 1456, 1456, 1457, 1457, 1457, 1457, 1457, 1458, 1458, 1458, 1458, 1458, 1458, 1459, 1459, 1460, 1461, 1462, 1462, 1462, 1463, 1464, 1464, 1464, 1465, 1465, 1465, 1467, 1466, 1468, 1468, 1469, 1469, 1471, 1470, 1472, 1472, 1473, 1473, 1473, 1473, 1475, 1476, 1477, 1474, 1478, 1478, 1480, 1481, 1482, 1483, 1484, 1479, 1486, 1487, 1488, 1489, 1485, 1490, 1490, 1490, 1490, 1490, 1490, 1491, 1491, 1491, 1492, 1492, 1493, 1493, 1493, 1494, 1494, 1495, 1496, 1495, 1497, 1497, 1498, 1499 }; /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ static const yytype_uint8 yyr2[] = { 0, 2, 1, 0, 4, 2, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 4, 1, 2, 0, 4, 0, 2, 3, 1, 2, 0, 3, 0, 5, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 1, 0, 1, 3, 1, 3, 3, 3, 3, 0, 7, 0, 12, 0, 12, 0, 12, 0, 6, 0, 3, 4, 4, 3, 2, 10, 1, 3, 2, 2, 2, 2, 2, 2, 2, 0, 13, 0, 6, 2, 0, 1, 3, 1, 0, 2, 0, 2, 0, 1, 3, 4, 0, 2, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 3, 1, 0, 2, 0, 2, 2, 2, 2, 2, 3, 3, 1, 1, 1, 2, 3, 3, 0, 4, 0, 3, 0, 1, 3, 1, 0, 1, 3, 1, 0, 3, 0, 1, 3, 1, 4, 0, 1, 1, 1, 0, 3, 2, 3, 0, 3, 0, 5, 5, 0, 7, 5, 0, 2, 1, 1, 1, 3, 1, 1, 1, 3, 0, 1, 1, 1, 1, 2, 1, 3, 1, 1, 0, 1, 0, 2, 3, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 3, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 5, 0, 2, 0, 3, 0, 2, 2, 2, 2, 0, 6, 2, 0, 2, 1, 1, 3, 0, 0, 0, 7, 0, 2, 2, 1, 1, 0, 0, 8, 0, 6, 1, 2, 1, 2, 0, 0, 6, 0, 0, 6, 0, 2, 0, 5, 0, 1, 0, 5, 0, 2, 0, 5, 4, 0, 0, 8, 0, 7, 1, 1, 1, 1, 1, 2, 4, 5, 0, 4, 4, 4, 3, 3, 2, 2, 0, 2, 1, 2, 3, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 4, 0, 1, 1, 1, 1, 1, 2, 3, 2, 4, 5, 0, 5, 0, 0, 5, 0, 7, 1, 0, 1, 0, 4, 0, 0, 3, 5, 6, 0, 4, 2, 2, 2, 2, 0, 1, 0, 3, 0, 1, 1, 3, 1, 4, 5, 5, 0, 2, 0, 0, 7, 0, 10, 1, 3, 1, 1, 0, 2, 0, 3, 1, 3, 0, 6, 1, 0, 0, 5, 0, 4, 1, 1, 1, 3, 1, 3, 0, 0, 5, 1, 3, 1, 1, 0, 3, 1, 3, 0, 4, 1, 0, 1, 2, 1, 3, 4, 3, 3, 3, 4, 4, 3, 0, 0, 6, 0, 1, 0, 1, 1, 2, 1, 1, 0, 1, 1, 2, 1, 0, 3, 0, 1, 1, 2, 1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 6, 1, 1, 3, 4, 4, 2, 2, 2, 3, 3, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 3, 1, 1, 2, 2, 7, 8, 8, 8, 8, 2, 0, 1, 4, 0, 1, 2, 0, 4, 3, 3, 3, 1, 2, 1, 1, 3, 2, 3, 2, 2, 1, 3, 3, 2, 3, 1, 1, 1, 1, 1, 2, 1, 1, 1, 2, 3, 2, 3, 2, 2, 3, 3, 3, 0, 6, 0, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 2, 1, 2, 3, 2, 1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 1, 5, 0, 1, 2, 1, 1, 1, 1, 3, 3, 3, 3, 0, 1, 0, 1, 0, 1, 2, 1, 1, 2, 2, 4, 1, 3, 2, 1, 2, 2, 2, 2, 2, 1, 2, 1, 1, 1, 1, 1, 0, 2, 1, 1, 1, 1, 1, 0, 2, 1, 1, 0, 1, 1, 2, 2, 1, 2, 2, 0, 1, 1, 1, 3, 1, 3, 0, 1, 0, 1, 5, 0, 3, 3, 1, 0, 2, 2, 2, 0, 3, 3, 6, 6, 1, 1, 2, 2, 2, 1, 2, 2, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 2, 0, 1, 0, 1, 0, 1, 1, 2, 1, 2, 1, 2, 2, 2, 3, 2, 1, 1, 1, 1, 3, 1, 1, 1, 4, 2, 1, 4, 0, 1, 0, 2, 1, 3, 0, 6, 0, 5, 7, 0, 5, 0, 5, 0, 5, 0, 4, 0, 10, 3, 4, 3, 3, 7, 0, 3, 1, 4, 0, 3, 0, 2, 0, 1, 0, 2, 2, 2, 2, 1, 1, 1, 3, 4, 0, 6, 4, 0, 5, 0, 6, 4, 3, 1, 2, 1, 1, 0, 5, 0, 3, 2, 0, 5, 0, 0, 6, 1, 3, 1, 1, 3, 2, 3, 2, 4, 0, 6, 0, 0, 8, 4, 4, 3, 3, 2, 2, 6, 5, 3, 5, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 2, 1, 0, 1, 1, 1, 0, 5, 3, 0, 5, 3, 3, 0, 3, 0, 2, 1, 3, 0, 1, 1, 0, 2, 1, 3, 0, 5, 0, 1, 1, 0, 6, 0, 1, 1, 2, 1, 1, 1, 0, 5, 2, 0, 5, 0, 1, 1, 2, 1, 1, 1, 1, 1, 2, 0, 5, 0, 1, 1, 0, 4, 4, 3, 5, 1, 3, 3, 0, 6, 1, 1, 1, 3, 2, 3, 1, 1, 0, 6, 1, 1, 1, 3, 3, 4, 0, 6, 0, 2, 0, 4, 0, 2, 1, 2, 4, 2, 3, 2, 3, 0, 3, 0, 0, 6, 2, 1, 1, 2, 2, 8, 4, 0, 1, 2, 1, 1, 1, 1, 0, 2, 4, 3, 1, 1, 3, 4, 0, 0, 0, 2, 2, 1, 1, 0, 2, 3, 3, 3, 2, 3, 4, 3, 4, 3, 4, 1, 3, 4, 3, 3, 6, 1, 5, 6, 5, 7, 6, 8, 5, 6, 4, 4, 5, 3, 4, 1, 3, 3, 3, 3, 3, 3, 5, 5, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, 3, 2, 2, 2, 2, 3, 3, 5, 6, 4, 4, 7, 2, 6, 5, 6, 6, 4, 4, 5, 4, 6, 2, 4, 4, 4, 10, 6, 8, 6, 4, 4, 6, 4, 4, 4, 6, 4, 7, 7, 7, 6, 6, 6, 6, 3, 4, 6, 8, 2, 2, 4, 8, 8, 6, 6, 2, 4, 6, 6, 8, 8, 6, 8, 6, 2, 4, 8, 8, 2, 2, 2, 4, 4, 4, 4, 3, 8, 4, 6, 4, 4, 4, 6, 8, 6, 4, 6, 1, 6, 4, 4, 4, 4, 4, 6, 4, 0, 5, 6, 2, 3, 0, 4, 0, 3, 0, 1, 1, 3, 4, 4, 5, 4, 4, 4, 5, 4, 0, 0, 7, 4, 5, 4, 5, 4, 4, 4, 4, 4, 5, 0, 8, 0, 3, 3, 1, 4, 0, 1, 0, 2, 0, 0, 4, 4, 2, 0, 3, 2, 3, 2, 1, 2, 1, 2, 1, 1, 1, 2, 0, 1, 1, 3, 1, 3, 1, 3, 0, 1, 0, 2, 4, 5, 1, 1, 1, 1, 4, 1, 3, 3, 3, 0, 6, 0, 6, 0, 8, 4, 0, 8, 0, 10, 6, 0, 8, 0, 10, 6, 1, 2, 2, 0, 4, 3, 5, 2, 0, 0, 7, 1, 0, 0, 6, 0, 3, 0, 0, 5, 0, 1, 0, 1, 0, 2, 3, 3, 1, 1, 0, 7, 0, 7, 1, 2, 0, 0, 2, 0, 2, 0, 1, 1, 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 2, 0, 1, 0, 0, 3, 0, 0, 3, 2, 0, 0, 4, 4, 2, 0, 1, 1, 3, 3, 1, 2, 0, 1, 0, 4, 4, 2, 0, 1, 1, 0, 1, 0, 1, 2, 1, 3, 3, 1, 1, 1, 1, 1, 0, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 6, 0, 1, 3, 1, 3, 0, 2, 3, 1, 2, 1, 0, 3, 0, 0, 7, 2, 1, 0, 3, 0, 7, 0, 6, 4, 6, 4, 4, 4, 0, 6, 4, 4, 5, 6, 4, 1, 3, 1, 1, 3, 1, 0, 2, 0, 1, 0, 0, 8, 0, 0, 6, 0, 1, 1, 1, 1, 1, 2, 1, 1, 1, 3, 4, 0, 3, 3, 1, 2, 2, 0, 3, 0, 5, 3, 1, 3, 1, 3, 1, 1, 0, 1, 0, 4, 0, 1, 3, 1, 1, 1, 0, 0, 6, 0, 0, 11, 3, 1, 3, 3, 1, 3, 0, 1, 0, 4, 0, 6, 0, 5, 0, 6, 1, 3, 2, 4, 0, 2, 0, 2, 1, 1, 1, 0, 4, 0, 1, 0, 1, 1, 3, 1, 1, 2, 2, 2, 1, 1, 1, 1, 0, 3, 0, 3, 2, 4, 4, 3, 4, 4, 1, 3, 3, 6, 2, 2, 0, 6, 0, 6, 5, 2, 1, 1, 1, 5, 5, 2, 2, 1, 4, 3, 2, 3, 2, 2, 1, 3, 4, 3, 3, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 0, 1, 0, 2, 0, 1, 1, 1, 0, 2, 0, 2, 0, 2, 2, 0, 4, 0, 4, 1, 1, 0, 1, 1, 0, 1, 1, 0, 4, 0, 0, 5, 1, 0, 3, 3, 1, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 3, 3, 1, 0, 3, 1, 2, 0, 1, 0, 3, 3, 2, 2, 3, 0, 1, 1, 2, 0, 0, 0, 0, 21, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 2, 2, 1, 3, 4, 3, 3, 0, 2, 2, 1, 3, 3, 0, 4, 0, 3, 1, 1, 0, 3, 2, 3, 1, 1, 2, 0, 2, 3, 1, 5, 1, 1, 2, 2, 1, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 3, 5, 1, 1, 1, 1, 1, 3, 4, 5, 1, 5, 3, 2, 1, 3, 2, 2, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 4, 0, 1, 1, 3, 0, 2, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 2, 2, 2, 1, 2, 4, 5, 4, 6, 2, 3, 3, 3, 5, 1, 3, 3, 2, 2, 2, 1, 1, 4, 4, 1, 1, 1, 1, 1, 0, 4, 1, 1, 1, 3, 3, 1, 1, 2, 2, 0, 3, 4, 3, 0, 7, 1, 2, 1, 1, 1, 1, 1, 1, 0, 5, 1, 1, 1, 1, 1, 3, 6, 6, 6, 7, 5, 3, 8, 8, 8, 6, 0, 1, 1, 2, 0, 1, 1, 3, 0, 3, 0, 3, 0, 3, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 1, 3, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 2, 0, 1, 3, 1, 2, 2, 2, 1, 3, 3, 1, 1, 3, 1, 3, 4, 5, 4, 6, 1, 0, 3, 3, 1, 1, 0, 2, 2, 2, 2, 0, 2, 0, 3, 2, 1, 2, 2, 2, 2, 2, 0, 3, 0, 1, 0, 3, 2, 0, 1, 2, 0, 1, 4, 4, 5, 2, 3, 0, 1, 0, 4, 0, 1, 1, 0, 1, 0, 2, 2, 1, 0, 1, 1, 2, 3, 2, 0, 6, 3, 0, 0, 0, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 3, 1, 2, 1, 2, 3, 3, 3, 0, 3, 3, 0, 7, 0, 3, 1, 3, 0, 3, 2, 4, 0, 3, 4, 4, 0, 0, 0, 16, 8, 7, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0, 12, 4, 4, 3, 4, 3, 2, 1, 3, 5, 1, 1, 0, 1, 1, 0, 2, 0, 0, 3, 0, 2, 5, 3 }; /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state STATE-NUM when YYTABLE doesn't specify something else to do. Zero means the default is an error. */ static const yytype_uint16 yydefact[] = { 0, 2431, 975, 2362, 0, 0, 0, 0, 0, 0, 2364, 113, 62, 1582, 1693, 1694, 1495, 1521, 2, 0, 975, 163, 0, 74, 1523, 0, 1744, 0, 0, 975, 441, 0, 1738, 0, 0, 975, 1526, 1728, 237, 163, 2364, 0, 1021, 2190, 1620, 0, 0, 0, 0, 1603, 0, 2247, 1571, 0, 0, 0, 0, 3, 8, 19, 0, 38, 24, 28, 14, 18, 13, 51, 45, 36, 10, 53, 54, 16, 42, 11, 12, 15, 34, 41, 35, 37, 49, 1012, 22, 23, 29, 43, 58, 20, 55, 52, 21, 1695, 25, 44, 39, 31, 59, 32, 50, 33, 57, 27, 46, 26, 9, 17, 47, 48, 40, 60, 30, 56, 0, 848, 0, 0, 913, 0, 0, 0, 0, 0, 831, 2429, 2430, 2431, 977, 976, 0, 2364, 1847, 960, 986, 1910, 1911, 1912, 1913, 1914, 1915, 1916, 1861, 1917, 1918, 1920, 1919, 1921, 1922, 1862, 1863, 1923, 1924, 1925, 1927, 1926, 1928, 1864, 1865, 1929, 1930, 1931, 1932, 1866, 1867, 1933, 1935, 1934, 1868, 1936, 1937, 1938, 1940, 1939, 1869, 1941, 1870, 1942, 1943, 1944, 1945, 1946, 1947, 1948, 1950, 1949, 1871, 1951, 1952, 1953, 1954, 1955, 1957, 1956, 1958, 1959, 1960, 1872, 1961, 1962, 1963, 1964, 1965, 1966, 1967, 1873, 1968, 1969, 1970, 1987, 1874, 1971, 1974, 1973, 1972, 1975, 1976, 1977, 1979, 1978, 1980, 1875, 1981, 1982, 1983, 1985, 1984, 1989, 1990, 1991, 1876, 1986, 1988, 2169, 1992, 1994, 1993, 1995, 1997, 1996, 1877, 1998, 1878, 1879, 1999, 2000, 1845, 2001, 1846, 2002, 2004, 2005, 2006, 2011, 1880, 2003, 2007, 2008, 2009, 2010, 2012, 1881, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2033, 2026, 2028, 2029, 2031, 2027, 2032, 2036, 2035, 2037, 2038, 2039, 2034, 2024, 2030, 2025, 2040, 2041, 2023, 2042, 2043, 2044, 2045, 2046, 2047, 2048, 2049, 2050, 2051, 2052, 2054, 2053, 2055, 2056, 2057, 2058, 2059, 2060, 2062, 2061, 2063, 2064, 2065, 2067, 2066, 2069, 2070, 1882, 2068, 2071, 2072, 2073, 2074, 2075, 1883, 1884, 1885, 2076, 2077, 1886, 2078, 2079, 2080, 1887, 2081, 2082, 2084, 2083, 2085, 2086, 1888, 1889, 2087, 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, 2099, 2100, 2102, 2101, 2103, 2104, 2105, 2106, 2107, 2108, 2109, 1890, 2110, 1891, 2111, 2112, 1892, 2113, 1893, 2114, 2115, 1894, 2116, 2117, 2118, 2119, 2120, 2121, 1895, 2122, 2123, 2124, 1896, 2126, 2125, 2127, 1897, 2129, 2130, 1898, 2128, 1900, 2131, 2132, 1899, 1901, 2133, 2134, 2136, 2135, 2137, 2138, 2139, 1902, 2140, 1903, 2141, 2142, 2143, 2144, 2145, 2147, 2146, 2148, 2149, 2150, 2151, 2153, 2155, 2154, 2152, 2156, 2157, 2158, 2159, 2162, 2163, 2164, 2165, 2160, 2161, 1904, 2166, 2167, 2168, 2170, 2171, 2173, 2172, 1905, 1906, 2174, 2175, 1909, 2176, 2177, 2180, 2178, 2179, 2182, 2181, 2183, 2184, 1907, 2185, 1908, 2186, 2187, 182, 1850, 165, 1851, 1860, 0, 2239, 2238, 944, 961, 2365, 2366, 536, 781, 0, 0, 782, 0, 535, 780, 163, 2431, 118, 0, 532, 533, 0, 0, 0, 1596, 0, 1519, 1519, 1519, 0, 0, 1519, 1519, 0, 1522, 1519, 163, 1519, 0, 67, 1701, 0, 0, 0, 0, 1844, 0, 1529, 0, 1745, 1746, 0, 1753, 0, 1754, 1748, 2236, 0, 0, 0, 0, 0, 163, 978, 0, 1580, 0, 227, 236, 238, 239, 235, 0, 2366, 2377, 1013, 1019, 1031, 2191, 2188, 1678, 239, 933, 933, 933, 931, 933, 1604, 1601, 0, 0, 1580, 1747, 2483, 0, 0, 0, 2479, 0, 2484, 0, 1021, 0, 0, 1, 5, 0, 0, 1982, 2080, 1691, 1689, 1839, 0, 822, 849, 0, 827, 0, 825, 1856, 1855, 1854, 0, 838, 837, 835, 0, 403, 0, 0, 2440, 829, 958, 2363, 0, 184, 0, 76, 0, 0, 0, 2369, 0, 0, 0, 0, 117, 0, 0, 0, 114, 1046, 1046, 2431, 2433, 2435, 536, 534, 0, 0, 0, 1600, 1599, 1598, 0, 1596, 1911, 1861, 1922, 0, 1812, 0, 0, 0, 1295, 0, 1866, 0, 1936, 1938, 1871, 0, 0, 1053, 1053, 1053, 0, 0, 0, 1959, 1960, 1821, 0, 0, 0, 1809, 1822, 1994, 1995, 0, 1811, 2000, 0, 0, 0, 0, 2017, 1819, 0, 0, 2049, 2051, 0, 0, 2055, 2056, 2057, 2058, 1796, 1108, 0, 1053, 1808, 1818, 2073, 1802, 2081, 2085, 2086, 0, 2095, 0, 0, 0, 2120, 2124, 0, 0, 2144, 0, 0, 1053, 1795, 2162, 2163, 2164, 2165, 0, 1810, 1904, 1820, 0, 2176, 1053, 1053, 1053, 0, 0, 0, 2183, 2187, 0, 0, 0, 2401, 1107, 0, 1260, 0, 1289, 1065, 1071, 1085, 0, 1100, 1118, 1119, 1121, 1215, 1120, 1126, 1125, 1496, 1806, 1124, 1123, 1807, 1117, 1829, 1850, 1828, 0, 0, 0, 0, 0, 0, 0, 0, 1674, 0, 0, 1506, 1519, 69, 0, 2283, 2298, 2299, 2295, 2300, 2318, 2301, 2305, 0, 2297, 2289, 0, 2304, 0, 2293, 2302, 0, 2287, 0, 2303, 2308, 2319, 2291, 2296, 2274, 0, 2281, 2285, 1841, 1401, 2250, 2251, 0, 75, 1531, 1532, 1530, 912, 0, 1743, 0, 1757, 0, 973, 451, 442, 0, 1673, 1672, 0, 1739, 2378, 0, 0, 949, 1534, 1581, 0, 1533, 1734, 0, 1732, 1729, 1731, 228, 0, 0, 258, 2283, 0, 2268, 0, 2372, 2369, 2379, 2414, 2409, 2408, 2411, 2412, 1037, 2413, 1036, 2410, 2407, 1046, 1032, 1034, 1035, 2194, 1640, 0, 715, 0, 1686, 1641, 0, 0, 1686, 0, 1436, 1676, 1679, 0, 2203, 1654, 778, 777, 776, 2204, 1672, 0, 1628, 1642, 0, 1605, 1647, 0, 2205, 0, 1675, 0, 1436, 1686, 0, 1621, 0, 0, 0, 0, 234, 927, 937, 929, 924, 0, 930, 926, 0, 2496, 2248, 912, 1801, 1800, 1848, 2480, 1799, 2488, 2490, 2476, 2478, 2485, 1015, 0, 2383, 6, 61, 0, 1698, 2438, 2439, 2437, 731, 0, 1053, 1857, 2432, 166, 836, 0, 404, 166, 0, 0, 0, 0, 0, 405, 406, 342, 820, 833, 0, 0, 832, 2440, 0, 0, 988, 990, 989, 1006, 186, 183, 164, 0, 946, 1513, 1515, 963, 2368, 0, 0, 2370, 2374, 1106, 1105, 0, 111, 116, 0, 0, 0, 2340, 115, 2334, 2436, 1046, 1046, 1046, 2428, 0, 2416, 2423, 2424, 2427, 2426, 2425, 2422, 0, 2415, 2418, 2419, 2421, 2420, 2440, 2434, 0, 783, 783, 783, 0, 1583, 1586, 1590, 1594, 1597, 0, 0, 1406, 1139, 1406, 1406, 1406, 1296, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 1176, 1149, 0, 1177, 0, 0, 0, 0, 0, 1815, 0, 0, 2401, 0, 0, 0, 1265, 0, 0, 0, 2401, 0, 0, 0, 0, 0, 1291, 1293, 1828, 1406, 0, 0, 1406, 0, 0, 0, 0, 0, 1058, 0, 1183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 1406, 0, 0, 1406, 0, 1192, 0, 1817, 0, 0, 0, 1816, 0, 0, 1814, 1813, 1797, 0, 1196, 1198, 1197, 0, 1406, 1406, 0, 0, 1129, 1128, 1130, 0, 0, 0, 0, 0, 0, 1104, 1103, 1102, 1101, 0, 0, 0, 1109, 0, 1110, 1111, 0, 1112, 1113, 1114, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1131, 0, 0, 0, 1798, 1224, 0, 1520, 1501, 1508, 1503, 0, 1674, 1504, 1512, 417, 0, 1509, 2332, 1505, 0, 1497, 0, 68, 0, 1724, 0, 0, 0, 1718, 1720, 1723, 1719, 0, 0, 1725, 1722, 0, 1721, 1702, 1706, 1710, 1703, 2284, 2282, 2316, 2315, 2320, 0, 2317, 2313, 2306, 2341, 2310, 0, 2341, 2312, 2311, 2341, 2307, 2314, 2341, 2279, 0, 1402, 1403, 0, 2249, 0, 1840, 0, 0, 996, 1758, 1759, 1755, 1401, 2237, 2240, 0, 452, 0, 0, 463, 0, 0, 64, 65, 0, 980, 0, 979, 983, 0, 0, 0, 1537, 1527, 1536, 1735, 1736, 0, 226, 251, 246, 254, 248, 250, 249, 255, 256, 257, 252, 247, 253, 240, 0, 2282, 0, 2279, 2373, 0, 2375, 2392, 1020, 2380, 1043, 1022, 1042, 0, 1033, 2189, 2192, 2200, 1682, 714, 0, 0, 1653, 0, 536, 0, 0, 0, 0, 0, 0, 1622, 0, 0, 573, 0, 1646, 1437, 1680, 1681, 1686, 0, 0, 1686, 0, 1659, 1676, 0, 1686, 1617, 0, 0, 1609, 1614, 1610, 0, 1616, 1615, 1618, 1606, 1607, 1682, 1633, 1660, 1676, 1645, 1652, 0, 1632, 1639, 0, 1650, 1676, 1676, 1686, 1686, 940, 939, 938, 934, 935, 940, 0, 1602, 1330, 0, 0, 2477, 2491, 2475, 2486, 2487, 2474, 1016, 2384, 1014, 2385, 0, 7, 4, 1692, 1690, 1699, 1700, 732, 731, 527, 530, 529, 0, 0, 1859, 0, 828, 0, 1674, 826, 0, 0, 1674, 353, 1674, 407, 731, 840, 0, 0, 830, 959, 0, 0, 440, 1006, 992, 1008, 0, 187, 189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 77, 78, 94, 948, 947, 0, 945, 971, 970, 968, 0, 969, 967, 962, 964, 965, 2367, 2371, 537, 731, 1674, 0, 345, 0, 0, 0, 0, 0, 536, 0, 0, 2417, 103, 784, 0, 0, 0, 1588, 1516, 1584, 1518, 1839, 0, 0, 0, 1592, 0, 0, 1407, 1406, 0, 1274, 0, 0, 0, 0, 1297, 0, 0, 0, 0, 0, 0, 0, 1245, 0, 1274, 1054, 0, 1203, 0, 0, 0, 0, 0, 0, 1377, 1378, 1379, 1380, 1388, 1381, 1382, 1383, 1390, 1395, 1384, 1385, 1391, 1392, 1393, 1386, 1394, 1389, 1387, 1396, 0, 1376, 0, 1399, 1397, 1400, 1398, 0, 1266, 1258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0, 1406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1172, 0, 1831, 1830, 0, 0, 0, 0, 1133, 0, 1132, 1339, 0, 2386, 2402, 0, 2206, 1261, 1263, 0, 1056, 1055, 1057, 1068, 1061, 1066, 1059, 1063, 0, 1115, 1916, 1069, 0, 0, 1097, 2401, 1415, 1098, 1083, 1088, 1089, 0, 1086, 1087, 0, 1091, 0, 1090, 1094, 1095, 1096, 1099, 0, 0, 0, 0, 1122, 1127, 1290, 1046, 1832, 0, 1499, 417, 420, 419, 1510, 418, 1558, 0, 914, 0, 0, 70, 72, 1715, 1712, 1711, 1713, 1717, 1716, 1714, 0, 1726, 2309, 0, 2290, 0, 2294, 2288, 2292, 0, 0, 2280, 0, 2286, 1405, 1990, 2066, 0, 1408, 2253, 1524, 2495, 0, 1756, 0, 0, 0, 974, 0, 1046, 450, 449, 448, 447, 0, 465, 445, 453, 66, 0, 0, 1740, 0, 0, 0, 0, 951, 1535, 0, 1737, 1733, 1730, 0, 0, 0, 0, 0, 0, 0, 2376, 2394, 2393, 2381, 1046, 1427, 1047, 1047, 1828, 2194, 2197, 2198, 2201, 2199, 0, 2196, 2195, 2210, 0, 1684, 1687, 1688, 0, 0, 1668, 1662, 1661, 1657, 1663, 1658, 1671, 1670, 1669, 1630, 1629, 1447, 1448, 1446, 1440, 1441, 1445, 1444, 1625, 1677, 1667, 1665, 1655, 1686, 1666, 1664, 1611, 1612, 1613, 0, 1436, 0, 1684, 1686, 1676, 0, 1686, 1686, 1649, 1651, 0, 928, 937, 925, 932, 1348, 1347, 0, 1304, 0, 1306, 1303, 1302, 1301, 0, 1347, 2481, 2489, 2493, 0, 1436, 2391, 2389, 528, 1558, 1558, 0, 1858, 0, 0, 0, 0, 0, 0, 0, 167, 176, 0, 0, 351, 352, 1558, 350, 393, 394, 397, 398, 399, 0, 0, 0, 0, 0, 0, 0, 0, 120, 400, 1558, 1558, 347, 373, 374, 377, 378, 379, 380, 381, 343, 0, 348, 910, 910, 0, 1558, 1558, 910, 1558, 0, 0, 1558, 1558, 0, 0, 1558, 0, 0, 910, 0, 1558, 908, 0, 0, 1558, 1558, 1558, 1558, 910, 0, 0, 1558, 440, 1558, 0, 0, 920, 0, 0, 1558, 0, 0, 1558, 0, 1558, 856, 907, 540, 560, 561, 821, 855, 857, 869, 436, 0, 886, 909, 0, 842, 844, 2441, 2442, 2443, 995, 987, 994, 991, 1006, 1004, 993, 773, 772, 0, 1007, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1514, 972, 966, 112, 731, 1558, 1558, 1558, 1558, 349, 382, 383, 386, 387, 388, 389, 392, 390, 391, 0, 0, 1674, 0, 0, 2335, 0, 2469, 0, 0, 0, 165, 538, 0, 0, 785, 0, 0, 0, 0, 0, 1408, 0, 1842, 1591, 1330, 1595, 1594, 0, 1199, 0, 1238, 0, 1240, 1241, 1242, 0, 0, 0, 0, 0, 1200, 0, 1147, 1201, 1202, 0, 0, 0, 0, 1244, 0, 1178, 0, 0, 1150, 1151, 1144, 1136, 0, 1217, 0, 0, 1152, 0, 0, 0, 0, 0, 1218, 1292, 0, 1294, 1832, 0, 1250, 1205, 1157, 0, 1248, 0, 1158, 1219, 1220, 1221, 1184, 1207, 1208, 0, 1223, 0, 1209, 0, 0, 0, 0, 1160, 1254, 1252, 0, 0, 0, 0, 1256, 1193, 1162, 0, 0, 0, 1161, 0, 0, 0, 0, 0, 0, 0, 1164, 0, 1145, 1253, 1255, 1213, 0, 1173, 0, 2395, 1338, 2403, 1339, 0, 0, 2397, 2387, 2392, 2400, 1137, 0, 0, 0, 0, 0, 1833, 1062, 1067, 1060, 1064, 2401, 0, 0, 0, 0, 1081, 1080, 0, 0, 0, 2401, 1415, 1084, 0, 0, 1234, 1235, 1287, 0, 1502, 1500, 1511, 1556, 1557, 1559, 0, 2333, 916, 915, 1507, 914, 73, 0, 1709, 1727, 1704, 2345, 0, 2344, 0, 2328, 2331, 1839, 0, 0, 0, 2263, 2257, 2264, 2266, 2260, 2265, 2267, 2258, 2259, 2254, 2261, 1409, 1438, 0, 997, 999, 1000, 998, 1006, 0, 0, 2243, 2244, 2242, 2241, 455, 0, 1472, 1473, 1458, 1459, 1457, 1460, 464, 1461, 1471, 0, 476, 0, 0, 0, 1742, 1741, 0, 981, 984, 985, 956, 955, 957, 950, 952, 953, 520, 1541, 0, 0, 0, 1547, 1528, 1538, 0, 1959, 2162, 2165, 241, 244, 243, 245, 0, 0, 0, 0, 0, 0, 1041, 1330, 1488, 1038, 1026, 1438, 1428, 1025, 1048, 1044, 0, 2193, 0, 2160, 2221, 0, 0, 0, 0, 0, 2211, 1683, 0, 1634, 0, 1656, 0, 0, 1627, 0, 1648, 1608, 1636, 1626, 1408, 1676, 1623, 1624, 942, 941, 936, 1347, 1330, 0, 0, 1327, 1349, 0, 1349, 1330, 1330, 0, 1330, 1401, 1344, 0, 0, 2492, 1429, 2390, 0, 0, 824, 170, 173, 171, 0, 172, 0, 0, 402, 401, 0, 1674, 395, 124, 123, 125, 126, 1455, 1456, 1452, 1453, 1451, 1454, 128, 127, 122, 839, 0, 0, 0, 1674, 375, 354, 355, 358, 359, 360, 911, 814, 975, 890, 0, 606, 814, 769, 774, 774, 888, 0, 975, 0, 0, 0, 0, 0, 975, 0, 0, 0, 1558, 0, 901, 851, 0, 0, 0, 0, 0, 902, 0, 852, 1558, 0, 0, 0, 0, 0, 975, 0, 0, 438, 0, 975, 870, 923, 922, 921, 0, 975, 975, 0, 566, 567, 565, 0, 0, 558, 541, 731, 853, 437, 854, 605, 0, 917, 602, 608, 1835, 0, 0, 0, 134, 2445, 0, 1368, 188, 95, 84, 80, 99, 1465, 1466, 1464, 1462, 1463, 100, 82, 83, 87, 86, 88, 89, 90, 85, 91, 81, 92, 101, 102, 79, 0, 0, 0, 0, 1674, 384, 0, 0, 1558, 344, 361, 362, 365, 366, 367, 368, 369, 372, 370, 371, 0, 2336, 2338, 0, 0, 338, 337, 0, 129, 2463, 0, 0, 605, 104, 436, 539, 542, 807, 809, 808, 799, 798, 105, 107, 109, 1517, 1594, 1330, 1427, 1840, 1408, 0, 1593, 0, 0, 1239, 1275, 0, 1298, 0, 1141, 692, 692, 1285, 1283, 677, 692, 1279, 1284, 1281, 0, 717, 0, 716, 0, 0, 0, 1246, 1243, 0, 0, 0, 0, 1269, 0, 0, 0, 1146, 0, 1229, 1251, 1249, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1134, 1046, 2404, 2406, 1017, 0, 2396, 2398, 2207, 2208, 2209, 816, 1262, 0, 1078, 1074, 0, 1072, 1414, 1093, 1092, 0, 0, 0, 1082, 1047, 1225, 1046, 0, 1288, 1834, 416, 572, 1498, 71, 1707, 2342, 0, 2353, 0, 0, 0, 0, 0, 0, 0, 2252, 1439, 1568, 0, 1006, 1010, 1849, 1749, 2245, 2246, 0, 456, 457, 459, 1047, 473, 451, 0, 443, 446, 0, 455, 0, 954, 1031, 0, 1560, 1545, 1552, 1546, 0, 0, 0, 1544, 1824, 1823, 1830, 2379, 0, 0, 2273, 0, 0, 0, 2382, 1408, 1408, 1482, 0, 0, 1023, 1028, 1024, 1027, 0, 1045, 1052, 1051, 1825, 1832, 0, 0, 0, 0, 719, 718, 727, 0, 0, 0, 2206, 0, 723, 725, 724, 2216, 722, 1685, 1436, 1644, 1643, 1443, 1442, 1619, 1436, 1638, 1686, 0, 0, 2386, 1342, 0, 1329, 1328, 1350, 0, 1330, 1349, 1349, 0, 1309, 1308, 1572, 1575, 0, 1307, 1366, 1332, 1031, 2482, 2494, 0, 730, 729, 571, 726, 570, 175, 174, 180, 181, 1469, 1467, 1468, 408, 421, 1470, 422, 396, 121, 409, 410, 376, 0, 356, 607, 815, 873, 0, 0, 0, 774, 601, 814, 783, 775, 814, 814, 0, 0, 551, 548, 892, 554, 871, 863, 872, 883, 885, 0, 550, 568, 0, 0, 556, 814, 858, 899, 900, 914, 545, 0, 581, 582, 580, 562, 569, 546, 547, 894, 0, 1423, 1425, 1433, 553, 552, 0, 549, 0, 905, 878, 0, 579, 577, 574, 576, 575, 578, 557, 555, 868, 0, 910, 910, 887, 0, 589, 590, 592, 593, 1838, 0, 919, 889, 0, 594, 603, 595, 0, 0, 0, 144, 0, 0, 841, 0, 137, 135, 146, 0, 0, 0, 1371, 0, 1372, 1369, 1370, 0, 96, 98, 415, 414, 413, 412, 385, 0, 0, 0, 1674, 363, 2337, 0, 0, 2470, 341, 339, 340, 0, 0, 190, 587, 588, 586, 585, 0, 425, 0, 1887, 423, 0, 435, 0, 1760, 731, 543, 0, 0, 0, 0, 1408, 1449, 1843, 1587, 0, 1174, 1299, 0, 0, 693, 1276, 739, 0, 1286, 679, 678, 1278, 1280, 1282, 1140, 1148, 1216, 1143, 1142, 0, 0, 0, 1181, 1182, 0, 1267, 0, 0, 1154, 0, 1156, 0, 0, 1231, 1206, 1222, 1185, 1210, 0, 1159, 1135, 0, 1186, 0, 1191, 1189, 0, 1163, 0, 0, 1170, 0, 1168, 0, 1169, 0, 1171, 1212, 1214, 1340, 2405, 1018, 0, 0, 1264, 1070, 0, 1079, 1076, 0, 1073, 1048, 1236, 1226, 0, 1705, 2343, 0, 2278, 2330, 2329, 2346, 2346, 2346, 0, 1410, 0, 1525, 1001, 1006, 1010, 0, 1002, 1760, 460, 0, 0, 0, 480, 0, 478, 454, 0, 982, 1046, 1542, 1554, 0, 1562, 0, 0, 1539, 1549, 0, 0, 0, 1548, 242, 0, 2270, 2271, 2269, 1438, 1416, 0, 0, 1494, 0, 1489, 1039, 0, 1050, 1049, 0, 2223, 0, 2222, 2234, 2235, 2232, 2233, 2231, 2212, 0, 2218, 2217, 0, 0, 0, 2228, 2219, 0, 0, 1635, 1637, 1631, 943, 2392, 1401, 1334, 1330, 1305, 1330, 1316, 0, 0, 1330, 1312, 1310, 1314, 0, 1408, 0, 1331, 1363, 1046, 1827, 1430, 1433, 357, 875, 0, 814, 770, 771, 783, 0, 783, 783, 0, 0, 862, 0, 963, 0, 867, 727, 563, 898, 897, 564, 0, 860, 0, 1434, 1435, 1426, 439, 859, 880, 865, 1726, 891, 605, 918, 751, 673, 622, 613, 692, 616, 615, 659, 630, 627, 677, 675, 645, 677, 677, 652, 651, 669, 655, 635, 739, 739, 634, 672, 739, 656, 654, 658, 0, 660, 677, 665, 653, 657, 674, 650, 647, 671, 692, 629, 628, 631, 670, 739, 0, 663, 692, 696, 633, 739, 746, 0, 0, 692, 694, 1837, 145, 133, 0, 0, 843, 845, 0, 0, 846, 2447, 0, 2449, 0, 1009, 0, 93, 0, 0, 346, 411, 364, 2339, 0, 201, 1046, 0, 0, 191, 193, 194, 0, 0, 0, 538, 1762, 1761, 424, 523, 544, 0, 0, 0, 1594, 1589, 0, 1585, 0, 1300, 0, 0, 0, 0, 733, 744, 742, 736, 0, 740, 741, 1277, 0, 1247, 0, 0, 1270, 0, 0, 0, 0, 0, 0, 0, 1138, 0, 1227, 0, 0, 0, 0, 0, 0, 1167, 1165, 1166, 1438, 2386, 817, 1075, 0, 1237, 0, 0, 0, 2351, 2351, 2351, 1567, 1566, 0, 1565, 1569, 1003, 1011, 0, 458, 461, 0, 453, 0, 477, 0, 444, 521, 0, 0, 0, 1563, 1551, 2383, 1540, 1543, 1832, 2272, 1030, 0, 1411, 1493, 1490, 0, 1483, 1485, 1487, 0, 1826, 0, 0, 2227, 2213, 728, 0, 0, 0, 0, 2214, 1335, 1333, 1343, 0, 1301, 1330, 1330, 0, 1301, 0, 0, 0, 1574, 1427, 1576, 1367, 0, 1345, 0, 1432, 0, 0, 874, 0, 0, 0, 0, 0, 0, 904, 0, 917, 864, 884, 906, 696, 975, 1424, 879, 881, 951, 0, 591, 0, 755, 621, 614, 632, 681, 676, 0, 681, 681, 641, 659, 636, 0, 739, 649, 640, 661, 664, 666, 668, 681, 0, 739, 638, 625, 681, 704, 0, 0, 0, 700, 0, 749, 0, 707, 609, 697, 699, 0, 0, 662, 739, 618, 747, 746, 620, 739, 746, 681, 0, 695, 681, 0, 131, 136, 147, 148, 834, 2446, 0, 2444, 0, 1005, 1373, 97, 0, 0, 204, 202, 203, 0, 197, 199, 194, 2457, 0, 2464, 0, 0, 2462, 426, 428, 436, 524, 0, 0, 1433, 812, 0, 0, 1450, 1175, 690, 688, 691, 689, 735, 734, 738, 0, 737, 746, 0, 1179, 1180, 0, 1268, 1259, 1204, 0, 1155, 1228, 0, 0, 1211, 1187, 1190, 1188, 1194, 1195, 1038, 1038, 583, 2399, 1077, 1708, 2354, 0, 0, 2350, 2348, 0, 2349, 2347, 2321, 0, 2276, 2277, 2275, 2262, 0, 0, 0, 1046, 466, 0, 483, 482, 479, 1438, 1553, 1555, 1561, 1550, 0, 1412, 1427, 720, 1486, 0, 1040, 2225, 2224, 2226, 2220, 0, 0, 0, 0, 1317, 0, 1321, 1326, 1322, 0, 1313, 1311, 0, 1449, 1355, 1356, 0, 0, 1361, 1365, 1438, 1433, 877, 0, 604, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 903, 1803, 893, 895, 861, 0, 866, 559, 0, 754, 0, 759, 685, 686, 687, 642, 682, 684, 0, 644, 612, 637, 667, 643, 0, 639, 626, 710, 709, 1053, 702, 713, 0, 0, 708, 698, 706, 701, 617, 619, 623, 624, 610, 0, 611, 1836, 138, 847, 278, 2448, 1021, 0, 2453, 119, 2461, 2471, 201, 0, 0, 142, 0, 192, 727, 195, 2383, 1760, 0, 431, 786, 0, 811, 0, 788, 790, 745, 743, 0, 1271, 1433, 0, 1230, 1232, 1341, 584, 2327, 2326, 2325, 2322, 0, 0, 0, 0, 0, 0, 2352, 2356, 1564, 0, 0, 0, 474, 0, 0, 508, 522, 1420, 1433, 0, 1438, 0, 1491, 1484, 2230, 2229, 2215, 1336, 0, 0, 0, 0, 0, 1374, 1573, 1351, 1351, 1362, 1346, 1431, 876, 0, 0, 786, 0, 0, 1805, 1804, 917, 0, 752, 0, 756, 757, 758, 0, 750, 683, 0, 818, 0, 712, 1053, 705, 0, 140, 304, 0, 290, 276, 0, 0, 0, 280, 149, 152, 150, 0, 151, 157, 0, 158, 159, 160, 161, 162, 153, 302, 303, 156, 154, 155, 0, 1852, 0, 1853, 2451, 0, 0, 2450, 168, 198, 0, 0, 134, 143, 2465, 711, 429, 427, 0, 2379, 0, 1558, 106, 787, 803, 802, 792, 1433, 0, 0, 108, 789, 805, 796, 110, 791, 804, 794, 680, 0, 1273, 1153, 2323, 2357, 2360, 2358, 2359, 2361, 2355, 0, 1750, 1047, 0, 467, 0, 470, 472, 486, 0, 1558, 0, 0, 1558, 1558, 1558, 1558, 501, 509, 511, 0, 1421, 1422, 0, 1417, 1419, 1413, 1474, 721, 1763, 2386, 1318, 0, 1323, 0, 1315, 0, 0, 1359, 1357, 0, 786, 596, 788, 790, 896, 0, 753, 0, 0, 739, 0, 739, 703, 139, 0, 132, 0, 0, 289, 292, 0, 0, 295, 285, 284, 286, 0, 279, 278, 278, 332, 283, 329, 328, 321, 2383, 0, 0, 0, 2472, 200, 1046, 146, 0, 433, 432, 801, 0, 793, 810, 813, 0, 797, 795, 1433, 1570, 1578, 0, 720, 0, 475, 468, 0, 0, 484, 0, 1558, 1558, 0, 0, 0, 0, 0, 481, 510, 1558, 1433, 0, 1029, 0, 1771, 1337, 0, 0, 1375, 0, 1352, 0, 0, 0, 600, 599, 597, 598, 0, 765, 0, 764, 0, 761, 760, 646, 819, 648, 141, 305, 316, 319, 311, 291, 0, 0, 0, 281, 278, 0, 265, 263, 264, 270, 271, 272, 273, 274, 275, 266, 269, 267, 268, 278, 0, 209, 0, 0, 2452, 0, 2454, 0, 178, 177, 169, 0, 278, 2458, 0, 2466, 2383, 800, 806, 1272, 0, 0, 1751, 462, 474, 471, 494, 487, 490, 0, 519, 0, 0, 515, 516, 514, 512, 505, 0, 503, 0, 1418, 1475, 0, 0, 0, 0, 1764, 1766, 0, 1492, 1320, 1325, 1354, 1353, 1368, 0, 882, 767, 768, 766, 0, 0, 0, 0, 278, 312, 0, 287, 0, 0, 0, 0, 207, 335, 0, 205, 323, 323, 2455, 2456, 179, 2473, 0, 148, 168, 434, 1577, 1579, 1777, 469, 494, 0, 492, 0, 488, 485, 489, 517, 518, 0, 502, 0, 513, 0, 0, 0, 0, 0, 1765, 0, 0, 1772, 1774, 0, 0, 0, 0, 313, 319, 309, 317, 278, 0, 0, 277, 296, 331, 208, 0, 333, 0, 278, 0, 322, 324, 326, 0, 130, 2467, 0, 1763, 491, 0, 499, 495, 497, 500, 508, 507, 504, 1046, 1769, 1770, 0, 1767, 0, 0, 1773, 1360, 1358, 763, 762, 0, 310, 0, 0, 308, 288, 293, 278, 0, 278, 220, 219, 0, 211, 259, 330, 0, 210, 2459, 278, 0, 1771, 493, 0, 0, 506, 0, 0, 1478, 1480, 1768, 1776, 1775, 314, 0, 278, 0, 278, 0, 278, 0, 0, 0, 0, 0, 206, 278, 2468, 0, 1779, 498, 496, 1047, 1476, 1046, 0, 306, 278, 294, 299, 336, 0, 214, 260, 261, 0, 217, 2460, 1778, 0, 1783, 1481, 1479, 278, 278, 295, 298, 334, 0, 0, 212, 213, 225, 224, 216, 0, 0, 0, 1790, 278, 278, 300, 233, 231, 278, 221, 229, 223, 0, 230, 262, 218, 1781, 1782, 1780, 1785, 0, 0, 1787, 1788, 0, 1752, 0, 215, 232, 1789, 1784, 0, 1791, 1793, 0, 222, 1786, 0, 1046, 1792, 0, 1047, 1794 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { -1, 56, 575, 1378, 57, 58, 59, 60, 61, 1249, 62, 774, 1186, 1664, 1665, 63, 515, 64, 971, 1435, 1436, 2849, 2850, 1437, 65, 1992, 2887, 2888, 2889, 1454, 485, 486, 1851, 1852, 996, 2870, 2836, 3601, 2840, 3708, 3840, 3747, 1924, 3175, 3602, 3603, 3717, 510, 1990, 1392, 3864, 1831, 3965, 1832, 66, 605, 969, 1414, 1415, 3193, 3194, 3433, 3195, 3425, 3426, 3427, 3428, 4087, 3939, 4031, 4088, 4160, 4196, 4202, 4203, 4130, 4212, 4213, 4214, 4200, 841, 4215, 67, 538, 539, 843, 1278, 2238, 1279, 68, 4131, 4198, 3940, 3941, 3847, 3942, 3720, 3943, 3851, 3944, 3723, 3945, 3946, 3947, 3948, 4079, 3949, 3846, 4123, 3936, 3937, 4125, 4177, 4194, 3950, 3730, 3841, 4018, 3731, 3842, 4074, 3932, 4075, 4118, 4173, 3933, 4019, 4121, 4022, 3951, 3957, 4089, 3952, 3958, 3953, 3735, 3858, 3956, 3856, 3955, 4127, 4084, 2477, 2869, 593, 594, 616, 1982, 595, 985, 944, 1394, 1864, 1865, 2342, 2343, 2459, 2460, 2461, 1856, 1857, 1858, 1970, 1971, 1972, 1838, 1839, 1840, 1398, 1835, 1836, 596, 945, 955, 1859, 1860, 1861, 2465, 1974, 1975, 1976, 1977, 1862, 1657, 1863, 2736, 2483, 2880, 3619, 3203, 3754, 3971, 2881, 2882, 2410, 2798, 2390, 69, 527, 821, 1246, 2211, 1247, 2213, 2622, 2623, 2624, 1703, 1704, 3499, 1708, 2210, 3655, 3979, 3789, 3790, 2626, 3788, 2630, 2995, 2996, 3275, 3501, 3658, 3984, 3888, 4051, 3982, 4047, 3983, 4049, 4142, 4100, 4101, 3898, 3993, 3994, 4055, 4103, 3801, 3802, 3803, 2231, 2636, 3504, 3439, 1964, 1384, 1385, 487, 488, 489, 613, 2484, 1911, 2485, 2486, 2813, 1913, 1914, 2597, 1312, 2810, 2787, 3475, 2876, 2817, 2818, 2819, 2820, 2821, 2827, 2754, 2351, 2352, 2415, 2830, 3617, 3361, 3376, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 2904, 2905, 3570, 3571, 3572, 2900, 2901, 3406, 3390, 3391, 3392, 3618, 3585, 3223, 2677, 2678, 3665, 2686, 2687, 2725, 3040, 2726, 1388, 3224, 3225, 3226, 3400, 3393, 2829, 3355, 3563, 3566, 3699, 3924, 2353, 2755, 2354, 2758, 900, 490, 2355, 2356, 1468, 1469, 3757, 3765, 3769, 3758, 3770, 3766, 3759, 3760, 3761, 3772, 3768, 2490, 3440, 3441, 2747, 2960, 3701, 70, 1402, 938, 947, 943, 961, 600, 1403, 1925, 2421, 3412, 583, 1915, 3347, 3089, 3351, 1916, 2767, 1917, 3076, 3333, 1918, 3105, 3349, 3560, 2768, 2769, 1919, 1920, 1921, 3088, 3097, 3691, 2357, 123, 2156, 2825, 2397, 71, 1360, 1355, 72, 912, 907, 908, 1358, 1359, 1797, 2287, 73, 608, 1441, 74, 1257, 2223, 2224, 2225, 75, 962, 76, 77, 609, 1448, 1449, 1450, 78, 1242, 130, 79, 829, 1252, 1254, 1255, 80, 604, 963, 964, 965, 966, 1930, 81, 1695, 2187, 2188, 2189, 2190, 1411, 2423, 1412, 1413, 1939, 2988, 82, 83, 572, 2111, 544, 850, 545, 546, 1737, 2251, 3476, 861, 862, 863, 2662, 1290, 1291, 1292, 2256, 2667, 1041, 739, 740, 741, 742, 1134, 1135, 3394, 743, 1144, 1623, 744, 745, 746, 747, 748, 749, 1650, 2928, 2929, 3241, 2141, 2142, 2143, 750, 2029, 2915, 2042, 751, 1127, 1608, 1540, 3233, 2921, 3460, 3632, 1485, 2012, 2520, 2594, 2105, 1066, 1067, 1031, 2019, 1491, 1804, 1805, 1806, 1807, 1808, 3321, 3320, 3322, 3671, 3525, 3673, 3529, 2298, 1809, 1810, 2700, 3523, 3814, 2106, 2107, 2108, 3251, 2701, 3056, 2719, 2720, 3540, 2289, 1811, 2707, 3822, 3537, 3538, 3914, 3913, 3539, 3326, 3327, 3069, 3070, 2845, 2846, 2847, 3675, 1531, 1532, 1538, 1229, 1230, 1486, 2185, 2611, 3511, 3662, 2132, 3292, 3660, 3808, 1922, 2793, 2794, 2253, 2254, 2723, 3073, 3102, 1315, 3477, 2613, 1770, 1771, 3212, 4201, 2206, 2435, 2737, 2738, 2208, 3903, 4059, 4145, 4146, 4147, 3022, 3023, 3296, 3297, 2255, 2659, 3024, 3512, 3813, 84, 494, 85, 1662, 2147, 1183, 2161, 973, 1472, 1473, 762, 507, 86, 516, 2186, 87, 534, 1721, 813, 833, 1260, 1261, 2232, 2637, 2644, 2233, 2649, 3285, 2639, 3001, 3002, 2151, 2152, 2640, 3004, 3282, 3265, 3266, 2983, 3496, 88, 560, 3067, 2714, 2715, 3880, 3881, 834, 89, 493, 1018, 2001, 1478, 2000, 1019, 1020, 2003, 634, 635, 90, 914, 557, 1337, 1338, 1339, 1786, 91, 549, 901, 2690, 2696, 1765, 825, 1179, 1319, 904, 1320, 1751, 2271, 1301, 92, 934, 933, 93, 579, 1380, 94, 775, 1202, 1674, 2601, 2971, 1203, 1204, 2162, 95, 535, 838, 839, 1263, 1723, 96, 529, 826, 1714, 97, 520, 98, 99, 817, 2989, 3883, 4044, 524, 1697, 1238, 3204, 3905, 4002, 4003, 4005, 4067, 4068, 4096, 4188, 4222, 4206, 4225, 4226, 4229, 4236, 4237, 753, 921, 754, 3555, 755, 756, 2645, 2646, 3074, 757, 2647, 758, 2748, 974, 1475, 513, 465, 590, 922, 2619, 760, 3737, 941, 989, 467, 468, 100, 865, 548, 1294, 1295, 1296, 1746, 1747, 905, 2120, 1748, 1749, 2268, 2263, 3304, 3046, 3038, 101, 818, 472, 1240, 1241, 2196, 102, 559, 103, 1231, 1691, 1692, 2182, 2610, 2183, 104, 846, 105, 800, 1685, 801, 1207, 802, 803, 1221, 1215, 1224, 1218, 3643, 3488, 3489, 2170, 1182, 990, 991, 1677, 2164, 2165, 3260, 3491, 2974, 3649, 3650, 106, 131, 475, 611, 980, 1284, 107, 108, 109, 110, 1287, 1373, 2247, 1374, 2112, 1375, 1376, 1818, 1735, 1604, 1605, 2958, 1124, 1125, 2115, 2567, 2568, 864, 620, 1006, 998, 124, 125, 126, 623, 624, 127, 959, 960, 2422, 2842, 3177, 3415, 3416, 3607, 3742, 1000, 3613, 4038, 4164, 1001, 1002, 2871, 3615, 3868, 4040, 4137, 1003, 2474, 3190, 3743, 3967, 111, 923, 569, 1371, 1366, 1368, 1814, 2305, 112, 113 }; /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing STATE-NUM. */ #define YYPACT_NINF -3606 static const int yypact[] = { 4367, 2376, 64, -3606, -127, 832, 42666, 138, 1080, 1080, 433, 2656, -3606, -3606, -3606, -3606, -3606, 2987, -3606, 42666, 64, -3606, 23336, -3606, -3606, 688, 790, 128, 1080, 64, -3606, 42666, -3606, 635, 1349, 64, -3606, -3606, 37986, -3606, 433, 42666, -3606, 771, -3606, 37986, 496, -114, 685, 649, 1006, -3606, -3606, 42666, 2180, 863, 1237, 1163, -3606, -3606, 1074, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 23925, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 1330, 42666, 1335, 42666, -3606, 1348, 42666, 36231, 42666, 1035, 1471, -3606, -3606, 1456, -3606, -3606, 1080, 433, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 957, -3606, -3606, 1082, -3606, -3606, -3606, -3606, -3606, 1608, 1441, -3606, 1497, 36231, -3606, 42666, -3606, -3606, -3606, 870, -3606, 1186, -3606, 1212, 1528, 1540, 1559, 1120, 11378, 1553, 1553, 1553, 42666, 1589, 1553, 1553, 42666, -3606, 1553, -3606, 1553, 1080, -3606, -3606, 3753, 42666, 1437, 462, 662, 36231, 1432, 42666, -3606, -3606, 11378, -3606, 1566, -3606, -3606, -3606, 1080, 1770, 1637, 858, 42666, -3606, -3606, 1080, 191, 599, 1258, -3606, -3606, 1380, -3606, 4111, 165, -3606, -3606, -3606, 2324, -3606, -3606, 5415, 1380, -3606, -3606, -3606, 1274, -3606, -3606, -3606, 42666, 1080, 1568, -3606, -3606, 149, 149, 149, -3606, 149, -3606, 149, -3606, 863, 1266, -3606, -3606, 1269, 42666, 888, 985, -3606, -3606, 1283, 764, -3606, 1390, 33306, -3606, 42666, -3606, -3606, -3606, -3606, 1577, -3606, -3606, -3606, 1544, -3606, 23336, 42666, 1467, -3606, -3606, -3606, 23336, 1347, 42666, -3606, 23336, 23336, 203, 26, 1381, 42666, 42666, 1785, -3606, 1925, 33306, 1551, -3606, 204, -87, 1456, 1966, -3606, 1441, -3606, 42666, 42666, 42666, -3606, -3606, -3606, 38571, 1120, 1377, 1379, 1382, 15620, -3606, 1384, 1396, 1402, 11378, 1405, 1409, 1415, 1433, 1444, 1446, 1451, 1454, 1473, 1473, 1477, 1487, 1492, 1503, 1067, 1516, -3606, 1521, 1556, 1560, -3606, -3606, 1563, 1575, 1584, -3606, 1598, 1609, 1621, 11984, 1629, 1632, -3606, 20387, 1638, 1643, 1647, 1669, 1671, 1692, 1694, 1698, 1704, -3606, -3606, 11378, 1708, -3606, -3606, 1712, -3606, 1718, 1730, 1743, 1746, 1748, 1755, 1760, 1767, 1779, 1786, 1791, 1800, 1821, 1830, 1834, 1843, -3606, 1527, 1850, 1853, 1533, 1863, -3606, 1868, -3606, 256, 1878, 1473, 1473, 1473, 1882, 1885, 1887, 1891, 1904, 15620, 15620, 15620, 11378, -3606, 42666, -3606, 42666, 1363, 3070, -3606, 2455, 15620, 899, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 1499, 1602, -3606, -3606, -3606, -3606, -3606, 1907, 1681, 2032, 42666, 42666, 42666, 1994, 42666, 42666, 36231, 1829, 42666, 33306, -3606, 1553, 1811, 3125, 2013, 2075, 1375, -3606, -3606, -3606, -3606, -3606, 2160, -3606, -3606, 2014, -3606, 2183, -3606, -3606, 318, -3606, 89, -3606, -3606, -3606, -3606, -3606, -3606, 2186, 1932, -3606, -3606, 151, -3606, -3606, 42666, -3606, -3606, -3606, -3606, 2325, 2070, 1363, 2508, 900, 23336, -3606, 79, -3606, -176, -3606, -3606, 2298, -3606, -3606, 33306, 23336, -3606, -3606, -3606, 20976, -3606, -3606, 2524, -3606, 1987, -3606, -3606, 1602, 3155, -3606, 2013, 2249, -3606, 2251, 2163, 26, 2064, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2019, 2324, -3606, -3606, -3606, -3606, 2461, -3606, 2166, 648, -3606, 2024, 1706, 648, 33891, 2379, 884, -3606, 292, -3606, 2463, -3606, -3606, -3606, -3606, 2155, 2158, -3606, -3606, 338, 1721, -3606, 2519, -3606, 711, -3606, 2199, 2379, 648, 884, -3606, 2435, 2553, 392, 508, -3606, -3606, -75, -3606, -3606, 2622, -3606, -3606, 23336, -3606, -3606, 2325, -3606, -3606, -3606, 2102, -3606, 2361, 2207, -3606, -3606, 52, -3606, 2114, 9, 2571, -3606, 1001, 34476, -3606, -3606, -3606, 2605, 2621, 1473, 2120, -3606, -3606, -3606, 2727, -3606, -3606, 2133, 2636, 2636, 2636, 2740, -3606, -3606, -3606, -3606, -3606, 2296, 2174, -3606, 1467, 23336, 2520, 2153, -3606, -3606, 2392, 11378, -3606, -3606, 4660, 22, -3606, -3606, 221, -3606, 2709, 2367, -3606, -3606, -3606, -3606, 2619, -3606, -3606, 2727, 2678, 2636, 2575, 2192, -3606, -3606, -3606, -3606, -3606, -3606, 215, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 230, -3606, -3606, -3606, -3606, -3606, 1467, -3606, 23336, -3606, -3606, -3606, 23336, -3606, 2196, -3606, 2191, -3606, 11378, 11378, 313, 2743, 2796, 2796, 2796, 1363, 2247, 11378, 11378, 11378, 11378, 11378, 11378, 11378, 1245, 2212, -3606, -3606, 8954, -3606, 2220, 11378, 11378, 2309, 11378, 1602, 11378, 24514, -3606, 3626, 11378, 331, 2698, 11378, 11378, 11378, 11378, 4044, 11378, 11378, 24514, 2823, 2229, -3606, 2231, 1445, 11378, 11378, 1465, 11378, 11378, 11378, 11378, 11378, -3606, 8954, -3606, 11378, 11378, 11378, 11378, 15620, 11378, 11378, 11378, 11378, 11378, 11378, 2796, 2796, 11378, 11378, 1529, 8954, -3606, 11378, 1602, 2269, 2269, 11378, 1602, 7742, 11378, -3606, -3606, -3606, 2235, -3606, -3606, -3606, 24514, 2796, 2796, 11378, 11378, 2743, 2743, 2743, 187, 2239, 1003, 11378, 25692, 2233, -3606, -3606, -3606, -3606, 11378, 11378, 11378, -3606, 15620, -3606, -3606, 1795, -3606, -3606, -3606, 12590, 15620, 15620, 2232, 15620, 15620, 15620, 15620, 15620, 2595, 15620, 15620, 16226, 16832, 15620, 15620, 15620, 15620, 952, 2743, 36231, 15620, 11378, -3606, -3606, 42666, -3606, -3606, -3606, 2241, 23336, 1829, -3606, -3606, -64, 2705, -3606, -3606, 2244, 23336, -3606, 2250, -3606, 2597, -3606, 2599, 2600, 2602, -3606, -3606, -3606, -3606, 2819, 2610, -3606, -3606, 2615, -3606, -3606, 2265, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2374, -3606, -3606, -3606, 2283, -3606, 33306, 2283, -3606, -3606, 2283, -3606, -3606, 2283, 63, 2840, -3606, -3606, 42666, -3606, 43251, -3606, 20976, -127, -3606, -3606, -3606, 2631, 162, 2287, -3606, 23336, -3606, 102, 102, 2525, 183, 36231, -3606, -3606, 157, 2291, 2369, 2297, -3606, 2370, 23336, 23336, -3606, -3606, -3606, -3606, 2903, 599, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2312, 2768, 2317, 33306, 748, -3606, 42666, -3606, 1558, -3606, -3606, -3606, 2319, -3606, 11378, -3606, 2321, -3606, 1654, 2699, -3606, -127, 11378, -3606, 2331, 1441, 42666, 42666, 42666, 23336, 42666, 23336, -3606, 787, 787, -3606, 31551, -3606, -3606, -3606, -3606, 648, 42666, 42666, 648, 33306, -3606, 884, 42666, 648, -3606, 2700, 2423, -3606, -3606, -3606, 2762, -3606, -3606, 2753, 2332, -3606, 2699, -3606, -3606, 884, -3606, -3606, 23336, -3606, -3606, 884, -3606, 884, 884, 648, 648, 2381, -3606, -3606, 2339, -3606, 2381, 2476, -3606, 925, 149, 2573, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 96, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 132, -3606, -3606, -3606, 2041, 2818, -3606, 36231, 2083, 763, 4, 2083, 1895, -127, 998, -3606, 998, -3606, 3356, 2601, 209, 23336, -3606, 2345, 39156, 23336, -3606, -3606, -3606, 1177, 2353, 2354, 1363, 2805, 2808, 2810, 2812, 2814, 2815, 2817, 2820, 2827, 2828, 2830, 2832, 2834, 2835, 2838, 2841, 2842, 2846, 2388, -3606, -3606, -3606, -3606, 23336, -3606, -3606, -3606, -3606, 2415, -3606, -3606, -3606, -3606, 1714, -3606, -3606, -3606, 207, 1914, 2418, 2446, 113, 33306, 2822, 42666, 42666, 1441, 42666, 42666, -3606, -3606, 1018, 2662, 2663, 2667, 2411, -3606, -3606, -3606, 815, 42666, 2837, 28041, -3606, 315, 935, -3606, 2796, 2413, -3606, 2419, 2421, 2422, 11378, 36, 293, 937, -209, 1259, 1042, 357, 206, -3606, 2424, 2429, -3606, 1126, -3606, 414, 449, 1133, 1149, 2425, 2428, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2853, -3606, 1356, -3606, -3606, -3606, -3606, 2432, -3606, -3606, 1164, 451, 456, 241, 2444, 461, 1426, 1439, 2443, 24514, 42666, 2796, 2453, 1170, 1181, 2796, 2456, 479, 1191, 1468, 1601, 1603, 1197, 1223, 1228, 491, 1618, 2179, 1233, 500, 541, 558, 777, 1243, 2458, 2459, 782, 196, 2796, 2464, 1254, 285, 2442, 2460, 1281, 9560, 10166, 10772, 642, 802, -3606, 2465, -3606, 2231, 2466, 2468, 289, 1289, -3606, 11378, -3606, -3606, 1033, 828, 2526, 146, 872, -3606, 2618, 42666, 2228, 152, -3606, -3606, -3606, -3606, -3606, -3606, 715, -3606, 2474, -3606, 2477, 1690, 2478, 11378, 928, 2478, 3032, 2307, 2307, 15620, 3098, 2685, 11984, 1021, 11984, 1021, 2478, 2478, 2478, -3606, 15620, 2481, 15620, 15620, -3606, 2743, 1363, 2482, 1049, 42666, -3606, -64, -3606, -3606, -3606, -3606, 695, 33306, 116, 23336, 36231, 2484, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 4057, 23336, -3606, 42666, -3606, 2557, -3606, -3606, -3606, 21565, 21565, -3606, 21565, -3606, -3606, 295, 853, 2795, 2514, -3606, -3606, -3606, 23336, -3606, 2876, 639, 23336, 2345, 2494, -3606, -3606, -3606, -3606, -3606, 1965, 2596, -3606, 3093, -3606, 11378, -127, -3606, 33306, 33306, 23336, 23336, 636, -3606, 1135, -3606, -3606, -3606, 3155, 17438, 2914, 2925, 21565, 21565, 21565, -3606, -3606, -3606, -3606, -3606, 799, 1363, -3606, 2498, -3606, -3606, -3606, -3606, -3606, 39741, 258, -3606, -3606, -127, 2930, -3606, 1363, 2510, 42666, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -71, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 648, -3606, -3606, -3606, -3606, -3606, 2722, 2379, 1721, 2930, 648, 884, 23336, 648, 648, -3606, -3606, 44, -3606, -75, -3606, -3606, -3606, -3606, 42666, 1127, 2661, -3606, 2513, -3606, -3606, 23336, -3606, 2516, -3606, 2938, 3076, 2379, -3606, -3606, -3606, 695, 695, 2801, -3606, -127, 2641, 2647, 2650, 2664, 2668, 2701, -3606, -3606, -127, -127, -3606, -3606, 695, -3606, 1960, -3606, -3606, -3606, -3606, -127, -127, -127, -127, 2547, -127, -127, 1660, -3606, -3606, 695, 695, -3606, 1739, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 915, -3606, 2660, 3082, 2785, 695, 695, 3082, 695, 2786, 2787, 695, 695, 2630, 3033, 695, 2922, 2652, 2295, 2926, 695, -3606, 2653, 3042, 695, 695, 695, 695, 3082, 2803, 3128, 695, -3606, 695, 2806, 2811, 170, 2821, 2824, 695, 1085, 42666, 695, 2825, 695, -3606, -3606, 3238, -3606, -3606, -3606, -3606, -3606, -3606, 806, 22156, -3606, -3606, 336, -3606, 2764, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2576, -3606, -3606, 11378, 2580, 2547, -127, -127, 77, -127, 2547, -127, -127, -127, -127, -127, 2547, 2547, -127, 827, -127, 2547, 4660, -3606, -3606, -3606, -3606, 213, 695, 695, 695, 695, -3606, 2242, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 36231, 2927, 2238, -58, 36231, -3606, 42666, -3606, 1410, 42666, 2590, -128, 2915, 171, 171, -3606, 23336, 23336, 23336, 42666, 2635, 2514, 28041, -3606, -3606, 925, -3606, 2583, 13196, -3606, 2612, -3606, 11378, -3606, -3606, -3606, 1075, 11378, 11378, 3052, 2566, -3606, 35061, -3606, -3606, -3606, 11378, 35061, 2566, 11378, -3606, 2613, -3606, 2973, 2977, -3606, -3606, -3606, -3606, 11378, -3606, 11378, 11378, -3606, 11378, 11378, 11378, 11378, 11378, -3606, -3606, 15620, -3606, 2598, 2616, -3606, -3606, -3606, 2617, -3606, 11378, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 11378, -3606, 11378, -3606, 11378, 11378, 11378, 11378, -3606, -3606, -3606, 13802, 11378, 11378, 2625, -3606, -3606, -3606, 11378, 11378, 11378, -3606, 11378, 159, 11378, 355, 11378, 484, 11378, -3606, 11378, -3606, -3606, -3606, -3606, 11378, -3606, 1672, -3606, -3606, 1695, -3606, 1033, 2626, -3606, -3606, 1558, -3606, -3606, 2603, 2611, 2614, 36231, 11378, -3606, -3606, -3606, -3606, -3606, -3606, 15620, 291, 2627, 15620, -3606, 3032, 4044, 4044, 1955, 11378, 928, 3032, 11378, 2629, 2608, -3606, 11378, 42666, -3606, -3606, -3606, -3606, -3606, -3606, 36231, -3606, -3606, -3606, -3606, 116, -3606, 2250, -3606, 2345, -3606, -3606, 1678, -3606, 33306, 2623, -3606, 2624, 2706, 2708, 2713, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2379, 1135, -3606, 2634, -3606, -3606, 2392, 2726, 2672, 2986, -3606, -3606, -3606, 42666, 15620, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 3201, 2657, 2658, 3100, 2659, 1363, -3606, 2736, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 675, -3606, -3606, 2665, 2665, 19207, -3606, -3606, -3606, 3116, -59, -59, -59, -3606, -3606, -3606, -3606, 2918, 33306, 3091, 3095, 3108, 1001, -3606, 740, -3606, 174, 3064, 2379, -3606, 3111, 36816, -3606, 28626, -3606, 2689, 3061, 2692, 695, 30966, 940, 26280, 32136, -3606, -3606, 77, -3606, 180, -3606, 31551, 31551, -3606, 2962, -3606, -3606, -3606, -3606, 2514, 884, -3606, -3606, -3606, 2703, -3606, -3606, 1038, 3068, 3071, -3606, 2950, 1121, 2950, 1038, 1038, 24514, 925, 2185, -3606, 2547, 3004, -3606, -3606, -3606, 35646, 32721, -3606, -3606, -3606, -3606, 3208, -3606, 3210, 959, -3606, -3606, 2328, 4, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 1895, 2328, 2328, 998, -3606, 121, -3606, -3606, -3606, -3606, -3606, 25103, 64, -3606, 361, -3606, 25103, -3606, 1177, 1177, -3606, 25103, 64, 77, 2547, 25103, 2547, 40326, 64, -127, -127, 2246, 695, 2547, -3606, -3606, 3077, 42666, 3078, 25103, 25103, -3606, 36231, -3606, 695, 1155, 2547, 77, 77, 25103, 64, 24514, 2609, -3606, -127, 64, -3606, -3606, -3606, -3606, 23336, 64, 64, 1663, -3606, -3606, -3606, 2547, 40326, -3606, -3606, 4747, -3606, -3606, -3606, 18618, 42666, 269, 383, -3606, 2711, 27, 1188, 2794, 1276, 2714, 2723, 40911, 1363, 2547, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -127, 1965, 2328, 2328, 1914, -3606, 2972, 3132, 695, -3606, 2224, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2809, -3606, 3310, 2900, 2730, -3606, -3606, 145, -3606, -3606, 1103, 23336, 18029, -3606, 2963, -3606, 2632, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2724, 925, 2979, 1408, 2514, 2741, -3606, 11984, 1329, -3606, 1363, 11378, 1363, 1518, -3606, 2744, 2744, -3606, -3606, 2749, 2744, 3112, -3606, 3117, 2751, -3606, 2752, -3606, 1337, 2760, 2761, 1499, -3606, 11378, 11378, 1339, 1341, -91, 820, 847, 332, -3606, 1373, 3204, -3606, -3606, 1400, 1406, 1411, 1447, 860, 1452, 1725, 11984, 1460, 972, 368, -3606, 1484, 907, 916, 1493, 11378, 1548, 11378, 1592, 11378, 1599, 1610, 1612, -3606, 2019, 1695, -3606, -3606, 2763, -3606, -3606, -3606, -3606, -3606, 2742, 1363, 2771, -3606, -3606, 11378, -3606, 899, -3606, -3606, 15620, 391, 2772, -3606, 1363, -3606, -3606, 2774, 1499, -3606, -3606, -3606, -3606, -3606, 2776, -3606, 42666, 444, 2782, 29211, 33306, 33306, 33306, 2769, 11378, -3606, -3606, 3037, 23336, -3606, 3167, -3606, -3606, -3606, -3606, 2784, 2781, -3606, -3606, -3606, 3032, 3136, 3021, -3606, -3606, 1965, 42666, 33306, -3606, 2324, 24514, -3606, 2788, -3606, 2788, 1000, 2790, 1750, -3606, -3606, -3606, 2793, 2064, 17438, 3212, 2192, 33306, 33306, 33306, -3606, 2514, 2514, 769, 2845, 3166, -3606, -3606, -3606, -3606, 41496, -3606, -3606, -3606, -3606, 1196, 42666, 3148, 42666, 8348, -3606, -3606, 3336, 11378, 33306, 673, 872, 695, -3606, -3606, -3606, -3606, -3606, -3606, 2379, -3606, -3606, -3606, -3606, -3606, 2379, -3606, 648, 44, 738, 828, -3606, 1832, -3606, -3606, -3606, 3168, 1038, 2950, 2950, 3169, 3060, 908, 2816, -3606, 695, -3606, -3606, -3606, 2324, -3606, -3606, 11378, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 915, -3606, -3606, -3606, -3606, 2813, 3170, 3174, 1177, -3606, 25103, -3606, -3606, 25103, 25103, 111, 40326, -3606, -3606, -3606, -3606, -3606, -3606, 2826, -3606, -3606, 1965, -3606, -3606, 32721, -127, -3606, 25103, 2826, -3606, -3606, 193, -3606, -127, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 40326, 2829, -3606, 1365, -3606, -3606, 1770, -3606, 40326, -3606, -3606, 40326, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2833, 2738, 1389, -3606, 2847, 2839, -3606, -3606, -3606, -3606, 42666, -3606, -3606, 23336, -3606, -3606, -3606, 5688, 42666, 3038, -3606, 11378, 11378, 3084, 42666, 3085, -3606, 3345, 42666, 3405, 40326, -3606, 2848, -3606, 2849, -3606, 1756, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2844, 42666, 2328, 2238, -3606, -3606, -127, 1103, -3606, -3606, -3606, -3606, 3089, 3094, 42666, -3606, -3606, -3606, -3606, 2954, -3606, 23336, 3398, -3606, 2998, -3606, 2851, 218, 4780, -3606, 2850, 2854, 2855, 28041, 2514, 3207, -3606, -3606, 4044, -3606, 1363, 11378, 861, -3606, -3606, 195, 905, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2860, 4044, 4044, -3606, -3606, 3419, 3017, 11378, 11378, -3606, 11378, -3606, 228, 2864, 2889, -3606, -3606, -3606, -3606, 11378, -3606, -3606, 4044, -3606, 11378, -3606, -3606, 11378, -3606, 11378, 11378, -3606, 1627, -3606, 1689, -3606, 1719, -3606, -3606, -3606, 2319, -3606, -3606, 1003, 42666, -3606, -3606, 1774, -3606, -3606, 11378, -3606, 36816, -3606, -3606, 3072, -3606, -3606, 3279, -3606, -3606, -3606, -65, -65, -65, 14408, 1363, 3333, -3606, -3606, -3606, 3167, 3227, -3606, 48, -3606, 42666, 2871, 1303, -3606, 1782, -3606, -3606, 2877, -3606, 2019, 2875, -3606, 695, 14408, 2665, 2998, -3606, -3606, 1000, 24514, 28626, -3606, -3606, 33306, 2192, 2192, 2192, 2379, 3287, 2726, 2726, -3606, 26868, -3606, -3606, 3025, -3606, -3606, 29796, -3606, 1370, -3606, -3606, 15620, 1521, -3606, 1363, -3606, 35646, -3606, 1363, 695, 2882, 2885, -3606, -3606, 42081, 11378, -3606, -3606, -3606, -3606, 1558, 834, -3606, 925, -3606, 1038, -3606, 3252, 3256, 1038, -3606, -3606, -3606, 24514, 2514, 14408, -3606, 290, 2019, 1363, 2890, 1365, -3606, 630, 11378, 25103, -3606, -3606, -3606, 2893, -3606, -3606, 3379, 3380, -3606, 25103, 1714, 42666, -3606, 3336, -3606, -3606, -3606, -3606, 5688, -3606, 24514, -3606, -3606, -3606, -3606, -3606, 42666, -3606, 23336, -3606, 18618, -3606, 2899, -3606, 2744, 2744, 2744, -3606, -3606, -3606, -3606, -3606, 2749, 3124, -3606, 2749, 2749, -3606, -3606, -3606, -3606, -3606, 195, 1808, -3606, -3606, 195, -3606, -3606, -3606, 117, 1104, 2749, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2744, -3606, -3606, -3606, -3606, 195, 2744, -3606, 2744, 2276, -3606, 1515, 94, 2744, 2744, 2744, 2905, 2895, -3606, 1363, 4044, 3433, -3606, -3606, 3046, -127, 3377, -3606, 1807, -3606, 2910, -3606, 40911, -3606, 2547, 1895, -3606, -3606, -3606, -3606, 3044, 892, -3606, 3073, 2913, 2917, -3606, -3606, -127, 2919, 2920, 3238, -3606, -3606, -3606, 3506, -3606, 42666, 42666, 42666, 2583, -3606, 31551, -3606, -216, 1363, 2924, 2928, 2929, 2933, 3492, 205, -3606, 3495, 35061, -3606, -3606, -3606, 1812, -3606, 2934, 2935, -3606, 149, 2941, 1735, 926, 1816, 3217, 3299, -3606, 3154, -3606, 1814, -211, 1859, 1880, 1896, 1901, -3606, -3606, -3606, 1501, 828, -3606, -3606, 1825, -3606, 3288, 3196, 334, 2975, 2975, 2975, 1521, 1363, 1827, -3606, -3606, -3606, -3606, 3331, -3606, -3606, 2951, 3093, 42666, -3606, 3021, -3606, 2319, 24514, 14408, 2958, 2960, -3606, 9, -3606, -3606, 2952, 2192, -3606, 3519, 3367, -3606, -3606, 36231, 2964, -3606, -3606, 3255, -3606, 122, 3171, -3606, -3606, -3606, 673, 3054, 3057, 695, 1363, -3606, -3606, 2513, 3102, 3009, 1038, 1038, 3326, 3015, 11378, 11378, 2976, -3606, 2979, -3606, -3606, 354, 2319, 11378, -3606, 1965, 3021, -3606, 1919, 2980, 2981, 42666, 2982, 2984, -3606, 2843, 269, -3606, -3606, -3606, 2276, 64, -3606, -3606, 2826, 675, 2974, -3606, 42666, 3290, -3606, -3606, -3606, 965, -3606, 2991, 965, 965, -3606, 2166, -3606, 3010, 195, -3606, -3606, 3018, -3606, -3606, -3606, 965, 2992, 195, -3606, -3606, 965, -3606, 36231, -127, 2555, -3606, 3041, -3606, 3469, 3359, -3606, 2276, -3606, 3360, 3261, -3606, 195, -3606, -3606, 3570, -3606, 195, 3570, 965, 3262, -3606, 965, 42666, -3606, -3606, -3606, -3606, -3606, -3606, 42666, -3606, 1039, -3606, -3606, -3606, 1831, -127, -3606, -3606, -3606, 3002, 3006, -3606, -3606, -3606, 1188, -3606, 42666, 5688, -3606, -3606, -3606, 2963, -3606, 1063, 1847, 1365, 3011, 1860, 1869, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 35061, -3606, 3570, 3266, -3606, -3606, 11378, -3606, -3606, -3606, 11378, -3606, -3606, 3300, 3447, -3606, -3606, -3606, -3606, -3606, -3606, 174, 174, -3606, -3606, -3606, -3606, -3606, 3096, 3099, -3606, -3606, 3103, -3606, -3606, 142, 2044, -3606, -3606, -3606, -3606, 14408, 3376, 3121, -3606, -3606, 3034, 3055, -3606, -3606, 1501, -3606, -3606, -3606, -3606, 11378, -3606, 2979, 2246, -3606, 26868, -3606, -3606, -3606, -3606, -3606, 3020, 3036, 8348, 1003, -3606, 3074, -3606, -3606, -3606, 3079, 1363, 1363, 42666, 3207, -3606, -3606, 1177, 1177, -3606, 354, 1501, 1365, -3606, 1894, -3606, 42666, 42666, 1898, 42666, 42666, -59, -59, -59, 827, 827, -3606, -3606, -3606, -3606, -3606, 3414, -3606, -3606, 1915, -3606, 734, 3295, -3606, -3606, -3606, -3606, 965, -3606, 149, -3606, -3606, -3606, -3606, -3606, 149, -3606, -3606, -3606, -3606, 1473, -3606, -3606, 3306, 3080, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 3040, -3606, -3606, 3157, -3606, 48516, -3606, -3606, 863, 3069, -3606, -3606, -3606, 1152, 42666, 23336, 3084, 3223, -3606, 3336, -3606, 9, 218, 2998, -3606, 778, 42666, -3606, 3312, 118, 214, -3606, -3606, 3053, 3051, 1365, 1940, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 349, 3304, 2547, 2547, 2547, 2547, 2044, -3606, -3606, 3104, 23336, 15620, 3160, 42666, 1253, 2503, -3606, 1479, 1365, 11378, 2379, 32721, -3606, -3606, -3606, -3606, -3606, -3606, 11378, 3059, 11378, 3062, 1917, -3606, -3606, 3485, 3485, -3606, -3606, -3606, -3606, 1924, 1941, 778, 1943, 1962, -3606, -3606, 269, 3065, -3606, 42666, -3606, -3606, -3606, 148, -3606, -3606, 1976, -3606, 1980, -3606, 1473, -3606, 11378, 3521, 3101, 42666, 103, -3606, 49686, 49686, 42666, -3606, -3606, -3606, -3606, 5120, -3606, -3606, 772, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 3641, -3606, 3066, -3606, -3606, 3081, 231, -3606, -3606, -3606, 5688, 3503, 1276, -3606, -3606, -3606, -3606, -3606, 3083, 2064, -127, 695, -3606, 778, -3606, -3606, -3606, 1365, 3086, 3309, -3606, 118, -3606, -3606, -3606, 214, -3606, -3606, -3606, 11378, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 24514, -3606, -3606, 1965, -3606, 1983, -3606, -3606, -3606, 3152, 695, 3557, 3559, 695, 695, 695, 695, 3097, 2503, -3606, 3550, -3606, -3606, 11378, -3606, -3606, 1363, 3316, -3606, 3632, 828, 1363, 42666, 1363, 42666, -3606, 42666, 833, -3606, -3606, 3297, 778, -3606, 118, 214, -3606, 3021, -3606, 140, 140, 195, 149, 195, -3606, 1363, 11378, -3606, 11378, 3129, -3606, -3606, 3526, 42666, -3606, -3606, -3606, -3606, 11378, -3606, 48516, 48516, -3606, -3606, -3606, -3606, 3680, 9, 3650, 3362, 3652, 2373, -3606, -3606, 3345, 5688, -3606, -3606, -3606, 2547, -3606, -3606, -3606, 1590, -3606, -3606, 1365, 3113, -3606, 695, 2246, 3118, -3606, -3606, 42666, 3114, -3606, -127, 695, 695, 1098, 1098, 1965, 36231, 3219, -3606, -3606, 695, 1365, 42666, -3606, 875, 3467, -3606, 2003, 2026, -3606, 3677, -3606, 3678, 3123, 3126, -3606, -3606, -3606, -3606, 2031, -3606, 3724, -3606, 993, 3383, 3384, -3606, -3606, -3606, 1363, 1363, -3606, 55, -3606, -3606, 3507, 3587, 11378, 1363, 45591, 3127, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 49101, 11378, -3606, 772, 3641, -3606, 3388, -3606, 3389, -3606, -3606, -3606, 3617, 48516, -3606, 3608, -3606, 9, -3606, -3606, -3606, 24514, 14408, -3606, -3606, 3160, -3606, 3143, -3606, -3606, 211, -3606, -127, -127, -3606, -3606, -3606, -3606, -3606, 2038, -3606, 36231, -3606, -3606, 3700, 3701, 3604, 3704, 875, -3606, -108, -3606, -3606, -3606, -3606, -3606, 40911, 40911, -3606, -3606, -3606, -3606, 3197, 3630, 3177, 11378, 48516, -3606, 3609, -3606, 3544, 1543, 3489, 3153, -3606, 3149, 323, 3644, 49686, 49686, -3606, -3606, -3606, -3606, 3622, -3606, -3606, -3606, -3606, -3606, 3327, -3606, -3606, 2048, -3606, 15014, -3606, -3606, -3606, -3606, -3606, 36231, -3606, 3219, -3606, 3165, 149, 149, 3722, 149, -3606, 3723, 3729, -108, -3606, 3173, 2051, 140, 140, -3606, 58, -3606, 1363, 46176, 3718, 42666, -3606, -3606, -3606, -3606, 11378, -3606, 37401, 46761, 3172, -3606, -3606, -3606, 3338, -3606, 2373, 3569, 3632, -3606, 3143, -3606, 3178, -3606, 3032, 2503, -3606, -3606, 3180, -3606, -3606, 149, -3606, 149, 149, -3606, -3606, -3606, -3606, -3606, 11378, -3606, 3635, 3264, -3606, 3182, -3606, 48516, 1297, 48516, -3606, -3606, 3591, 3185, 1417, -3606, 3183, -3606, -3606, 48516, 3744, 3467, -3606, 15014, 3189, -3606, 11378, 3190, 3191, -3606, -3606, -3606, -3606, 1363, 3754, 48516, 42666, 43836, 3385, 47346, 3627, 42666, 5688, 3628, 3629, -3606, 48516, -3606, 149, 3583, -3606, -3606, 1363, -3606, -3606, 3292, -3606, 44421, -3606, 2416, -3606, 3232, -3606, -3606, 3696, 1093, -3606, -3606, -3606, 3474, 3215, -3606, -3606, 48516, 48516, -3606, -3606, -3606, 30381, 11378, -3606, -3606, -3606, -3606, -3606, 1001, 33, 19796, 3363, 45006, 47931, -3606, -3606, -3606, 27456, -3606, -3606, -3606, 3638, -3606, 1363, -3606, -3606, -3606, -3606, -3606, 36231, 2084, -3606, -3606, 24514, -3606, 30381, -3606, -3606, -3606, -3606, 22745, 3216, -3606, 695, -3606, -3606, 24514, -3606, -3606, 14408, -3606, -3606 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { -3606, -3606, -3606, -3606, -3606, 104, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 1664, -3606, -3606, -3606, -3606, -3606, 1862, -3606, 643, -1686, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 641, 1490, 3213, -3606, 399, -3606, 90, -3606, -3606, -3606, -2728, -31, -200, -3606, -3606, 240, 17, 2894, -198, -3605, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 415, 413, -3606, -3606, 233, -3606, -3606, -833, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -384, -335, 1628, -3606, -3606, -3606, 3804, -3606, 3301, -3606, 1202, 2128, -3606, -3606, -3606, -249, 251, -3606, 252, -3606, 253, -3606, 254, -3606, 255, 257, 259, 260, -3606, 261, -3606, -3606, -334, -3606, -3606, -3606, -3606, 262, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -213, -3606, -3606, -62, -3606, -3606, -207, 265, -3606, -162, 270, -3606, 271, -3606, -86, -3606, -80, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2892, -3606, -3606, -3606, -2104, -3606, -3606, -2229, 2475, -3606, -1602, -3606, -3606, -1711, -3606, -3606, -1650, 845, -3606, -3606, -82, -338, -3606, -1337, -1752, -1741, -3606, -3606, -3606, -1850, -1835, -741, 2225, -1128, -2132, -3606, -3606, -3606, 264, -3606, -3606, -2403, 1961, 2480, -3606, 2483, -3606, -3606, 1087, -3606, -3606, 1263, 612, 1261, -3606, 896, 2654, -1172, -3606, -3606, -3606, -3606, -3606, -3606, 8, 243, -81, -3606, -3138, 623, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -2368, -3606, -3606, -3606, -240, -3606, -3606, -155, -3606, -3606, -199, -3606, 101, -2175, -3606, -3606, -3606, -3606, 2457, -1231, -3606, 3418, -3606, -498, 709, 1998, -2276, -1298, -3606, -863, -850, -2333, -3606, -3606, -3606, -3142, 1053, 1431, -3606, 809, 1999, -1785, -3606, 1505, -3606, -3606, 835, -3606, -2561, -3606, -3606, -3606, 789, -3606, 792, -3606, -3606, -3606, -957, 757, -770, -3606, 356, -2187, -2361, -3606, 582, -3606, 538, -3385, -3606, -547, -1960, -2251, 47, -3606, -3606, 550, -2928, 897, -3606, -3606, -3606, -2975, -1714, -3606, 114, -3606, -3606, -3606, -3606, -2722, -3606, -3606, -1392, -2120, -3606, -3606, 3926, 3928, -982, -2194, -3376, 119, 112, -3606, -3606, -3606, 2473, -1146, 186, 177, 182, 1956, -1433, 325, -2212, -3606, 372, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2033, -1129, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -2248, 864, -3606, -3606, 1545, -3606, -3606, -3606, -1743, -467, -2015, -3027, -3606, -3606, -3606, -3606, -3606, -3606, 1630, -3606, -3606, 2157, 2606, -3606, -3606, -3606, -3606, -3606, -3606, 605, 1732, -3606, -3606, -3606, -3606, -3606, -3606, 871, 2511, -3606, -3606, -3606, 2, -3606, -3606, -3606, -3606, 2245, -3606, -3606, -3606, -3606, 2558, -3606, -3606, -3606, -3606, -3606, -3606, 1353, -3606, 1783, -3606, -1362, -3606, -3606, 987, -927, 1728, -559, 1867, 373, -3606, 3409, -3606, -3606, -3606, -1564, -2302, -3606, 3130, -907, -2340, 2252, -618, -1721, 1020, -647, 3616, -3606, -1081, -1060, -3606, -3606, -611, -3606, -3606, -3606, -610, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 1397, -3606, -3606, -3606, -3606, -1614, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 1398, -3606, 1968, -3606, -458, -3606, 2936, -3606, -3606, -3606, -2160, -1724, 1693, 942, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -2190, -3606, -3606, -3606, -3606, -3606, 1893, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -1571, -3606, -1845, 321, -3606, 471, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 3, 836, 5, -1969, -1035, 1593, -3606, -3606, -1198, 2988, -1929, -3606, -3606, -3606, 1876, -3606, -3606, -3606, -3606, -3606, 922, -2418, 2666, -3606, -3606, -2954, -856, -2134, -846, -3606, -2169, 512, -1709, -2383, -347, -1178, -1683, -3606, -3606, -3606, -3606, -3606, -143, -3606, -3606, -3606, 527, 1798, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -506, -670, -3606, 2052, 2197, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2831, 2789, 1870, -3606, -3606, -2215, -3606, -3606, 1824, -3606, 783, -2204, -1672, 1052, -3606, -3606, 1054, -2998, -3606, -3606, -3606, -3606, -3606, -3606, 999, -3606, 93, 3509, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2607, -1001, 3437, -3606, -3606, -3606, -3606, -3606, -3606, 2288, -3606, -3606, -3606, -3606, -3606, -3606, 2765, 3527, -544, -1208, -3606, -616, 2739, 2290, -834, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2414, 979, -3606, -3606, -3606, 2852, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 1099, -7, -3606, 99, -48, -3606, 28, -3606, -3606, -3606, -3606, -3606, -125, -3606, -3606, -130, -642, -923, -1266, 731, -1681, -1904, 1107, 2836, -2363, -640, -1100, -1105, -1827, 61, -3606, -3606, 2948, 75, 676, -282, -6, -2351, -112, -542, -3606, -1966, -3606, -3606, -3606, -3606, 2377, -3606, -3606, -3606, -3606, 1438, -3606, -3606, -3606, 1072, -3606, 816, 603, -3606, -3606, 143, -3606, 2427, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 2856, 3580, 3283, -3606, 2904, -3606, -3606, -3606, -3606, -3606, 486, -3606, 412, -3606, -1971, 2673, 929, -3606, 1530, -219, -495, -3606, -3606, 482, -3606, -3606, 316, 3592, 3286, -3606, -3606, -3606, -3606, -3606, -2583, -836, -3606, -3139, -2647, -1585, -3606, -3606, -2030, -2822, -3606, -3606, -984, -3606, -3606, -3606, -3606, -1938, -3606, -3606, -3606, 82, 3655, 3656, -3606, -3606, -161, -3606, 697, -3606, -3606, -3606, -3606, -3606, -3606, -3606, 3515, -3606, -3606, -3606, -3606, 3520, -3606, -3606, -3606, -3606, -3606, 3522, -3606, -3606, -3606, -3606, -3606, 1752, -3606, -3606, -3606, -3606, -3606, -3606, -3606, -3606 }; /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If positive, shift that token. If negative, reduce the rule which number is the opposite. If zero, do what YYDEFACT says. If YYTABLE_NINF, syntax error. */ #define YYTABLE_NINF -2441 static const yytype_int16 yytable[] = { 466, 983, 899, 997, 1005, 903, 1379, 1042, 1044, 592, 1593, 1381, 929, 508, 1288, 1592, 514, 1050, 2257, 2113, 1480, 1938, 509, 464, 2207, 528, 1568, 1545, 1178, 1026, 1316, 526, 540, 1470, 1471, 543, 752, 533, 1068, 540, 1310, 1698, 1344, 942, 1081, 2240, 2782, 561, 1772, 1935, 1658, 2612, 1316, 2446, 3055, 2643, 1614, 1841, 2728, 2675, 2679, 2681, 2522, 1622, 1099, 1345, 3012, 2525, 2853, 1510, 3325, 1101, 2498, 1706, 1105, 1386, 1112, 1113, 1114, 133, 2892, 2884, 2350, 512, 2573, 1624, 1625, 581, 1387, 1628, 1629, 1630, 1631, 2416, 1633, 1634, 1636, 1638, 1639, 1640, 1641, 1642, 972, 975, 1912, 2693, 2694, 2712, 3171, 584, 2286, 466, 2239, 2345, 466, 591, 597, 1779, 1973, 2664, 3330, 1120, 1121, 1122, 2346, 2358, 2778, 3398, 1013, 2362, 2703, 1162, 2466, 1163, 586, 1789, 3252, 588, 2713, 2333, 2377, 2756, 2599, 1792, 1793, 1854, 3508, 2467, 2308, 2309, 2386, 2902, 473, 1819, 580, 2907, 3364, 3369, 3642, 1983, 3370, 1129, 1130, 1259, 3345, 2320, 2154, 1129, 1130, 1227, 2569, 525, 1701, 2252, 1129, 1130, 3371, 532, 2017, 3378, 1227, 610, 2338, 2339, 918, 3397, 1712, 1438, 2394, 2322, 3920, 3755, 1222, 2430, 3543, 2604, 3516, 4020, 2360, 2361, 4020, 2363, 1129, 1130, 2366, 2367, 2742, 2743, 2370, 601, 2886, 1129, 1130, 2379, 993, 3219, 2487, 2382, 2383, 2384, 2385, 1129, 1130, 1837, 2389, 3452, 2391, 2955, 3220, 1181, 2463, 2861, 2400, 521, 2427, 2404, 2759, 2406, 2746, 2437, 2302, 2464, 3221, 2154, 1362, 2443, 2444, 3085, 1682, 2997, 2448, 1383, 2431, 868, 869, 2341, 1129, 1130, 976, 3964, 2455, 3201, -2388, 868, 869, 2920, 1843, 688, 2866, 3158, 3237, 3832, 2652, 602, 2274, 1655, 986, 2823, 1442, 541, -823, 2500, 3861, 3506, 1346, 3844, 1253, 3755, 4220, 1369, -2324, 1108, 3862, 1390, 2450, 2451, 2452, 2453, 994, -1404, 1129, 1130, 2480, 1228, 1129, 1130, 1129, 1130, 1129, 1130, 3826, 2020, 831, 2470, 1228, 3557, 868, 869, 1420, 1421, 2854, 2855, 2395, 128, 625, 1483, 1383, 1979, 2906, 1926, 1129, 1130, 1383, 1243, 3000, 2691, 1244, 1356, 1129, 1130, 1837, 2558, 132, 1655, 2432, 522, 1233, 1129, 1130, 1314, 919, 553, 2022, 2697, 2660, -525, 542, 3756, 3259, 1321, 3865, -526, 3659, 2832, 978, -2388, -430, 615, 2867, 2488, 1129, 1130, 1129, 1130, 1463, 1460, 1461, 1462, 2080, 4065, 2047, 1709, 1219, 1129, 1130, 2047, 1443, 3446, 3091, 1463, 1444, 132, 3470, 3576, 2023, 1166, 3482, 958, 3681, 617, 1464, 1445, 3580, 809, 129, 1326, 1129, 1130, 2833, 4066, 1357, 3482, 1509, 2418, 1855, 1465, 1439, 554, 3071, 2433, 769, 3593, 2750, 1710, 469, 1068, 3595, 3007, 1175, 1129, 1130, 3201, -1404, 1248, 1654, 3845, 2661, 1534, 1927, 979, 1535, 1812, 2824, -2255, 2750, 1484, 995, 603, 1683, 3916, 1363, 2711, 1815, 3756, 1433, 1434, 1407, 1109, 4085, 712, 2471, 832, 1349, 1012, 1129, 1130, 1129, 1130, -1364, 3202, 4221, 1129, 1130, 591, 1245, 597, 1129, 1130, 3921, 3048, 3751, 1370, 606, 3970, 1048, 1774, -2440, 3625, 1777, 3964, 3863, 2376, 765, 1781, 1129, 1130, 597, 3651, 896, 1129, 1130, 1131, 1841, -1364, 1132, 804, 1129, 1130, 4050, 591, 1656, 814, 3068, 1166, 1131, 1129, 1130, 1132, 3059, 1794, 1795, 1386, 1446, 3092, 827, 2658, 1658, 806, 2344, 1619, 1817, 2760, 3534, 2275, 1387, 2764, 3346, 2560, 1627, 1459, 2751, 977, 1131, 3081, 2155, 1132, 3083, 3084, -2255, 2780, 2781, 1131, 915, 3238, 1132, 1648, 1129, 1130, 1286, 2791, -1404, 1131, 3082, 1259, 1132, 3094, 3086, 3535, 3922, 3483, 932, 2894, 2133, 1129, 1130, 1684, 1494, 1495, 1656, 591, 2264, 946, 2282, 2136, 3483, 2416, 2139, 3682, 1259, 994, 2345, 1386, 581, 466, 2721, 3923, 1131, 1533, 581, 1132, 970, 2346, 581, 581, 1387, 3478, 1547, 984, 946, 3205, 2466, 2489, 591, 2018, 1912, 1447, 957, 2434, 1560, 1561, 1562, 2155, 1014, 1015, 1016, 2467, 1440, 1567, 1021, 2265, 2956, 3187, 3931, 3080, 1973, 4073, 2977, 2978, 2979, 3202, 1131, 3075, 2130, 1132, 1131, 2462, 1131, 1132, 1131, 1132, 773, 1132, 2763, 1842, 2765, 2416, 1177, 1129, 1130, 956, 3279, 2776, 1223, 3517, 3829, 967, 2562, 920, 3484, 819, 1131, 2740, 1069, 1132, 2788, 1678, 830, 1661, 1131, 3775, 2797, 1132, 3015, 3016, 3017, 3372, 1713, 1131, 958, 3750, 1132, 2665, 3919, 1984, 848, 2811, 2899, 2775, 3764, 2396, 2868, 3670, 916, 3833, 1702, 1011, 3199, 3809, 2463, 2783, 1131, 1843, 1131, 1132, 1978, 1132, 523, 2851, 2702, 2464, 1440, 3959, -2324, 1131, 618, 2745, 1132, 3186, 3018, 3019, 1126, 3328, 1128, 1791, 1819, 1133, 1700, 995, 2744, 1728, -823, 1133, 3222, 2856, 2752, 771, 1131, -1404, 1133, 1132, -2324, 1719, 3453, 2116, 3358, 2692, 1171, 466, 1173, -1404, 946, 466, 591, 1313, 466, 591, 3095, 2027, 2207, 1131, 1961, 828, 1132, 2891, 1110, 4182, 1133, -2440, 2419, 1350, 1172, 1778, 1322, 1220, 1176, 1133, 2859, 1180, 3377, 2826, 1599, 1600, 1129, 1130, 3286, 1133, 3380, 1129, 1130, 3281, 2081, 2220, 1232, 3403, 1131, 1755, 1131, 1132, 3874, 1132, 2028, 1131, 581, 4046, 1132, -525, 1131, 1129, 1130, 1132, 3485, -526, 591, 581, 2096, 1440, -430, 581, 1327, 2617, 1133, 2643, 4041, 3486, 1131, 1129, 1130, 1132, 3306, 1131, 2220, 1821, 1132, 1979, 1599, 2046, 1131, 2149, 3486, 1132, -1364, 3755, 1227, 1536, 2469, 1131, 1537, 3350, 1132, 3926, 807, 3928, 1129, 1130, 3060, 3061, 3335, 2266, 3315, 591, 2967, 518, 3319, -2255, 1133, 1129, 1130, 2657, 1133, 1239, 1133, 114, 1133, 2123, 3290, 835, 3748, 3336, 2085, 2086, 1256, 823, 2102, 2103, 2581, 2582, 1131, 1250, 3314, 1132, 1299, 1351, 3318, -2255, 1133, 2992, 3533, 3020, 581, 2193, 2052, 2753, 1133, 1131, 3536, 1341, 1132, 3695, 1205, 2008, 3487, 1133, 1129, 1130, 1352, 3974, 3356, 3357, 1382, -1404, 2278, 1129, 1130, 1729, 2906, 2924, 2925, 2906, 2906, 1854, 1316, 1129, 1130, 661, 1133, 2276, 1133, 3996, 3542, 2207, 1129, 1130, 1129, 1130, 2906, 2281, 581, 1133, 2284, 2285, 2307, 2026, 3210, 2757, 2757, 1989, 3541, 1164, 3379, 2240, 1316, 2941, 2942, 3396, 3399, 3401, 3402, 3215, 4043, 1236, 1133, 2249, -1404, 1643, 1841, 551, 1228, 1129, 1130, 552, 116, 2539, 836, 2345, 2964, 2965, 1164, 1131, 1353, 3331, 1132, -2256, 666, 1133, 2346, 2344, 2502, 581, 1772, 1772, 2466, 1476, -1839, 3052, -1404, 1609, 474, 3756, 2033, 3043, 3998, 3215, 1854, 3311, 2973, 2467, 2250, 3910, -1404, 2350, 2221, 3999, 2140, -1404, 3620, 2138, 2239, 2194, 1133, 2631, 1133, 3853, 3445, 3289, 3044, 1133, 1069, 2580, 1459, 134, 1133, 1762, 1647, 2034, -1404, 2044, 2124, 1129, 1130, 1069, 2045, -1404, 517, 2117, 837, 2048, 1317, 935, 1133, 2221, 3911, -1404, 2377, 1133, 1467, 2698, 530, 1354, 1474, 2731, 1133, -2388, -1404, 2060, 2199, 2131, 2241, -1404, 2207, 1133, 1129, 1130, 2149, 3663, 677, 2068, -1404, 3633, 1842, 2585, 2586, 3696, 1386, 2718, 2072, 3522, -2256, 1763, 2463, 1594, 1912, 3925, 4014, 3422, 1318, 1387, 2113, 1973, 2153, 2464, 2680, 591, 3423, 2462, 547, 1593, 3526, 3527, 3216, 3021, 1133, 2118, 1131, 1730, 1837, 1132, 1711, 1131, 3324, 2627, 1132, 1129, 1130, 2579, 824, 2073, 3661, 1133, 1129, 1130, 555, 2150, 2939, 2589, 1146, 1815, 2157, 1131, 591, -1404, 1132, 556, 2074, 1651, 1129, 1130, 1833, 3906, 581, 693, 1237, 3870, 3216, 2216, 2217, 1131, 1897, 581, 1132, 1129, 1130, -1404, 1644, 519, -2388, 1129, 1130, 1801, 2732, 3912, -1404, 3045, 3854, 1843, 1593, 2222, 1129, 1130, 3697, 2716, 2267, 1342, 1131, 3217, 1645, 1132, 1129, 1130, 1855, 2327, 2834, 591, 1129, 1130, 2200, 1131, 2401, 1837, 1132, -1404, 2872, 1900, 2291, 1687, 2195, 1690, 1300, 581, 619, 4000, 1978, 1133, 3332, 2295, 2222, 1653, 581, 573, 1129, 1130, 1440, 2468, 591, 1129, 1130, 2097, 4245, 3227, 1129, 1130, 2125, 581, 581, 3424, 2986, 3064, 1165, 1483, 1129, 1130, 1684, 2416, 1131, 3456, 3622, 1132, 2126, -1404, 2328, 1129, 1130, 1131, 808, 2201, 1132, 591, 2812, 1764, 1732, 1823, 936, 1131, 2416, 1593, 1132, 1165, 1740, 3053, 2795, -1404, 1131, 1855, 1131, 1132, 2329, 1132, 1129, 1130, 466, 466, 466, 581, 466, 581, 1129, 1130, 937, 1834, 1773, 1694, 570, 574, 1129, 1130, 1775, 466, 1993, 591, 999, 1007, 466, 1756, 1757, 1758, 2119, 1760, 1979, 1131, 2784, -1404, 1132, 2873, 2469, 631, 4015, -1696, 1149, 1655, 1776, 1994, 581, 3054, 1802, 1780, 1129, 1130, 1803, 2292, 2835, 4116, 4117, 3855, 1129, 1130, 1129, 1130, 1129, 1130, 2708, 1646, 2330, 2757, 3848, 3849, 2293, 2733, 1133, 720, 1759, 2709, 1761, 1133, 1801, 3422, 1752, 2294, -1594, 1499, 1129, 1130, 558, 2075, 3423, -1404, 3100, 591, 2079, 2402, 1129, 1130, 632, 1133, 4001, 688, 1936, -1404, 2150, 1131, 2785, 581, 1132, 3218, 1931, 581, 3885, 2838, 2098, 1790, 2344, 1133, 2408, 3879, -1404, 3812, -1404, 1129, 1130, 1937, 2475, -1594, 2839, 1129, 1130, 2376, 2922, 2002, 1129, 1130, 3567, 1167, 1131, -2256, -1697, 1132, 581, 2331, 1133, -1404, -1404, 2476, 2734, -1404, -1404, 4156, 3901, 3218, 3753, 2226, 42, 1133, 1602, 2923, 2295, 591, 576, 466, 466, 1483, 1991, 466, 2347, -2256, 1129, 1130, 2934, 571, 1928, 1129, 1130, 3065, 1933, 1021, 1853, 2007, 2851, 1129, 1130, 1483, 1987, 1988, 2109, 1131, 582, 3792, 1132, 1801, 3605, 585, 1131, 3101, -1696, 1132, 896, 2786, 3629, -196, 1133, 4161, 2893, 1129, 1130, 3273, 3793, 2874, 1131, 1133, 2963, 1132, 1129, 1130, 2226, 2944, 3990, 3424, 633, 1133, 4162, 1265, 3568, 1131, 2945, 2584, 1132, 2462, 1133, 1131, 1133, 1802, 1132, 3811, 3464, 1803, 1593, 1129, 1130, 3219, 1131, 3003, 2009, 1132, 2021, 1483, 587, 3274, 1069, 2053, 1131, 598, 3220, 1132, 949, 2158, 1131, 810, 2710, 1132, 1993, 3569, 1129, 1130, 2296, 1133, 3221, 1129, 1130, 2228, 2229, 606, 2373, 536, 1733, 2527, 1656, 868, 869, 2940, 116, 1552, 1131, 1994, 1842, 1132, 2226, 1131, 2533, 712, 1132, -1697, 1131, 470, 2227, 1132, 471, 1050, 1101, 1105, 2507, 1556, 1131, 2875, 950, 1132, 3006, 55, 2122, 1603, 1936, 1129, 1130, 1131, 1048, 607, 1132, 4048, 1129, 1130, 4052, 2548, 1158, 1159, 1160, 1161, 2297, 2617, 610, 1129, 1130, 1129, 1130, 1937, 599, 1133, 3087, 2332, 811, 2110, 1131, 3738, 2735, 1132, 1802, 3606, 1129, 1130, 1131, 2025, 2146, 1132, 2207, 3689, 3690, 2144, 1131, 612, 591, 1132, 581, 591, 1406, 2145, 3556, 1579, 4058, 3098, 1133, 3621, 537, 2113, 581, 1049, 2163, 3104, 3373, 537, 3106, 3374, 2169, 2169, 3976, 2169, 951, 4090, 4090, 2249, 1131, 3594, 2595, 1132, 3596, 581, 1734, 614, 1131, 581, 1131, 1132, 1131, 1132, 626, 1132, 2228, 2229, 812, 3556, 1129, 1130, 2128, 851, 1466, 591, 591, 581, 581, 1978, 3179, 1133, 981, 982, 1131, 2468, 1069, 1132, 1133, 2169, 2169, 2169, 1167, 482, 1131, 2032, 4140, 1132, 2469, 1328, 1129, 1130, 2035, 2230, 1133, 2804, 2262, 2805, 3630, 2168, 2168, 628, 2168, 3738, 3738, 2273, 1129, 1130, 2036, 1133, 1314, 1131, 2191, 629, 1132, 1133, 1239, 1131, 1329, 1854, 1132, 761, 1131, 2043, 3301, 1132, 1133, 1442, 2375, 2056, 3443, 3444, 630, 1167, 1256, 2219, 1133, 1167, 2806, 766, 2057, 581, 1133, 805, 2215, 3302, 2168, 2168, 2168, 816, 2061, 1399, 1400, 2290, 2144, 246, 2065, 248, 1131, 2807, 581, 1132, 3029, 1131, 1303, 1330, 1132, 1209, 1133, 1288, 1331, 1131, 820, 1133, 1132, 822, 3303, 2774, 1133, 1146, 840, 2269, 2066, 852, 3219, 1129, 1130, 2067, 1133, 1457, 3049, 842, 2071, 2808, 832, 1131, 3050, 3220, 1132, 1133, 1316, 1742, 2076, 3907, 1131, 3908, 1316, 1132, 2283, 688, 911, 3221, 3312, 2084, 470, 688, 3213, 471, 2024, 1166, 3051, 1304, 868, 3365, 2456, 930, 1133, 2301, 2472, 1131, 1129, 1130, 1132, 931, 1133, 1443, 952, 3229, 3230, 1444, 2089, 1210, 1133, 3738, 3738, -1674, 1211, 1305, 2104, 808, 1445, 1129, 1130, 853, 1131, 2311, 2403, 1132, 3243, 1131, 3547, 1593, 1132, 531, 2318, 2319, 2523, 1129, 1130, 1743, 2417, 2523, 1129, 1130, 1133, 2323, 2324, 2325, 2326, 2689, 2334, 2335, 1133, 2291, 1133, 948, 1133, 988, 2896, 1212, 1129, 1130, 3779, 3780, 3781, 3782, 2912, 953, 2918, 954, 2919, 1772, 939, 1131, 1213, 968, 1132, 958, 1133, 1332, 1131, 1129, 1130, 1132, 1837, 2040, 1166, 1593, 1133, 1615, 987, 1131, 2716, 1131, 1132, -1594, 1132, 2587, 992, 3738, 591, 2140, 2926, 114, 591, 1023, 2473, 1024, 1131, 466, 1025, 1132, 1027, 1966, 3738, 1133, 581, 581, 581, 2496, 1593, 1133, 2499, 1844, 1028, 2795, 1133, 3738, 1744, 2930, 1029, 1149, 2478, 1032, 2577, 2931, 2241, 1033, -1594, 2762, 2932, 1446, 591, 1034, 2501, 2428, 2429, 591, 2436, 1333, 2438, 2439, 2440, 2441, 2442, 2049, 1166, 2445, 1855, 2447, 4242, 1035, 1133, 2789, 2790, 2898, 2598, 1133, 2050, 1550, 1131, 712, 1036, 1132, 1037, 1133, 2933, 712, 2292, 1038, 3738, 2935, 1039, 2492, 2493, 2494, 3805, 3806, 3222, 2938, 4081, 3884, 3738, 3738, 2809, 2293, 1048, 2062, 1166, 1133, 1131, 1040, 1048, 1132, 1655, 1043, 2294, 2200, 1133, 3807, 3872, 1334, 3395, 2943, 1146, 1045, 1131, 1306, 2999, 1132, 1046, 2171, 2946, 2172, 1845, 868, 869, 3338, 3339, 1166, 2207, 1047, 1745, 1133, 1447, 1820, -1674, 3738, 3684, 3685, 591, 3687, 3688, 2899, 1051, 2468, 920, 3738, 3890, 1052, 2962, 3893, 3894, 3895, 3896, 1100, 981, 982, 1133, 1837, 3408, 1104, 1616, 1133, 3042, 2596, 2201, 2244, 2245, 2246, 3678, 3679, 591, 1679, 1151, 1152, 1680, 2948, 2523, 1681, 2683, 2688, 1824, 2295, 1053, 3738, 591, 3738, 1054, 3972, 3359, 1055, 2202, 3362, 3363, 1131, 1825, 3738, 1132, 854, 855, 1593, 857, 1056, 859, 1837, 3003, 1133, 909, 910, 3375, 913, 1057, 3738, 1133, 3738, 860, 3738, 2625, 1335, 1170, 2950, 2727, 2523, 3738, 1133, 1058, 1133, 2952, 1227, 2063, 1166, 2064, 1166, 2893, 3738, 562, 1059, 2207, 2953, 1131, 2954, 1133, 1132, 1307, 3986, 3987, 2069, 1166, 1060, 2648, 3738, 3738, 1336, 3995, 2113, 3248, 1063, 2203, 896, 1064, 1131, 3644, 591, 1132, 1308, 1070, 3738, 3738, 1129, 1130, 1071, 3738, 1967, 1854, 1072, 2669, 1131, 2671, 1655, 1132, 563, 1131, 1846, 591, 1132, 591, 591, 1854, 2336, 2337, 2296, 1847, 2598, 1773, 1773, 1149, 1073, 1848, 1074, 1131, 2566, 1166, 1132, 1133, 1309, -1404, 2602, 2603, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1169, 3249, 1594, 1075, 1131, 1076, 1966, 1132, 1655, 1077, 3381, 591, 591, 868, 869, 1078, 2204, 1133, 3461, 1080, 1966, 1146, 1656, 1082, 1966, 924, 925, 1968, 926, 1083, 927, 3250, 896, 1133, 1826, 564, 2297, 2936, 1166, 1617, 2668, 1084, -1404, 3645, 3646, 851, 1228, 3463, 3647, 3648, 1174, 2417, 2340, 3382, 1085, 1618, 2417, 1086, 3383, 1087, 2749, 2417, 3009, 3010, 3222, 2417, 1088, 2770, 3182, 3183, 2761, 1089, -1404, 1849, -1404, 2347, 2771, 2770, 1090, 2417, 2417, 1185, 591, -1674, 3366, 3156, 3254, 1166, -1404, 2417, 1091, 1594, 1515, -1404, 3276, 3277, 114, 1092, 2792, 2458, 581, -1674, 1093, 2800, 3384, 1827, 1206, -1404, 2770, 2802, 2803, 1094, 1133, 2458, -1404, 2417, 2822, 896, 2070, 3413, 3414, -1404, 1151, 1152, 3449, 3457, 3469, 2848, 3465, 1166, 1828, -1404, 1095, 1026, 1487, 1488, 1489, 3479, 1166, 3494, 3495, 1096, -1404, 3608, 2337, 1097, 1500, -1404, 3057, 1146, 2772, 2773, 1837, 2200, 1098, 1824, -1404, 1133, 4189, 3623, 3624, 1102, 1850, 896, 1103, 852, 1837, 2801, 1969, 1825, 1837, 3471, 3627, 3624, 1106, 2799, 3236, 1553, 1133, 1107, 1557, 3628, 3624, 2373, 581, 2417, 1519, 115, 1829, 1111, 3767, 3771, 3472, 1115, 1133, 1145, 1116, 1656, 1117, 1133, 1575, 1576, 1118, 1149, 1580, 116, 3683, 3277, 3473, 3963, 3686, 3624, 2201, 3474, 2205, 1119, 3255, 1133, 1168, -1404, 1208, 1936, 1214, 1595, 1596, -748, 1855, 3693, 3694, 3819, 3820, 3544, 1216, 4246, 2852, 853, 3824, 3624, 1133, 1217, 1855, -1404, 1225, 1656, 1937, 1226, 246, 118, 248, 1234, -1404, 2877, 3776, 3825, 3624, 3827, 3624, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1235, 1967, 4192, 4193, 565, 117, 1251, 1655, 2321, 3828, 3624, 1830, 3637, 3638, -1404, 1967, 1262, 3429, 1520, 1967, 3794, 1655, 1523, 3834, 3835, 1655, 566, 3836, 3835, 1524, 3886, 3887, 1146, 118, 640, 1264, 3574, 3575, 2627, 2733, 1281, 2163, 1282, 2511, 1232, 591, 591, 591, 1283, 3578, 4006, 3820, 3795, 581, 3581, 981, 982, 1286, 567, 1826, 1289, 3385, -1404, 1297, 3767, 1298, 1149, 3386, 3771, 2512, 1302, 2625, 591, 4007, 3820, 1594, 1314, 3597, 4012, 3277, 3599, 1151, 1152, 119, -1404, 4056, 4057, 1323, 1069, 1324, 1968, 591, 591, 591, 3702, 4097, 4098, -1674, 4115, 3181, 3702, 1870, 1871, 3387, 3028, 1525, 2523, 2327, 3550, 2374, 3030, 1325, 3032, 568, 2734, 661, 2513, 3454, 591, 2514, 2985, 1340, 2375, 1593, -1404, 3767, 3771, 2515, 3882, 1147, 1827, 4234, 4235, 1343, -731, -731, 1873, 763, 764, 1583, 1584, 767, 768, 1347, -731, 770, 1348, 772, 1361, 1876, 1364, 1148, 981, 982, 1365, 1828, 1367, 1877, 1527, 3988, 3989, 1372, 896, 1377, 3796, -605, 2328, 665, 1383, 2327, 1389, 3388, 2796, 1391, 666, 2347, 896, 1393, -1404, 1396, 896, 1879, 3293, 3294, 1397, 3027, 1404, 2348, 1401, -1404, -1404, 1405, 2329, 2417, 1408, 1383, 2417, 2417, 1880, 2770, 670, 1409, 476, 3261, 3262, 120, 1410, -1404, 1451, -1404, 3492, 3493, 591, 1829, 1149, 2417, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1452, 1453, 1885, 1456, 2328, 1458, 2770, 1969, -1404, -1404, 981, 982, -1404, -1404, 2770, 3797, 1459, 2770, 1656, -605, 1477, 1479, 854, 855, 856, 857, 858, 859, 1483, 2347, 2329, 1164, 1656, 3798, 2330, 1502, 1656, 3110, 1146, 860, 581, 2348, 677, 1504, 1490, 3166, 3389, 1110, 2860, 121, 1539, 466, 1549, 1550, 1626, 3176, 3799, 2770, 1591, -605, 477, 1551, 1601, 1610, 477, 1528, 2454, 1632, 1660, 1888, 3093, 1652, 3185, 777, 3172, 1659, 1889, 1830, 3096, 1663, 1530, 1666, 1150, 1667, 1668, 3196, 1669, 1670, 2735, 1673, 1593, 1890, 581, -779, 1671, 3882, 2330, 1936, 640, 1672, 3654, 688, 2010, 1675, 3209, 1676, 122, 3111, -912, 2331, 1696, 1699, 3584, 2516, 1707, 1715, 692, 693, 1716, 1718, 1937, 1717, 1156, 1157, 1158, 1159, 1160, 1161, 1050, 1101, 1105, 3298, 3927, 1151, 1152, 1722, 1725, -605, 1288, 478, 1726, 1727, 477, 1736, 1891, 1741, 1153, 2727, 1754, 1750, 1783, 1782, 1784, 1785, 778, 1796, 1787, 3704, 3188, 3198, 1870, 1871, 1892, 1798, 1800, 1813, 1822, 2173, 1923, 1440, 2054, 2331, 3550, 3253, 2058, 1936, 1940, 1942, 1941, 661, 1943, 2669, 1944, 779, 1945, 3664, 1946, 1947, 2174, 1948, 1184, 1962, 1949, -731, -731, 1873, 780, 2082, 1937, 1950, 1951, 2175, 1952, -731, 1953, 2625, 1954, 1955, 1876, 4102, 1956, 2176, 1960, 1957, 1958, 1896, 1877, 896, 1959, 781, 1149, 782, 1980, 1898, 2648, 3288, 1981, 1986, 591, 1996, 1997, 665, 783, 3800, 1998, 1999, 2011, 591, 666, 2005, 1879, 3954, 2013, 2596, 2014, 2015, 2031, 2030, 2037, 2517, 2349, 2038, 784, 591, 1383, 2039, 2041, 1880, 2177, 2178, 2047, 2262, 2668, -605, 670, 2051, 2087, 3740, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 2055, 785, 3837, 2059, 1594, 2077, 2078, 786, 2088, 1885, 2179, 2083, 2099, 2100, 1904, 2101, 2417, 712, 2121, 2114, -1116, 3551, 1161, 2127, 3552, 4102, 2417, 2137, 2770, -1233, 2166, 2332, 2159, 495, 718, 2518, 2184, 1594, 2192, 720, 2198, 2209, 721, 2770, 1593, 581, 787, 2417, 2212, 4227, 2242, 2243, 2258, 479, 677, 2523, 2270, 2272, 3804, 2277, 2299, 2300, 2304, 2519, 2303, -605, 2306, 1593, 2310, 2312, 1905, 2180, 4238, 480, 1593, 2313, 1888, 480, 2314, 4227, 1593, 4107, 4108, 1889, 4110, 4238, 1906, 1151, 1152, 1907, 496, 2317, 2315, 2332, 3553, 3554, 2316, 2347, 1890, 2359, 2364, 2365, 1187, 2368, 2371, 2369, 2372, 2380, 2378, 1146, 481, 2481, -531, 688, 2381, 482, 497, 2387, 2388, 2848, 2392, 2181, 2424, 2393, 2420, 1909, 2426, 3513, 692, 693, 4148, 4077, 4149, 4150, 2457, 2398, 2479, 2501, 2399, 2405, 2497, 2291, 2510, 2529, 3442, 3442, 3442, 2530, 498, 1773, 483, 1891, 2145, 1266, -605, 480, 2593, 2574, 484, 2505, 2528, 591, 1267, 2540, 2541, 2575, 1136, 1137, 2576, 1892, 788, 1268, 2553, 2572, 2583, 1146, 2592, 2605, 2606, 2607, 2885, 2608, 2615, 1269, 1270, 1271, 2609, 4186, 2618, 2621, 790, 2628, 3968, 3410, 499, 1188, 2632, 3966, 791, 1272, 1138, 2620, 3804, 2629, 1702, 2633, 792, 1870, 1871, 2634, 1139, 2638, 2650, 3502, 2727, 2651, 3434, 2653, 1594, 1189, 4219, 2654, 1896, 1190, 1156, 1157, 1158, 1159, 1160, 1161, 1898, 793, -605, 591, 2655, 2250, 4155, 2249, 4157, 2673, -731, -731, 1873, 2672, 794, 795, 2674, 1140, 2695, 2704, -731, 2699, 2705, 2706, 2722, 1876, 1191, 2729, 1141, 2730, 2841, 2777, 2779, 1877, 4175, 2831, 2292, 2837, 2857, 2843, 2858, 2862, 2863, 1192, 2864, 3442, 2865, 1897, 2890, 1815, 3664, 1146, 2006, 2293, 2908, 1142, 2523, 1879, 796, 2909, 2899, 1149, 3564, 3559, 2294, 2903, 2959, 1904, 2910, 2911, 2970, 1383, 4207, 4208, 1880, 712, 1867, 2913, 2914, 3551, 2957, -63, 3552, 1868, 1869, 2980, 500, 797, 2961, 2966, 591, 2969, 718, 2975, 2987, 1870, 1871, 720, 2982, 2991, 721, 2990, 1885, 1193, 1243, 2994, 3005, 3008, 3014, 798, 3026, 799, 3031, 1143, 3025, 3600, 3298, 3011, 3039, 3058, 3062, 3063, 3604, 1905, 3078, 1194, 1872, 1149, 3079, 3077, 1873, 1874, 3174, 3167, 3066, 2291, 1875, 3178, 3197, 1906, 3196, 2295, 1907, 1876, 3090, 3170, 3173, 3099, 2927, 3107, 3191, 1877, 3553, 3554, 501, 3192, 759, 3109, -440, 2226, 3184, 1878, 591, 3524, 3108, 3180, 3206, 3181, 3200, 1888, 3207, 3208, 3583, 1273, 3211, 1879, 1889, 3228, 1909, 3231, 3232, 3239, 759, 3240, 3257, 3258, 3267, 3269, 3272, 1383, 1274, 1890, 1880, 3280, 3278, 3291, 3299, 3966, 3307, 1881, 1882, 3308, 4144, 3316, 1151, 1152, 1883, 3317, 3329, 3337, 3609, 502, 3340, 3341, 1884, 3354, 503, 3360, -850, 3407, 1885, 3404, 591, 1195, 2418, 3409, 3411, 3417, 3421, 3430, 3431, 2482, 1196, 1149, 504, 3432, 3435, 3436, 3438, 3451, 3676, 3447, 3455, 3466, 1891, 3448, 3449, 1197, 1886, 2296, 3450, 3458, 3459, 3442, 3442, 3467, 3442, 3442, 3462, 505, 2292, 3468, 1892, 3481, 3480, 1198, 2523, 3498, 4144, 3490, 1151, 1152, 3497, 3804, 506, 3507, 3029, 2293, 3495, 3509, 3510, 3515, 3514, 3518, -1319, 1887, 3520, 1888, 2294, 3521, -1324, 3562, 3532, 3565, 1889, 3395, 3545, 3546, 3548, 4216, 3549, 759, 3588, 3577, 1199, 1200, 759, 3573, 3579, 1890, 3587, 2297, 1275, 3589, 3591, 1896, 3592, 3398, 3598, 3610, 3745, 581, 3631, 1898, 3611, 3636, 3635, 3626, 3639, 1201, 3652, 3640, 3442, 4216, 3657, 3641, 759, 3667, 4244, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 3653, 470, 3672, 3656, 471, 759, 3668, 3674, 3692, 3698, 3705, 3457, 3707, 3706, 581, 1891, 3741, 3791, 2295, 1276, 3749, 3763, 3774, 3773, 3778, 591, 3784, 3787, 3816, 1151, 1152, 3818, 3821, 1892, 3830, 3839, 1277, 1893, 3857, 3889, 3528, 3746, 3876, 1904, 3859, -307, 759, 759, 759, 759, 3866, 3860, 3891, 3869, 3892, 3831, 3875, 4027, 759, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 3897, 3900, 3902, 3904, 2826, 3843, 4027, 3931, 1894, 3934, 3850, -325, 3960, 1895, 3962, 3785, 3961, 3981, 3975, 4037, 1896, 3992, 3978, 4004, 4008, 4009, 4010, 1897, 1898, 4011, 4013, 4016, 4017, 1905, 4024, 4023, 4028, 1511, 1512, 1513, 1514, 1515, 4034, 4035, 4039, 4036, 4046, 4060, 4061, 1906, 4062, 4063, 1907, 4071, 4072, 4073, 4078, 4080, 1899, 4082, 2296, -2175, 4083, 4086, 4092, 4095, 776, 777, 4106, 4109, 4111, 4122, 1900, 1901, 1902, 1903, 4112, 4114, 4136, 1594, 4138, 4135, 4152, 4141, -1477, 3991, 4153, 4154, 1909, 4158, 4159, 4166, 4163, 4169, 4171, 1904, 4172, 4187, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 4178, 4174, 4180, 4183, 4184, 3676, 4195, 3676, 4191, 3909, 4197, 4204, 4205, 4228, 4232, 4241, 2297, 2449, 2600, 3852, 3420, 3419, 2741, 4027, 3614, 3871, 1516, 1517, 1518, 1519, 1004, 3969, 3867, 4134, 4093, 3935, 1395, 4094, 3612, 3744, 3616, 4239, 778, 4199, 550, 1905, 906, 3013, 2234, 3718, 3719, 3721, 3722, 3724, 4209, 3725, 4119, 3726, 3727, 3728, 3729, 1906, 4120, 3732, 1907, 4021, 4091, 4033, 3733, 3734, 1866, 779, 4032, 1455, 2148, 2409, 3791, 1910, 2598, 3752, 3103, 3500, 3271, 4165, 780, 591, 2993, 1908, 1934, 2998, 3980, 3997, 3786, 4045, 1705, 3503, 4168, 4105, 3899, 4143, 1909, 4027, 627, 4027, 3437, 2407, 1965, 781, 2883, 782, 4185, 759, 3189, 3353, 2414, 2828, 3367, 3405, 3342, 3368, 783, 4027, 3700, 3558, 3590, 3977, 1520, 3582, 1521, 1522, 1523, 3305, 491, 3915, 492, 3918, 1995, 1524, 4104, 3873, 784, 3917, 3878, 3877, 3762, 2491, 3703, 2411, 2816, 3344, 2288, 3561, 2635, 4027, 4027, 3343, 1963, 2218, 4231, -850, 3985, 1799, 1932, 2984, 1594, 785, 759, 759, 3268, 2616, 2656, 786, 2571, 3739, 928, 759, 759, 759, 759, 759, 759, 759, 3256, 2248, 591, 2968, 759, 1293, 2717, 759, 759, 2526, 759, 3313, 759, 3823, 1548, 2570, 759, 2848, 2848, 759, 759, 759, 759, 3680, 759, 759, 4069, 2590, 787, 4070, 3418, 1525, 759, 759, 3348, 759, 759, 759, 759, 759, 1501, 759, 4190, 759, 759, 759, 759, 759, 759, 759, 759, 759, 759, 759, 3666, 1816, 759, 759, 3677, 759, 1720, 759, 591, 2663, 2495, 759, 2641, 759, 759, 2614, 3284, 3283, 1129, 1130, 4053, 4054, 3505, 1693, 3323, 759, 759, 4042, 917, 1526, 1527, 1022, 4124, 759, 2279, 902, 1766, 2280, 1788, 4132, 759, 759, 759, 2004, 759, 3352, 2160, 3270, 4139, 1187, 4167, 759, 759, 759, 4113, 759, 759, 759, 759, 759, 4064, 759, 759, 759, 759, 759, 759, 759, 759, 4240, 4243, 4233, 759, 759, 3586, 1724, 3287, 2259, 3309, 3047, 847, 3519, 844, 777, 3669, 2197, 1280, 1739, 3777, 1686, 3783, 1985, 2972, 849, 1285, 815, 1008, 1731, 788, 621, 622, 1009, 789, 1010, 0, 0, 0, 4176, 0, 0, 0, 0, 4181, 1511, 1512, 1513, 1514, 1515, 790, 0, 0, 0, 0, 0, 0, 0, 791, 0, 0, 0, 0, 0, 0, 0, 792, 0, 0, 0, 0, 0, 0, 0, 1188, 0, 0, 0, 0, 0, 0, 4217, 0, 0, 0, 0, 0, 0, 0, 0, 1594, 793, 0, 1528, 0, 0, 778, 0, 1189, 0, 0, 0, 1190, 0, 794, 795, 0, 1529, 1530, 591, 0, 0, 0, 1594, 0, 4217, 0, 0, 0, 0, 1594, 0, 0, 0, 0, 779, 1594, 0, 0, 0, 0, 759, 0, 0, 0, 1191, 0, 0, 780, 759, 1516, 1517, 1518, 1519, 0, 0, 0, 0, 796, 0, 0, 1030, 1192, 0, 0, 0, 0, 0, 0, 0, 0, 781, 0, 782, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 783, 0, 0, 797, 0, 0, 0, 1062, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 784, 0, 0, 1079, 0, 798, 0, 799, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1193, 0, 0, 0, 0, 0, 0, 785, 0, 0, 0, 0, 0, 786, 0, 0, 0, 0, 0, 0, 0, 0, 1194, 0, 0, 0, 0, 0, 1520, 1123, 1521, 1522, 1523, 0, 0, 0, 0, 0, 0, 1524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 787, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 1131, 0, 4, 1132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 8, 9, 0, 0, 0, 0, 0, 0, 0, 1525, 0, 759, 0, 0, 1195, 10, 0, 0, 0, 0, 0, 0, 0, 1196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 1197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 1198, 0, 0, 0, 0, 1526, 1527, 13, 14, 15, 0, 0, 0, 0, 788, 0, 0, 0, 845, 16, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 0, 790, 0, 0, 0, 0, 1199, 1200, 0, 791, 0, 0, 19, 0, 0, 0, 0, 792, 759, 759, 759, 0, 0, 0, 0, 0, 0, 0, 20, 0, 0, 1201, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 793, 21, 0, 0, 0, 0, 22, 0, 0, 23, 0, 0, 0, 794, 795, 0, 759, 0, 0, 0, 0, 0, 759, 0, 0, 759, 1416, 759, 0, 0, 0, 0, 24, 759, 25, 759, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 796, 0, 0, 0, 0, 1528, 0, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0, 1133, 1529, 1530, 0, 0, 0, 1481, 1482, 0, 0, 0, 797, 0, 0, 0, 1492, 1493, 0, 0, 1496, 1497, 1498, 0, 0, 0, 0, 1503, 759, 0, 1505, 1506, 0, 1507, 798, 1508, 799, 0, 0, 0, 0, 0, 1541, 1542, 1543, 1544, 0, 1546, 0, 0, 0, 0, 0, 0, 0, 1554, 1555, 0, 1558, 1559, 0, 0, 0, 0, 1563, 0, 1564, 1565, 1566, 0, 0, 1569, 1570, 1571, 1572, 1573, 1574, 0, 0, 1577, 1578, 0, 1581, 0, 1582, 0, 29, 0, 1585, 0, 1589, 1590, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1597, 1598, 0, 30, 0, 0, 0, 0, 1606, 0, 0, 0, 0, 31, 0, 1611, 1612, 1613, 0, 2814, 0, 0, 0, 0, 32, 0, 1868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1870, 1871, 0, 0, 0, 0, 0, 0, 33, 0, 1649, 34, 0, 35, 0, 0, 36, 0, 0, 37, 38, 0, 0, 0, 0, 0, 0, 39, 0, 40, 0, 1872, 0, 1870, 1871, 1873, 41, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0, 1876, 0, 43, 0, 0, 0, 0, 44, 1877, 45, 0, 0, 46, 0, 0, 0, 0, 0, 1878, 0, 1873, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1879, 1876, 0, 0, 47, 0, 0, 0, 48, 1877, 0, 0, 0, 0, 1383, 0, 0, 1880, 0, 0, 0, 0, 1417, 0, 1881, 0, 0, 0, 0, 0, 0, 2815, 0, 1879, 0, 0, 0, 759, 0, 1884, 0, 0, 0, 0, 0, 1885, 0, 1383, 0, 0, 1880, 49, 0, 0, 0, 0, 1738, 0, 0, 0, 0, 0, 0, 50, 1753, 0, 0, 51, 0, 0, 52, 0, 0, 1886, 0, 53, 0, 0, 1885, 0, 1418, 1419, 1420, 1421, 1422, 1423, 0, 1424, 1425, 1426, 1427, 1428, 1429, 1430, 0, 1431, 1432, 0, 0, 0, 0, 0, 54, 0, 759, 0, 0, 0, 759, 0, 0, 0, 1888, 759, 759, 0, 0, 55, 0, 1889, 0, 0, 759, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 1890, 759, 0, 759, 759, 0, 759, 759, 759, 759, 759, 1888, 0, 759, 0, 0, 0, 0, 1889, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 759, 0, 759, 1890, 759, 759, 759, 759, 0, 0, 0, 759, 759, 759, 0, 0, 0, 0, 759, 759, 759, 0, 759, 1891, 759, 0, 759, 0, 759, 0, 759, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 1892, 0, 0, 0, 1893, 0, 0, 0, 0, 0, 0, 0, 759, 1433, 1434, 1891, 0, 0, 0, 759, 0, 0, 759, 0, 0, 0, 0, 0, 759, 0, 0, 759, 0, 1892, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1895, 0, 0, 2016, 0, 0, 0, 1896, 0, 0, 0, 0, 0, 0, 0, 1898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1896, 0, 0, 0, 759, 0, 0, 0, 1898, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 1901, 0, 0, 0, 0, 5, 6, 0, 0, 0, 0, 0, 0, 7, 0, 0, 0, 8, 9, 0, 0, 0, 1904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 2091, 2093, 2095, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 1904, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 0, 0, 0, 1905, 2129, 13, 14, 15, 0, 0, 0, 0, 0, 2134, 0, 2135, 0, 16, 17, 1906, 0, 0, 1907, 0, 0, 0, 0, 0, 0, 0, 2739, 0, 0, 0, 0, 0, 1905, 0, 0, 0, 0, 0, 0, 19, 0, 0, 0, 0, 2739, 2739, 0, 0, 1906, 0, 0, 1907, 0, 0, 1909, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 0, 0, 0, 0, 22, 0, 0, 23, 0, 0, 0, 0, 0, 0, 0, 2214, 1909, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2739, 2739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 866, 0, 0, 0, 0, 0, 0, 0, 0, 0, 823, 867, 0, 759, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 29, 0, 868, 869, 0, 0, 759, 759, 0, 0, 0, 0, 0, 870, 0, 0, 0, 0, 0, 30, 0, 0, 0, 0, 0, 0, 759, 0, 0, 31, 0, 0, 0, 0, 871, 759, 872, 759, 873, 759, 32, 0, 0, 0, 0, 0, 0, 874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 0, 33, 0, 759, 34, 0, 35, 0, 0, 36, 0, 0, 37, 38, 0, 0, 0, 0, 0, 0, 39, 0, 40, 0, 0, 2425, 0, 759, 0, 41, 0, 0, -1674, 875, 0, 42, 0, 0, 876, 0, 0, 877, 0, 43, 0, 0, 0, 0, 44, 0, 45, 0, 0, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 878, 0, 879, 0, 0, 0, 0, 0, 880, 0, 881, 47, 0, 0, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 2504, 0, 0, 759, 2506, 0, 0, 882, 883, 2508, 2509, 0, 0, 0, 0, 0, 0, 0, 2524, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 884, 0, 2531, 49, 2532, 0, 0, 2534, 2535, 2536, 2537, 2538, 0, 0, 0, 50, 0, 0, 759, 51, 0, 885, 52, 2542, 0, 0, 0, 53, 0, 0, 0, 2543, 0, 2544, 0, 2545, 2546, 2547, 0, 0, 0, 0, 2550, 2551, 2552, 0, 0, 0, 886, 2554, 2555, 2556, 0, 2557, 54, 2559, 0, 2561, 0, 2563, 0, 2564, 0, 0, 0, 0, 2565, 3112, 3113, 55, 0, 0, 0, 3114, 0, 3115, 0, 3116, 3117, 0, 0, 0, 0, 0, 2578, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3118, 0, 0, 0, 0, 0, 2588, 0, 0, 2591, 0, 0, 0, 0, 0, 0, 0, 0, 887, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 759, 0, 0, 0, 0, 888, 0, 0, 0, 0, 0, 3119, 0, 0, 3120, 0, 889, 890, 0, 0, 891, 892, 3121, 0, 2739, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3122, 0, 893, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3123, 0, 0, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3124, 0, 3125, 0, 0, 894, 0, 0, 759, 759, 0, 759, 0, 0, 3126, 3127, 0, 0, 895, 0, 759, 0, 0, 0, 0, 759, 0, 0, 759, 0, 759, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -2202, 0, 0, 0, 896, 0, 0, 0, 759, 0, 0, 3128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 897, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3129, 0, 0, 0, 0, 0, 0, 0, 759, 3130, 3131, 0, 3132, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, -2202, 0, 3133, 3134, 3135, 0, 898, 0, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 3136, 3137, 3138, 0, 0, 0, 0, 3139, 0, 0, 3140, 759, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 3141, 3142, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3143, 3144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2895, 0, 0, 0, 2897, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3146, 0, 0, 0, 3147, 0, 2916, 2917, 0, 0, 0, 0, 0, 0, 0, 0, 3148, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2937, 0, 0, 0, 0, 0, 0, 0, 0, 2947, 0, 2949, 0, 2951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3149, 0, 0, 3150, 0, 0, 3151, 3152, 3153, 3154, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2981, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3155, 3156, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 759, 0, 0, 0, 0, 0, 0, 0, 759, 0, 3157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3037, 0, 0, 0, 3041, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 3168, 3169, 0, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3214, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3234, 3235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3242, 3736, 0, 0, 0, 3244, 0, 0, 3245, 0, 3246, 3247, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3264, 0, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 759, 3264, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 3736, 3736, 0, 3310, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3264, 0, 0, 0, 0, 0, 0, 0, 0, 3334, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 3736, 3736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3973, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 3736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3264, 0, 0, 0, 0, 3736, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3736, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3530, 3531, 0, 0, 0, 0, 0, 0, 0, 3072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 3736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3736, 3736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3736, 0, 0, 0, 0, 0, 0, 759, 0, 0, 3736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 3736, 0, 3736, 3072, 0, 0, 0, 3634, 0, 0, 0, 0, 3736, 0, 0, 0, 759, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 3736, 0, 3736, 0, 3736, 0, 0, 0, 0, 0, 3264, 3736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3736, 0, 3072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3037, 3736, 3736, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3736, 3736, 0, 0, 0, 3736, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 759, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3810, 0, 0, 0, 0, 0, 0, 0, 0, 3815, 0, 3817, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3838, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3929, 0, 3930, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3938, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4025, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4030, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3264, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4076, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4126, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4151, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 135, 0, 636, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 4170, 0, 637, 0, 143, 144, 145, 146, 147, 638, 149, 0, 150, 0, 0, 639, 151, 640, 641, 642, 152, 643, 0, 153, 154, 155, 1586, 156, 0, 157, 158, 0, 0, 159, 644, 645, 160, 161, 0, 162, 646, 647, 164, 0, 165, 166, 167, 168, 648, 170, 0, 649, 172, 4218, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 650, 187, 0, 188, 651, 652, 189, 0, 0, 190, 653, 654, 0, 191, 655, 656, 0, 192, 193, 194, 657, 658, 659, 0, 0, 0, 0, 660, 197, 661, 0, 3264, 662, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 663, 0, 222, 223, 224, 664, 665, 225, 226, 0, 227, 228, 229, 666, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 667, 236, 668, 238, 0, 239, 0, 669, 0, 240, 241, 0, 242, 670, 0, 243, 244, 0, 0, 0, 671, 246, 247, 248, 672, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 673, 253, 254, 674, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 1587, 263, 0, 675, 264, 265, 0, 0, 0, 0, 0, 676, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 677, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 678, 288, 289, 290, 291, 679, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 680, 299, 0, 0, 681, 301, 682, 302, 0, 303, 683, 684, 685, 686, 687, 308, 309, 310, 311, 312, 0, 688, 313, 314, 0, 0, 315, 316, 317, 318, 689, 690, 691, 319, 320, 0, 692, 693, 0, 321, 322, 694, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 695, 331, 332, 333, 334, 335, 696, 337, 338, 339, 697, 698, 342, 699, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 700, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 701, 702, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 703, 377, 378, 379, 380, 381, 704, 383, 384, 385, 386, 0, 705, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 706, 707, 411, 412, 0, 413, 414, 708, 416, 417, 418, 709, 710, 419, 420, 421, 422, 711, 423, 424, 0, 0, 425, 426, 427, 428, 0, 712, 429, 430, 0, 713, 714, 715, 716, 0, 0, 0, 0, 1588, 435, 436, 0, 717, 718, 719, 438, 439, 440, 720, 441, 442, 721, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 722, 451, 0, 0, 723, 724, 725, 726, 452, 0, 0, 453, 727, 0, 728, 454, 455, 456, 729, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 730, 0, 0, 0, 731, 732, 0, 0, 0, 0, 733, 734, 0, 0, 735, 736, 0, 0, 737, 738, 135, 0, 636, 137, 138, 139, 140, 3033, 0, 0, 0, 0, 141, 0, 0, 637, 0, 143, 144, 145, 146, 147, 638, 149, 0, 150, 0, 0, 3034, 151, 640, 641, 642, 152, 643, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 644, 645, 160, 161, 0, 162, 646, 647, 164, 0, 165, 166, 167, 168, 648, 170, 0, 649, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 650, 187, 0, 188, 651, 652, 189, 0, 0, 190, 653, 654, 0, 191, 655, 656, 0, 192, 193, 194, 657, 658, 659, 0, 0, 0, 0, 660, 197, 661, 0, 0, 3035, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 663, 0, 222, 223, 224, 664, 665, 225, 226, 0, 227, 228, 229, 666, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 667, 236, 668, 238, 0, 239, 0, 669, 0, 240, 241, 0, 242, 670, 0, 243, 244, 0, 0, 0, 671, 246, 247, 248, 672, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 673, 253, 254, 674, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 675, 264, 265, 0, 0, 0, 0, 0, 676, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 677, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 678, 288, 289, 290, 291, 679, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 680, 299, 0, 0, 681, 301, 682, 302, 0, 303, 683, 684, 685, 686, 687, 308, 309, 310, 311, 312, 0, 688, 313, 314, 0, 0, 315, 316, 317, 318, 689, 690, 691, 319, 320, 0, 692, 693, 0, 321, 322, 694, 3036, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 695, 331, 332, 333, 334, 335, 696, 337, 338, 339, 697, 698, 342, 699, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 700, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 701, 702, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 703, 377, 378, 379, 380, 381, 704, 383, 384, 385, 386, 0, 705, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 706, 707, 411, 412, 0, 413, 414, 708, 416, 417, 418, 709, 710, 419, 420, 421, 422, 711, 423, 424, 0, 0, 425, 426, 427, 428, 0, 712, 429, 430, 0, 713, 714, 715, 716, 0, 0, 0, 0, 0, 435, 436, 0, 717, 718, 719, 438, 439, 440, 720, 441, 442, 721, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 722, 451, 0, 0, 723, 724, 725, 726, 452, 0, 0, 453, 727, 0, 728, 454, 455, 456, 729, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 730, 0, 0, 0, 731, 732, 0, 0, 0, 0, 733, 734, 0, 0, 735, 736, 0, 0, 737, 738, 135, 0, 636, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 637, 0, 143, 144, 145, 146, 147, 638, 149, 0, 150, 0, 0, 639, 151, 640, 641, 642, 152, 643, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 644, 645, 160, 161, 0, 162, 646, 647, 164, 0, 165, 166, 167, 168, 648, 170, 0, 649, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 650, 187, 0, 188, 651, 652, 189, 0, 0, 190, 653, 654, 0, 191, 655, 656, 0, 192, 193, 194, 657, 658, 659, 0, 0, 0, 0, 660, 197, 661, 0, 0, 662, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 663, 0, 222, 223, 224, 664, 665, 225, 226, 0, 227, 228, 229, 666, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 667, 236, 668, 238, 0, 239, 0, 669, 0, 240, 241, 0, 242, 670, 0, 243, 244, 0, 0, 0, 671, 246, 247, 248, 672, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 673, 253, 254, 674, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 675, 264, 265, 0, 0, 0, 0, 0, 676, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 677, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 678, 288, 289, 290, 291, 679, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 680, 299, 0, 0, 681, 301, 682, 302, 0, 303, 683, 684, 685, 686, 687, 308, 309, 310, 311, 312, 0, 688, 313, 314, 0, 0, 315, 316, 317, 318, 689, 690, 691, 319, 320, 0, 692, 693, 0, 321, 322, 694, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 695, 331, 332, 333, 334, 335, 696, 337, 338, 339, 697, 698, 342, 699, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 700, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 701, 702, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 703, 377, 378, 379, 380, 381, 704, 383, 384, 385, 386, 0, 705, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 706, 707, 411, 412, 0, 413, 414, 708, 416, 417, 418, 709, 710, 419, 420, 421, 422, 711, 423, 424, 0, 0, 425, 426, 427, 428, 0, 712, 429, 430, 0, 713, 714, 715, 716, 0, 0, 0, 0, 0, 435, 436, 0, 717, 718, 719, 438, 439, 440, 720, 441, 442, 721, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 722, 451, 0, 0, 723, 724, 725, 726, 452, 0, 0, 453, 727, 0, 728, 454, 455, 456, 729, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 730, 0, 0, 0, 731, 732, 0, 0, 0, 0, 733, 734, 1502, 0, 735, 736, 0, 0, 737, 738, 135, 0, 636, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 637, 0, 143, 144, 145, 146, 147, 638, 149, 0, 150, 0, 0, 639, 151, 640, 641, 642, 152, 643, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 644, 645, 160, 161, 0, 162, 646, 647, 164, 0, 165, 166, 167, 168, 648, 170, 0, 649, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 650, 187, 0, 188, 651, 652, 189, 0, 0, 190, 653, 654, 0, 191, 655, 656, 0, 192, 193, 194, 657, 658, 659, 0, 0, 0, 0, 660, 197, 661, 0, 0, 662, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 663, 0, 222, 223, 224, 664, 665, 225, 226, 0, 227, 228, 229, 666, 0, 230, 0, 0, 0, 231, 2090, 232, 0, 233, 0, 234, 667, 236, 668, 238, 0, 239, 0, 669, 0, 240, 241, 0, 242, 670, 0, 243, 244, 0, 0, 0, 671, 246, 247, 248, 672, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 673, 253, 254, 674, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 675, 264, 265, 0, 0, 0, 0, 0, 676, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 677, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 678, 288, 289, 290, 291, 679, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 680, 299, 0, 0, 681, 301, 682, 302, 0, 303, 683, 684, 685, 686, 687, 308, 309, 310, 311, 312, 0, 688, 313, 314, 0, 0, 315, 316, 317, 318, 689, 690, 691, 319, 320, 0, 692, 693, 0, 321, 322, 694, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 695, 331, 332, 333, 334, 335, 696, 337, 338, 339, 697, 698, 342, 699, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 700, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 701, 702, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 703, 377, 378, 379, 380, 381, 704, 383, 384, 385, 386, 0, 705, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 706, 707, 411, 412, 0, 413, 414, 708, 416, 417, 418, 709, 710, 419, 420, 421, 422, 711, 423, 424, 0, 0, 425, 426, 427, 428, 0, 712, 429, 430, 0, 713, 714, 715, 716, 0, 0, 0, 0, 0, 435, 436, 0, 717, 718, 719, 438, 439, 440, 720, 441, 442, 721, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 722, 451, 0, 0, 723, 724, 725, 726, 452, 0, 0, 453, 727, 0, 728, 454, 455, 456, 729, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 730, 0, 0, 0, 731, 732, 0, 0, 0, 0, 733, 734, 0, 0, 735, 736, 0, 0, 737, 738, 135, 0, 636, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 637, 0, 143, 144, 145, 146, 147, 638, 149, 0, 150, 0, 0, 639, 151, 640, 641, 642, 152, 643, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 644, 645, 160, 161, 0, 162, 646, 647, 164, 0, 165, 166, 167, 168, 648, 170, 0, 649, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 650, 187, 0, 188, 651, 652, 189, 0, 0, 190, 653, 654, 0, 191, 655, 656, 0, 192, 193, 194, 657, 658, 659, 0, 0, 0, 0, 660, 197, 661, 0, 0, 662, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 663, 0, 222, 223, 224, 664, 665, 225, 226, 0, 227, 228, 229, 666, 0, 230, 0, 0, 0, 231, 2092, 232, 0, 233, 0, 234, 667, 236, 668, 238, 0, 239, 0, 669, 0, 240, 241, 0, 242, 670, 0, 243, 244, 0, 0, 0, 671, 246, 247, 248, 672, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 673, 253, 254, 674, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 675, 264, 265, 0, 0, 0, 0, 0, 676, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 677, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 678, 288, 289, 290, 291, 679, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 680, 299, 0, 0, 681, 301, 682, 302, 0, 303, 683, 684, 685, 686, 687, 308, 309, 310, 311, 312, 0, 688, 313, 314, 0, 0, 315, 316, 317, 318, 689, 690, 691, 319, 320, 0, 692, 693, 0, 321, 322, 694, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 695, 331, 332, 333, 334, 335, 696, 337, 338, 339, 697, 698, 342, 699, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 700, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 701, 702, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 703, 377, 378, 379, 380, 381, 704, 383, 384, 385, 386, 0, 705, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 706, 707, 411, 412, 0, 413, 414, 708, 416, 417, 418, 709, 710, 419, 420, 421, 422, 711, 423, 424, 0, 0, 425, 426, 427, 428, 0, 712, 429, 430, 0, 713, 714, 715, 716, 0, 0, 0, 0, 0, 435, 436, 0, 717, 718, 719, 438, 439, 440, 720, 441, 442, 721, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 722, 451, 0, 0, 723, 724, 725, 726, 452, 0, 0, 453, 727, 0, 728, 454, 455, 456, 729, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 730, 0, 0, 0, 731, 732, 0, 0, 0, 0, 733, 734, 0, 0, 735, 736, 0, 0, 737, 738, 135, 0, 636, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 637, 0, 143, 144, 145, 146, 147, 638, 149, 0, 150, 0, 0, 639, 151, 640, 641, 642, 152, 643, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 644, 645, 160, 161, 0, 162, 646, 647, 164, 0, 165, 166, 167, 168, 648, 170, 0, 649, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 650, 187, 0, 188, 651, 652, 189, 0, 0, 190, 653, 654, 0, 191, 655, 656, 0, 192, 193, 194, 657, 658, 659, 0, 0, 0, 0, 660, 197, 661, 0, 0, 662, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 663, 0, 222, 223, 224, 664, 665, 225, 226, 0, 227, 228, 229, 666, 0, 230, 0, 0, 0, 231, 2094, 232, 0, 233, 0, 234, 667, 236, 668, 238, 0, 239, 0, 669, 0, 240, 241, 0, 242, 670, 0, 243, 244, 0, 0, 0, 671, 246, 247, 248, 672, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 673, 253, 254, 674, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 675, 264, 265, 0, 0, 0, 0, 0, 676, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 677, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 678, 288, 289, 290, 291, 679, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 680, 299, 0, 0, 681, 301, 682, 302, 0, 303, 683, 684, 685, 686, 687, 308, 309, 310, 311, 312, 0, 688, 313, 314, 0, 0, 315, 316, 317, 318, 689, 690, 691, 319, 320, 0, 692, 693, 0, 321, 322, 694, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 695, 331, 332, 333, 334, 335, 696, 337, 338, 339, 697, 698, 342, 699, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 700, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 701, 702, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 703, 377, 378, 379, 380, 381, 704, 383, 384, 385, 386, 0, 705, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 706, 707, 411, 412, 0, 413, 414, 708, 416, 417, 418, 709, 710, 419, 420, 421, 422, 711, 423, 424, 0, 0, 425, 426, 427, 428, 0, 712, 429, 430, 0, 713, 714, 715, 716, 0, 0, 0, 0, 0, 435, 436, 0, 717, 718, 719, 438, 439, 440, 720, 441, 442, 721, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 722, 451, 0, 0, 723, 724, 725, 726, 452, 0, 0, 453, 727, 0, 728, 454, 455, 456, 729, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 730, 0, 0, 0, 731, 732, 0, 0, 0, 0, 733, 734, 0, 0, 735, 736, 0, 0, 737, 738, 135, 0, 636, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 637, 0, 143, 144, 145, 146, 147, 638, 149, 0, 150, 0, 0, 639, 151, 640, 641, 642, 152, 643, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 644, 645, 160, 161, 0, 162, 646, 647, 164, 0, 165, 166, 167, 168, 648, 170, 0, 649, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 650, 187, 0, 188, 651, 652, 189, 0, 0, 190, 653, 654, 0, 191, 655, 656, 0, 192, 193, 194, 657, 658, 659, 0, 0, 0, 0, 660, 197, 661, 0, 0, 662, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 663, 0, 222, 223, 224, 664, 665, 225, 226, 0, 227, 228, 229, 666, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 667, 236, 668, 238, 0, 239, 0, 669, 0, 240, 241, 0, 242, 670, 0, 243, 244, 0, 0, 0, 671, 246, 247, 248, 672, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 673, 253, 254, 674, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 675, 264, 265, 0, 0, 0, 0, 0, 676, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 677, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 678, 288, 289, 290, 291, 679, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 680, 299, 0, 0, 681, 301, 682, 302, 0, 303, 683, 684, 685, 686, 687, 308, 309, 310, 311, 312, 0, 688, 313, 314, 0, 0, 315, 316, 317, 318, 689, 690, 691, 319, 320, 0, 692, 693, 0, 321, 322, 694, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 695, 331, 332, 333, 334, 335, 696, 337, 338, 339, 697, 698, 342, 699, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 700, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 701, 702, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 703, 377, 378, 379, 380, 381, 704, 383, 384, 385, 386, 0, 705, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 706, 707, 411, 412, 0, 413, 414, 708, 416, 417, 418, 709, 710, 419, 420, 421, 422, 711, 423, 424, 0, 0, 425, 426, 427, 428, 0, 712, 429, 430, 0, 713, 714, 715, 716, 0, 0, 0, 0, 0, 435, 436, 0, 717, 718, 719, 438, 439, 440, 720, 441, 442, 721, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 722, 451, 0, 0, 723, 724, 725, 726, 452, 0, 0, 453, 727, 0, 728, 454, 455, 456, 729, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 730, 0, 0, 0, 731, 732, 0, 0, 0, 0, 733, 734, 0, 0, 735, 736, 0, 0, 737, 738, 135, 0, 636, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 637, 0, 143, 144, 145, 146, 147, 638, 149, 0, 150, 0, 0, 639, 151, 640, 641, 642, 152, 643, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 644, 645, 160, 161, 0, 162, 646, 647, 164, 0, 165, 166, 167, 168, 648, 170, 0, 649, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 650, 187, 0, 188, 651, 652, 189, 0, 0, 190, 653, 654, 0, 191, 655, 656, 0, 192, 193, 194, 657, 658, 659, 0, 0, 0, 0, 660, 197, 661, 0, 0, 662, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 663, 0, 222, 223, 224, 664, 665, 225, 226, 0, 227, 228, 229, 666, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 667, 236, 668, 238, 0, 239, 0, 669, 0, 240, 241, 0, 242, 670, 0, 243, 244, 0, 0, 0, 671, 246, 247, 248, 672, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 673, 253, 254, 674, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 675, 264, 265, 0, 0, 0, 0, 0, 676, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 677, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 678, 288, 289, 290, 291, 679, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 680, 299, 0, 0, 681, 301, 682, 302, 0, 303, 683, 684, 685, 686, 687, 308, 309, 310, 311, 312, 0, 688, 313, 314, 0, 0, 315, 316, 317, 318, 689, 690, 691, 319, 320, 0, 692, 693, 0, 321, 322, 694, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 695, 331, 332, 333, 334, 335, 696, 337, 338, 339, 697, 698, 342, 699, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 700, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 701, 702, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 703, 377, 378, 379, 380, 381, 704, 383, 384, 385, 386, 0, 705, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 706, 707, 411, 412, 0, 413, 414, 708, 416, 417, 418, 709, 710, 419, 420, 421, 422, 711, 423, 424, 0, 0, 425, 426, 427, 428, 0, 712, 429, 430, 0, 713, 714, 715, 716, 0, 0, 0, 0, 0, 435, 436, 0, 717, 718, 719, 438, 439, 440, 720, 441, 442, 721, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 722, 451, 0, 0, 723, 724, 725, 726, 452, 0, 0, 453, 727, 0, 728, 454, 455, 456, 729, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 730, 0, 0, 0, 731, 732, 0, 0, 0, 0, 733, 1061, 0, 0, 735, 736, 0, 0, 737, 738, 135, 0, 636, 137, 138, 139, 140, 1620, 0, 0, 0, 0, 1621, 0, 0, 637, 0, 143, 144, 145, 146, 147, 638, 149, 0, 150, 0, 0, 639, 151, 640, 641, 642, 152, 643, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 644, 645, 160, 161, 0, 162, 646, 647, 164, 0, 165, 166, 167, 168, 648, 170, 0, 649, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 650, 187, 0, 188, 651, 652, 189, 0, 0, 190, 653, 654, 0, 191, 655, 656, 0, 192, 193, 194, 657, 658, 659, 0, 0, 0, 0, 660, 197, 661, 0, 0, 662, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 663, 0, 222, 223, 224, 664, 665, 225, 226, 0, 227, 228, 229, 666, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 667, 236, 668, 238, 0, 239, 0, 669, 0, 240, 241, 0, 242, 670, 0, 243, 244, 0, 0, 0, 671, 246, 247, 248, 672, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 673, 253, 254, 674, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 675, 264, 265, 0, 0, 0, 0, 0, 676, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 677, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 678, 288, 289, 290, 291, 679, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 680, 299, 0, 0, 681, 301, 682, 302, 0, 303, 683, 684, 685, 686, 687, 308, 309, 310, 311, 312, 0, 688, 313, 314, 0, 0, 315, 316, 317, 318, 689, 0, 691, 319, 320, 0, 692, 693, 0, 321, 322, 694, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 695, 331, 332, 333, 334, 335, 696, 337, 338, 339, 697, 698, 342, 699, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 700, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 701, 702, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 703, 377, 378, 379, 380, 381, 704, 383, 384, 385, 386, 0, 705, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 706, 707, 411, 412, 0, 413, 414, 708, 416, 417, 418, 709, 710, 419, 420, 421, 422, 711, 423, 424, 0, 0, 425, 426, 427, 428, 0, 712, 429, 430, 0, 713, 714, 715, 716, 0, 0, 0, 0, 0, 435, 436, 0, 717, 718, 719, 438, 439, 440, 720, 441, 442, 721, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 722, 451, 0, 0, 723, 724, 725, 726, 452, 0, 0, 453, 727, 0, 728, 454, 455, 456, 729, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 730, 0, 0, 0, 731, 732, 0, 0, 0, 0, 733, 734, 0, 0, 735, 736, 0, 0, 737, 738, 135, 0, 636, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 637, 0, 143, 144, 145, 146, 147, 638, 149, 0, 150, 0, 0, 639, 151, 640, 641, 642, 152, 643, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 644, 645, 160, 161, 0, 162, 646, 647, 164, 0, 165, 166, 167, 168, 648, 170, 0, 649, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 650, 187, 0, 188, 651, 652, 189, 0, 0, 190, 653, 654, 0, 191, 655, 656, 0, 192, 193, 194, 657, 658, 659, 0, 0, 0, 0, 660, 197, 661, 0, 0, 662, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 663, 0, 222, 223, 224, 664, 665, 225, 226, 0, 227, 228, 229, 666, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 667, 236, 668, 238, 0, 239, 0, 669, 0, 240, 241, 0, 242, 670, 0, 243, 244, 0, 0, 0, 671, 246, 247, 248, 672, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 673, 253, 254, 2503, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 675, 264, 265, 0, 0, 0, 0, 0, 676, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 677, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 678, 288, 289, 290, 291, 679, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 680, 299, 0, 0, 681, 301, 682, 302, 0, 303, 683, 684, 685, 686, 687, 308, 309, 310, 311, 312, 0, 688, 313, 314, 0, 0, 315, 316, 317, 318, 689, 690, 691, 319, 320, 0, 692, 693, 0, 321, 322, 694, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 695, 331, 332, 333, 334, 335, 696, 337, 338, 339, 697, 698, 342, 699, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 700, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 701, 702, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 703, 377, 378, 379, 380, 381, 704, 383, 384, 385, 386, 0, 705, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 706, 707, 411, 412, 0, 413, 414, 708, 416, 417, 418, 709, 710, 419, 420, 421, 422, 711, 423, 424, 0, 0, 425, 426, 427, 428, 0, 712, 429, 430, 0, 713, 714, 715, 716, 0, 0, 0, 0, 0, 435, 436, 0, 717, 718, 719, 438, 439, 440, 720, 441, 442, 721, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 722, 451, 0, 0, 723, 724, 725, 726, 452, 0, 0, 453, 727, 0, 728, 454, 455, 456, 729, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 730, 0, 0, 0, 731, 732, 0, 0, 0, 0, 733, 734, 0, 0, 735, 736, 0, 0, 737, 738, 135, 0, 636, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 637, 0, 143, 144, 145, 146, 147, 638, 149, 0, 150, 0, 0, 639, 151, 640, 641, 642, 152, 643, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 644, 645, 160, 161, 0, 162, 646, 647, 164, 0, 165, 166, 167, 168, 648, 170, 0, 649, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 650, 187, 0, 188, 651, 652, 189, 0, 0, 190, 653, 654, 0, 191, 655, 656, 0, 192, 193, 194, 657, 658, 659, 0, 0, 0, 0, 660, 197, 661, 0, 0, 662, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 663, 0, 222, 223, 224, 664, 665, 225, 226, 0, 227, 228, 229, 666, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 667, 236, 668, 238, 0, 239, 0, 669, 0, 240, 241, 0, 242, 670, 0, 243, 244, 0, 0, 0, 671, 246, 247, 248, 672, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 673, 253, 254, 2549, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 675, 264, 265, 0, 0, 0, 0, 0, 676, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 677, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 678, 288, 289, 290, 291, 679, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 680, 299, 0, 0, 681, 301, 682, 302, 0, 303, 683, 684, 685, 686, 687, 308, 309, 310, 311, 312, 0, 688, 313, 314, 0, 0, 315, 316, 317, 318, 689, 690, 691, 319, 320, 0, 692, 693, 0, 321, 322, 694, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 695, 331, 332, 333, 334, 335, 696, 337, 338, 339, 697, 698, 342, 699, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 700, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 701, 702, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 703, 377, 378, 379, 380, 381, 704, 383, 384, 385, 386, 0, 705, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 706, 707, 411, 412, 0, 413, 414, 708, 416, 417, 418, 709, 710, 419, 420, 421, 422, 711, 423, 424, 0, 0, 425, 426, 427, 428, 0, 712, 429, 430, 0, 713, 714, 715, 716, 0, 0, 0, 0, 0, 435, 436, 0, 717, 718, 719, 438, 439, 440, 720, 441, 442, 721, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 722, 451, 0, 0, 723, 724, 725, 726, 452, 0, 0, 453, 727, 0, 728, 454, 455, 456, 729, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 730, 0, 0, 0, 731, 732, 0, 0, 0, 0, 733, 734, 0, 0, 735, 736, 0, 0, 737, 738, 135, 0, 636, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 637, 0, 143, 144, 145, 146, 147, 638, 149, 0, 150, 0, 0, 639, 151, 640, 641, 642, 152, 643, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 644, 645, 160, 161, 0, 162, 646, 647, 164, 0, 165, 166, 167, 168, 648, 170, 0, 649, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 650, 187, 0, 188, 651, 652, 189, 0, 0, 190, 653, 654, 0, 191, 655, 656, 0, 192, 193, 194, 657, 658, 659, 0, 0, 0, 0, 660, 197, 661, 0, 0, 3263, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 663, 0, 222, 223, 224, 664, 665, 225, 226, 0, 227, 228, 229, 666, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 667, 236, 668, 238, 0, 239, 0, 669, 0, 240, 241, 0, 242, 670, 0, 243, 244, 0, 0, 0, 671, 246, 247, 248, 672, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 673, 253, 254, 674, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 675, 264, 265, 0, 0, 0, 0, 0, 676, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 677, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 678, 288, 289, 290, 291, 679, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 680, 299, 0, 0, 681, 301, 682, 302, 0, 303, 683, 684, 685, 686, 687, 308, 309, 310, 311, 312, 0, 688, 313, 314, 0, 0, 315, 316, 317, 318, 689, 690, 691, 319, 320, 0, 692, 693, 0, 321, 322, 694, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 695, 331, 332, 333, 334, 335, 696, 337, 338, 339, 697, 698, 342, 699, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 700, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 701, 702, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 703, 377, 378, 379, 380, 381, 704, 383, 384, 385, 386, 0, 705, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 706, 707, 411, 412, 0, 413, 414, 708, 416, 417, 418, 709, 710, 419, 420, 421, 422, 711, 423, 424, 0, 0, 425, 426, 427, 428, 0, 712, 429, 430, 0, 713, 714, 715, 716, 0, 0, 0, 0, 0, 435, 436, 0, 717, 718, 719, 438, 439, 440, 720, 441, 442, 721, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 722, 451, 0, 0, 723, 724, 725, 726, 452, 0, 0, 453, 727, 0, 728, 454, 455, 456, 729, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 730, 0, 0, 0, 731, 732, 0, 0, 0, 0, 733, 734, 0, 0, 735, 736, 0, 0, 737, 738, 135, 0, 636, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 637, 0, 143, 144, 145, 146, 147, 638, 149, 0, 150, 0, 0, 639, 151, 640, 641, 642, 152, 643, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 644, 645, 160, 161, 0, 162, 646, 647, 164, 0, 165, 166, 167, 168, 648, 170, 0, 649, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 650, 187, 0, 188, 651, 652, 189, 0, 0, 190, 653, 654, 0, 191, 655, 656, 0, 192, 193, 194, 657, 658, 659, 0, 0, 0, 0, 660, 197, 661, 0, 0, 662, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 663, 0, 222, 223, 224, 664, 665, 225, 226, 0, 227, 228, 229, 666, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 667, 236, 668, 238, 0, 239, 0, 669, 0, 240, 241, 0, 242, 670, 0, 243, 244, 0, 0, 0, 671, 246, 247, 248, 672, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 673, 253, 254, 674, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 675, 264, 265, 0, 0, 0, 0, 0, 676, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 677, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 678, 288, 289, 290, 291, 679, 292, 293, 4099, 0, 0, 0, 294, 295, 296, 297, 680, 299, 0, 0, 681, 301, 682, 302, 0, 303, 683, 684, 685, 686, 687, 308, 309, 310, 311, 312, 0, 688, 313, 314, 0, 0, 315, 316, 317, 318, 689, 0, 691, 319, 320, 0, 692, 693, 0, 321, 322, 694, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 695, 331, 332, 333, 334, 335, 696, 337, 338, 339, 697, 698, 342, 699, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 700, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 701, 702, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 703, 377, 378, 379, 380, 381, 704, 383, 384, 385, 386, 0, 705, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 706, 707, 411, 412, 0, 413, 414, 708, 416, 417, 418, 709, 710, 419, 420, 421, 422, 711, 423, 424, 0, 0, 425, 426, 427, 428, 0, 712, 429, 430, 0, 713, 714, 715, 716, 0, 0, 0, 0, 0, 435, 436, 0, 717, 718, 719, 438, 439, 440, 720, 441, 442, 721, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 722, 451, 0, 0, 723, 724, 725, 726, 452, 0, 0, 453, 727, 0, 728, 454, 455, 456, 729, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 730, 0, 0, 0, 731, 732, 0, 0, 0, 0, 733, 734, 0, 0, 735, 736, 0, 0, 737, 738, 135, 0, 636, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 637, 0, 143, 144, 145, 146, 147, 638, 149, 0, 150, 0, 0, 639, 151, 640, 641, 642, 152, 643, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 644, 645, 160, 161, 0, 162, 646, 647, 164, 0, 165, 166, 167, 168, 648, 170, 0, 649, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 650, 187, 0, 188, 651, 652, 189, 0, 0, 190, 653, 654, 0, 191, 655, 656, 0, 192, 193, 194, 657, 658, 659, 0, 0, 0, 0, 660, 197, 661, 0, 0, 662, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 663, 0, 222, 223, 224, 664, 665, 225, 226, 0, 227, 228, 229, 666, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 667, 236, 668, 238, 0, 239, 0, 669, 0, 240, 241, 0, 242, 670, 0, 243, 244, 0, 0, 0, 671, 246, 247, 248, 672, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 673, 253, 254, 674, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 675, 264, 265, 0, 0, 0, 0, 0, 676, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 677, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 678, 288, 289, 290, 291, 679, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 680, 299, 0, 0, 681, 301, 682, 302, 0, 303, 683, 684, 685, 686, 687, 308, 309, 310, 311, 312, 0, 688, 313, 314, 0, 0, 315, 316, 317, 318, 689, 0, 691, 319, 320, 0, 692, 693, 0, 321, 322, 694, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 695, 331, 332, 333, 334, 335, 696, 337, 338, 339, 697, 698, 342, 699, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 700, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 701, 702, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 703, 377, 378, 379, 380, 381, 704, 383, 384, 385, 386, 0, 705, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 706, 707, 411, 412, 0, 413, 414, 708, 416, 417, 418, 709, 710, 419, 420, 421, 422, 711, 423, 424, 0, 0, 425, 426, 427, 428, 0, 712, 429, 430, 0, 713, 714, 715, 716, 0, 0, 0, 0, 0, 435, 436, 0, 717, 718, 719, 438, 439, 440, 720, 441, 442, 721, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 722, 451, 0, 0, 723, 724, 725, 726, 452, 0, 0, 453, 727, 0, 728, 454, 455, 456, 729, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 730, 0, 0, 0, 731, 732, 0, 0, 0, 0, 733, 734, 0, 0, 735, 736, 0, 0, 737, 738, 135, 0, 636, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 637, 0, 143, 144, 145, 146, 147, 638, 149, 0, 150, 0, 0, 639, 151, 640, 641, 642, 152, 643, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 644, 645, 160, 161, 0, 162, 646, 647, 164, 0, 165, 166, 167, 168, 648, 170, 0, 649, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 650, 187, 0, 188, 651, 652, 189, 0, 0, 190, 653, 654, 0, 191, 655, 656, 0, 192, 193, 194, 657, 658, 659, 0, 0, 0, 0, 660, 197, 661, 0, 0, 662, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 663, 0, 222, 223, 224, 664, 665, 225, 226, 0, 227, 228, 229, 666, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 667, 236, 668, 238, 0, 239, 0, 669, 0, 240, 241, 0, 242, 670, 0, 243, 244, 0, 0, 0, 671, 246, 247, 248, 672, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 673, 253, 254, 1635, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 675, 264, 265, 0, 0, 0, 0, 0, 676, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 677, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 678, 288, 289, 290, 291, 679, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 680, 299, 0, 0, 681, 301, 682, 302, 0, 303, 683, 684, 685, 686, 687, 308, 309, 310, 311, 312, 0, 688, 313, 314, 0, 0, 315, 316, 317, 318, 689, 0, 691, 319, 320, 0, 692, 693, 0, 321, 322, 694, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 695, 331, 332, 333, 334, 335, 696, 337, 338, 339, 697, 698, 342, 699, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 700, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 701, 702, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 703, 377, 378, 379, 380, 381, 704, 383, 384, 385, 386, 0, 705, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 706, 707, 411, 412, 0, 413, 414, 708, 416, 417, 418, 709, 710, 419, 420, 421, 422, 711, 423, 424, 0, 0, 425, 426, 427, 428, 0, 712, 429, 430, 0, 713, 714, 715, 716, 0, 0, 0, 0, 0, 435, 436, 0, 717, 718, 719, 438, 439, 440, 720, 441, 442, 721, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 722, 451, 0, 0, 723, 724, 725, 726, 452, 0, 0, 453, 727, 0, 728, 454, 455, 456, 729, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 730, 0, 0, 0, 731, 732, 0, 0, 0, 0, 733, 734, 0, 0, 735, 736, 0, 0, 737, 738, 135, 0, 636, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 637, 0, 143, 144, 145, 146, 147, 638, 149, 0, 150, 0, 0, 639, 151, 640, 641, 642, 152, 643, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 644, 645, 160, 161, 0, 162, 646, 647, 164, 0, 165, 166, 167, 168, 648, 170, 0, 649, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 650, 187, 0, 188, 651, 652, 189, 0, 0, 190, 653, 654, 0, 191, 655, 656, 0, 192, 193, 194, 657, 658, 659, 0, 0, 0, 0, 660, 197, 661, 0, 0, 662, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 663, 0, 222, 223, 224, 664, 665, 225, 226, 0, 227, 228, 229, 666, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 667, 236, 668, 238, 0, 239, 0, 669, 0, 240, 241, 0, 242, 670, 0, 243, 244, 0, 0, 0, 671, 246, 247, 248, 672, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 673, 253, 254, 1637, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 675, 264, 265, 0, 0, 0, 0, 0, 676, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 677, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 678, 288, 289, 290, 291, 679, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 680, 299, 0, 0, 681, 301, 682, 302, 0, 303, 683, 684, 685, 686, 687, 308, 309, 310, 311, 312, 0, 688, 313, 314, 0, 0, 315, 316, 317, 318, 689, 0, 691, 319, 320, 0, 692, 693, 0, 321, 322, 694, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 695, 331, 332, 333, 334, 335, 696, 337, 338, 339, 697, 698, 342, 699, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 700, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 701, 702, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 703, 377, 378, 379, 380, 381, 704, 383, 384, 385, 386, 0, 705, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 706, 707, 411, 412, 0, 413, 414, 708, 416, 417, 418, 709, 710, 419, 420, 421, 422, 711, 423, 424, 0, 0, 425, 426, 427, 428, 0, 712, 429, 430, 0, 713, 714, 715, 716, 0, 0, 0, 0, 0, 435, 436, 0, 717, 718, 719, 438, 439, 440, 720, 441, 442, 721, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 722, 451, 0, 0, 723, 724, 725, 726, 452, 0, 0, 453, 727, 0, 728, 454, 455, 456, 729, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 730, 0, 0, 0, 731, 732, 0, 0, 0, 0, 733, 734, 0, 0, 735, 736, 0, 0, 737, 738, 135, 0, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 640, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 2235, 0, 0, 0, 0, 196, 197, 661, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 665, 225, 226, 0, 227, 228, 229, 666, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 670, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 677, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 688, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 692, 693, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 712, 429, 430, 0, 2236, 432, 433, 2237, 0, 0, 0, 0, 0, 435, 436, 0, 0, 718, 437, 438, 439, 440, 720, 441, 442, 721, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 463, 0, 0, 0, 0, 135, 0, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 737, 738, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 2348, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 477, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 1936, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 1937, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 2878, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 2879, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, -436, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 480, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 463, 0, 0, 135, 0, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 2413, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 2348, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 477, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 1936, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 1937, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 480, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 463, 0, 0, 135, 0, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 2413, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 2226, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 463, 0, 0, 135, 0, 136, 137, 138, 139, 140, 0, 0, 2642, 0, 0, 141, 0, 0, 142, 738, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 463, 0, 0, 0, 0, 135, 0, 136, 137, 138, 139, 140, 4223, 0, 0, 0, 0, 141, 4224, 738, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 463, 0, 0, 135, 0, 136, 137, 138, 139, 140, 0, 1065, 0, 0, 0, 141, 0, 0, 142, 738, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 1258, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 463, 0, 0, 135, 0, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 511, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 463, 0, 0, 0, 0, 135, 2167, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 511, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 463, 0, 0, 135, 0, 136, 137, 138, 139, 140, 0, 2412, 0, 0, 0, 141, 0, 0, 142, 2413, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 463, 0, 0, 0, 0, 135, 0, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 4224, 738, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 463, 0, 0, 135, 0, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 511, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 577, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 578, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 463, 0, 0, 135, 0, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 511, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 463, 0, 0, 135, 0, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 738, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 463, 0, 0, 135, 0, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 2413, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 589, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 132, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 463, 0, 135, 0, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 1607, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 589, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 132, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 463, 0, 135, 0, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 2682, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 589, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 132, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 0, 463, 0, 135, 0, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 0, 3295, 143, 144, 145, 146, 147, 148, 0, 0, -327, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 0, 0, 0, 0, 159, 3709, 0, 160, 161, 0, 162, 0, 0, 0, 0, 165, 166, 167, 3710, 169, 170, 0, 171, 172, 0, 173, 0, 175, 0, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 0, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 0, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 0, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 0, 0, 0, 222, 223, 224, 0, 0, 225, 226, 3711, 227, 228, 229, 0, 0, 0, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 244, 0, 0, 0, 245, 246, 247, 248, 3712, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 3713, 0, 0, 260, 0, 0, 0, 262, 0, 0, 263, 3714, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, -282, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 0, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 3715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 0, 332, 333, 334, 0, 336, 337, 338, 339, 340, 341, 0, 0, 0, 0, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 0, 0, 368, 0, 370, -282, 0, 371, 0, 0, 0, 373, 0, 0, 375, 376, 3716, 0, 0, 0, 378, 379, 380, 381, 382, 383, 0, 385, 386, 0, 387, 0, 0, 0, 0, 389, 390, 391, 0, 0, 0, 0, 393, 0, 0, 0, 394, 0, 0, 396, 0, 398, 0, 399, 0, 0, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 0, 410, 0, 0, 0, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 0, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 0, 0, 0, 0, 447, 0, 0, 448, 0, 0, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, -282, 0, 0, 0, 458, 0, 0, 460, 0, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 4230, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 2006, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 2670, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 2976, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 3300, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 2327, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 2328, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 2329, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 2330, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 981, 982, 0, 319, 320, 0, 0, 2331, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 4210, 536, 4211, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 2332, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 2521, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 2676, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 2149, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 589, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 2150, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 132, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 1767, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 1768, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 695, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 1769, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 2684, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 2685, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 589, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 132, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 2521, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 2676, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 589, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 132, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 940, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 589, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 132, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 1311, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 589, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 132, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 918, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 919, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 920, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 2521, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 589, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 132, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 2724, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 589, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 132, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 589, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 132, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 2666, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 132, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 4128, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 4129, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 536, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 1017, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 1929, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 2260, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 2261, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 2766, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 2844, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 132, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 2260, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 142, 0, 143, 144, 145, 146, 147, 148, 149, 0, 150, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 157, 158, 0, 0, 159, 0, 0, 160, 161, 0, 162, 163, 0, 164, 0, 165, 166, 167, 168, 169, 170, 0, 171, 172, 0, 173, 174, 175, 176, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 186, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 197, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 205, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 210, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 221, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 1688, 229, 0, 0, 230, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 240, 241, 0, 242, 0, 0, 243, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 254, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 261, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 1689, 317, 318, 0, 0, 0, 319, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 326, 0, 327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 328, 329, 330, 0, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 0, 0, 343, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 367, 0, 368, 369, 370, 0, 0, 371, 0, 372, 0, 373, 374, 0, 375, 376, 0, 0, 0, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 0, 387, 388, 0, 0, 0, 389, 390, 391, 392, 0, 0, 0, 393, 0, 0, 0, 394, 0, 395, 396, 397, 398, 0, 399, 400, 401, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 409, 410, 0, 0, 411, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 437, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 445, 446, 0, 0, 447, 0, 0, 448, 0, 449, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 459, 0, 460, 461, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 0, 0, -327, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 0, 0, 0, 0, 159, 3709, 0, 160, 161, 0, 162, 0, 0, 0, 0, 165, 166, 167, 3710, 169, 170, 0, 171, 172, 0, 173, 0, 175, 0, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 0, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 0, 0, 0, 206, 207, 208, 0, -297, -297, 209, 0, -297, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 0, 0, 0, 222, 223, 224, 0, 0, 225, 226, 3711, 227, 228, 229, 0, 0, 0, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 244, 0, 0, 0, 245, 246, 247, 248, 3712, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 3713, 0, 0, 260, 0, 0, 0, 262, 0, 0, 263, 3714, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, -282, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 0, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 3715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 0, 332, 333, 334, 0, 336, 337, 338, 339, 340, 341, 0, 0, 0, 0, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 0, 0, 368, 0, 370, -282, 0, 371, 0, 0, 0, 373, 0, 0, 375, 376, 3716, 0, 0, 0, 378, 379, 380, 381, 382, 383, 0, 385, 386, 0, 387, 0, 0, 0, 0, 389, 390, 391, 0, 0, 0, 0, 393, 0, 0, 0, 394, 0, 0, 396, 0, 398, 0, 399, 0, 0, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 0, 410, 0, 0, 0, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 0, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 0, 0, 0, 0, 447, 0, 0, 448, 0, 0, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, -282, 0, 0, 0, 458, 0, 0, 460, 0, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 0, 0, -327, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 0, 0, 0, 0, 159, 3709, 0, 160, 161, 0, 162, 0, 0, 0, 0, 165, 166, 167, 3710, 169, 170, 0, 171, 172, 0, 173, 0, 175, 0, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 0, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 0, 0, 0, 206, 207, 208, 0, -318, 0, 209, 0, -318, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 0, 0, 0, 222, 223, 224, 0, 0, 225, 226, 3711, 227, 228, 229, 0, 0, 0, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 244, 0, 0, 0, 245, 246, 247, 248, 3712, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 3713, 0, 0, 260, 0, 0, 0, 262, 0, 0, 263, 3714, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, -282, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 0, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 3715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 0, 332, 333, 334, 0, 336, 337, 338, 339, 340, 341, 0, 0, 0, 0, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 0, 0, 368, 0, 370, -282, 0, 371, 0, 0, 0, 373, 0, 0, 375, 376, 3716, 0, 0, 0, 378, 379, 380, 381, 382, 383, 0, 385, 386, 0, 387, 0, 0, 0, 0, 389, 390, 391, 0, 0, 0, 0, 393, 0, 0, 0, 394, 0, 0, 396, 0, 398, 0, 399, 0, 0, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 0, 410, 0, 0, 0, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 0, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 0, 0, 0, 0, 447, 0, 0, 448, 0, 0, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, -318, 0, -282, 0, 0, 0, 458, 0, 0, 460, 0, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 0, 0, -327, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 0, 0, 0, 0, 159, 3709, 0, 160, 161, 0, 162, 0, 0, 0, 0, 165, 166, 167, 3710, 169, 170, 0, 171, 172, 0, 173, 0, 175, 0, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 0, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 0, 0, 0, 206, 207, 208, 0, -315, 0, 209, 0, -315, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 0, 0, 0, 222, 223, 224, 0, 0, 225, 226, 3711, 227, 228, 229, 0, 0, 0, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 244, 0, 0, 0, 245, 246, 247, 248, 3712, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 3713, 0, 0, 260, 0, 0, 0, 262, 0, 0, 263, 3714, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, -282, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 0, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 3715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 0, 332, 333, 334, 0, 336, 337, 338, 339, 340, 341, 0, 0, 0, 0, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 0, 0, 368, 0, 370, -282, 0, 371, 0, 0, 0, 373, 0, 0, 375, 376, 3716, 0, 0, 0, 378, 379, 380, 381, 382, 383, 0, 385, 386, 0, 387, 0, 0, 0, 0, 389, 390, 391, 0, 0, 0, 0, 393, 0, 0, 0, 394, 0, 0, 396, 0, 398, 0, 399, 0, 0, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 0, 410, 0, 0, 0, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 0, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 0, 0, 0, 0, 447, 0, 0, 448, 0, 0, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, -315, 0, -282, 0, 0, 0, 458, 0, 0, 460, 0, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 0, 0, -327, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 0, 0, 0, 0, 159, 3709, 0, 160, 161, 0, 162, 0, 0, 0, 0, 165, 166, 167, 3710, 169, 170, 0, 171, 172, 0, 173, 0, 175, 0, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 0, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 0, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 4026, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 0, 0, 0, 222, 223, 224, 0, 0, 225, 226, 3711, 227, 228, 229, 0, 0, 0, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 244, 0, 0, 0, 245, 246, 247, 248, 3712, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 3713, 0, 0, 260, 0, 0, 0, 262, 0, 0, 263, 3714, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, -282, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 0, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 3715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 0, 332, 333, 334, 0, 336, 337, 338, 339, 340, 341, 0, 0, 0, 0, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 0, 0, 368, 0, 370, -282, 0, 371, 0, 0, 0, 373, 0, 0, 375, 376, 3716, 0, 0, 0, 378, 379, 380, 381, 382, 383, 0, 385, 386, 0, 387, 0, 0, 0, 0, 389, 390, 391, 0, 0, 0, 0, 393, 0, 0, 0, 394, 0, 0, 396, 0, 398, 0, 399, 0, 0, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 0, 410, 0, 0, 0, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 0, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 0, 0, 0, 0, 447, 0, 0, 448, 0, 0, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, -282, 0, 0, 0, 458, 0, 0, 460, 0, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 0, 0, -327, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 0, 0, 0, 0, 159, 3709, 0, 160, 161, 0, 162, 0, 0, 0, 0, 165, 166, 167, 3710, 169, 170, 0, 171, 172, 0, 173, 0, 175, 0, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 0, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 0, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, -320, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 0, 0, 0, 222, 223, 224, 0, 0, 225, 226, 3711, 227, 228, 229, 0, 0, 0, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 244, 0, 0, 0, 245, 246, 247, 248, 3712, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 3713, 0, 0, 260, 0, 0, 0, 262, 0, 0, 263, 3714, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, -282, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 0, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 3715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 0, 332, 333, 334, 0, 336, 337, 338, 339, 340, 341, 0, 0, 0, 0, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 0, 0, 368, 0, 370, -282, 0, 371, 0, 0, 0, 373, 0, 0, 375, 376, 3716, 0, 0, 0, 378, 379, 380, 381, 382, 383, 0, 385, 386, 0, 387, 0, 0, 0, 0, 389, 390, 391, 0, 0, 0, 0, 393, 0, 0, 0, 394, 0, 0, 396, 0, 398, 0, 399, 0, 0, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 0, 410, 0, 0, 0, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 0, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 0, 0, 0, 0, 447, 0, 0, 448, 0, 0, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, -282, 0, 0, 0, 458, 0, 0, 460, 0, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 0, 0, -327, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 0, 0, 0, 0, 159, 3709, 0, 160, 161, 0, 162, 0, 0, 0, 0, 165, 166, 167, 3710, 169, 170, 0, 171, 172, 0, 173, 0, 175, 0, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 0, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 0, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 4133, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 0, 0, 0, 222, 223, 224, 0, 0, 225, 226, 3711, 227, 228, 229, 0, 0, 0, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 244, 0, 0, 0, 245, 246, 247, 248, 3712, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 3713, 0, 0, 260, 0, 0, 0, 262, 0, 0, 263, 3714, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, -282, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 0, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 3715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 0, 332, 333, 334, 0, 336, 337, 338, 339, 340, 341, 0, 0, 0, 0, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 0, 0, 368, 0, 370, -282, 0, 371, 0, 0, 0, 373, 0, 0, 375, 376, 3716, 0, 0, 0, 378, 379, 380, 381, 382, 383, 0, 385, 386, 0, 387, 0, 0, 0, 0, 389, 390, 391, 0, 0, 0, 0, 393, 0, 0, 0, 394, 0, 0, 396, 0, 398, 0, 399, 0, 0, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 0, 410, 0, 0, 0, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 0, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 0, 0, 0, 0, 447, 0, 0, 448, 0, 0, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, -282, 0, 0, 0, 458, 0, 0, 460, 0, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 0, 0, -327, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 0, 0, 0, 0, 159, 3709, 0, 160, 161, 0, 162, 0, 0, 0, 0, 165, 166, 167, 3710, 169, 170, 0, 171, 172, 0, 173, 0, 175, 0, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 0, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 0, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 4179, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 0, 0, 0, 222, 223, 224, 0, 0, 225, 226, 3711, 227, 228, 229, 0, 0, 0, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 244, 0, 0, 0, 245, 246, 247, 248, 3712, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 3713, 0, 0, 260, 0, 0, 0, 262, 0, 0, 263, 3714, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, -282, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 0, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 3715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 0, 332, 333, 334, 0, 336, 337, 338, 339, 340, 341, 0, 0, 0, 0, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 0, 0, 368, 0, 370, -282, 0, 371, 0, 0, 0, 373, 0, 0, 375, 376, 3716, 0, 0, 0, 378, 379, 380, 381, 382, 383, 0, 385, 386, 0, 387, 0, 0, 0, 0, 389, 390, 391, 0, 0, 0, 0, 393, 0, 0, 0, 394, 0, 0, 396, 0, 398, 0, 399, 0, 0, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 0, 410, 0, 0, 0, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 0, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 0, 0, 0, 0, 447, 0, 0, 448, 0, 0, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, -282, 0, 0, 0, 458, 0, 0, 460, 0, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 0, 0, -327, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 0, 0, 0, 0, 159, 3709, 0, 160, 161, 0, 162, 0, 0, 0, 0, 165, 166, 167, 3710, 169, 170, 0, 171, 172, 0, 173, 0, 175, 0, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 0, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 0, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, -301, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 0, 0, 0, 222, 223, 224, 0, 0, 225, 226, 3711, 227, 228, 229, 0, 0, 0, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 244, 0, 0, 0, 245, 246, 247, 248, 3712, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 3713, 0, 0, 260, 0, 0, 0, 262, 0, 0, 263, 3714, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, -282, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 0, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 3715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 0, 332, 333, 334, 0, 336, 337, 338, 339, 340, 341, 0, 0, 0, 0, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 0, 0, 368, 0, 370, -282, 0, 371, 0, 0, 0, 373, 0, 0, 375, 376, 3716, 0, 0, 0, 378, 379, 380, 381, 382, 383, 0, 385, 386, 0, 387, 0, 0, 0, 0, 389, 390, 391, 0, 0, 0, 0, 393, 0, 0, 0, 394, 0, 0, 396, 0, 398, 0, 399, 0, 0, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 0, 410, 0, 0, 0, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 0, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 0, 0, 0, 0, 447, 0, 0, 448, 0, 0, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, -282, 0, 0, 0, 458, 0, 0, 460, 0, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 0, 0, -327, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 0, 0, 0, 0, 159, 3709, 0, 160, 161, 0, 162, 0, 0, 0, 0, 165, 166, 167, 3710, 169, 170, 0, 171, 172, 0, 173, 0, 175, 0, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 0, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 0, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 0, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 0, 0, 0, 222, 223, 224, 0, 0, 225, 226, 3711, 227, 228, 229, 0, 0, 0, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 244, 0, 0, 0, 245, 246, 247, 248, 3712, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 3713, 0, 0, 260, 0, 0, 0, 262, 0, 0, 263, 3714, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, -282, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 0, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 3715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 0, 332, 333, 334, 0, 336, 337, 338, 339, 340, 341, 0, 0, 0, 0, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 0, 0, 368, 0, 370, -282, 0, 371, 0, 0, 0, 373, 0, 0, 375, 376, 3716, 0, 0, 0, 378, 379, 380, 381, 382, 383, 0, 385, 386, 0, 387, 0, 0, 0, 0, 389, 390, 391, 0, 0, 0, 0, 393, 0, 0, 0, 394, 0, 0, 396, 0, 398, 0, 399, 0, 0, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 0, 410, 0, 0, 0, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 0, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 0, 0, 0, 0, 447, 0, 0, 448, 0, 0, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, -282, 0, 0, 0, 458, 0, 0, 460, 0, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 0, 0, -327, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 0, 0, 0, 0, 159, 3709, 0, 160, 161, 0, 162, 0, 0, 0, 0, 165, 166, 167, 3710, 169, 170, 0, 171, 172, 0, 173, 0, 175, 0, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 0, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 0, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 0, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 0, 0, 0, 222, 223, 224, 0, 0, 225, 226, 3711, 227, 228, 229, 0, 0, 0, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 244, 0, 0, 0, 245, 246, 247, 248, 3712, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 3713, 0, 0, 260, 0, 0, 0, 262, 0, 0, 263, 3714, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, -282, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 0, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 3715, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 0, 332, 333, 334, 0, 336, 337, 338, 339, 340, 341, 0, 0, 0, 0, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 0, 0, 368, 0, 370, -282, 0, 371, 0, 0, 0, 373, 0, 0, 375, 376, 3716, 0, 0, 0, 378, 379, 380, 381, 382, 383, 0, 385, 386, 0, 387, 0, 0, 0, 0, 389, 390, 391, 0, 0, 0, 0, 393, 0, 0, 0, 394, 0, 0, 396, 0, 398, 0, 399, 0, 0, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 0, 410, 0, 0, 0, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 0, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 0, 0, 0, 0, 447, 0, 0, 4029, 0, 0, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, -282, 0, 0, 0, 458, 0, 0, 460, 0, 462, 0, 135, 463, 136, 137, 138, 139, 140, 0, 0, 0, 0, 0, 141, 0, 0, 0, 0, 143, 144, 145, 146, 147, 148, 0, 0, 0, 0, 0, 0, 151, 0, 0, 0, 152, 0, 0, 153, 154, 155, 0, 156, 0, 0, 0, 0, 0, 159, 0, 0, 160, 161, 0, 162, 0, 0, 0, 0, 165, 166, 167, 0, 169, 170, 0, 171, 172, 0, 173, 0, 175, 0, 177, 178, 179, 180, 0, 181, 182, 0, 183, 184, 185, 0, 187, 0, 188, 0, 0, 189, 0, 0, 190, 0, 0, 0, 191, 0, 0, 0, 192, 193, 194, 0, 0, 195, 0, 0, 0, 0, 196, 0, 0, 0, 0, 0, 198, 0, 199, 0, 0, 0, 200, 0, 201, 202, 203, 204, 0, 0, 0, 0, 0, 0, 206, 207, 208, 0, 0, 0, 209, 0, 0, 211, 0, 212, 213, 214, 0, 0, 215, 216, 0, 217, 218, 219, 220, 0, 0, 0, 222, 223, 224, 0, 0, 225, 226, 0, 227, 228, 229, 0, 0, 0, 0, 0, 0, 231, 0, 232, 0, 233, 0, 234, 235, 236, 237, 238, 0, 239, 0, 0, 0, 0, 241, 0, 0, 0, 0, 0, 244, 0, 0, 0, 245, 246, 247, 248, 0, 0, 249, 250, 251, 0, 0, 252, 0, 0, 0, 0, 253, 0, 0, 0, 0, 255, 0, 256, 257, 0, 258, 259, 0, 0, 0, 260, 0, 0, 0, 262, 0, 0, 263, 0, 0, 264, 265, 0, 0, 0, 0, 0, 266, 267, 0, 268, 0, 269, 0, 270, 271, 0, 0, 0, 0, 0, 0, 0, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 0, 285, 286, 287, 0, 288, 289, 290, 291, 0, 292, 293, 0, 0, 0, 0, 294, 295, 296, 297, 298, 299, 0, 0, 300, 301, 0, 302, 0, 303, 0, 304, 305, 306, 307, 308, 309, 310, 311, 312, 0, 0, 313, 314, 0, 0, 315, 316, 317, 318, 0, 0, 0, 0, 320, 0, 0, 0, 0, 321, 322, 323, 0, 324, 325, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 329, 330, 0, 0, 332, 333, 334, 0, 336, 337, 338, 339, 340, 341, 0, 0, 0, 0, 344, 345, 0, 346, 0, 347, 348, 349, 350, 351, 0, 352, 353, 354, 0, 0, 355, 0, 0, 0, 356, 357, 358, 359, 360, 0, 0, 361, 362, 363, 364, 365, 0, 366, 0, 0, 368, 0, 370, 0, 0, 371, 0, 0, 0, 373, 0, 0, 375, 376, 0, 0, 0, 0, 378, 379, 380, 381, 382, 383, 0, 385, 386, 0, 387, 0, 0, 0, 0, 389, 390, 391, 0, 0, 0, 0, 393, 0, 0, 0, 394, 0, 0, 396, 0, 398, 0, 399, 0, 0, 402, 403, 0, 0, 0, 0, 0, 0, 404, 405, 0, 406, 0, 0, 407, 0, 0, 408, 0, 410, 0, 0, 0, 412, 0, 413, 414, 415, 416, 417, 418, 0, 0, 419, 420, 421, 422, 0, 423, 424, 0, 0, 425, 426, 427, 428, 0, 0, 429, 430, 0, 431, 432, 433, 434, 0, 0, 0, 0, 0, 435, 436, 0, 0, 0, 0, 438, 439, 440, 0, 441, 442, 0, 443, 444, 0, 0, 0, 0, 0, 447, 0, 0, 448, 0, 0, 0, 450, 451, 0, 0, 0, 0, 0, 0, 452, 0, 0, 453, 0, 0, 0, 454, 455, 456, 457, 0, 0, 0, 0, 0, 0, 458, 0, 0, 460, 0, 462, 0, 0, 463 }; static const yytype_int16 yycheck[] = { 6, 612, 549, 621, 622, 549, 933, 654, 655, 121, 1115, 934, 571, 19, 850, 1115, 22, 659, 1739, 1604, 1021, 1413, 20, 6, 1707, 31, 1086, 1062, 769, 639, 876, 29, 38, 1015, 1016, 41, 494, 35, 678, 45, 874, 1239, 898, 585, 691, 1726, 2379, 53, 1314, 1411, 1178, 2185, 898, 1957, 2701, 2230, 1137, 1394, 2309, 2263, 2264, 2265, 2022, 1144, 711, 899, 2649, 2027, 2451, 1053, 3068, 713, 2001, 1245, 716, 938, 723, 724, 725, 4, 2498, 2484, 1867, 22, 2114, 1145, 1146, 93, 938, 1149, 1150, 1151, 1152, 1920, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 608, 609, 1402, 2274, 2275, 2297, 2836, 115, 1796, 117, 1726, 1865, 120, 121, 122, 1325, 1455, 2253, 3074, 731, 732, 733, 1865, 1868, 2374, 33, 626, 1872, 2290, 742, 1982, 743, 117, 1343, 2958, 120, 2298, 1848, 1883, 2353, 2157, 1351, 1352, 24, 3285, 1982, 1820, 1821, 1893, 2512, 9, 1384, 93, 2516, 3131, 3132, 16, 46, 3135, 15, 16, 833, 3092, 1837, 50, 15, 16, 18, 2108, 28, 70, 1737, 15, 16, 59, 34, 142, 3154, 18, 16, 1854, 1855, 35, 3160, 29, 165, 18, 1839, 50, 73, 103, 116, 3332, 2166, 74, 142, 1870, 1871, 142, 1873, 15, 16, 1876, 1877, 2338, 2339, 1880, 127, 2486, 15, 16, 1885, 10, 20, 45, 1889, 1890, 1891, 1892, 15, 16, 219, 1896, 20, 1898, 2567, 33, 771, 1982, 2460, 1904, 105, 1943, 1907, 2356, 1909, 2342, 1948, 1811, 1982, 47, 50, 914, 1954, 1955, 136, 185, 2632, 1959, 119, 175, 58, 59, 1857, 15, 16, 55, 3864, 1971, 213, 253, 58, 59, 356, 1394, 326, 123, 2830, 42, 123, 2243, 130, 345, 339, 614, 8, 57, 39, 148, 2005, 51, 3281, 900, 182, 828, 73, 255, 237, 148, 35, 61, 940, 1966, 1967, 1968, 1969, 385, 148, 15, 16, 430, 152, 15, 16, 15, 16, 15, 16, 3686, 18, 121, 371, 152, 3342, 58, 59, 274, 275, 2452, 2453, 152, 259, 485, 12, 119, 1455, 2515, 120, 15, 16, 119, 254, 2636, 155, 257, 412, 15, 16, 219, 182, 518, 339, 267, 217, 813, 15, 16, 253, 201, 465, 561, 2282, 180, 148, 40, 239, 423, 67, 3745, 148, 3504, 336, 338, 356, 148, 479, 223, 198, 15, 16, 15, 16, 159, 993, 994, 995, 182, 487, 596, 198, 64, 15, 16, 596, 165, 603, 2771, 159, 169, 518, 603, 3368, 603, 604, 62, 484, 3540, 481, 185, 180, 3377, 515, 340, 67, 15, 16, 381, 517, 485, 62, 1052, 77, 293, 185, 394, 531, 2720, 342, 502, 3396, 61, 240, 286, 1065, 3401, 2642, 766, 15, 16, 213, 270, 609, 1175, 332, 262, 106, 229, 413, 109, 1364, 173, 148, 61, 132, 533, 131, 385, 3825, 917, 2296, 356, 239, 410, 411, 962, 201, 135, 518, 518, 270, 70, 624, 15, 16, 15, 16, 178, 421, 437, 15, 16, 479, 395, 481, 15, 16, 338, 2683, 3619, 429, 610, 3868, 543, 1319, 573, 3441, 1322, 4094, 259, 1883, 498, 1327, 15, 16, 502, 3495, 494, 15, 16, 355, 1839, 213, 358, 511, 15, 16, 297, 515, 574, 517, 2716, 604, 355, 15, 16, 358, 2708, 1353, 1354, 1384, 301, 2774, 530, 2249, 1654, 65, 1865, 1140, 1376, 2358, 178, 604, 1384, 2362, 3097, 182, 1148, 604, 179, 338, 355, 2755, 428, 358, 2758, 2759, 253, 2376, 2377, 355, 558, 325, 358, 1165, 15, 16, 549, 2386, 398, 355, 2756, 1233, 358, 2777, 455, 213, 428, 235, 576, 2500, 1632, 15, 16, 512, 1034, 1035, 574, 585, 322, 587, 1790, 1643, 235, 2412, 1646, 3541, 1258, 385, 2342, 1454, 598, 599, 2303, 455, 355, 1055, 604, 358, 606, 2342, 608, 609, 1454, 3252, 1064, 613, 614, 2885, 2460, 440, 618, 577, 1912, 394, 599, 540, 1076, 1077, 1078, 428, 628, 629, 630, 2460, 604, 1085, 634, 371, 2568, 2860, 577, 2753, 1971, 577, 2607, 2608, 2609, 421, 355, 2745, 1626, 358, 355, 1982, 355, 358, 355, 358, 507, 358, 2361, 1394, 2363, 2482, 768, 15, 16, 598, 3000, 2370, 573, 541, 3691, 604, 182, 518, 334, 526, 355, 2321, 678, 358, 2383, 1217, 533, 1183, 355, 3633, 2389, 358, 2653, 2654, 2655, 568, 529, 355, 484, 3617, 358, 2255, 3830, 580, 529, 2404, 602, 2369, 580, 529, 555, 3523, 559, 555, 602, 623, 2881, 3661, 2460, 2381, 355, 1839, 355, 358, 1455, 358, 588, 2426, 2289, 2460, 604, 3860, 580, 355, 484, 604, 358, 2859, 2657, 2658, 736, 3071, 738, 1349, 1965, 589, 1242, 533, 2340, 1281, 608, 589, 547, 2454, 383, 505, 355, 585, 589, 358, 608, 1257, 547, 607, 3115, 575, 762, 763, 764, 608, 766, 767, 768, 875, 770, 771, 2781, 561, 2451, 355, 1440, 531, 358, 2497, 518, 4160, 589, 573, 442, 387, 763, 1323, 490, 465, 767, 589, 2458, 770, 3149, 406, 603, 604, 15, 16, 3009, 589, 3157, 15, 16, 3003, 604, 165, 808, 3164, 355, 1303, 355, 358, 3762, 358, 604, 355, 818, 602, 358, 608, 355, 15, 16, 358, 486, 608, 828, 829, 182, 604, 608, 833, 490, 2191, 589, 3006, 3971, 499, 355, 15, 16, 358, 3042, 355, 165, 1388, 358, 1971, 603, 604, 355, 152, 499, 358, 560, 73, 18, 522, 1982, 355, 525, 3105, 358, 3834, 398, 3836, 15, 16, 2709, 2710, 3078, 609, 3058, 875, 2591, 81, 3062, 578, 589, 15, 16, 137, 589, 818, 589, 11, 589, 168, 3018, 286, 3614, 3081, 603, 604, 829, 33, 603, 604, 603, 604, 355, 822, 3058, 358, 252, 509, 3062, 608, 589, 2626, 3324, 138, 914, 270, 1550, 550, 589, 355, 560, 204, 358, 183, 775, 604, 586, 589, 15, 16, 532, 3879, 3113, 3114, 934, 95, 1786, 15, 16, 185, 3121, 603, 604, 3124, 3125, 24, 1786, 15, 16, 116, 589, 1779, 589, 3901, 3331, 2632, 15, 16, 15, 16, 3141, 1789, 962, 589, 1792, 1793, 1816, 604, 2891, 2355, 2356, 1463, 3329, 68, 3155, 2650, 1816, 603, 604, 3160, 3161, 3162, 3163, 116, 3976, 79, 589, 182, 148, 31, 2321, 489, 152, 15, 16, 493, 120, 2051, 393, 2745, 603, 604, 68, 355, 490, 369, 358, 148, 175, 589, 2745, 2342, 2007, 1013, 2274, 2275, 2860, 1017, 350, 2699, 180, 1127, 583, 239, 604, 346, 145, 116, 24, 3053, 580, 2860, 227, 194, 194, 2814, 394, 156, 1650, 199, 3437, 1645, 2650, 398, 589, 2211, 589, 269, 3211, 3014, 371, 589, 1052, 2128, 604, 217, 589, 264, 1164, 604, 220, 604, 341, 15, 16, 1065, 604, 227, 374, 191, 465, 604, 182, 303, 589, 394, 237, 237, 2815, 589, 1013, 2283, 441, 569, 1017, 120, 589, 253, 248, 604, 1702, 157, 1726, 253, 2771, 589, 15, 16, 152, 3511, 267, 604, 262, 3460, 1839, 2134, 2135, 367, 1965, 2301, 604, 3309, 253, 320, 2860, 1115, 2408, 3833, 119, 221, 230, 1965, 2701, 2454, 1660, 2860, 180, 1127, 230, 2460, 353, 2230, 3316, 3317, 267, 360, 589, 259, 355, 385, 219, 358, 1248, 355, 3067, 2199, 358, 15, 16, 2127, 286, 604, 3509, 589, 15, 16, 465, 456, 180, 2137, 133, 356, 1662, 355, 1164, 325, 358, 512, 604, 1169, 15, 16, 403, 3814, 1174, 342, 270, 3754, 267, 1715, 1716, 355, 370, 1183, 358, 15, 16, 347, 230, 393, 356, 15, 16, 447, 229, 356, 356, 518, 420, 2321, 2299, 559, 15, 16, 464, 2299, 1747, 490, 355, 342, 252, 358, 15, 16, 293, 116, 22, 1217, 15, 16, 116, 355, 131, 219, 358, 385, 117, 415, 95, 1229, 585, 1231, 578, 1233, 358, 354, 1971, 589, 602, 325, 559, 1174, 1242, 0, 15, 16, 604, 1982, 1248, 15, 16, 603, 4244, 342, 15, 16, 535, 1257, 1258, 361, 2616, 347, 357, 12, 15, 16, 512, 3088, 355, 3223, 3439, 358, 551, 433, 175, 15, 16, 355, 610, 175, 358, 1281, 2405, 490, 1284, 1391, 516, 355, 3109, 2388, 358, 357, 1292, 549, 2388, 455, 355, 293, 355, 358, 201, 358, 15, 16, 1304, 1305, 1306, 1307, 1308, 1309, 15, 16, 542, 544, 1314, 1234, 447, 148, 15, 16, 1320, 1321, 538, 1323, 621, 622, 1326, 1304, 1305, 1306, 452, 1308, 2454, 355, 173, 495, 358, 228, 2460, 213, 341, 447, 315, 339, 1321, 561, 1346, 603, 602, 1326, 15, 16, 606, 220, 160, 4071, 4072, 579, 15, 16, 15, 16, 15, 16, 237, 407, 267, 2753, 3713, 3714, 237, 267, 589, 540, 1307, 248, 1309, 589, 447, 221, 1299, 248, 561, 132, 15, 16, 374, 604, 230, 549, 19, 1391, 604, 302, 15, 16, 270, 589, 517, 326, 217, 561, 456, 355, 243, 1405, 358, 540, 1408, 1409, 3787, 129, 604, 1346, 2745, 589, 604, 3774, 578, 3664, 580, 15, 16, 240, 8, 604, 144, 15, 16, 2815, 604, 610, 15, 16, 463, 753, 355, 578, 447, 358, 1440, 342, 589, 603, 604, 29, 342, 607, 608, 146, 3807, 540, 3621, 447, 447, 589, 447, 604, 325, 1459, 380, 1461, 1462, 12, 1464, 1465, 71, 608, 15, 16, 604, 602, 1405, 15, 16, 561, 1409, 1477, 1397, 1479, 3183, 15, 16, 12, 1461, 1462, 447, 355, 152, 230, 358, 447, 447, 152, 355, 124, 602, 358, 494, 338, 3454, 603, 589, 80, 2499, 15, 16, 198, 249, 400, 355, 589, 2587, 358, 15, 16, 447, 604, 3895, 361, 394, 589, 99, 841, 553, 355, 604, 2131, 358, 2860, 589, 355, 589, 602, 358, 3663, 604, 606, 2637, 15, 16, 20, 355, 2637, 603, 358, 603, 12, 194, 240, 1550, 1551, 355, 512, 33, 358, 6, 1663, 355, 121, 433, 358, 538, 592, 15, 16, 433, 589, 47, 15, 16, 565, 566, 610, 179, 476, 12, 2029, 574, 58, 59, 603, 120, 132, 355, 561, 2321, 358, 447, 355, 2042, 518, 358, 602, 355, 509, 455, 358, 512, 2235, 2236, 2237, 521, 132, 355, 496, 56, 358, 602, 602, 1610, 602, 217, 15, 16, 355, 543, 529, 358, 3981, 15, 16, 3984, 2075, 597, 598, 599, 600, 495, 2985, 16, 15, 16, 15, 16, 240, 159, 589, 2761, 540, 202, 602, 355, 3603, 540, 358, 602, 602, 15, 16, 355, 603, 1652, 358, 3331, 3553, 3554, 602, 355, 212, 1660, 358, 1662, 1663, 961, 610, 3341, 132, 3995, 2792, 589, 602, 38, 3252, 1674, 602, 1676, 2800, 568, 45, 2803, 571, 1682, 1683, 3882, 1685, 136, 4032, 4033, 182, 355, 3399, 2144, 358, 3402, 1695, 132, 194, 355, 1699, 355, 358, 355, 358, 512, 358, 565, 566, 270, 3384, 15, 16, 16, 12, 1011, 1715, 1716, 1717, 1718, 2454, 2843, 589, 335, 336, 355, 2460, 1726, 358, 589, 1729, 1730, 1731, 1050, 515, 355, 603, 4098, 358, 2860, 12, 15, 16, 603, 602, 589, 76, 1746, 78, 3456, 1682, 1683, 217, 1685, 3713, 3714, 1755, 15, 16, 603, 589, 253, 355, 1695, 217, 358, 589, 1699, 355, 41, 24, 358, 212, 355, 603, 398, 358, 589, 57, 383, 603, 3207, 3208, 217, 1101, 1717, 1718, 589, 1105, 119, 194, 603, 1791, 589, 350, 1713, 419, 1729, 1730, 1731, 227, 603, 950, 951, 1803, 602, 209, 603, 211, 355, 140, 1810, 358, 610, 355, 102, 88, 358, 436, 589, 2649, 93, 355, 46, 589, 358, 182, 450, 2368, 589, 133, 566, 1750, 603, 132, 20, 15, 16, 603, 589, 988, 2690, 455, 603, 174, 270, 355, 2696, 33, 358, 589, 2690, 191, 603, 3816, 355, 3818, 2696, 358, 1791, 326, 580, 47, 3054, 603, 509, 326, 2895, 512, 603, 604, 2698, 159, 58, 59, 1980, 603, 589, 1810, 1984, 355, 15, 16, 358, 608, 589, 165, 336, 2916, 2917, 169, 603, 510, 589, 3853, 3854, 150, 515, 185, 603, 610, 180, 15, 16, 202, 355, 1824, 1906, 358, 2937, 355, 3337, 3010, 358, 558, 1833, 1834, 2022, 15, 16, 259, 1920, 2027, 15, 16, 589, 1844, 1845, 1846, 1847, 2270, 1849, 1850, 589, 95, 589, 352, 589, 6, 603, 558, 15, 16, 3645, 3646, 3647, 3648, 603, 397, 603, 399, 603, 3211, 556, 355, 573, 602, 358, 484, 589, 232, 355, 15, 16, 358, 219, 603, 604, 3066, 589, 168, 179, 355, 3066, 355, 358, 561, 358, 16, 421, 3939, 1980, 2593, 603, 11, 1984, 602, 1986, 602, 355, 1989, 602, 358, 602, 73, 3954, 589, 1996, 1997, 1998, 1999, 3099, 589, 2002, 102, 602, 3099, 589, 3967, 348, 603, 602, 315, 1989, 602, 2120, 603, 2650, 602, 604, 2360, 603, 301, 2022, 602, 610, 1944, 1945, 2027, 1947, 302, 1949, 1950, 1951, 1952, 1953, 603, 604, 1956, 293, 1958, 4238, 602, 589, 2384, 2385, 521, 2152, 589, 603, 604, 355, 518, 602, 358, 602, 589, 603, 518, 220, 602, 4020, 603, 602, 1996, 1997, 1998, 581, 582, 547, 603, 521, 3786, 4032, 4033, 405, 237, 543, 603, 604, 589, 355, 602, 543, 358, 339, 602, 248, 116, 589, 604, 3756, 364, 571, 603, 133, 602, 355, 385, 2634, 358, 602, 1683, 603, 1685, 203, 58, 59, 3083, 3084, 604, 3787, 602, 452, 589, 394, 68, 150, 4077, 3545, 3546, 2120, 3548, 3549, 602, 602, 2860, 518, 4087, 3794, 602, 2582, 3797, 3798, 3799, 3800, 602, 335, 336, 589, 219, 3169, 602, 341, 589, 2680, 2145, 175, 1729, 1730, 1731, 3536, 3537, 2152, 1218, 458, 459, 1221, 603, 2264, 1224, 2266, 2267, 73, 325, 602, 4125, 2166, 4127, 602, 3872, 3121, 602, 201, 3124, 3125, 355, 87, 4137, 358, 478, 479, 3280, 481, 602, 483, 219, 3280, 589, 552, 553, 3141, 555, 602, 4153, 589, 4155, 495, 4157, 2198, 472, 162, 603, 2308, 2309, 4164, 589, 602, 589, 603, 18, 603, 604, 603, 604, 3209, 4175, 30, 602, 3895, 603, 355, 603, 589, 358, 512, 3891, 3892, 603, 604, 602, 2230, 4191, 4192, 506, 3900, 3814, 603, 602, 267, 494, 602, 355, 192, 2243, 358, 533, 602, 4207, 4208, 15, 16, 602, 4212, 333, 24, 602, 2256, 355, 2258, 339, 358, 75, 355, 362, 2264, 358, 2266, 2267, 24, 603, 604, 433, 371, 2379, 2274, 2275, 315, 602, 377, 602, 355, 603, 604, 358, 589, 573, 95, 603, 604, 593, 594, 595, 596, 597, 598, 599, 600, 610, 603, 2299, 602, 355, 602, 73, 358, 339, 602, 25, 2308, 2309, 58, 59, 602, 342, 589, 3232, 602, 73, 133, 574, 602, 73, 564, 565, 404, 567, 602, 569, 603, 494, 589, 242, 146, 495, 603, 604, 535, 2256, 602, 148, 290, 291, 12, 152, 603, 295, 296, 347, 2348, 604, 68, 602, 551, 2353, 602, 73, 602, 2349, 2358, 603, 604, 547, 2362, 602, 2364, 603, 604, 2359, 602, 178, 469, 180, 71, 2365, 2374, 602, 2376, 2377, 561, 2379, 150, 567, 568, 603, 604, 194, 2386, 602, 2388, 114, 199, 603, 604, 11, 602, 2387, 166, 2397, 150, 602, 2392, 119, 313, 384, 213, 2405, 2398, 2399, 602, 589, 166, 220, 2412, 2413, 494, 230, 603, 604, 227, 458, 459, 603, 604, 603, 2424, 603, 604, 338, 237, 602, 3034, 1027, 1028, 1029, 603, 604, 603, 604, 602, 248, 603, 604, 602, 1039, 253, 607, 133, 2366, 2367, 219, 116, 602, 73, 262, 589, 4170, 603, 604, 602, 558, 494, 602, 132, 219, 2397, 545, 87, 219, 603, 603, 604, 602, 2391, 2925, 1070, 589, 602, 1073, 603, 604, 179, 2481, 2482, 208, 102, 396, 602, 3627, 3628, 603, 602, 589, 31, 602, 574, 602, 589, 1093, 1094, 602, 315, 1097, 120, 603, 604, 603, 127, 603, 604, 175, 603, 540, 602, 2965, 589, 602, 325, 436, 217, 353, 1116, 1117, 240, 293, 603, 604, 603, 604, 603, 509, 4245, 2450, 202, 603, 604, 589, 347, 293, 347, 347, 574, 240, 604, 209, 213, 211, 470, 356, 2481, 603, 603, 604, 603, 604, 593, 594, 595, 596, 597, 598, 599, 600, 48, 333, 142, 143, 380, 185, 264, 339, 604, 603, 604, 484, 3475, 3476, 385, 333, 48, 3191, 305, 333, 73, 339, 309, 603, 604, 339, 402, 603, 604, 316, 603, 604, 133, 213, 35, 604, 3362, 3363, 3654, 267, 347, 2603, 347, 33, 2606, 2607, 2608, 2609, 441, 3375, 603, 604, 105, 2615, 3380, 335, 336, 549, 434, 242, 597, 341, 433, 158, 3766, 455, 315, 347, 3770, 59, 602, 2633, 2634, 603, 604, 2637, 253, 3403, 603, 604, 3406, 458, 459, 263, 455, 603, 604, 180, 2650, 490, 404, 2653, 2654, 2655, 3573, 603, 604, 150, 603, 604, 3579, 25, 26, 383, 2666, 392, 2774, 116, 109, 370, 2672, 509, 2674, 489, 342, 116, 106, 3220, 2680, 109, 2615, 158, 383, 3784, 495, 3827, 3828, 117, 3784, 230, 313, 603, 604, 490, 58, 59, 60, 496, 497, 1102, 1103, 500, 501, 264, 68, 504, 149, 506, 82, 73, 604, 252, 335, 336, 349, 338, 505, 81, 445, 3893, 3894, 603, 494, 148, 217, 61, 175, 168, 119, 116, 105, 451, 119, 609, 175, 71, 494, 6, 549, 602, 494, 105, 3020, 3021, 104, 2666, 446, 83, 4, 560, 561, 573, 201, 2755, 230, 119, 2758, 2759, 122, 2761, 201, 604, 102, 2978, 2979, 385, 370, 578, 55, 580, 3261, 3262, 2774, 396, 315, 2777, 593, 594, 595, 596, 597, 598, 599, 600, 413, 162, 150, 105, 175, 210, 2792, 545, 603, 604, 335, 336, 607, 608, 2800, 292, 604, 2803, 574, 61, 604, 610, 478, 479, 480, 481, 482, 483, 12, 71, 201, 68, 574, 310, 267, 603, 574, 2823, 133, 495, 2826, 83, 267, 603, 577, 2831, 550, 518, 604, 453, 132, 2837, 9, 604, 602, 2841, 333, 2843, 603, 179, 184, 610, 603, 610, 184, 576, 604, 252, 604, 217, 2775, 610, 2858, 13, 2837, 150, 224, 484, 2783, 609, 591, 264, 407, 264, 264, 2871, 264, 48, 540, 604, 3975, 239, 2878, 217, 264, 3975, 267, 217, 35, 264, 3498, 326, 1484, 509, 2890, 602, 510, 2826, 512, 342, 259, 604, 337, 327, 369, 604, 341, 342, 529, 529, 240, 604, 595, 596, 597, 598, 599, 600, 3550, 3551, 3552, 3023, 3835, 458, 459, 12, 604, 179, 3754, 263, 152, 604, 184, 604, 292, 604, 471, 3039, 597, 230, 507, 231, 170, 180, 94, 554, 604, 3584, 2863, 2878, 25, 26, 310, 604, 468, 372, 128, 152, 347, 604, 1552, 342, 109, 2959, 1556, 217, 603, 152, 604, 116, 152, 2967, 152, 123, 152, 3512, 152, 152, 173, 152, 773, 556, 152, 58, 59, 60, 136, 1579, 240, 152, 152, 186, 152, 68, 152, 2991, 152, 152, 73, 4049, 152, 196, 604, 152, 152, 363, 81, 494, 152, 159, 315, 161, 584, 371, 3010, 3011, 560, 185, 3014, 347, 347, 168, 172, 510, 347, 604, 603, 3023, 175, 182, 105, 3854, 603, 3029, 603, 603, 597, 603, 603, 463, 370, 603, 192, 3039, 119, 182, 604, 122, 243, 244, 596, 3047, 2967, 383, 201, 602, 604, 3606, 593, 594, 595, 596, 597, 598, 599, 600, 603, 217, 3705, 603, 3066, 603, 603, 223, 604, 150, 271, 603, 603, 603, 438, 603, 3078, 518, 456, 549, 602, 522, 600, 602, 525, 4141, 3088, 602, 3090, 603, 529, 540, 604, 102, 535, 525, 578, 3099, 218, 540, 602, 501, 543, 3105, 4205, 3107, 262, 3109, 11, 4205, 192, 182, 610, 453, 267, 3223, 182, 603, 3658, 393, 455, 604, 180, 553, 604, 383, 46, 4228, 323, 484, 494, 332, 4228, 473, 4235, 484, 217, 473, 484, 4235, 4241, 4060, 4061, 224, 4063, 4241, 510, 458, 459, 513, 159, 446, 484, 540, 595, 596, 484, 71, 239, 370, 370, 370, 33, 529, 238, 128, 510, 510, 238, 133, 510, 252, 512, 326, 128, 515, 185, 370, 46, 3181, 370, 382, 602, 368, 416, 549, 602, 3295, 341, 342, 4109, 4020, 4111, 4112, 263, 370, 602, 610, 370, 370, 561, 95, 146, 226, 3206, 3207, 3208, 226, 217, 3211, 550, 292, 610, 54, 550, 473, 604, 610, 558, 603, 603, 3223, 63, 603, 603, 610, 152, 153, 610, 310, 386, 72, 603, 603, 603, 133, 603, 610, 610, 529, 604, 529, 604, 84, 85, 86, 529, 4166, 518, 259, 406, 46, 3866, 3174, 263, 126, 152, 3864, 414, 100, 186, 585, 3802, 602, 602, 602, 422, 25, 26, 529, 196, 602, 152, 3275, 3382, 353, 3197, 182, 3280, 150, 4203, 182, 363, 154, 595, 596, 597, 598, 599, 600, 371, 447, 550, 3295, 182, 227, 4125, 182, 4127, 234, 58, 59, 60, 610, 460, 461, 610, 233, 342, 237, 68, 604, 237, 359, 306, 73, 187, 105, 244, 105, 602, 240, 240, 81, 4153, 610, 220, 529, 352, 602, 194, 518, 18, 204, 430, 3337, 602, 370, 610, 356, 3883, 133, 597, 237, 228, 271, 3454, 105, 504, 228, 602, 315, 3354, 3347, 248, 602, 610, 438, 603, 603, 580, 119, 4191, 4192, 122, 518, 6, 603, 603, 522, 603, 380, 525, 13, 14, 602, 385, 533, 603, 603, 3382, 603, 535, 597, 213, 25, 26, 540, 347, 604, 543, 603, 150, 264, 254, 370, 604, 603, 182, 555, 230, 557, 250, 329, 555, 3407, 3514, 610, 68, 237, 237, 347, 3414, 494, 240, 286, 56, 315, 240, 602, 60, 61, 73, 381, 604, 95, 66, 18, 470, 510, 3432, 325, 513, 73, 604, 347, 347, 604, 230, 602, 347, 81, 595, 596, 453, 347, 494, 604, 46, 447, 602, 91, 3454, 347, 603, 603, 602, 604, 603, 217, 602, 602, 3383, 304, 253, 105, 224, 603, 549, 46, 449, 603, 520, 580, 398, 192, 139, 246, 603, 119, 321, 239, 122, 604, 603, 194, 457, 4094, 602, 129, 130, 602, 4106, 237, 458, 459, 136, 237, 604, 602, 3421, 510, 119, 119, 144, 602, 515, 379, 148, 610, 150, 602, 3514, 384, 77, 465, 135, 603, 470, 442, 603, 602, 393, 315, 533, 604, 603, 603, 18, 33, 3532, 603, 33, 312, 292, 603, 603, 408, 178, 433, 603, 603, 603, 3545, 3546, 242, 3548, 3549, 603, 558, 220, 393, 310, 353, 262, 426, 3664, 602, 4172, 580, 458, 459, 227, 4103, 573, 603, 610, 237, 604, 46, 199, 312, 604, 398, 561, 215, 518, 217, 248, 518, 561, 603, 602, 289, 224, 571, 602, 602, 602, 4196, 602, 639, 119, 571, 465, 466, 644, 602, 602, 239, 555, 495, 443, 240, 240, 363, 341, 33, 342, 603, 3612, 3613, 342, 371, 604, 164, 312, 602, 518, 490, 240, 518, 3624, 4230, 565, 518, 674, 603, 4242, 593, 594, 595, 596, 597, 598, 599, 600, 512, 509, 561, 602, 512, 690, 603, 561, 227, 347, 337, 604, 488, 566, 3653, 292, 580, 3656, 325, 497, 430, 342, 604, 603, 353, 3664, 555, 500, 602, 458, 459, 602, 180, 310, 602, 147, 514, 314, 30, 520, 347, 3613, 366, 438, 611, 577, 731, 732, 733, 734, 180, 603, 128, 603, 128, 3694, 603, 3939, 743, 594, 595, 596, 597, 598, 599, 600, 602, 150, 385, 70, 406, 3710, 3954, 577, 351, 182, 3715, 30, 61, 356, 61, 3653, 353, 602, 604, 3967, 363, 501, 603, 255, 46, 46, 602, 370, 371, 602, 5, 347, 347, 494, 146, 227, 608, 110, 111, 112, 113, 114, 353, 353, 135, 127, 602, 46, 46, 510, 145, 46, 513, 555, 123, 577, 146, 212, 401, 269, 433, 611, 608, 118, 141, 437, 12, 13, 602, 46, 46, 52, 415, 416, 417, 418, 46, 603, 439, 3784, 210, 608, 146, 604, 603, 3896, 521, 604, 549, 197, 604, 46, 608, 603, 603, 438, 604, 213, 593, 594, 595, 596, 597, 598, 599, 600, 420, 52, 180, 180, 180, 3816, 579, 3818, 521, 3820, 119, 342, 602, 455, 181, 604, 495, 1960, 2159, 3720, 3184, 3183, 2337, 4077, 3430, 3755, 205, 206, 207, 208, 622, 3867, 3747, 4087, 4039, 3846, 947, 4040, 3428, 3611, 3432, 4230, 94, 4183, 45, 494, 550, 2650, 1725, 3603, 3603, 3603, 3603, 3603, 4193, 3603, 4074, 3603, 3603, 3603, 3603, 510, 4074, 3603, 513, 3932, 4033, 3958, 3603, 3603, 1400, 123, 3957, 986, 1654, 1919, 3887, 1402, 3995, 3620, 2798, 3274, 2991, 4137, 136, 3896, 2628, 536, 1410, 2633, 3887, 3902, 3654, 3979, 1245, 3277, 4141, 4057, 3802, 4103, 549, 4155, 489, 4157, 3200, 1912, 1454, 159, 2482, 161, 4164, 968, 2864, 3109, 1920, 2415, 3132, 3165, 3088, 3132, 172, 4175, 3571, 3346, 3391, 3883, 305, 3382, 307, 308, 309, 3039, 11, 3824, 11, 3828, 1468, 316, 4055, 3758, 192, 3827, 3770, 3766, 3624, 1994, 3579, 1919, 2408, 3090, 1798, 3351, 2225, 4207, 4208, 3089, 1450, 1717, 4212, 608, 3890, 1360, 1409, 2615, 3975, 217, 1023, 1024, 2986, 2191, 2247, 223, 2110, 3605, 570, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 2967, 1736, 3995, 2593, 1043, 862, 2300, 1046, 1047, 2028, 1049, 3056, 1051, 3679, 1065, 2109, 1055, 4010, 4011, 1058, 1059, 1060, 1061, 3539, 1063, 1064, 4010, 2138, 262, 4011, 3181, 392, 1071, 1072, 3099, 1074, 1075, 1076, 1077, 1078, 1039, 1080, 4172, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 3514, 1376, 1095, 1096, 3533, 1098, 1258, 1100, 4055, 2252, 1999, 1104, 2229, 1106, 1107, 2186, 3005, 3004, 15, 16, 3986, 3987, 3280, 1233, 3066, 1118, 1119, 3975, 560, 444, 445, 635, 4079, 1126, 1787, 549, 1312, 1788, 1340, 4086, 1133, 1134, 1135, 1477, 1137, 3107, 1673, 2989, 4096, 33, 4139, 1144, 1145, 1146, 4067, 1148, 1149, 1150, 1151, 1152, 4002, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 4235, 4241, 4224, 1165, 1166, 3384, 1264, 3010, 1741, 3047, 2682, 541, 3306, 12, 13, 3522, 1699, 844, 1292, 3643, 1226, 3649, 1459, 2603, 542, 849, 520, 622, 1282, 386, 485, 485, 622, 390, 622, -1, -1, -1, 4154, -1, -1, -1, -1, 4159, 110, 111, 112, 113, 114, 406, -1, -1, -1, -1, -1, -1, -1, 414, -1, -1, -1, -1, -1, -1, -1, 422, -1, -1, -1, -1, -1, -1, -1, 126, -1, -1, -1, -1, -1, -1, 4196, -1, -1, -1, -1, -1, -1, -1, -1, 4205, 447, -1, 576, -1, -1, 94, -1, 150, -1, -1, -1, 154, -1, 460, 461, -1, 590, 591, 4224, -1, -1, -1, 4228, -1, 4230, -1, -1, -1, -1, 4235, -1, -1, -1, -1, 123, 4241, -1, -1, -1, -1, 1292, -1, -1, -1, 187, -1, -1, 136, 1300, 205, 206, 207, 208, -1, -1, -1, -1, 504, -1, -1, 644, 204, -1, -1, -1, -1, -1, -1, -1, -1, 159, -1, 161, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 172, -1, -1, 533, -1, -1, -1, 674, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 192, -1, -1, 690, -1, 555, -1, 557, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 264, -1, -1, -1, -1, -1, -1, 217, -1, -1, -1, -1, -1, 223, -1, -1, -1, -1, -1, -1, -1, -1, 286, -1, -1, -1, -1, -1, 305, 734, 307, 308, 309, -1, -1, -1, -1, -1, -1, 316, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 30, -1, 355, -1, 34, 358, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, 60, 61, -1, -1, -1, -1, -1, -1, -1, 392, -1, 1490, -1, -1, 384, 75, -1, -1, -1, -1, -1, -1, -1, 393, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, 408, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, 426, -1, -1, -1, -1, 444, 445, 123, 124, 125, -1, -1, -1, -1, 386, -1, -1, -1, 390, 135, 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 148, -1, 406, -1, -1, -1, -1, 465, 466, -1, 414, -1, -1, 161, -1, -1, -1, -1, 422, 1586, 1587, 1588, -1, -1, -1, -1, -1, -1, -1, 177, -1, -1, 490, 1600, -1, -1, -1, -1, -1, -1, -1, -1, -1, 447, 192, -1, -1, -1, -1, 197, -1, -1, 200, -1, -1, -1, 460, 461, -1, 1626, -1, -1, -1, -1, -1, 1632, -1, -1, 1635, 968, 1637, -1, -1, -1, -1, 223, 1643, 225, 1645, 1646, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 241, -1, -1, -1, -1, -1, -1, 504, -1, -1, -1, -1, 576, -1, -1, -1, -1, 258, -1, -1, -1, 262, -1, -1, -1, 589, 590, 591, -1, -1, -1, 1023, 1024, -1, -1, -1, 533, -1, -1, -1, 1032, 1033, -1, -1, 1036, 1037, 1038, -1, -1, -1, -1, 1043, 1712, -1, 1046, 1047, -1, 1049, 555, 1051, 557, -1, -1, -1, -1, -1, 1058, 1059, 1060, 1061, -1, 1063, -1, -1, -1, -1, -1, -1, -1, 1071, 1072, -1, 1074, 1075, -1, -1, -1, -1, 1080, -1, 1082, 1083, 1084, -1, -1, 1087, 1088, 1089, 1090, 1091, 1092, -1, -1, 1095, 1096, -1, 1098, -1, 1100, -1, 351, -1, 1104, -1, 1106, 1107, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1118, 1119, -1, 370, -1, -1, -1, -1, 1126, -1, -1, -1, -1, 380, -1, 1133, 1134, 1135, -1, 6, -1, -1, -1, -1, 391, -1, 13, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 25, 26, -1, -1, -1, -1, -1, -1, 413, -1, 1166, 416, -1, 418, -1, -1, 421, -1, -1, 424, 425, -1, -1, -1, -1, -1, -1, 432, -1, 434, -1, 56, -1, 25, 26, 60, 441, -1, -1, -1, -1, -1, 447, -1, -1, -1, -1, -1, 73, -1, 455, -1, -1, -1, -1, 460, 81, 462, -1, -1, 465, -1, -1, -1, -1, -1, 91, -1, 60, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 105, 73, -1, -1, 489, -1, -1, -1, 493, 81, -1, -1, -1, -1, 119, -1, -1, 122, -1, -1, -1, -1, 214, -1, 129, -1, -1, -1, -1, -1, -1, 136, -1, 105, -1, -1, -1, 1941, -1, 144, -1, -1, -1, -1, -1, 150, -1, 119, -1, -1, 122, 536, -1, -1, -1, -1, 1292, -1, -1, -1, -1, -1, -1, 548, 1300, -1, -1, 552, -1, -1, 555, -1, -1, 178, -1, 560, -1, -1, 150, -1, 272, 273, 274, 275, 276, 277, -1, 279, 280, 281, 282, 283, 284, 285, -1, 287, 288, -1, -1, -1, -1, -1, 587, -1, 2008, -1, -1, -1, 2012, -1, -1, -1, 217, 2017, 2018, -1, -1, 602, -1, 224, -1, -1, 2026, -1, -1, 2029, -1, -1, -1, -1, -1, -1, -1, -1, 239, 2039, -1, 2041, 2042, -1, 2044, 2045, 2046, 2047, 2048, 217, -1, 2051, -1, -1, -1, -1, 224, -1, -1, -1, 2060, -1, -1, -1, -1, -1, -1, -1, 2068, -1, 2070, 239, 2072, 2073, 2074, 2075, -1, -1, -1, 2079, 2080, 2081, -1, -1, -1, -1, 2086, 2087, 2088, -1, 2090, 292, 2092, -1, 2094, -1, 2096, -1, 2098, -1, -1, -1, -1, 2103, -1, -1, -1, -1, -1, 310, -1, -1, -1, 314, -1, -1, -1, -1, -1, -1, -1, 2121, 410, 411, 292, -1, -1, -1, 2128, -1, -1, 2131, -1, -1, -1, -1, -1, 2137, -1, -1, 2140, -1, 310, -1, 2144, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 356, -1, -1, 1490, -1, -1, -1, 363, -1, -1, -1, -1, -1, -1, -1, 371, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 13, 14, -1, -1, -1, -1, -1, -1, -1, -1, 363, -1, -1, -1, 2199, -1, -1, -1, 371, -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, -1, 416, -1, -1, -1, -1, 48, 49, -1, -1, -1, -1, -1, -1, 56, -1, -1, -1, 60, 61, -1, -1, -1, 438, -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, -1, -1, -1, -1, -1, -1, 1586, 1587, 1588, -1, -1, -1, -1, -1, -1, -1, -1, -1, 94, -1, -1, -1, 438, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, -1, -1, -1, 494, 1626, 123, 124, 125, -1, -1, -1, -1, -1, 1635, -1, 1637, -1, 135, 136, 510, -1, -1, 513, -1, -1, -1, -1, -1, -1, -1, 2320, -1, -1, -1, -1, -1, 494, -1, -1, -1, -1, -1, -1, 161, -1, -1, -1, -1, 2338, 2339, -1, -1, 510, -1, -1, 513, -1, -1, 549, 177, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 192, -1, -1, -1, -1, 197, -1, -1, 200, -1, -1, -1, -1, -1, -1, -1, 1712, 549, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 223, -1, 225, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 241, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 258, -1, -1, -1, 262, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2452, 2453, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 23, -1, -1, -1, -1, -1, -1, -1, -1, -1, 33, 34, -1, 2503, -1, -1, -1, 2507, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 351, -1, 58, 59, -1, -1, 2529, 2530, -1, -1, -1, -1, -1, 69, -1, -1, -1, -1, -1, 370, -1, -1, -1, -1, -1, -1, 2549, -1, -1, 380, -1, -1, -1, -1, 90, 2558, 92, 2560, 94, 2562, 391, -1, -1, -1, -1, -1, -1, 103, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2582, -1, -1, 413, -1, 2587, 416, -1, 418, -1, -1, 421, -1, -1, 424, 425, -1, -1, -1, -1, -1, -1, 432, -1, 434, -1, -1, 1941, -1, 2611, -1, 441, -1, -1, 149, 150, -1, 447, -1, -1, 155, -1, -1, 158, -1, 455, -1, -1, -1, -1, 460, -1, 462, -1, -1, 465, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 183, -1, 185, -1, -1, -1, -1, -1, 191, -1, 193, 489, -1, -1, -1, 493, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2675, 2008, -1, -1, 2679, 2012, -1, -1, 216, 217, 2017, 2018, -1, -1, -1, -1, -1, -1, -1, 2026, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 238, -1, 2039, 536, 2041, -1, -1, 2044, 2045, 2046, 2047, 2048, -1, -1, -1, 548, -1, -1, 2723, 552, -1, 259, 555, 2060, -1, -1, -1, 560, -1, -1, -1, 2068, -1, 2070, -1, 2072, 2073, 2074, -1, -1, -1, -1, 2079, 2080, 2081, -1, -1, -1, 286, 2086, 2087, 2088, -1, 2090, 587, 2092, -1, 2094, -1, 2096, -1, 2098, -1, -1, -1, -1, 2103, 32, 33, 602, -1, -1, -1, 38, -1, 40, -1, 42, 43, -1, -1, -1, -1, -1, 2121, -1, -1, -1, -1, -1, -1, -1, -1, -1, 59, -1, -1, -1, -1, -1, 2137, -1, -1, 2140, -1, -1, -1, -1, -1, -1, -1, -1, 350, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2834, 2835, -1, -1, -1, -1, 373, -1, -1, -1, -1, -1, 106, -1, -1, 109, -1, 384, 385, -1, -1, 388, 389, 117, -1, 2859, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, -1, 409, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 151, -1, -1, -1, -1, -1, -1, 2898, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 174, -1, 176, -1, -1, 452, -1, -1, 2922, 2923, -1, 2925, -1, -1, 188, 189, -1, -1, 465, -1, 2934, -1, -1, -1, -1, 2939, -1, -1, 2942, -1, 2944, 2945, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 490, -1, -1, -1, 494, -1, -1, -1, 2965, -1, -1, 228, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 512, 2980, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 256, -1, -1, -1, -1, -1, -1, -1, 3004, 265, 266, -1, 268, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3034, -1, 569, -1, 298, 299, 300, -1, 575, -1, -1, -1, -1, -1, 3048, -1, -1, -1, -1, -1, -1, -1, -1, 317, 318, 319, -1, -1, -1, -1, 324, -1, -1, 327, 3068, -1, -1, -1, -1, -1, -1, -1, -1, 3077, -1, -1, -1, -1, -1, 343, 344, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 375, 376, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 400, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2503, -1, -1, -1, 2507, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 451, -1, -1, -1, 455, -1, 2529, 2530, -1, -1, -1, -1, -1, -1, -1, -1, 467, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2549, -1, -1, -1, -1, -1, -1, -1, -1, 2558, -1, 2560, -1, 2562, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 519, -1, -1, 522, -1, -1, 525, 526, 527, 528, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2611, -1, 3281, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 567, 568, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3320, 3321, -1, -1, -1, -1, -1, -1, -1, 3329, -1, 591, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2675, -1, -1, -1, 2679, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2723, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3460, -1, -1, -1, 3464, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3495, -1, -1, -1, -1, -1, -1, 2834, 2835, -1, -1, -1, -1, -1, 3509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3522, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2898, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2922, 2923, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2934, 3603, -1, -1, -1, 2939, -1, -1, 2942, -1, 2944, 2945, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 2980, -1, -1, -1, -1, -1, 3654, -1, -1, -1, -1, -1, -1, -1, 3662, -1, -1, -1, -1, -1, -1, -1, -1, 3671, 3004, 3673, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3707, -1, -1, -1, -1, -1, 3713, 3714, -1, 3048, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3068, -1, -1, -1, -1, -1, -1, -1, -1, 3077, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3774, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3807, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3839, -1, 3841, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3851, -1, 3853, 3854, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3876, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3937, -1, 3939, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3281, -1, -1, -1, -1, 3954, 3955, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3967, -1, -1, -1, -1, -1, -1, -1, -1, 3976, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3320, 3321, -1, -1, -1, -1, -1, -1, -1, 3329, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4019, 4020, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4032, 4033, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4049, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4077, -1, -1, -1, -1, -1, -1, 4084, -1, -1, 4087, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4118, -1, -1, -1, -1, -1, -1, 4125, -1, 4127, 3460, -1, -1, -1, 3464, -1, -1, -1, -1, 4137, -1, -1, -1, 4141, -1, -1, 4144, -1, -1, -1, -1, -1, -1, -1, -1, 4153, -1, 4155, -1, 4157, -1, -1, -1, -1, -1, 3495, 4164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4175, -1, 3509, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3522, 4191, 4192, -1, -1, -1, -1, 4197, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4207, 4208, -1, -1, -1, 4212, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4244, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3662, -1, -1, -1, -1, -1, -1, -1, -1, 3671, -1, 3673, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3707, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3774, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3807, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3839, -1, 3841, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3851, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3937, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3955, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 3976, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4019, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4084, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 4118, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, 4144, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, 43, 44, 45, -1, 47, 48, -1, -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, 4197, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, -1, 96, 97, 98, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, 114, 115, 116, -1, 4244, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, 195, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, 223, 224, 225, 226, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, 245, 246, -1, 248, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, 420, 421, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, 530, 531, 532, -1, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, 562, 563, 564, 565, 566, -1, -1, 569, 570, -1, 572, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, 595, 596, -1, -1, -1, -1, 601, 602, -1, -1, 605, 606, -1, -1, 609, 610, 5, -1, 7, 8, 9, 10, 11, 12, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, -1, 96, 97, 98, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, 114, 115, 116, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, 195, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, 223, 224, 225, 226, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, 248, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, -1, 344, 345, 346, 347, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, 420, 421, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, 562, 563, 564, 565, 566, -1, -1, 569, 570, -1, 572, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, 595, 596, -1, -1, -1, -1, 601, 602, -1, -1, 605, 606, -1, -1, 609, 610, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, -1, 96, 97, 98, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, 114, 115, 116, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, 195, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, 223, 224, 225, 226, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, 248, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, 420, 421, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, 562, 563, 564, 565, 566, -1, -1, 569, 570, -1, 572, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, 595, 596, -1, -1, -1, -1, 601, 602, 603, -1, 605, 606, -1, -1, 609, 610, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, -1, 96, 97, 98, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, 114, 115, 116, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, 182, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, 195, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, 223, 224, 225, 226, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, 248, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, 420, 421, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, 562, 563, 564, 565, 566, -1, -1, 569, 570, -1, 572, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, 595, 596, -1, -1, -1, -1, 601, 602, -1, -1, 605, 606, -1, -1, 609, 610, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, -1, 96, 97, 98, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, 114, 115, 116, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, 182, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, 195, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, 223, 224, 225, 226, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, 248, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, 420, 421, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, 562, 563, 564, 565, 566, -1, -1, 569, 570, -1, 572, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, 595, 596, -1, -1, -1, -1, 601, 602, -1, -1, 605, 606, -1, -1, 609, 610, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, -1, 96, 97, 98, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, 114, 115, 116, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, 182, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, 195, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, 223, 224, 225, 226, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, 248, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, 420, 421, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, 562, 563, 564, 565, 566, -1, -1, 569, 570, -1, 572, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, 595, 596, -1, -1, -1, -1, 601, 602, -1, -1, 605, 606, -1, -1, 609, 610, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, -1, 96, 97, 98, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, 114, 115, 116, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, 195, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, 223, 224, 225, 226, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, 248, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, 420, 421, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, 562, 563, 564, 565, 566, -1, -1, 569, 570, -1, 572, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, 595, 596, -1, -1, -1, -1, 601, 602, -1, -1, 605, 606, -1, -1, 609, 610, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, -1, 96, 97, 98, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, 114, 115, 116, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, 195, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, 223, 224, 225, 226, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, 248, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, 420, 421, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, 562, 563, 564, 565, 566, -1, -1, 569, 570, -1, 572, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, 595, 596, -1, -1, -1, -1, 601, 602, -1, -1, 605, 606, -1, -1, 609, 610, 5, -1, 7, 8, 9, 10, 11, 12, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, -1, 96, 97, 98, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, 114, 115, 116, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, 195, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, 223, 224, 225, 226, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, 248, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, -1, 331, 332, 333, 334, 335, -1, 337, 338, 339, -1, 341, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, 420, 421, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, 562, 563, 564, 565, 566, -1, -1, 569, 570, -1, 572, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, 595, 596, -1, -1, -1, -1, 601, 602, -1, -1, 605, 606, -1, -1, 609, 610, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, -1, 96, 97, 98, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, 114, 115, 116, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, 195, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, 223, 224, 225, 226, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, 248, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, 420, 421, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, 562, 563, 564, 565, 566, -1, -1, 569, 570, -1, 572, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, 595, 596, -1, -1, -1, -1, 601, 602, -1, -1, 605, 606, -1, -1, 609, 610, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, -1, 96, 97, 98, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, 114, 115, 116, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, 195, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, 223, 224, 225, 226, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, 248, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, 420, 421, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, 562, 563, 564, 565, 566, -1, -1, 569, 570, -1, 572, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, 595, 596, -1, -1, -1, -1, 601, 602, -1, -1, 605, 606, -1, -1, 609, 610, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, -1, 96, 97, 98, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, 114, 115, 116, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, 195, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, 223, 224, 225, 226, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, 248, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, -1, 331, 332, 333, 334, 335, 336, 337, 338, 339, -1, 341, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, 420, 421, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, 562, 563, 564, 565, 566, -1, -1, 569, 570, -1, 572, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, 595, 596, -1, -1, -1, -1, 601, 602, -1, -1, 605, 606, -1, -1, 609, 610, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, -1, 96, 97, 98, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, 114, 115, 116, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, 195, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, 223, 224, 225, 226, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, 248, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, -1, 331, 332, 333, 334, 335, -1, 337, 338, 339, -1, 341, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, 420, 421, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, 562, 563, 564, 565, 566, -1, -1, 569, 570, -1, 572, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, 595, 596, -1, -1, -1, -1, 601, 602, -1, -1, 605, 606, -1, -1, 609, 610, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, -1, 96, 97, 98, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, 114, 115, 116, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, 195, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, 223, 224, 225, 226, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, 248, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, -1, 331, 332, 333, 334, 335, -1, 337, 338, 339, -1, 341, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, 420, 421, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, 562, 563, 564, 565, 566, -1, -1, 569, 570, -1, 572, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, 595, 596, -1, -1, -1, -1, 601, 602, -1, -1, 605, 606, -1, -1, 609, 610, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, -1, 96, 97, 98, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, 114, 115, 116, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, 195, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, 223, 224, 225, 226, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, 248, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, -1, 331, 332, 333, 334, 335, -1, 337, 338, 339, -1, 341, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, 420, 421, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, 562, 563, 564, 565, 566, -1, -1, 569, 570, -1, 572, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, 595, 596, -1, -1, -1, -1, 601, 602, -1, -1, 605, 606, -1, -1, 609, 610, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, 35, 36, 37, 38, 39, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, 52, 53, 54, 55, -1, 57, 58, 59, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, 91, 92, 93, -1, -1, 96, 97, 98, -1, 100, 101, 102, -1, 104, 105, 106, 107, 108, 109, -1, -1, -1, -1, 114, 115, 116, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, 162, -1, 164, 165, 166, 167, 168, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, 195, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, 223, 224, 225, 226, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, 248, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, 311, 312, -1, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, -1, 331, 332, 333, 334, 335, -1, 337, 338, 339, -1, 341, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 378, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, 420, 421, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, 433, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, 491, 492, 493, 494, -1, 496, 497, 498, 499, 500, 501, 502, 503, 504, 505, 506, 507, 508, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, 534, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, 562, 563, 564, 565, 566, -1, -1, 569, 570, -1, 572, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, 595, 596, -1, -1, -1, -1, 601, 602, -1, -1, 605, 606, -1, -1, 609, 610, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, 35, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, 116, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, 168, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, 326, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, 341, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, 535, 536, 537, 538, 539, 540, 541, 542, 543, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, -1, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, 609, 610, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, 184, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, 217, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, 240, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, 252, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, 610, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, 83, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, 184, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, 217, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, 240, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, 473, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, 610, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, 447, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, 5, -1, 7, 8, 9, 10, 11, -1, -1, 603, -1, -1, 17, -1, -1, 20, 610, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, -1, 5, -1, 7, 8, 9, 10, 11, 603, -1, -1, -1, -1, 17, 609, 610, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, 5, -1, 7, 8, 9, 10, 11, -1, 602, -1, -1, -1, 17, -1, -1, 20, 610, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, 227, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, 610, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, -1, 5, 597, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, 610, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, 5, -1, 7, 8, 9, 10, 11, -1, 602, -1, -1, -1, 17, -1, -1, 20, 610, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, -1, -1, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, 609, 610, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, 610, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, 610, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, 610, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, -1, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, 610, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, 251, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, 609, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, 251, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, 609, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, 251, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, -1, 591, -1, 5, -1, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, -1, 609, 22, 23, 24, 25, 26, 27, -1, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, -1, -1, -1, -1, 51, 52, -1, 54, 55, -1, 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, -1, 74, -1, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, -1, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, -1, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, -1, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, -1, -1, -1, 164, 165, 166, -1, -1, 169, 170, 171, 172, 173, 174, -1, -1, -1, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, -1, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, 236, -1, -1, 239, -1, -1, -1, 243, -1, -1, 246, 247, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, 269, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, -1, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 363, 364, -1, -1, 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, -1, -1, -1, -1, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, -1, -1, 417, -1, 419, 420, -1, 422, -1, -1, -1, 426, -1, -1, 429, 430, 431, -1, -1, -1, 435, 436, 437, 438, 439, 440, -1, 442, 443, -1, 445, -1, -1, -1, -1, 450, 451, 452, -1, -1, -1, -1, 457, -1, -1, -1, 461, -1, -1, 464, -1, 466, -1, 468, -1, -1, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, -1, 490, -1, -1, -1, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, -1, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, -1, -1, -1, -1, 551, -1, -1, 554, -1, -1, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, 579, -1, -1, -1, 583, -1, -1, 586, -1, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, 604, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, 597, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, 597, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, 597, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, 597, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, 116, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, 175, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, 335, 336, -1, 338, 339, -1, -1, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, 475, 476, 477, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, 540, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, 152, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, 251, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, 456, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, 267, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, 342, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, 365, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, 540, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, 251, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, 251, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, 98, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, 251, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, 12, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, 251, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, 35, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, 201, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, 33, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, 251, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, 251, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, 251, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, 18, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, 89, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, 163, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, 476, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, 182, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, 12, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, 383, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, 518, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, 119, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, 20, -1, 22, 23, 24, 25, 26, 27, 28, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, 47, 48, -1, -1, 51, -1, -1, 54, 55, -1, 57, 58, -1, 60, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, 73, 74, 75, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, 87, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, 115, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, 135, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, 161, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, 177, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, 197, 198, -1, 200, -1, -1, 203, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, 225, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, 242, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, 338, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, 352, -1, -1, -1, -1, -1, -1, -1, -1, -1, 362, 363, 364, -1, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, -1, -1, 380, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, 415, -1, 417, 418, 419, -1, -1, 422, -1, 424, -1, 426, 427, -1, 429, 430, -1, -1, -1, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, -1, 445, 446, -1, -1, -1, 450, 451, 452, 453, -1, -1, -1, 457, -1, -1, -1, 461, -1, 463, 464, 465, 466, -1, 468, 469, 470, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, 489, 490, -1, -1, 493, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, 536, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, 547, 548, -1, -1, 551, -1, -1, 554, -1, 556, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, 584, -1, 586, 587, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, -1, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, -1, -1, -1, -1, 51, 52, -1, 54, 55, -1, 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, -1, 74, -1, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, -1, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, -1, -1, -1, 138, 139, 140, -1, 142, 143, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, -1, -1, -1, 164, 165, 166, -1, -1, 169, 170, 171, 172, 173, 174, -1, -1, -1, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, -1, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, 236, -1, -1, 239, -1, -1, -1, 243, -1, -1, 246, 247, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, 269, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, -1, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 363, 364, -1, -1, 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, -1, -1, -1, -1, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, -1, -1, 417, -1, 419, 420, -1, 422, -1, -1, -1, 426, -1, -1, 429, 430, 431, -1, -1, -1, 435, 436, 437, 438, 439, 440, -1, 442, 443, -1, 445, -1, -1, -1, -1, 450, 451, 452, -1, -1, -1, -1, 457, -1, -1, -1, 461, -1, -1, 464, -1, 466, -1, 468, -1, -1, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, -1, 490, -1, -1, -1, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, -1, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, -1, -1, -1, -1, 551, -1, -1, 554, -1, -1, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, 579, -1, -1, -1, 583, -1, -1, 586, -1, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, -1, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, -1, -1, -1, -1, 51, 52, -1, 54, 55, -1, 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, -1, 74, -1, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, -1, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, -1, -1, -1, 138, 139, 140, -1, 142, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, -1, -1, -1, 164, 165, 166, -1, -1, 169, 170, 171, 172, 173, 174, -1, -1, -1, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, -1, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, 236, -1, -1, 239, -1, -1, -1, 243, -1, -1, 246, 247, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, 269, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, -1, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 363, 364, -1, -1, 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, -1, -1, -1, -1, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, -1, -1, 417, -1, 419, 420, -1, 422, -1, -1, -1, 426, -1, -1, 429, 430, 431, -1, -1, -1, 435, 436, 437, 438, 439, 440, -1, 442, 443, -1, 445, -1, -1, -1, -1, 450, 451, 452, -1, -1, -1, -1, 457, -1, -1, -1, 461, -1, -1, 464, -1, 466, -1, 468, -1, -1, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, -1, 490, -1, -1, -1, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, -1, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, -1, -1, -1, -1, 551, -1, -1, 554, -1, -1, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, 577, -1, 579, -1, -1, -1, 583, -1, -1, 586, -1, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, -1, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, -1, -1, -1, -1, 51, 52, -1, 54, 55, -1, 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, -1, 74, -1, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, -1, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, -1, -1, -1, 138, 139, 140, -1, 142, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, -1, -1, -1, 164, 165, 166, -1, -1, 169, 170, 171, 172, 173, 174, -1, -1, -1, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, -1, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, 236, -1, -1, 239, -1, -1, -1, 243, -1, -1, 246, 247, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, 269, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, -1, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 363, 364, -1, -1, 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, -1, -1, -1, -1, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, -1, -1, 417, -1, 419, 420, -1, 422, -1, -1, -1, 426, -1, -1, 429, 430, 431, -1, -1, -1, 435, 436, 437, 438, 439, 440, -1, 442, 443, -1, 445, -1, -1, -1, -1, 450, 451, 452, -1, -1, -1, -1, 457, -1, -1, -1, 461, -1, -1, 464, -1, 466, -1, 468, -1, -1, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, -1, 490, -1, -1, -1, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, -1, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, -1, -1, -1, -1, 551, -1, -1, 554, -1, -1, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, 577, -1, 579, -1, -1, -1, 583, -1, -1, 586, -1, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, -1, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, -1, -1, -1, -1, 51, 52, -1, 54, 55, -1, 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, -1, 74, -1, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, -1, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, -1, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, -1, -1, -1, 164, 165, 166, -1, -1, 169, 170, 171, 172, 173, 174, -1, -1, -1, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, -1, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, 236, -1, -1, 239, -1, -1, -1, 243, -1, -1, 246, 247, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, 269, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, -1, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 363, 364, -1, -1, 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, -1, -1, -1, -1, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, -1, -1, 417, -1, 419, 420, -1, 422, -1, -1, -1, 426, -1, -1, 429, 430, 431, -1, -1, -1, 435, 436, 437, 438, 439, 440, -1, 442, 443, -1, 445, -1, -1, -1, -1, 450, 451, 452, -1, -1, -1, -1, 457, -1, -1, -1, 461, -1, -1, 464, -1, 466, -1, 468, -1, -1, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, -1, 490, -1, -1, -1, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, -1, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, -1, -1, -1, -1, 551, -1, -1, 554, -1, -1, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, 579, -1, -1, -1, 583, -1, -1, 586, -1, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, -1, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, -1, -1, -1, -1, 51, 52, -1, 54, 55, -1, 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, -1, 74, -1, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, -1, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, -1, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, -1, -1, -1, 164, 165, 166, -1, -1, 169, 170, 171, 172, 173, 174, -1, -1, -1, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, -1, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, 236, -1, -1, 239, -1, -1, -1, 243, -1, -1, 246, 247, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, 269, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, -1, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 363, 364, -1, -1, 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, -1, -1, -1, -1, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, -1, -1, 417, -1, 419, 420, -1, 422, -1, -1, -1, 426, -1, -1, 429, 430, 431, -1, -1, -1, 435, 436, 437, 438, 439, 440, -1, 442, 443, -1, 445, -1, -1, -1, -1, 450, 451, 452, -1, -1, -1, -1, 457, -1, -1, -1, 461, -1, -1, 464, -1, 466, -1, 468, -1, -1, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, -1, 490, -1, -1, -1, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, -1, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, -1, -1, -1, -1, 551, -1, -1, 554, -1, -1, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, 579, -1, -1, -1, 583, -1, -1, 586, -1, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, -1, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, -1, -1, -1, -1, 51, 52, -1, 54, 55, -1, 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, -1, 74, -1, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, -1, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, -1, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, -1, -1, -1, 164, 165, 166, -1, -1, 169, 170, 171, 172, 173, 174, -1, -1, -1, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, -1, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, 236, -1, -1, 239, -1, -1, -1, 243, -1, -1, 246, 247, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, 269, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, -1, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 363, 364, -1, -1, 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, -1, -1, -1, -1, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, -1, -1, 417, -1, 419, 420, -1, 422, -1, -1, -1, 426, -1, -1, 429, 430, 431, -1, -1, -1, 435, 436, 437, 438, 439, 440, -1, 442, 443, -1, 445, -1, -1, -1, -1, 450, 451, 452, -1, -1, -1, -1, 457, -1, -1, -1, 461, -1, -1, 464, -1, 466, -1, 468, -1, -1, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, -1, 490, -1, -1, -1, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, -1, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, -1, -1, -1, -1, 551, -1, -1, 554, -1, -1, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, 579, -1, -1, -1, 583, -1, -1, 586, -1, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, -1, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, -1, -1, -1, -1, 51, 52, -1, 54, 55, -1, 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, -1, 74, -1, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, -1, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, -1, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, -1, -1, -1, 164, 165, 166, -1, -1, 169, 170, 171, 172, 173, 174, -1, -1, -1, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, -1, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, 236, -1, -1, 239, -1, -1, -1, 243, -1, -1, 246, 247, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, 269, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, -1, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 363, 364, -1, -1, 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, -1, -1, -1, -1, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, -1, -1, 417, -1, 419, 420, -1, 422, -1, -1, -1, 426, -1, -1, 429, 430, 431, -1, -1, -1, 435, 436, 437, 438, 439, 440, -1, 442, 443, -1, 445, -1, -1, -1, -1, 450, 451, 452, -1, -1, -1, -1, 457, -1, -1, -1, 461, -1, -1, 464, -1, 466, -1, 468, -1, -1, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, -1, 490, -1, -1, -1, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, -1, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, -1, -1, -1, -1, 551, -1, -1, 554, -1, -1, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, 579, -1, -1, -1, 583, -1, -1, 586, -1, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, -1, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, -1, -1, -1, -1, 51, 52, -1, 54, 55, -1, 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, -1, 74, -1, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, -1, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, -1, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, 146, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, -1, -1, -1, 164, 165, 166, -1, -1, 169, 170, 171, 172, 173, 174, -1, -1, -1, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, -1, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, 236, -1, -1, 239, -1, -1, -1, 243, -1, -1, 246, 247, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, 269, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, -1, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 363, 364, -1, -1, 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, -1, -1, -1, -1, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, -1, -1, 417, -1, 419, 420, -1, 422, -1, -1, -1, 426, -1, -1, 429, 430, 431, -1, -1, -1, 435, 436, 437, 438, 439, 440, -1, 442, 443, -1, 445, -1, -1, -1, -1, 450, 451, 452, -1, -1, -1, -1, 457, -1, -1, -1, 461, -1, -1, 464, -1, 466, -1, 468, -1, -1, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, -1, 490, -1, -1, -1, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, -1, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, -1, -1, -1, -1, 551, -1, -1, 554, -1, -1, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, 579, -1, -1, -1, 583, -1, -1, 586, -1, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, -1, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, -1, -1, -1, -1, 51, 52, -1, 54, 55, -1, 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, -1, 74, -1, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, -1, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, -1, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, -1, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, -1, -1, -1, 164, 165, 166, -1, -1, 169, 170, 171, 172, 173, 174, -1, -1, -1, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, -1, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, 236, -1, -1, 239, -1, -1, -1, 243, -1, -1, 246, 247, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, 269, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, -1, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 363, 364, -1, -1, 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, -1, -1, -1, -1, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, -1, -1, 417, -1, 419, 420, -1, 422, -1, -1, -1, 426, -1, -1, 429, 430, 431, -1, -1, -1, 435, 436, 437, 438, 439, 440, -1, 442, 443, -1, 445, -1, -1, -1, -1, 450, 451, 452, -1, -1, -1, -1, 457, -1, -1, -1, 461, -1, -1, 464, -1, 466, -1, 468, -1, -1, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, -1, 490, -1, -1, -1, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, -1, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, -1, -1, -1, -1, 551, -1, -1, 554, -1, -1, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, 579, -1, -1, -1, 583, -1, -1, 586, -1, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, -1, -1, 30, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, -1, -1, -1, -1, 51, 52, -1, 54, 55, -1, 57, -1, -1, -1, -1, 62, 63, 64, 65, 66, 67, -1, 69, 70, -1, 72, -1, 74, -1, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, -1, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, -1, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, -1, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, -1, -1, -1, 164, 165, 166, -1, -1, 169, 170, 171, 172, 173, 174, -1, -1, -1, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, 204, -1, -1, -1, 208, 209, 210, 211, 212, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, -1, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, 236, -1, -1, 239, -1, -1, -1, 243, -1, -1, 246, 247, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, 269, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, -1, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, 350, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 363, 364, -1, -1, 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, -1, -1, -1, -1, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, -1, -1, 417, -1, 419, 420, -1, 422, -1, -1, -1, 426, -1, -1, 429, 430, 431, -1, -1, -1, 435, 436, 437, 438, 439, 440, -1, 442, 443, -1, 445, -1, -1, -1, -1, 450, 451, 452, -1, -1, -1, -1, 457, -1, -1, -1, 461, -1, -1, 464, -1, 466, -1, 468, -1, -1, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, -1, 490, -1, -1, -1, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, -1, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, -1, -1, -1, -1, 551, -1, -1, 554, -1, -1, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, 579, -1, -1, -1, 583, -1, -1, 586, -1, 588, -1, 5, 591, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, 17, -1, -1, -1, -1, 22, 23, 24, 25, 26, 27, -1, -1, -1, -1, -1, -1, 34, -1, -1, -1, 38, -1, -1, 41, 42, 43, -1, 45, -1, -1, -1, -1, -1, 51, -1, -1, 54, 55, -1, 57, -1, -1, -1, -1, 62, 63, 64, -1, 66, 67, -1, 69, 70, -1, 72, -1, 74, -1, 76, 77, 78, 79, -1, 81, 82, -1, 84, 85, 86, -1, 88, -1, 90, -1, -1, 93, -1, -1, 96, -1, -1, -1, 100, -1, -1, -1, 104, 105, 106, -1, -1, 109, -1, -1, -1, -1, 114, -1, -1, -1, -1, -1, 120, -1, 122, -1, -1, -1, 126, -1, 128, 129, 130, 131, -1, -1, -1, -1, -1, -1, 138, 139, 140, -1, -1, -1, 144, -1, -1, 147, -1, 149, 150, 151, -1, -1, 154, 155, -1, 157, 158, 159, 160, -1, -1, -1, 164, 165, 166, -1, -1, 169, 170, -1, 172, 173, 174, -1, -1, -1, -1, -1, -1, 181, -1, 183, -1, 185, -1, 187, 188, 189, 190, 191, -1, 193, -1, -1, -1, -1, 198, -1, -1, -1, -1, -1, 204, -1, -1, -1, 208, 209, 210, 211, -1, -1, 214, 215, 216, -1, -1, 219, -1, -1, -1, -1, 224, -1, -1, -1, -1, 229, -1, 231, 232, -1, 234, 235, -1, -1, -1, 239, -1, -1, -1, 243, -1, -1, 246, -1, -1, 249, 250, -1, -1, -1, -1, -1, 256, 257, -1, 259, -1, 261, -1, 263, 264, -1, -1, -1, -1, -1, -1, -1, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, -1, 286, 287, 288, -1, 290, 291, 292, 293, -1, 295, 296, -1, -1, -1, -1, 301, 302, 303, 304, 305, 306, -1, -1, 309, 310, -1, 312, -1, 314, -1, 316, 317, 318, 319, 320, 321, 322, 323, 324, -1, -1, 327, 328, -1, -1, 331, 332, 333, 334, -1, -1, -1, -1, 339, -1, -1, -1, -1, 344, 345, 346, -1, 348, 349, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 363, 364, -1, -1, 367, 368, 369, -1, 371, 372, 373, 374, 375, 376, -1, -1, -1, -1, 381, 382, -1, 384, -1, 386, 387, 388, 389, 390, -1, 392, 393, 394, -1, -1, 397, -1, -1, -1, 401, 402, 403, 404, 405, -1, -1, 408, 409, 410, 411, 412, -1, 414, -1, -1, 417, -1, 419, -1, -1, 422, -1, -1, -1, 426, -1, -1, 429, 430, -1, -1, -1, -1, 435, 436, 437, 438, 439, 440, -1, 442, 443, -1, 445, -1, -1, -1, -1, 450, 451, 452, -1, -1, -1, -1, 457, -1, -1, -1, 461, -1, -1, 464, -1, 466, -1, 468, -1, -1, 471, 472, -1, -1, -1, -1, -1, -1, 479, 480, -1, 482, -1, -1, 485, -1, -1, 488, -1, 490, -1, -1, -1, 494, -1, 496, 497, 498, 499, 500, 501, -1, -1, 504, 505, 506, 507, -1, 509, 510, -1, -1, 513, 514, 515, 516, -1, -1, 519, 520, -1, 522, 523, 524, 525, -1, -1, -1, -1, -1, 531, 532, -1, -1, -1, -1, 537, 538, 539, -1, 541, 542, -1, 544, 545, -1, -1, -1, -1, -1, 551, -1, -1, 554, -1, -1, -1, 558, 559, -1, -1, -1, -1, -1, -1, 566, -1, -1, 569, -1, -1, -1, 573, 574, 575, 576, -1, -1, -1, -1, -1, -1, 583, -1, -1, 586, -1, 588, -1, -1, 591 }; /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing symbol of state STATE-NUM. */ static const yytype_uint16 yystos[] = { 0, 13, 14, 30, 34, 48, 49, 56, 60, 61, 75, 94, 115, 123, 124, 125, 135, 136, 148, 161, 177, 192, 197, 200, 223, 225, 241, 258, 262, 351, 370, 380, 391, 413, 416, 418, 421, 424, 425, 432, 434, 441, 447, 455, 460, 462, 465, 489, 493, 536, 548, 552, 555, 560, 587, 602, 613, 616, 617, 618, 619, 620, 622, 627, 629, 636, 666, 694, 701, 809, 960, 998, 1001, 1009, 1012, 1017, 1019, 1020, 1025, 1028, 1033, 1040, 1052, 1053, 1210, 1212, 1222, 1225, 1250, 1258, 1269, 1276, 1290, 1293, 1296, 1305, 1311, 1315, 1317, 1318, 1368, 1385, 1391, 1393, 1400, 1402, 1428, 1434, 1435, 1436, 1437, 1490, 1498, 1499, 11, 102, 120, 185, 213, 263, 385, 453, 510, 994, 1459, 1460, 1461, 1464, 259, 340, 1027, 1429, 518, 1359, 217, 5, 7, 8, 9, 10, 11, 17, 20, 22, 23, 24, 25, 26, 27, 28, 30, 34, 38, 41, 42, 43, 45, 47, 48, 51, 54, 55, 57, 58, 60, 62, 63, 64, 65, 66, 67, 69, 70, 72, 73, 74, 75, 76, 77, 78, 79, 81, 82, 84, 85, 86, 87, 88, 90, 93, 96, 100, 104, 105, 106, 109, 114, 115, 120, 122, 126, 128, 129, 130, 131, 135, 138, 139, 140, 144, 146, 147, 149, 150, 151, 154, 155, 157, 158, 159, 160, 161, 164, 165, 166, 169, 170, 172, 173, 174, 177, 181, 183, 185, 187, 188, 189, 190, 191, 193, 197, 198, 200, 203, 204, 208, 209, 210, 211, 214, 215, 216, 219, 224, 225, 229, 231, 232, 234, 235, 239, 242, 243, 246, 249, 250, 256, 257, 259, 261, 263, 264, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 286, 287, 288, 290, 291, 292, 293, 295, 296, 301, 302, 303, 304, 305, 306, 309, 310, 312, 314, 316, 317, 318, 319, 320, 321, 322, 323, 324, 327, 328, 331, 332, 333, 334, 338, 339, 344, 345, 346, 348, 349, 350, 352, 362, 363, 364, 366, 367, 368, 369, 370, 371, 372, 373, 374, 375, 376, 377, 380, 381, 382, 384, 386, 387, 388, 389, 390, 392, 393, 394, 397, 401, 402, 403, 404, 405, 408, 409, 410, 411, 412, 414, 415, 417, 418, 419, 422, 424, 426, 427, 429, 430, 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, 445, 446, 450, 451, 452, 453, 457, 461, 463, 464, 465, 466, 468, 469, 470, 471, 472, 479, 480, 482, 485, 488, 489, 490, 493, 494, 496, 497, 498, 499, 500, 501, 504, 505, 506, 507, 509, 510, 513, 514, 515, 516, 519, 520, 522, 523, 524, 525, 531, 532, 536, 537, 538, 539, 541, 542, 544, 545, 547, 548, 551, 554, 556, 558, 559, 566, 569, 573, 574, 575, 576, 583, 584, 586, 587, 588, 591, 660, 1358, 1362, 1366, 1367, 286, 509, 512, 1387, 1387, 583, 1430, 102, 184, 263, 453, 473, 510, 515, 550, 558, 642, 643, 861, 862, 863, 938, 939, 940, 1259, 1211, 102, 159, 185, 217, 263, 385, 453, 510, 515, 533, 558, 573, 1221, 1362, 1027, 659, 610, 1355, 1357, 1362, 628, 1223, 374, 81, 393, 1316, 105, 217, 588, 1323, 1387, 1027, 810, 1362, 1312, 441, 558, 1387, 1027, 1226, 1306, 476, 691, 695, 696, 1362, 659, 1430, 1362, 1056, 1058, 1059, 353, 1370, 1277, 695, 489, 493, 465, 531, 465, 512, 1271, 374, 1392, 1251, 1362, 30, 75, 146, 380, 402, 434, 489, 1492, 447, 602, 1054, 0, 148, 614, 380, 165, 369, 1294, 1355, 1362, 152, 971, 1362, 152, 660, 194, 660, 251, 1359, 1362, 1364, 756, 757, 760, 783, 1362, 512, 159, 966, 1459, 1387, 1430, 1034, 667, 610, 529, 1010, 1021, 16, 1431, 212, 864, 194, 1364, 758, 783, 659, 358, 1456, 1460, 1461, 1462, 1463, 1464, 512, 862, 217, 217, 217, 213, 270, 394, 1267, 1268, 7, 20, 27, 33, 35, 36, 37, 39, 52, 53, 58, 59, 66, 69, 87, 91, 92, 97, 98, 101, 102, 107, 108, 109, 114, 116, 119, 162, 167, 168, 175, 188, 190, 195, 201, 208, 212, 223, 226, 248, 256, 267, 289, 294, 305, 309, 311, 315, 316, 317, 318, 319, 326, 335, 336, 337, 341, 342, 346, 365, 371, 375, 376, 378, 392, 420, 421, 433, 439, 445, 491, 492, 498, 502, 503, 508, 518, 522, 523, 524, 525, 534, 535, 536, 540, 543, 558, 562, 563, 564, 565, 570, 572, 576, 591, 595, 596, 601, 602, 605, 606, 609, 610, 1073, 1074, 1075, 1076, 1080, 1083, 1084, 1085, 1086, 1087, 1088, 1096, 1100, 1112, 1342, 1344, 1346, 1347, 1351, 1353, 1358, 1362, 212, 1220, 1220, 1220, 1362, 194, 1220, 1220, 783, 1220, 659, 1220, 1387, 623, 1297, 12, 13, 94, 123, 136, 159, 161, 172, 192, 217, 223, 262, 386, 390, 406, 414, 422, 447, 460, 461, 504, 533, 555, 557, 1403, 1405, 1407, 1408, 1362, 350, 65, 398, 610, 1364, 121, 202, 270, 1228, 1362, 1073, 227, 1319, 1386, 1387, 46, 811, 182, 33, 286, 1282, 1313, 1362, 659, 1029, 1387, 121, 270, 1229, 1257, 286, 393, 465, 1307, 1308, 566, 692, 455, 697, 12, 390, 1401, 1405, 529, 1431, 1057, 12, 132, 202, 478, 479, 480, 481, 482, 483, 495, 1063, 1064, 1065, 1455, 1369, 23, 34, 58, 59, 69, 90, 92, 94, 103, 150, 155, 158, 183, 185, 191, 193, 216, 217, 238, 259, 286, 350, 373, 384, 385, 388, 389, 409, 452, 465, 494, 512, 575, 912, 937, 1278, 1282, 1283, 1285, 1376, 697, 1003, 1004, 1003, 1003, 580, 1002, 1003, 1270, 1362, 1387, 1257, 35, 201, 518, 1343, 1360, 1491, 1491, 1491, 1491, 1491, 1058, 1054, 603, 608, 1362, 1292, 1291, 303, 516, 542, 962, 556, 98, 1364, 1365, 964, 762, 784, 1362, 963, 352, 6, 56, 136, 336, 397, 399, 785, 1355, 660, 484, 1465, 1466, 965, 1018, 1035, 1036, 1037, 1038, 1355, 602, 668, 1362, 630, 1216, 1217, 1355, 1216, 55, 338, 338, 413, 1432, 335, 336, 1079, 1362, 761, 784, 179, 6, 1365, 1418, 1419, 421, 10, 385, 533, 646, 1069, 1458, 1466, 1474, 1478, 1479, 1485, 646, 1069, 1457, 1466, 1474, 1479, 1485, 1459, 1464, 864, 1362, 1362, 1362, 182, 1260, 1264, 1265, 1362, 1267, 602, 602, 602, 1083, 602, 602, 602, 1073, 1115, 602, 602, 602, 602, 602, 602, 602, 602, 602, 1072, 1072, 602, 1072, 602, 602, 602, 543, 602, 1342, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 1073, 602, 602, 602, 1113, 1114, 1351, 1362, 602, 602, 602, 602, 602, 602, 602, 602, 602, 1073, 602, 1072, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 602, 1072, 602, 1342, 602, 602, 602, 1342, 602, 602, 35, 201, 518, 602, 1072, 1072, 1072, 602, 602, 602, 602, 602, 1083, 1083, 1083, 1073, 1450, 1451, 1362, 1101, 1362, 15, 16, 355, 358, 589, 1077, 1078, 152, 153, 186, 196, 233, 244, 271, 329, 1081, 31, 133, 230, 252, 315, 407, 458, 459, 471, 593, 594, 595, 596, 597, 598, 599, 600, 1079, 1083, 68, 357, 604, 1360, 602, 610, 162, 1362, 660, 1362, 347, 784, 660, 1364, 794, 1283, 660, 1365, 1417, 1215, 1220, 561, 624, 33, 126, 150, 154, 187, 204, 264, 286, 384, 393, 408, 426, 465, 466, 490, 1298, 1302, 1303, 1387, 384, 1406, 436, 436, 510, 515, 558, 573, 353, 1410, 509, 347, 1412, 64, 465, 1409, 103, 573, 1411, 347, 604, 18, 152, 1165, 1166, 1394, 1362, 994, 470, 48, 79, 270, 1325, 1355, 1388, 1389, 1026, 254, 257, 395, 812, 814, 609, 621, 1359, 264, 1030, 1365, 1031, 1032, 1355, 1013, 227, 1217, 1230, 1231, 48, 1309, 604, 1360, 54, 63, 72, 84, 85, 86, 100, 304, 321, 443, 497, 514, 698, 700, 1406, 347, 347, 441, 1433, 1432, 549, 1438, 1439, 597, 1067, 1068, 1069, 1065, 1371, 1372, 1373, 158, 455, 252, 578, 1289, 602, 102, 159, 185, 385, 512, 533, 573, 1289, 12, 873, 1364, 253, 1184, 1186, 182, 230, 1284, 1286, 67, 490, 180, 490, 509, 67, 490, 12, 41, 88, 93, 232, 302, 364, 472, 506, 1272, 1273, 1274, 158, 204, 490, 490, 1184, 1289, 1286, 264, 149, 70, 387, 509, 532, 490, 569, 1000, 412, 485, 1005, 1006, 999, 82, 1217, 994, 604, 349, 1494, 505, 1495, 237, 429, 1493, 603, 1439, 1441, 1443, 1444, 148, 615, 1052, 1295, 1343, 1362, 119, 859, 860, 870, 871, 921, 105, 1072, 609, 661, 6, 763, 661, 602, 104, 780, 780, 780, 4, 961, 967, 446, 573, 1466, 1216, 230, 604, 370, 1046, 1048, 1049, 669, 670, 1073, 214, 272, 273, 274, 275, 276, 277, 279, 280, 281, 282, 283, 284, 285, 287, 288, 410, 411, 631, 632, 635, 165, 394, 604, 1011, 57, 165, 169, 180, 301, 394, 1022, 1023, 1024, 55, 413, 162, 641, 763, 105, 780, 210, 604, 1069, 1069, 1069, 159, 185, 185, 1466, 1355, 941, 942, 941, 941, 1218, 1219, 1355, 1356, 1362, 604, 1262, 610, 1266, 1073, 1073, 12, 132, 1108, 1167, 1108, 1108, 1108, 577, 1117, 1073, 1073, 1112, 1112, 1073, 1073, 1073, 132, 1108, 1167, 603, 1073, 603, 1073, 1073, 1073, 1073, 1351, 1450, 110, 111, 112, 113, 114, 205, 206, 207, 208, 305, 307, 308, 309, 316, 392, 444, 445, 576, 590, 591, 1162, 1163, 1112, 106, 109, 522, 525, 1164, 132, 1103, 1073, 1073, 1073, 1073, 1162, 1073, 1112, 1114, 9, 604, 610, 132, 1108, 1073, 1073, 132, 1108, 1073, 1073, 1112, 1112, 1112, 1073, 1073, 1073, 1073, 1112, 1076, 1073, 1073, 1073, 1073, 1073, 1073, 1108, 1108, 1073, 1073, 132, 1108, 1073, 1073, 1163, 1163, 1073, 44, 245, 530, 1073, 1073, 603, 1352, 1353, 1362, 1108, 1108, 1073, 1073, 603, 604, 603, 447, 602, 1447, 1448, 1073, 609, 1102, 1364, 610, 1073, 1073, 1073, 1075, 168, 341, 535, 551, 1079, 12, 17, 1075, 1082, 1076, 1076, 602, 1083, 1076, 1076, 1076, 1076, 252, 1076, 1076, 226, 1076, 226, 1076, 1076, 1076, 1076, 1076, 31, 230, 252, 407, 1364, 1083, 1073, 1089, 1362, 610, 1355, 794, 339, 574, 795, 796, 150, 604, 1216, 1213, 609, 625, 626, 264, 264, 264, 264, 48, 264, 264, 604, 1299, 509, 602, 1420, 1365, 1420, 1420, 1420, 185, 385, 512, 1404, 1408, 1362, 173, 332, 1362, 1395, 1396, 1230, 1359, 1041, 259, 1324, 1166, 604, 1216, 70, 602, 819, 820, 819, 820, 369, 822, 198, 240, 1364, 29, 529, 1314, 604, 529, 604, 529, 1216, 1231, 1227, 12, 1310, 1308, 604, 152, 604, 1365, 185, 385, 1404, 1362, 12, 132, 1446, 604, 1060, 1073, 1349, 1362, 604, 191, 259, 348, 452, 1374, 1375, 1378, 1379, 230, 1287, 1359, 1073, 597, 864, 660, 660, 660, 1355, 660, 1355, 264, 320, 490, 1281, 1281, 267, 342, 540, 1187, 1188, 1344, 1362, 1289, 1362, 660, 1289, 1365, 1284, 660, 1289, 231, 507, 170, 180, 1275, 604, 1287, 1284, 1355, 1286, 1284, 1284, 1289, 1289, 554, 1007, 604, 1007, 468, 447, 602, 606, 1118, 1119, 1120, 1121, 1122, 1131, 1132, 1146, 1343, 372, 1496, 356, 1180, 1186, 1445, 860, 68, 912, 128, 1364, 73, 87, 242, 313, 338, 396, 484, 663, 665, 403, 544, 781, 782, 219, 777, 778, 779, 786, 794, 796, 102, 203, 362, 371, 377, 469, 558, 644, 645, 1359, 24, 293, 771, 772, 773, 786, 787, 788, 794, 796, 764, 765, 771, 6, 13, 14, 25, 26, 56, 60, 61, 66, 73, 81, 91, 105, 122, 129, 130, 136, 144, 150, 178, 215, 217, 224, 239, 292, 310, 314, 351, 356, 363, 370, 371, 401, 415, 416, 417, 418, 438, 494, 510, 513, 536, 549, 806, 866, 868, 870, 871, 972, 976, 978, 981, 987, 988, 989, 1176, 347, 654, 968, 120, 229, 1355, 119, 1039, 1362, 1037, 1355, 808, 1048, 217, 240, 935, 1050, 603, 604, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 152, 604, 1217, 556, 1023, 858, 859, 73, 333, 404, 545, 774, 775, 776, 786, 790, 791, 792, 793, 794, 796, 584, 560, 759, 46, 580, 1419, 185, 660, 660, 864, 660, 1362, 637, 538, 561, 949, 347, 347, 347, 604, 1263, 1261, 610, 1266, 1265, 182, 597, 1362, 604, 603, 1108, 603, 1109, 603, 603, 603, 1073, 142, 577, 1116, 18, 603, 561, 603, 603, 603, 604, 561, 604, 1097, 603, 597, 603, 604, 604, 603, 603, 603, 603, 182, 603, 604, 1099, 603, 604, 604, 604, 596, 604, 603, 603, 602, 1351, 1362, 1108, 603, 603, 603, 1108, 603, 604, 603, 603, 603, 603, 603, 603, 603, 604, 603, 230, 603, 604, 604, 604, 604, 603, 603, 603, 604, 182, 604, 1108, 603, 603, 603, 604, 604, 604, 603, 182, 1073, 182, 1073, 182, 1073, 182, 603, 604, 603, 603, 603, 603, 604, 603, 1112, 1136, 1137, 1138, 447, 602, 1055, 1442, 1443, 549, 1452, 607, 191, 259, 452, 1377, 456, 1362, 168, 341, 535, 551, 602, 16, 1073, 1450, 157, 1172, 1076, 1073, 1073, 1076, 602, 1083, 1076, 1069, 1093, 1094, 1095, 602, 610, 1362, 1214, 795, 152, 456, 1241, 1242, 1365, 50, 428, 995, 1216, 1364, 604, 1303, 1216, 1304, 1362, 1421, 1422, 529, 597, 1355, 1362, 1416, 1416, 1416, 152, 173, 186, 196, 243, 244, 271, 332, 382, 1397, 1399, 578, 1168, 1224, 1042, 1043, 1044, 1045, 1355, 218, 270, 398, 585, 1390, 1389, 602, 1069, 116, 175, 201, 267, 342, 540, 1191, 1194, 1195, 501, 823, 813, 11, 815, 1073, 1359, 1365, 1365, 1032, 1355, 165, 394, 559, 1014, 1015, 1016, 447, 455, 565, 566, 602, 854, 1232, 1235, 700, 109, 522, 525, 699, 1100, 1346, 1351, 192, 182, 1416, 1416, 1416, 1440, 1068, 182, 227, 1061, 1062, 1179, 1180, 1205, 1070, 1070, 610, 1372, 119, 531, 1362, 1381, 322, 371, 609, 912, 1380, 1359, 182, 1288, 603, 1362, 345, 604, 1289, 393, 1184, 1274, 1288, 1289, 1284, 1355, 1289, 1289, 635, 1008, 1006, 1145, 1362, 95, 220, 237, 248, 325, 433, 495, 1130, 455, 604, 1355, 1145, 604, 180, 1497, 46, 1184, 1242, 1242, 323, 1359, 484, 484, 484, 484, 484, 446, 1359, 1359, 1242, 604, 779, 1359, 1359, 1359, 1359, 116, 175, 201, 267, 342, 540, 1190, 1359, 1359, 603, 604, 1242, 1242, 604, 773, 766, 767, 786, 787, 788, 71, 83, 370, 882, 885, 886, 933, 935, 939, 940, 993, 993, 370, 1242, 1242, 993, 1242, 370, 370, 1242, 1242, 529, 128, 1242, 238, 510, 179, 370, 383, 935, 993, 238, 1242, 510, 128, 1242, 1242, 1242, 1242, 993, 370, 46, 1242, 808, 1242, 370, 368, 18, 152, 529, 997, 370, 370, 1242, 131, 302, 1362, 1242, 370, 1242, 866, 604, 805, 806, 976, 602, 610, 881, 887, 1354, 1362, 77, 442, 416, 969, 1467, 1047, 602, 1073, 602, 1190, 1359, 1359, 116, 175, 267, 342, 540, 1192, 1359, 1190, 1359, 1359, 1359, 1359, 1359, 1190, 1190, 1359, 1347, 1359, 1190, 632, 1242, 1242, 1242, 1242, 604, 776, 1364, 263, 166, 768, 769, 770, 786, 787, 788, 789, 792, 793, 794, 796, 371, 518, 1364, 1362, 1486, 8, 29, 754, 660, 602, 430, 252, 602, 798, 865, 867, 868, 45, 198, 440, 954, 954, 1355, 1355, 1355, 1219, 1362, 561, 1168, 1362, 1119, 610, 1266, 226, 1073, 603, 1073, 521, 1073, 1073, 146, 33, 59, 106, 109, 117, 327, 463, 525, 553, 1110, 33, 913, 1364, 1073, 913, 1110, 1112, 603, 226, 226, 1073, 1073, 1112, 1073, 1073, 1073, 1073, 1073, 1076, 603, 603, 1073, 1073, 1073, 1073, 1073, 1073, 1112, 226, 1073, 1073, 1073, 603, 1073, 1073, 1073, 1073, 182, 1073, 182, 1073, 182, 1073, 1073, 1073, 603, 1453, 1454, 1455, 1137, 1055, 603, 1446, 610, 610, 610, 1364, 1073, 1450, 1075, 603, 604, 603, 1083, 1162, 1162, 16, 1073, 1450, 1172, 1073, 603, 604, 1111, 1112, 1362, 872, 1364, 995, 626, 1300, 603, 604, 1418, 610, 610, 529, 529, 529, 1398, 1169, 1185, 1186, 1232, 604, 1046, 1048, 518, 1361, 585, 259, 816, 817, 818, 1362, 828, 1076, 46, 602, 830, 820, 152, 602, 529, 1015, 855, 1233, 602, 1238, 1243, 1238, 603, 854, 1234, 1348, 1349, 1352, 1362, 1236, 152, 353, 1418, 182, 182, 182, 1053, 137, 1119, 1206, 180, 262, 1066, 1205, 1185, 1062, 18, 1071, 1359, 1362, 597, 1362, 610, 234, 610, 1241, 119, 913, 914, 1241, 180, 1241, 609, 1364, 33, 119, 916, 917, 1364, 1192, 1279, 155, 575, 1188, 1188, 342, 1280, 1168, 1284, 604, 1133, 1140, 1145, 1118, 237, 237, 359, 1147, 237, 248, 433, 1147, 1131, 1118, 1253, 1254, 1352, 1120, 1166, 1142, 1143, 1190, 306, 1181, 119, 918, 920, 1364, 914, 105, 105, 120, 229, 267, 342, 540, 797, 1193, 1194, 1358, 779, 645, 797, 797, 773, 604, 767, 957, 1354, 1027, 61, 179, 383, 550, 884, 934, 957, 935, 936, 936, 1354, 1027, 1192, 1190, 1354, 1190, 12, 977, 985, 986, 1362, 1027, 1359, 1359, 912, 1242, 1190, 240, 985, 240, 1354, 1354, 872, 1242, 173, 243, 338, 875, 1190, 1192, 1192, 1354, 1027, 1177, 1178, 1352, 119, 1190, 807, 1359, 1027, 1355, 1027, 1027, 76, 78, 119, 140, 174, 405, 874, 1190, 977, 869, 6, 136, 989, 878, 879, 880, 881, 882, 1362, 8, 173, 996, 406, 883, 884, 927, 888, 610, 336, 381, 22, 160, 648, 529, 129, 144, 650, 602, 1468, 602, 383, 1158, 1159, 1160, 1362, 633, 634, 1190, 1359, 1191, 797, 797, 776, 352, 194, 1242, 604, 770, 518, 18, 430, 602, 123, 223, 555, 755, 647, 1480, 117, 228, 400, 496, 877, 1355, 252, 370, 799, 804, 805, 878, 804, 604, 867, 638, 639, 640, 610, 1119, 1179, 1266, 1168, 1073, 603, 1073, 521, 602, 904, 905, 905, 602, 899, 900, 904, 905, 228, 228, 603, 603, 603, 603, 603, 1098, 1073, 1073, 603, 603, 356, 1105, 604, 604, 603, 604, 603, 230, 1090, 1091, 603, 603, 603, 603, 604, 603, 603, 1073, 603, 180, 603, 603, 604, 603, 604, 604, 603, 1073, 603, 1073, 603, 1073, 603, 603, 603, 1067, 1455, 603, 1449, 610, 958, 603, 1112, 1075, 603, 604, 603, 1070, 1095, 603, 580, 1301, 1422, 580, 1425, 597, 597, 1418, 1418, 1418, 602, 1073, 347, 1248, 1044, 1355, 1048, 213, 1051, 1320, 603, 604, 1070, 814, 370, 831, 832, 1191, 816, 1365, 1063, 1239, 1240, 1352, 1244, 604, 602, 1235, 603, 603, 604, 610, 1438, 699, 182, 1418, 1418, 1418, 1168, 1168, 138, 360, 1201, 1202, 1207, 555, 230, 1359, 1362, 610, 1362, 250, 1362, 12, 33, 119, 347, 1073, 1384, 68, 919, 1073, 1365, 346, 371, 518, 1383, 1377, 1241, 1184, 1184, 1289, 635, 549, 603, 1442, 1141, 607, 237, 1131, 1147, 1147, 237, 347, 347, 561, 604, 1252, 1241, 1156, 1157, 1063, 1073, 1182, 1350, 767, 979, 602, 240, 240, 936, 957, 942, 957, 957, 136, 455, 977, 990, 974, 604, 1191, 914, 1359, 957, 995, 1359, 991, 977, 604, 19, 124, 1183, 811, 977, 982, 977, 602, 603, 604, 1362, 1355, 32, 33, 38, 40, 42, 43, 59, 106, 109, 117, 134, 151, 174, 176, 188, 189, 228, 256, 265, 266, 268, 298, 299, 300, 317, 318, 319, 324, 327, 343, 344, 375, 376, 400, 451, 455, 467, 519, 522, 525, 526, 527, 528, 567, 568, 591, 889, 892, 893, 894, 895, 896, 897, 898, 1362, 381, 1073, 1073, 347, 654, 660, 347, 73, 655, 1362, 1469, 18, 977, 603, 604, 603, 604, 602, 1362, 797, 770, 1359, 877, 1487, 347, 347, 671, 672, 674, 1362, 470, 1355, 854, 603, 213, 421, 801, 1326, 867, 602, 602, 602, 1362, 1168, 253, 1189, 1162, 1073, 116, 267, 342, 540, 20, 33, 47, 547, 912, 922, 923, 924, 342, 603, 1162, 1162, 46, 449, 1104, 1073, 1073, 1112, 42, 325, 603, 580, 1092, 1073, 1162, 1073, 1073, 1073, 1073, 603, 603, 603, 1139, 1447, 1362, 603, 1112, 1071, 398, 192, 423, 1423, 1423, 1423, 119, 1073, 1246, 1247, 139, 1051, 246, 1326, 818, 603, 198, 240, 833, 603, 604, 603, 1067, 604, 1241, 1245, 1246, 1243, 1237, 1235, 1348, 1362, 1418, 1185, 194, 1173, 1361, 1361, 609, 1203, 1204, 1364, 457, 597, 398, 419, 450, 1382, 920, 1241, 602, 602, 1381, 1073, 1446, 1166, 1121, 1118, 1131, 237, 237, 1118, 1131, 1124, 1123, 1125, 1254, 1168, 1247, 1154, 1155, 1067, 604, 1183, 369, 602, 980, 1073, 957, 942, 602, 941, 941, 119, 119, 887, 1022, 986, 919, 889, 973, 1178, 983, 985, 975, 1304, 880, 602, 928, 904, 904, 905, 899, 379, 890, 899, 899, 924, 59, 567, 893, 895, 924, 924, 59, 568, 568, 571, 899, 891, 905, 924, 904, 905, 25, 68, 73, 119, 341, 347, 383, 451, 550, 907, 908, 909, 926, 1079, 571, 904, 924, 33, 904, 925, 904, 904, 905, 602, 900, 906, 610, 1162, 465, 1359, 135, 970, 603, 604, 1470, 1471, 603, 1159, 634, 644, 470, 221, 230, 361, 675, 676, 677, 678, 1069, 442, 603, 604, 673, 1359, 603, 603, 865, 18, 857, 955, 956, 1362, 955, 955, 1188, 603, 603, 603, 603, 603, 33, 20, 547, 912, 33, 913, 604, 603, 603, 1106, 1343, 603, 603, 604, 603, 312, 242, 393, 603, 603, 603, 603, 603, 603, 876, 1062, 1185, 1442, 603, 262, 353, 62, 235, 334, 486, 499, 586, 1414, 1415, 580, 1424, 1424, 1424, 603, 604, 1249, 227, 602, 821, 815, 834, 1362, 832, 856, 1240, 1247, 603, 1441, 46, 199, 1170, 1208, 1364, 604, 312, 74, 541, 398, 1383, 518, 518, 1241, 1134, 347, 1127, 1131, 1131, 347, 1129, 1073, 1073, 602, 1179, 178, 213, 560, 1149, 1150, 1153, 1144, 1350, 1191, 831, 603, 602, 602, 955, 602, 602, 109, 522, 525, 595, 596, 1345, 1346, 996, 907, 1027, 984, 1014, 603, 929, 1362, 289, 930, 463, 553, 592, 901, 902, 903, 602, 901, 901, 924, 571, 901, 602, 924, 901, 918, 1359, 337, 911, 1345, 555, 119, 240, 909, 240, 341, 924, 925, 924, 925, 901, 342, 901, 1362, 649, 656, 657, 1362, 447, 602, 1472, 603, 1359, 603, 604, 673, 1475, 648, 1481, 674, 889, 910, 800, 804, 602, 854, 603, 604, 1183, 602, 603, 603, 913, 925, 342, 1107, 1350, 1073, 312, 164, 1066, 1066, 518, 518, 518, 16, 1413, 192, 290, 291, 295, 296, 1426, 1427, 1247, 240, 512, 1069, 824, 602, 565, 835, 876, 1174, 1350, 1171, 1179, 912, 915, 1204, 603, 603, 1384, 1447, 1126, 561, 1128, 561, 1161, 1362, 1189, 935, 935, 1150, 876, 1183, 603, 955, 955, 603, 955, 955, 1347, 1347, 992, 227, 603, 604, 183, 367, 464, 347, 931, 903, 959, 1343, 959, 1072, 337, 566, 488, 651, 52, 65, 171, 212, 236, 247, 350, 431, 658, 705, 707, 708, 709, 711, 712, 713, 714, 715, 716, 718, 726, 727, 730, 741, 744, 746, 747, 1358, 1363, 1367, 1056, 1054, 580, 1473, 1488, 677, 1362, 1355, 653, 654, 430, 919, 1441, 801, 854, 802, 73, 239, 943, 946, 949, 950, 951, 956, 342, 580, 944, 948, 950, 953, 945, 947, 950, 952, 603, 604, 1183, 603, 1414, 353, 1190, 1190, 1190, 1190, 1427, 555, 1355, 828, 500, 829, 826, 827, 1362, 230, 249, 73, 105, 217, 292, 310, 333, 510, 851, 852, 853, 1283, 581, 582, 604, 1175, 1183, 1073, 1185, 914, 1209, 1135, 1073, 602, 1073, 602, 603, 604, 180, 1148, 1148, 603, 603, 943, 603, 603, 996, 602, 1362, 123, 555, 603, 604, 603, 1072, 1073, 147, 652, 728, 731, 1362, 182, 332, 719, 706, 1363, 1363, 1362, 710, 617, 269, 420, 579, 750, 30, 748, 611, 603, 51, 61, 259, 662, 910, 180, 650, 1482, 603, 1438, 1359, 1242, 951, 1183, 603, 366, 953, 952, 1350, 1255, 1256, 1352, 1321, 1070, 1191, 603, 604, 837, 520, 1242, 128, 128, 1242, 1242, 1242, 1242, 602, 846, 853, 150, 1350, 385, 1196, 70, 1327, 1442, 1161, 1161, 1362, 194, 237, 356, 1152, 1151, 927, 943, 944, 945, 831, 50, 338, 428, 455, 932, 932, 924, 1343, 924, 1073, 1073, 577, 733, 737, 182, 1362, 721, 722, 1073, 680, 704, 705, 707, 709, 711, 713, 714, 715, 716, 718, 726, 741, 744, 746, 680, 751, 749, 742, 745, 1441, 61, 353, 61, 127, 663, 664, 1079, 1489, 1069, 655, 910, 803, 1190, 1358, 1183, 604, 1241, 915, 603, 825, 827, 602, 839, 841, 836, 1359, 1242, 1242, 1193, 1193, 1191, 1364, 501, 847, 848, 1242, 1183, 1362, 145, 156, 354, 517, 1328, 1329, 255, 1330, 603, 603, 46, 46, 602, 602, 603, 5, 119, 341, 347, 347, 729, 738, 142, 737, 740, 227, 146, 1073, 146, 704, 608, 554, 1073, 681, 750, 748, 353, 353, 127, 704, 1476, 135, 1483, 1441, 1256, 1247, 1322, 829, 602, 840, 841, 842, 297, 838, 841, 1359, 1359, 849, 603, 604, 872, 1197, 46, 46, 145, 46, 1329, 487, 517, 1331, 1332, 1158, 1160, 555, 123, 577, 732, 734, 1073, 680, 146, 717, 212, 521, 269, 608, 753, 135, 118, 679, 682, 743, 1363, 743, 141, 656, 662, 437, 1333, 603, 604, 297, 844, 845, 1076, 850, 1364, 848, 602, 1343, 1343, 46, 1343, 46, 46, 1332, 603, 603, 932, 932, 735, 734, 740, 739, 52, 720, 1362, 723, 1073, 752, 89, 163, 687, 702, 1362, 146, 704, 608, 439, 1484, 210, 1327, 841, 604, 843, 851, 1069, 1198, 1199, 1200, 1343, 1343, 1343, 1073, 146, 521, 604, 680, 146, 680, 197, 604, 683, 80, 99, 608, 1477, 704, 46, 1330, 845, 603, 1073, 603, 604, 736, 52, 680, 1362, 724, 420, 146, 180, 1362, 910, 180, 180, 704, 1343, 213, 1334, 1070, 1200, 521, 142, 143, 725, 579, 684, 119, 703, 690, 691, 1190, 685, 686, 342, 602, 1336, 680, 680, 721, 475, 477, 688, 689, 690, 693, 1079, 1362, 1073, 1052, 255, 437, 1335, 603, 609, 1337, 1338, 1352, 455, 1339, 604, 704, 181, 1364, 603, 604, 1340, 1341, 1352, 689, 1338, 604, 1241, 1341, 1069, 1247, 1070 }; #define yyerrok (yyerrstatus = 0) #define yyclearin (yychar = YYEMPTY) #define YYEMPTY (-2) #define YYEOF 0 #define YYACCEPT goto yyacceptlab #define YYABORT goto yyabortlab #define YYERROR goto yyerrorlab /* Like YYERROR except do call yyerror. This remains here temporarily to ease the transition to the new meaning of YYERROR, for GCC. Once GCC version 2 has supplanted version 1, this can go. */ #define YYFAIL goto yyerrlab #define YYRECOVERING() (!!yyerrstatus) #define YYBACKUP(Token, Value) \ do \ if (yychar == YYEMPTY && yylen == 1) \ { \ yychar = (Token); \ yylval = (Value); \ yytoken = YYTRANSLATE (yychar); \ YYPOPSTACK (1); \ goto yybackup; \ } \ else \ { \ yyerror (YY_("syntax error: cannot back up")); \ YYERROR; \ } \ while (YYID (0)) #define YYTERROR 1 #define YYERRCODE 256 /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N]. If N is 0, then set CURRENT to the empty location which ends the previous symbol: RHS[0] (always defined). */ #define YYRHSLOC(Rhs, K) ((Rhs)[K]) #ifndef YYLLOC_DEFAULT # define YYLLOC_DEFAULT(Current, Rhs, N) \ do \ if (YYID (N)) \ { \ (Current).first_line = YYRHSLOC (Rhs, 1).first_line; \ (Current).first_column = YYRHSLOC (Rhs, 1).first_column; \ (Current).last_line = YYRHSLOC (Rhs, N).last_line; \ (Current).last_column = YYRHSLOC (Rhs, N).last_column; \ } \ else \ { \ (Current).first_line = (Current).last_line = \ YYRHSLOC (Rhs, 0).last_line; \ (Current).first_column = (Current).last_column = \ YYRHSLOC (Rhs, 0).last_column; \ } \ while (YYID (0)) #endif /* YY_LOCATION_PRINT -- Print the location on the stream. This macro was not mandated originally: define only if we know we won't break user code: when these are the locations we know. */ #ifndef YY_LOCATION_PRINT # if YYLTYPE_IS_TRIVIAL # define YY_LOCATION_PRINT(File, Loc) \ fprintf (File, "%d.%d-%d.%d", \ (Loc).first_line, (Loc).first_column, \ (Loc).last_line, (Loc).last_column) # else # define YY_LOCATION_PRINT(File, Loc) ((void) 0) # endif #endif /* YYLEX -- calling `yylex' with the right arguments. */ #ifdef YYLEX_PARAM # define YYLEX yylex (&yylval, YYLEX_PARAM) #else # define YYLEX yylex (&yylval) #endif /* Enable debugging if requested. */ #if YYDEBUG # ifndef YYFPRINTF # include /* INFRINGES ON USER NAME SPACE */ # define YYFPRINTF fprintf # endif # define YYDPRINTF(Args) \ do { \ if (yydebug) \ YYFPRINTF Args; \ } while (YYID (0)) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) \ do { \ if (yydebug) \ { \ YYFPRINTF (stderr, "%s ", Title); \ yy_symbol_print (stderr, \ Type, Value); \ YYFPRINTF (stderr, "\n"); \ } \ } while (YYID (0)) /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ /*ARGSUSED*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) #else static void yy_symbol_value_print (yyoutput, yytype, yyvaluep) FILE *yyoutput; int yytype; YYSTYPE const * const yyvaluep; #endif { if (!yyvaluep) return; # ifdef YYPRINT if (yytype < YYNTOKENS) YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); # else YYUSE (yyoutput); # endif switch (yytype) { default: break; } } /*--------------------------------. | Print this symbol on YYOUTPUT. | `--------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep) #else static void yy_symbol_print (yyoutput, yytype, yyvaluep) FILE *yyoutput; int yytype; YYSTYPE const * const yyvaluep; #endif { if (yytype < YYNTOKENS) YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); else YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); yy_symbol_value_print (yyoutput, yytype, yyvaluep); YYFPRINTF (yyoutput, ")"); } /*------------------------------------------------------------------. | yy_stack_print -- Print the state stack from its BOTTOM up to its | | TOP (included). | `------------------------------------------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop) #else static void yy_stack_print (yybottom, yytop) yytype_int16 *yybottom; yytype_int16 *yytop; #endif { YYFPRINTF (stderr, "Stack now"); for (; yybottom <= yytop; yybottom++) { int yybot = *yybottom; YYFPRINTF (stderr, " %d", yybot); } YYFPRINTF (stderr, "\n"); } # define YY_STACK_PRINT(Bottom, Top) \ do { \ if (yydebug) \ yy_stack_print ((Bottom), (Top)); \ } while (YYID (0)) /*------------------------------------------------. | Report that the YYRULE is going to be reduced. | `------------------------------------------------*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yy_reduce_print (YYSTYPE *yyvsp, int yyrule) #else static void yy_reduce_print (yyvsp, yyrule) YYSTYPE *yyvsp; int yyrule; #endif { int yynrhs = yyr2[yyrule]; int yyi; unsigned long int yylno = yyrline[yyrule]; YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n", yyrule - 1, yylno); /* The symbols being reduced. */ for (yyi = 0; yyi < yynrhs; yyi++) { YYFPRINTF (stderr, " $%d = ", yyi + 1); yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi], &(yyvsp[(yyi + 1) - (yynrhs)]) ); YYFPRINTF (stderr, "\n"); } } # define YY_REDUCE_PRINT(Rule) \ do { \ if (yydebug) \ yy_reduce_print (yyvsp, Rule); \ } while (YYID (0)) /* Nonzero means print parse trace. It is left uninitialized so that multiple parsers can coexist. */ int yydebug; #else /* !YYDEBUG */ # define YYDPRINTF(Args) # define YY_SYMBOL_PRINT(Title, Type, Value, Location) # define YY_STACK_PRINT(Bottom, Top) # define YY_REDUCE_PRINT(Rule) #endif /* !YYDEBUG */ /* YYINITDEPTH -- initial size of the parser's stacks. */ #ifndef YYINITDEPTH # define YYINITDEPTH 200 #endif /* YYMAXDEPTH -- maximum size the stacks can grow to (effective only if the built-in stack extension method is used). Do not make this value too large; the results are undefined if YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH) evaluated with infinite-precision integer arithmetic. */ #ifndef YYMAXDEPTH # define YYMAXDEPTH 10000 #endif #if YYERROR_VERBOSE # ifndef yystrlen # if defined __GLIBC__ && defined _STRING_H # define yystrlen strlen # else /* Return the length of YYSTR. */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static YYSIZE_T yystrlen (const char *yystr) #else static YYSIZE_T yystrlen (yystr) const char *yystr; #endif { YYSIZE_T yylen; for (yylen = 0; yystr[yylen]; yylen++) continue; return yylen; } # endif # endif # ifndef yystpcpy # if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE # define yystpcpy stpcpy # else /* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in YYDEST. */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static char * yystpcpy (char *yydest, const char *yysrc) #else static char * yystpcpy (yydest, yysrc) char *yydest; const char *yysrc; #endif { char *yyd = yydest; const char *yys = yysrc; while ((*yyd++ = *yys++) != '\0') continue; return yyd - 1; } # endif # endif # ifndef yytnamerr /* Copy to YYRES the contents of YYSTR after stripping away unnecessary quotes and backslashes, so that it's suitable for yyerror. The heuristic is that double-quoting is unnecessary unless the string contains an apostrophe, a comma, or backslash (other than backslash-backslash). YYSTR is taken from yytname. If YYRES is null, do not copy; instead, return the length of what the result would have been. */ static YYSIZE_T yytnamerr (char *yyres, const char *yystr) { if (*yystr == '"') { YYSIZE_T yyn = 0; char const *yyp = yystr; for (;;) switch (*++yyp) { case '\'': case ',': goto do_not_strip_quotes; case '\\': if (*++yyp != '\\') goto do_not_strip_quotes; /* Fall through. */ default: if (yyres) yyres[yyn] = *yyp; yyn++; break; case '"': if (yyres) yyres[yyn] = '\0'; return yyn; } do_not_strip_quotes: ; } if (! yyres) return yystrlen (yystr); return yystpcpy (yyres, yystr) - yyres; } # endif /* Copy into YYRESULT an error message about the unexpected token YYCHAR while in state YYSTATE. Return the number of bytes copied, including the terminating null byte. If YYRESULT is null, do not copy anything; just return the number of bytes that would be copied. As a special case, return 0 if an ordinary "syntax error" message will do. Return YYSIZE_MAXIMUM if overflow occurs during size calculation. */ static YYSIZE_T yysyntax_error (char *yyresult, int yystate, int yychar) { int yyn = yypact[yystate]; if (! (YYPACT_NINF < yyn && yyn <= YYLAST)) return 0; else { int yytype = YYTRANSLATE (yychar); YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]); YYSIZE_T yysize = yysize0; YYSIZE_T yysize1; int yysize_overflow = 0; enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 }; char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM]; int yyx; # if 0 /* This is so xgettext sees the translatable formats that are constructed on the fly. */ YY_("syntax error, unexpected %s"); YY_("syntax error, unexpected %s, expecting %s"); YY_("syntax error, unexpected %s, expecting %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s"); YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"); # endif char *yyfmt; char const *yyf; static char const yyunexpected[] = "syntax error, unexpected %s"; static char const yyexpecting[] = ", expecting %s"; static char const yyor[] = " or %s"; char yyformat[sizeof yyunexpected + sizeof yyexpecting - 1 + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2) * (sizeof yyor - 1))]; char const *yyprefix = yyexpecting; /* Start YYX at -YYN if negative to avoid negative indexes in YYCHECK. */ int yyxbegin = yyn < 0 ? -yyn : 0; /* Stay within bounds of both yycheck and yytname. */ int yychecklim = YYLAST - yyn + 1; int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; int yycount = 1; yyarg[0] = yytname[yytype]; yyfmt = yystpcpy (yyformat, yyunexpected); for (yyx = yyxbegin; yyx < yyxend; ++yyx) if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) { if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM) { yycount = 1; yysize = yysize0; yyformat[sizeof yyunexpected - 1] = '\0'; break; } yyarg[yycount++] = yytname[yyx]; yysize1 = yysize + yytnamerr (0, yytname[yyx]); yysize_overflow |= (yysize1 < yysize); yysize = yysize1; yyfmt = yystpcpy (yyfmt, yyprefix); yyprefix = yyor; } yyf = YY_(yyformat); yysize1 = yysize + yystrlen (yyf); yysize_overflow |= (yysize1 < yysize); yysize = yysize1; if (yysize_overflow) return YYSIZE_MAXIMUM; if (yyresult) { /* Avoid sprintf, as that infringes on the user's name space. Don't have undefined behavior even if the translation produced a string with the wrong number of "%s"s. */ char *yyp = yyresult; int yyi = 0; while ((*yyp = *yyf) != '\0') { if (*yyp == '%' && yyf[1] == 's' && yyi < yycount) { yyp += yytnamerr (yyp, yyarg[yyi++]); yyf += 2; } else { yyp++; yyf++; } } } return yysize; } } #endif /* YYERROR_VERBOSE */ /*-----------------------------------------------. | Release the memory associated to this symbol. | `-----------------------------------------------*/ /*ARGSUSED*/ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) static void yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep) #else static void yydestruct (yymsg, yytype, yyvaluep) const char *yymsg; int yytype; YYSTYPE *yyvaluep; #endif { YYUSE (yyvaluep); if (!yymsg) yymsg = "Deleting"; YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp); switch (yytype) { default: break; } } /* Prevent warnings from -Wmissing-prototypes. */ #ifdef YYPARSE_PARAM #if defined __STDC__ || defined __cplusplus int yyparse (void *YYPARSE_PARAM); #else int yyparse (); #endif #else /* ! YYPARSE_PARAM */ #if defined __STDC__ || defined __cplusplus int yyparse (void); #else int yyparse (); #endif #endif /* ! YYPARSE_PARAM */ /*-------------------------. | yyparse or yypush_parse. | `-------------------------*/ #ifdef YYPARSE_PARAM #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int yyparse (void *YYPARSE_PARAM) #else int yyparse (YYPARSE_PARAM) void *YYPARSE_PARAM; #endif #else /* ! YYPARSE_PARAM */ #if (defined __STDC__ || defined __C99__FUNC__ \ || defined __cplusplus || defined _MSC_VER) int yyparse (void) #else int yyparse () #endif #endif { /* The lookahead symbol. */ int yychar; /* The semantic value of the lookahead symbol. */ YYSTYPE yylval; /* Number of syntax errors so far. */ int yynerrs; int yystate; /* Number of tokens to shift before error messages enabled. */ int yyerrstatus; /* The stacks and their tools: `yyss': related to states. `yyvs': related to semantic values. Refer to the stacks thru separate pointers, to allow yyoverflow to reallocate them elsewhere. */ /* The state stack. */ yytype_int16 yyssa[YYINITDEPTH]; yytype_int16 *yyss; yytype_int16 *yyssp; /* The semantic value stack. */ YYSTYPE yyvsa[YYINITDEPTH]; YYSTYPE *yyvs; YYSTYPE *yyvsp; YYSIZE_T yystacksize; int yyn; int yyresult; /* Lookahead token as an internal (translated) token number. */ int yytoken; /* The variables used to return semantic value and location from the action routines. */ YYSTYPE yyval; #if YYERROR_VERBOSE /* Buffer for error messages, and its allocated size. */ char yymsgbuf[128]; char *yymsg = yymsgbuf; YYSIZE_T yymsg_alloc = sizeof yymsgbuf; #endif #define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N)) /* The number of symbols on the RHS of the reduced rule. Keep to zero when no symbol should be popped. */ int yylen = 0; yytoken = 0; yyss = yyssa; yyvs = yyvsa; yystacksize = YYINITDEPTH; YYDPRINTF ((stderr, "Starting parse\n")); yystate = 0; yyerrstatus = 0; yynerrs = 0; yychar = YYEMPTY; /* Cause a token to be read. */ /* Initialize stack pointers. Waste one element of value and location stack so that they stay on the same level as the state stack. The wasted elements are never initialized. */ yyssp = yyss; yyvsp = yyvs; goto yysetstate; /*------------------------------------------------------------. | yynewstate -- Push a new state, which is found in yystate. | `------------------------------------------------------------*/ yynewstate: /* In all cases, when you get here, the value and location stacks have just been pushed. So pushing a state here evens the stacks. */ yyssp++; yysetstate: *yyssp = yystate; if (yyss + yystacksize - 1 <= yyssp) { /* Get the current used size of the three stacks, in elements. */ YYSIZE_T yysize = yyssp - yyss + 1; #ifdef yyoverflow { /* Give user a chance to reallocate the stack. Use copies of these so that the &'s don't force the real ones into memory. */ YYSTYPE *yyvs1 = yyvs; yytype_int16 *yyss1 = yyss; /* Each stack pointer address is followed by the size of the data in use in that stack, in bytes. This used to be a conditional around just the two extra args, but that might be undefined if yyoverflow is a macro. */ yyoverflow (YY_("memory exhausted"), &yyss1, yysize * sizeof (*yyssp), &yyvs1, yysize * sizeof (*yyvsp), &yystacksize); yyss = yyss1; yyvs = yyvs1; } #else /* no yyoverflow */ # ifndef YYSTACK_RELOCATE goto yyexhaustedlab; # else /* Extend the stack our own way. */ if (YYMAXDEPTH <= yystacksize) goto yyexhaustedlab; yystacksize *= 2; if (YYMAXDEPTH < yystacksize) yystacksize = YYMAXDEPTH; { yytype_int16 *yyss1 = yyss; union yyalloc *yyptr = (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); if (! yyptr) goto yyexhaustedlab; YYSTACK_RELOCATE (yyss_alloc, yyss); YYSTACK_RELOCATE (yyvs_alloc, yyvs); # undef YYSTACK_RELOCATE if (yyss1 != yyssa) YYSTACK_FREE (yyss1); } # endif #endif /* no yyoverflow */ yyssp = yyss + yysize - 1; yyvsp = yyvs + yysize - 1; YYDPRINTF ((stderr, "Stack size increased to %lu\n", (unsigned long int) yystacksize)); if (yyss + yystacksize - 1 <= yyssp) YYABORT; } YYDPRINTF ((stderr, "Entering state %d\n", yystate)); if (yystate == YYFINAL) YYACCEPT; goto yybackup; /*-----------. | yybackup. | `-----------*/ yybackup: /* Do appropriate processing given the current state. Read a lookahead token if we need one and don't already have one. */ /* First try to decide what to do without reference to lookahead token. */ yyn = yypact[yystate]; if (yyn == YYPACT_NINF) goto yydefault; /* Not known => get a lookahead token if don't already have one. */ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ if (yychar == YYEMPTY) { YYDPRINTF ((stderr, "Reading a token: ")); yychar = YYLEX; } if (yychar <= YYEOF) { yychar = yytoken = YYEOF; YYDPRINTF ((stderr, "Now at end of input.\n")); } else { yytoken = YYTRANSLATE (yychar); YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc); } /* If the proper action on seeing token YYTOKEN is to reduce or to detect an error, take that action. */ yyn += yytoken; if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) goto yydefault; yyn = yytable[yyn]; if (yyn <= 0) { if (yyn == 0 || yyn == YYTABLE_NINF) goto yyerrlab; yyn = -yyn; goto yyreduce; } /* Count tokens shifted since error; after three, turn off error status. */ if (yyerrstatus) yyerrstatus--; /* Shift the lookahead token. */ YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc); /* Discard the shifted token. */ yychar = YYEMPTY; yystate = yyn; *++yyvsp = yylval; goto yynewstate; /*-----------------------------------------------------------. | yydefault -- do the default action for the current state. | `-----------------------------------------------------------*/ yydefault: yyn = yydefact[yystate]; if (yyn == 0) goto yyerrlab; goto yyreduce; /*-----------------------------. | yyreduce -- Do a reduction. | `-----------------------------*/ yyreduce: /* yyn is the number of a rule to reduce with. */ yylen = yyr2[yyn]; /* If YYLEN is nonzero, implement the default value of the action: `$$ = $1'. Otherwise, the following line sets YYVAL to garbage. This behavior is undocumented and Bison users should not rely upon it. Assigning to YYVAL unconditionally makes the parser a bit smaller, and it avoids a GCC warning that YYVAL may be used uninitialized. */ yyval = yyvsp[1-yylen]; YY_REDUCE_PRINT (yyn); switch (yyn) { case 2: /* Line 1455 of yacc.c */ #line 1661 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; if (!thd->bootstrap && (!(thd->lex->select_lex.options & OPTION_FOUND_COMMENT))) { my_message(ER_EMPTY_QUERY, ER(ER_EMPTY_QUERY), MYF(0)); MYSQL_YYABORT; } thd->lex->sql_command= SQLCOM_EMPTY_QUERY; YYLIP->found_semicolon= NULL; } break; case 3: /* Line 1455 of yacc.c */ #line 1673 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex_input_stream *lip = YYLIP; if ((YYTHD->client_capabilities & CLIENT_MULTI_QUERIES) && lip->multi_statements && ! lip->eof()) { /* We found a well formed query, and multi queries are allowed: - force the parser to stop after the ';' - mark the start of the next query for the next invocation of the parser. */ lip->next_state= MY_LEX_END; lip->found_semicolon= lip->get_ptr(); } else { /* Single query, terminated. */ lip->found_semicolon= NULL; } } break; case 5: /* Line 1455 of yacc.c */ #line 1698 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* Single query, not terminated. */ YYLIP->found_semicolon= NULL; } break; case 61: /* Line 1455 of yacc.c */ #line 1771 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; lex->sql_command= SQLCOM_DEALLOCATE_PREPARE; lex->prepared_stmt_name= (yyvsp[(3) - (3)].lex_str); } break; case 64: /* Line 1455 of yacc.c */ #line 1786 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; lex->sql_command= SQLCOM_PREPARE; lex->prepared_stmt_name= (yyvsp[(2) - (4)].lex_str); } break; case 65: /* Line 1455 of yacc.c */ #line 1796 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; lex->prepared_stmt_code= (yyvsp[(1) - (1)].lex_str); lex->prepared_stmt_code_is_varref= FALSE; } break; case 66: /* Line 1455 of yacc.c */ #line 1803 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; lex->prepared_stmt_code= (yyvsp[(2) - (2)].lex_str); lex->prepared_stmt_code_is_varref= TRUE; } break; case 67: /* Line 1455 of yacc.c */ #line 1813 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; lex->sql_command= SQLCOM_EXECUTE; lex->prepared_stmt_name= (yyvsp[(2) - (2)].lex_str); } break; case 68: /* Line 1455 of yacc.c */ #line 1820 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 73: /* Line 1455 of yacc.c */ #line 1835 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; LEX_STRING *lexstr= (LEX_STRING*)sql_memdup(&(yyvsp[(2) - (2)].lex_str), sizeof(LEX_STRING)); if (!lexstr || lex->prepared_stmt_params.push_back(lexstr)) MYSQL_YYABORT; } break; case 74: /* Line 1455 of yacc.c */ #line 1847 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Lex->sphead) { my_error(ER_SP_BADSTATEMENT, MYF(0), "HELP"); MYSQL_YYABORT; } } break; case 75: /* Line 1455 of yacc.c */ #line 1855 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_HELP; lex->help_arg= (yyvsp[(3) - (3)].lex_str).str; } break; case 76: /* Line 1455 of yacc.c */ #line 1866 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex = Lex; lex->sql_command = SQLCOM_CHANGE_MASTER; bzero((char*) &lex->mi, sizeof(lex->mi)); lex->mi.repl_ignore_server_ids_opt= LEX_MASTER_INFO::LEX_MI_UNCHANGED; DBUG_ASSERT(Lex->mi.repl_ignore_server_ids.elements == 0); } break; case 77: /* Line 1455 of yacc.c */ #line 1875 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 80: /* Line 1455 of yacc.c */ #line 1885 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.host = (yyvsp[(3) - (3)].lex_str).str; } break; case 81: /* Line 1455 of yacc.c */ #line 1889 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.user = (yyvsp[(3) - (3)].lex_str).str; } break; case 82: /* Line 1455 of yacc.c */ #line 1893 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.password = (yyvsp[(3) - (3)].lex_str).str; } break; case 83: /* Line 1455 of yacc.c */ #line 1897 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.port = (yyvsp[(3) - (3)].ulong_num); } break; case 84: /* Line 1455 of yacc.c */ #line 1901 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.connect_retry = (yyvsp[(3) - (3)].ulong_num); } break; case 85: /* Line 1455 of yacc.c */ #line 1905 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.ssl= (yyvsp[(3) - (3)].ulong_num) ? LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE; } break; case 86: /* Line 1455 of yacc.c */ #line 1910 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.ssl_ca= (yyvsp[(3) - (3)].lex_str).str; } break; case 87: /* Line 1455 of yacc.c */ #line 1914 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.ssl_capath= (yyvsp[(3) - (3)].lex_str).str; } break; case 88: /* Line 1455 of yacc.c */ #line 1918 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.ssl_cert= (yyvsp[(3) - (3)].lex_str).str; } break; case 89: /* Line 1455 of yacc.c */ #line 1922 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.ssl_cipher= (yyvsp[(3) - (3)].lex_str).str; } break; case 90: /* Line 1455 of yacc.c */ #line 1926 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.ssl_key= (yyvsp[(3) - (3)].lex_str).str; } break; case 91: /* Line 1455 of yacc.c */ #line 1930 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.ssl_verify_server_cert= (yyvsp[(3) - (3)].ulong_num) ? LEX_MASTER_INFO::LEX_MI_ENABLE : LEX_MASTER_INFO::LEX_MI_DISABLE; } break; case 92: /* Line 1455 of yacc.c */ #line 1936 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.heartbeat_period= (float) (yyvsp[(3) - (3)].item_num)->val_real(); if (Lex->mi.heartbeat_period > SLAVE_MAX_HEARTBEAT_PERIOD || Lex->mi.heartbeat_period < 0.0) { const char format[]= "%d"; char buf[4*sizeof(SLAVE_MAX_HEARTBEAT_PERIOD) + sizeof(format)]; sprintf(buf, format, SLAVE_MAX_HEARTBEAT_PERIOD); my_error(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE, MYF(0), buf); MYSQL_YYABORT; } if (Lex->mi.heartbeat_period > slave_net_timeout) { push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_WARN, ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX, ER(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MAX)); } if (Lex->mi.heartbeat_period < 0.001) { if (Lex->mi.heartbeat_period != 0.0) { push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_WARN, ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN, ER(ER_SLAVE_HEARTBEAT_VALUE_OUT_OF_RANGE_MIN)); Lex->mi.heartbeat_period= 0.0; } Lex->mi.heartbeat_opt= LEX_MASTER_INFO::LEX_MI_DISABLE; } Lex->mi.heartbeat_opt= LEX_MASTER_INFO::LEX_MI_ENABLE; } break; case 93: /* Line 1455 of yacc.c */ #line 1967 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.repl_ignore_server_ids_opt= LEX_MASTER_INFO::LEX_MI_ENABLE; } break; case 98: /* Line 1455 of yacc.c */ #line 1982 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Lex->mi.repl_ignore_server_ids.elements == 0) { my_init_dynamic_array2(&Lex->mi.repl_ignore_server_ids, sizeof(::server_id), Lex->mi.server_ids_buffer, array_elements(Lex->mi.server_ids_buffer), 16); } insert_dynamic(&Lex->mi.repl_ignore_server_ids, (uchar*) &((yyvsp[(1) - (1)].ulong_num))); } break; case 99: /* Line 1455 of yacc.c */ #line 1996 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.log_file_name = (yyvsp[(3) - (3)].lex_str).str; } break; case 100: /* Line 1455 of yacc.c */ #line 2000 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.pos = (yyvsp[(3) - (3)].ulonglong_number); /* If the user specified a value < BIN_LOG_HEADER_SIZE, adjust it instead of causing subsequent errors. We need to do it in this file, because only there we know that MASTER_LOG_POS has been explicitely specified. On the contrary in change_master() (sql_repl.cc) we cannot distinguish between 0 (MASTER_LOG_POS explicitely specified as 0) and 0 (unspecified), whereas we want to distinguish (specified 0 means "read the binlog from 0" (4 in fact), unspecified means "don't change the position (keep the preceding value)"). */ Lex->mi.pos = max(BIN_LOG_HEADER_SIZE, Lex->mi.pos); } break; case 101: /* Line 1455 of yacc.c */ #line 2016 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.relay_log_name = (yyvsp[(3) - (3)].lex_str).str; } break; case 102: /* Line 1455 of yacc.c */ #line 2020 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.relay_log_pos = (yyvsp[(3) - (3)].ulong_num); /* Adjust if < BIN_LOG_HEADER_SIZE (same comment as Lex->mi.pos) */ Lex->mi.relay_log_pos = max(BIN_LOG_HEADER_SIZE, Lex->mi.relay_log_pos); } break; case 103: /* Line 1455 of yacc.c */ #line 2031 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; lex->sql_command= SQLCOM_CREATE_TABLE; if (!lex->select_lex.add_table_to_list(thd, (yyvsp[(5) - (5)].table), NULL, TL_OPTION_UPDATING, TL_WRITE, MDL_EXCLUSIVE)) MYSQL_YYABORT; /* For CREATE TABLE, an non-existing table is not an error. Instruct open_tables() to just take an MDL lock if the table does not exist. */ lex->query_tables->open_strategy= TABLE_LIST::OPEN_IF_EXISTS; lex->alter_info.reset(); lex->col_list.empty(); lex->change=NullS; bzero((char*) &lex->create_info,sizeof(lex->create_info)); lex->create_info.options=(yyvsp[(2) - (5)].num) | (yyvsp[(4) - (5)].num); lex->create_info.default_table_charset= NULL; lex->name.str= 0; lex->name.length= 0; lex->create_last_non_select_table= lex->last_table(); } break; case 104: /* Line 1455 of yacc.c */ #line 2056 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= YYTHD->lex; lex->current_select= &lex->select_lex; if ((lex->create_info.used_fields & HA_CREATE_USED_ENGINE) && !lex->create_info.db_type) { lex->create_info.db_type= ha_default_handlerton(YYTHD); push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_WARN, ER_WARN_USING_OTHER_HANDLER, ER(ER_WARN_USING_OTHER_HANDLER), ha_resolve_storage_engine_name(lex->create_info.db_type), (yyvsp[(5) - (7)].table)->table.str); } create_table_set_open_action_and_adjust_tables(lex); } break; case 105: /* Line 1455 of yacc.c */ #line 2072 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_create_index_prepare(Lex, (yyvsp[(7) - (7)].table))) MYSQL_YYABORT; } break; case 106: /* Line 1455 of yacc.c */ #line 2077 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_create_index(Lex, (yyvsp[(2) - (12)].key_type), (yyvsp[(4) - (12)].lex_str))) MYSQL_YYABORT; } break; case 107: /* Line 1455 of yacc.c */ #line 2083 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_create_index_prepare(Lex, (yyvsp[(7) - (7)].table))) MYSQL_YYABORT; } break; case 108: /* Line 1455 of yacc.c */ #line 2088 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_create_index(Lex, (yyvsp[(2) - (12)].key_type), (yyvsp[(4) - (12)].lex_str))) MYSQL_YYABORT; } break; case 109: /* Line 1455 of yacc.c */ #line 2094 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_create_index_prepare(Lex, (yyvsp[(7) - (7)].table))) MYSQL_YYABORT; } break; case 110: /* Line 1455 of yacc.c */ #line 2099 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_create_index(Lex, (yyvsp[(2) - (12)].key_type), (yyvsp[(4) - (12)].lex_str))) MYSQL_YYABORT; } break; case 111: /* Line 1455 of yacc.c */ #line 2104 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.default_table_charset= NULL; Lex->create_info.used_fields= 0; } break; case 112: /* Line 1455 of yacc.c */ #line 2109 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command=SQLCOM_CREATE_DB; lex->name= (yyvsp[(4) - (6)].lex_str); lex->create_info.options=(yyvsp[(3) - (6)].num); } break; case 113: /* Line 1455 of yacc.c */ #line 2116 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_view_mode= VIEW_CREATE_NEW; Lex->create_view_algorithm= VIEW_ALGORITHM_UNDEFINED; Lex->create_view_suid= TRUE; } break; case 114: /* Line 1455 of yacc.c */ #line 2122 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 115: /* Line 1455 of yacc.c */ #line 2124 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_CREATE_USER; } break; case 116: /* Line 1455 of yacc.c */ #line 2128 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->alter_tablespace_info->ts_cmd_type= CREATE_LOGFILE_GROUP; } break; case 117: /* Line 1455 of yacc.c */ #line 2132 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->alter_tablespace_info->ts_cmd_type= CREATE_TABLESPACE; } break; case 118: /* Line 1455 of yacc.c */ #line 2136 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_CREATE_SERVER; } break; case 119: /* Line 1455 of yacc.c */ #line 2147 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->server_options.server_name= (yyvsp[(2) - (10)].lex_str).str; Lex->server_options.server_name_length= (yyvsp[(2) - (10)].lex_str).length; Lex->server_options.scheme= (yyvsp[(6) - (10)].lex_str).str; } break; case 122: /* Line 1455 of yacc.c */ #line 2161 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->server_options.username= (yyvsp[(2) - (2)].lex_str).str; } break; case 123: /* Line 1455 of yacc.c */ #line 2165 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->server_options.host= (yyvsp[(2) - (2)].lex_str).str; } break; case 124: /* Line 1455 of yacc.c */ #line 2169 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->server_options.db= (yyvsp[(2) - (2)].lex_str).str; } break; case 125: /* Line 1455 of yacc.c */ #line 2173 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->server_options.owner= (yyvsp[(2) - (2)].lex_str).str; } break; case 126: /* Line 1455 of yacc.c */ #line 2177 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->server_options.password= (yyvsp[(2) - (2)].lex_str).str; } break; case 127: /* Line 1455 of yacc.c */ #line 2181 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->server_options.socket= (yyvsp[(2) - (2)].lex_str).str; } break; case 128: /* Line 1455 of yacc.c */ #line 2185 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->server_options.port= (yyvsp[(2) - (2)].ulong_num); } break; case 129: /* Line 1455 of yacc.c */ #line 2192 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex=Lex; lex->stmt_definition_begin= (yyvsp[(1) - (4)].simple_string); lex->create_info.options= (yyvsp[(3) - (4)].num); if (!(lex->event_parse_data= Event_parse_data::new_instance(thd))) MYSQL_YYABORT; lex->event_parse_data->identifier= (yyvsp[(4) - (4)].spname); lex->event_parse_data->on_completion= Event_parse_data::ON_COMPLETION_DROP; lex->sql_command= SQLCOM_CREATE_EVENT; /* We need that for disallowing subqueries */ } break; case 130: /* Line 1455 of yacc.c */ #line 2212 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* sql_command is set here because some rules in ev_sql_stmt can overwrite it */ Lex->sql_command= SQLCOM_CREATE_EVENT; } break; case 131: /* Line 1455 of yacc.c */ #line 2223 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->item_expression= (yyvsp[(2) - (3)].item); Lex->event_parse_data->interval= (yyvsp[(3) - (3)].interval); } break; case 133: /* Line 1455 of yacc.c */ #line 2230 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->item_execute_at= (yyvsp[(2) - (2)].item); } break; case 134: /* Line 1455 of yacc.c */ #line 2236 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 135: /* Line 1455 of yacc.c */ #line 2238 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->status= Event_parse_data::ENABLED; Lex->event_parse_data->status_changed= true; (yyval.num)= 1; } break; case 136: /* Line 1455 of yacc.c */ #line 2244 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->status= Event_parse_data::SLAVESIDE_DISABLED; Lex->event_parse_data->status_changed= true; (yyval.num)= 1; } break; case 137: /* Line 1455 of yacc.c */ #line 2250 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->status= Event_parse_data::DISABLED; Lex->event_parse_data->status_changed= true; (yyval.num)= 1; } break; case 138: /* Line 1455 of yacc.c */ #line 2259 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Item *item= new (YYTHD->mem_root) Item_func_now_local(); if (item == NULL) MYSQL_YYABORT; Lex->event_parse_data->item_starts= item; } break; case 139: /* Line 1455 of yacc.c */ #line 2266 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->item_starts= (yyvsp[(2) - (2)].item); } break; case 141: /* Line 1455 of yacc.c */ #line 2274 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->item_ends= (yyvsp[(2) - (2)].item); } break; case 142: /* Line 1455 of yacc.c */ #line 2280 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 144: /* Line 1455 of yacc.c */ #line 2286 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->on_completion= Event_parse_data::ON_COMPLETION_PRESERVE; (yyval.num)= 1; } break; case 145: /* Line 1455 of yacc.c */ #line 2292 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->event_parse_data->on_completion= Event_parse_data::ON_COMPLETION_DROP; (yyval.num)= 1; } break; case 146: /* Line 1455 of yacc.c */ #line 2300 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 147: /* Line 1455 of yacc.c */ #line 2302 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->comment= Lex->event_parse_data->comment= (yyvsp[(2) - (2)].lex_str); (yyval.num)= 1; } break; case 148: /* Line 1455 of yacc.c */ #line 2309 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; Lex_input_stream *lip= YYLIP; /* This stops the following : - CREATE EVENT ... DO CREATE EVENT ...; - ALTER EVENT ... DO CREATE EVENT ...; - CREATE EVENT ... DO ALTER EVENT DO ....; - CREATE PROCEDURE ... BEGIN CREATE EVENT ... END| This allows: - CREATE EVENT ... DO DROP EVENT yyy; - CREATE EVENT ... DO ALTER EVENT yyy; (the nested ALTER EVENT can have anything but DO clause) - ALTER EVENT ... DO ALTER EVENT yyy; (the nested ALTER EVENT can have anything but DO clause) - ALTER EVENT ... DO DROP EVENT yyy; - CREATE PROCEDURE ... BEGIN ALTER EVENT ... END| (the nested ALTER EVENT can have anything but DO clause) - CREATE PROCEDURE ... BEGIN DROP EVENT ... END| */ if (lex->sphead) { my_error(ER_EVENT_RECURSION_FORBIDDEN, MYF(0)); MYSQL_YYABORT; } if (!(lex->sphead= new sp_head())) MYSQL_YYABORT; lex->sphead->reset_thd_mem_root(thd); lex->sphead->init(lex); lex->sphead->init_sp_name(thd, lex->event_parse_data->identifier); lex->sphead->m_type= TYPE_ENUM_PROCEDURE; bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics)); lex->sphead->m_chistics= &lex->sp_chistics; lex->sphead->set_body_start(thd, lip->get_cpp_ptr()); } break; case 149: /* Line 1455 of yacc.c */ #line 2352 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; /* return back to the original memory root ASAP */ lex->sphead->set_stmt_end(thd); lex->sphead->restore_thd_mem_root(thd); lex->sp_chistics.suid= SP_IS_SUID; //always the definer! lex->event_parse_data->body_changed= TRUE; } break; case 163: /* Line 1455 of yacc.c */ #line 2384 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->users_list.empty(); lex->columns.empty(); lex->grant= lex->grant_tot_col= 0; lex->all_privileges= 0; lex->select_lex.db= 0; lex->ssl_type= SSL_TYPE_NOT_SPECIFIED; lex->ssl_cipher= lex->x509_subject= lex->x509_issuer= 0; bzero((char *)&(lex->mqh),sizeof(lex->mqh)); } break; case 164: /* Line 1455 of yacc.c */ #line 2399 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!(yyvsp[(1) - (3)].lex_str).str || check_db_name(&(yyvsp[(1) - (3)].lex_str))) { my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[(1) - (3)].lex_str).str); MYSQL_YYABORT; } if (check_routine_name(&(yyvsp[(3) - (3)].lex_str))) { MYSQL_YYABORT; } (yyval.spname)= new sp_name((yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].lex_str), true); if ((yyval.spname) == NULL) MYSQL_YYABORT; (yyval.spname)->init_qname(YYTHD); } break; case 165: /* Line 1455 of yacc.c */ #line 2415 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; LEX_STRING db; if (check_routine_name(&(yyvsp[(1) - (1)].lex_str))) { MYSQL_YYABORT; } if (lex->copy_db_to(&db.str, &db.length)) MYSQL_YYABORT; (yyval.spname)= new sp_name(db, (yyvsp[(1) - (1)].lex_str), false); if ((yyval.spname) == NULL) MYSQL_YYABORT; (yyval.spname)->init_qname(thd); } break; case 166: /* Line 1455 of yacc.c */ #line 2433 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 167: /* Line 1455 of yacc.c */ #line 2434 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 168: /* Line 1455 of yacc.c */ #line 2438 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 169: /* Line 1455 of yacc.c */ #line 2439 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 170: /* Line 1455 of yacc.c */ #line 2445 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.comment= (yyvsp[(2) - (2)].lex_str); } break; case 171: /* Line 1455 of yacc.c */ #line 2447 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* Just parse it, we only have one language for now. */ } break; case 172: /* Line 1455 of yacc.c */ #line 2449 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.daccess= SP_NO_SQL; } break; case 173: /* Line 1455 of yacc.c */ #line 2451 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.daccess= SP_CONTAINS_SQL; } break; case 174: /* Line 1455 of yacc.c */ #line 2453 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.daccess= SP_READS_SQL_DATA; } break; case 175: /* Line 1455 of yacc.c */ #line 2455 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.daccess= SP_MODIFIES_SQL_DATA; } break; case 176: /* Line 1455 of yacc.c */ #line 2457 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 177: /* Line 1455 of yacc.c */ #line 2462 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { } break; case 178: /* Line 1455 of yacc.c */ #line 2463 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.detistic= TRUE; } break; case 179: /* Line 1455 of yacc.c */ #line 2464 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.detistic= FALSE; } break; case 180: /* Line 1455 of yacc.c */ #line 2469 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.suid= SP_IS_SUID; } break; case 181: /* Line 1455 of yacc.c */ #line 2473 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sp_chistics.suid= SP_IS_NOT_SUID; } break; case 182: /* Line 1455 of yacc.c */ #line 2480 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex = Lex; lex->sql_command= SQLCOM_CALL; lex->spname= (yyvsp[(2) - (2)].spname); lex->value_list.empty(); sp_add_used_routine(lex, YYTHD, (yyvsp[(2) - (2)].spname), TYPE_ENUM_PROCEDURE); } break; case 183: /* Line 1455 of yacc.c */ #line 2488 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 188: /* Line 1455 of yacc.c */ #line 2504 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->value_list.push_back((yyvsp[(3) - (3)].item)); } break; case 189: /* Line 1455 of yacc.c */ #line 2508 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->value_list.push_back((yyvsp[(1) - (1)].item)); } break; case 194: /* Line 1455 of yacc.c */ #line 2526 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->length= 0; lex->dec= 0; lex->type= 0; lex->default_value= 0; lex->on_update_value= 0; lex->comment= null_lex_str; lex->charset= NULL; lex->interval_list.empty(); lex->uint_geom_type= 0; } break; case 195: /* Line 1455 of yacc.c */ #line 2546 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_pcontext *spc= lex->spcont; if (spc->find_variable(&(yyvsp[(1) - (3)].lex_str), TRUE)) { my_error(ER_SP_DUP_PARAM, MYF(0), (yyvsp[(1) - (3)].lex_str).str); MYSQL_YYABORT; } sp_variable_t *spvar= spc->push_variable(&(yyvsp[(1) - (3)].lex_str), (enum enum_field_types)(yyvsp[(3) - (3)].num), sp_param_in); if (lex->sphead->fill_field_definition(YYTHD, lex, (enum enum_field_types) (yyvsp[(3) - (3)].num), &spvar->field_def)) { MYSQL_YYABORT; } spvar->field_def.field_name= spvar->name.str; spvar->field_def.pack_flag |= FIELDFLAG_MAYBE_NULL; } break; case 200: /* Line 1455 of yacc.c */ #line 2583 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_pcontext *spc= lex->spcont; if (spc->find_variable(&(yyvsp[(3) - (4)].lex_str), TRUE)) { my_error(ER_SP_DUP_PARAM, MYF(0), (yyvsp[(3) - (4)].lex_str).str); MYSQL_YYABORT; } sp_variable_t *spvar= spc->push_variable(&(yyvsp[(3) - (4)].lex_str), (enum enum_field_types)(yyvsp[(4) - (4)].num), (sp_param_mode_t)(yyvsp[(1) - (4)].num)); if (lex->sphead->fill_field_definition(YYTHD, lex, (enum enum_field_types) (yyvsp[(4) - (4)].num), &spvar->field_def)) { MYSQL_YYABORT; } spvar->field_def.field_name= spvar->name.str; spvar->field_def.pack_flag |= FIELDFLAG_MAYBE_NULL; } break; case 201: /* Line 1455 of yacc.c */ #line 2608 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= sp_param_in; } break; case 202: /* Line 1455 of yacc.c */ #line 2609 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= sp_param_in; } break; case 203: /* Line 1455 of yacc.c */ #line 2610 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= sp_param_out; } break; case 204: /* Line 1455 of yacc.c */ #line 2611 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= sp_param_inout; } break; case 205: /* Line 1455 of yacc.c */ #line 2615 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 207: /* Line 1455 of yacc.c */ #line 2620 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 209: /* Line 1455 of yacc.c */ #line 2626 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0; } break; case 210: /* Line 1455 of yacc.c */ #line 2630 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* We check for declarations out of (standard) order this way because letting the grammar rules reflect it caused tricky shift/reduce conflicts with the wrong result. (And we get better error handling this way.) */ if (((yyvsp[(2) - (3)].spblock).vars || (yyvsp[(2) - (3)].spblock).conds) && ((yyvsp[(1) - (3)].spblock).curs || (yyvsp[(1) - (3)].spblock).hndlrs)) { /* Variable or condition following cursor or handler */ my_message(ER_SP_VARCOND_AFTER_CURSHNDLR, ER(ER_SP_VARCOND_AFTER_CURSHNDLR), MYF(0)); MYSQL_YYABORT; } if ((yyvsp[(2) - (3)].spblock).curs && (yyvsp[(1) - (3)].spblock).hndlrs) { /* Cursor following handler */ my_message(ER_SP_CURSOR_AFTER_HANDLER, ER(ER_SP_CURSOR_AFTER_HANDLER), MYF(0)); MYSQL_YYABORT; } (yyval.spblock).vars= (yyvsp[(1) - (3)].spblock).vars + (yyvsp[(2) - (3)].spblock).vars; (yyval.spblock).conds= (yyvsp[(1) - (3)].spblock).conds + (yyvsp[(2) - (3)].spblock).conds; (yyval.spblock).hndlrs= (yyvsp[(1) - (3)].spblock).hndlrs + (yyvsp[(2) - (3)].spblock).hndlrs; (yyval.spblock).curs= (yyvsp[(1) - (3)].spblock).curs + (yyvsp[(2) - (3)].spblock).curs; } break; case 211: /* Line 1455 of yacc.c */ #line 2656 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sphead->reset_lex(YYTHD); lex->spcont->declare_var_boundary((yyvsp[(2) - (2)].num)); } break; case 212: /* Line 1455 of yacc.c */ #line 2664 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= Lex; sp_pcontext *pctx= lex->spcont; uint num_vars= pctx->context_var_count(); enum enum_field_types var_type= (enum enum_field_types) (yyvsp[(4) - (5)].num); Item *dflt_value_item= (yyvsp[(5) - (5)].item); if (!dflt_value_item) { dflt_value_item= new (thd->mem_root) Item_null(); if (dflt_value_item == NULL) MYSQL_YYABORT; /* QQ Set to the var_type with null_value? */ } for (uint i = num_vars-(yyvsp[(2) - (5)].num) ; i < num_vars ; i++) { uint var_idx= pctx->var_context2runtime(i); sp_variable_t *spvar= pctx->find_variable(var_idx); if (!spvar) MYSQL_YYABORT; spvar->type= var_type; spvar->dflt= dflt_value_item; if (lex->sphead->fill_field_definition(YYTHD, lex, var_type, &spvar->field_def)) { MYSQL_YYABORT; } spvar->field_def.field_name= spvar->name.str; spvar->field_def.pack_flag |= FIELDFLAG_MAYBE_NULL; /* The last instruction is responsible for freeing LEX. */ sp_instr_set *is= new sp_instr_set(lex->sphead->instructions(), pctx, var_idx, dflt_value_item, var_type, lex, (i == num_vars - 1)); if (is == NULL || lex->sphead->add_instr(is)) MYSQL_YYABORT; } pctx->declare_var_boundary(0); if (lex->sphead->restore_lex(YYTHD)) MYSQL_YYABORT; (yyval.spblock).vars= (yyvsp[(2) - (5)].num); (yyval.spblock).conds= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0; } break; case 213: /* Line 1455 of yacc.c */ #line 2721 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_pcontext *spc= lex->spcont; if (spc->find_cond(&(yyvsp[(2) - (5)].lex_str), TRUE)) { my_error(ER_SP_DUP_COND, MYF(0), (yyvsp[(2) - (5)].lex_str).str); MYSQL_YYABORT; } if(YYTHD->lex->spcont->push_cond(&(yyvsp[(2) - (5)].lex_str), (yyvsp[(5) - (5)].spcondtype))) MYSQL_YYABORT; (yyval.spblock).vars= (yyval.spblock).hndlrs= (yyval.spblock).curs= 0; (yyval.spblock).conds= 1; } break; case 214: /* Line 1455 of yacc.c */ #line 2736 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; lex->spcont= lex->spcont->push_context(LABEL_HANDLER_SCOPE); sp_pcontext *ctx= lex->spcont; sp_instr_hpush_jump *i= new sp_instr_hpush_jump(sp->instructions(), ctx, (yyvsp[(2) - (4)].num), ctx->current_var_count()); if (i == NULL || sp->add_instr(i)) MYSQL_YYABORT; /* For continue handlers, mark end of handler scope. */ if ((yyvsp[(2) - (4)].num) == SP_HANDLER_CONTINUE && sp->push_backpatch(i, ctx->last_label())) MYSQL_YYABORT; if (sp->push_backpatch(i, ctx->push_label(empty_c_string, 0))) MYSQL_YYABORT; } break; case 215: /* Line 1455 of yacc.c */ #line 2758 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *ctx= lex->spcont; sp_label_t *hlab= lex->spcont->pop_label(); /* After this hdlr */ sp_instr_hreturn *i; if ((yyvsp[(2) - (7)].num) == SP_HANDLER_CONTINUE) { i= new sp_instr_hreturn(sp->instructions(), ctx, ctx->current_var_count()); if (i == NULL || sp->add_instr(i)) MYSQL_YYABORT; } else { /* EXIT or UNDO handler, just jump to the end of the block */ i= new sp_instr_hreturn(sp->instructions(), ctx, 0); if (i == NULL || sp->add_instr(i) || sp->push_backpatch(i, lex->spcont->last_label())) /* Block end */ MYSQL_YYABORT; } lex->sphead->backpatch(hlab); lex->spcont= ctx->pop_context(); (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).curs= 0; (yyval.spblock).hndlrs= (yyvsp[(6) - (7)].num); lex->spcont->add_handlers((yyvsp[(6) - (7)].num)); } break; case 216: /* Line 1455 of yacc.c */ #line 2790 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *ctx= lex->spcont; uint offp; sp_instr_cpush *i; if (ctx->find_cursor(&(yyvsp[(2) - (5)].lex_str), &offp, TRUE)) { my_error(ER_SP_DUP_CURS, MYF(0), (yyvsp[(2) - (5)].lex_str).str); delete (yyvsp[(5) - (5)].lex); MYSQL_YYABORT; } i= new sp_instr_cpush(sp->instructions(), ctx, (yyvsp[(5) - (5)].lex), ctx->current_cursor_count()); if (i == NULL || sp->add_instr(i) || ctx->push_cursor(&(yyvsp[(2) - (5)].lex_str))) MYSQL_YYABORT; (yyval.spblock).vars= (yyval.spblock).conds= (yyval.spblock).hndlrs= 0; (yyval.spblock).curs= 1; } break; case 217: /* Line 1455 of yacc.c */ #line 2815 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sphead->reset_lex(YYTHD); } break; case 218: /* Line 1455 of yacc.c */ #line 2819 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; DBUG_ASSERT(lex->sql_command == SQLCOM_SELECT); if (lex->result) { my_message(ER_SP_BAD_CURSOR_SELECT, ER(ER_SP_BAD_CURSOR_SELECT), MYF(0)); MYSQL_YYABORT; } lex->sp_lex_in_use= TRUE; (yyval.lex)= lex; if (lex->sphead->restore_lex(YYTHD)) MYSQL_YYABORT; } break; case 219: /* Line 1455 of yacc.c */ #line 2838 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= SP_HANDLER_EXIT; } break; case 220: /* Line 1455 of yacc.c */ #line 2839 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= SP_HANDLER_CONTINUE; } break; case 221: /* Line 1455 of yacc.c */ #line 2845 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 222: /* Line 1455 of yacc.c */ #line 2847 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)+= 1; } break; case 223: /* Line 1455 of yacc.c */ #line 2852 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *ctx= lex->spcont->parent_context(); if (ctx->find_handler((yyvsp[(1) - (1)].spcondtype))) { my_message(ER_SP_DUP_HANDLER, ER(ER_SP_DUP_HANDLER), MYF(0)); MYSQL_YYABORT; } else { sp_instr_hpush_jump *i= (sp_instr_hpush_jump *)sp->last_instruction(); i->add_condition((yyvsp[(1) - (1)].spcondtype)); ctx->push_handler((yyvsp[(1) - (1)].spcondtype)); } } break; case 224: /* Line 1455 of yacc.c */ #line 2875 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* mysql errno */ if ((yyvsp[(1) - (1)].ulong_num) == 0) { my_error(ER_WRONG_VALUE, MYF(0), "CONDITION", "0"); MYSQL_YYABORT; } (yyval.spcondtype)= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t)); if ((yyval.spcondtype) == NULL) MYSQL_YYABORT; (yyval.spcondtype)->type= sp_cond_type_t::number; (yyval.spcondtype)->mysqlerr= (yyvsp[(1) - (1)].ulong_num); } break; case 226: /* Line 1455 of yacc.c */ #line 2892 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* SQLSTATE */ if (!sp_cond_check(&(yyvsp[(3) - (3)].lex_str))) { my_error(ER_SP_BAD_SQLSTATE, MYF(0), (yyvsp[(3) - (3)].lex_str).str); MYSQL_YYABORT; } (yyval.spcondtype)= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t)); if ((yyval.spcondtype) == NULL) MYSQL_YYABORT; (yyval.spcondtype)->type= sp_cond_type_t::state; memcpy((yyval.spcondtype)->sqlstate, (yyvsp[(3) - (3)].lex_str).str, SQLSTATE_LENGTH); (yyval.spcondtype)->sqlstate[SQLSTATE_LENGTH]= '\0'; } break; case 227: /* Line 1455 of yacc.c */ #line 2908 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 228: /* Line 1455 of yacc.c */ #line 2909 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 229: /* Line 1455 of yacc.c */ #line 2914 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.spcondtype)= (yyvsp[(1) - (1)].spcondtype); } break; case 230: /* Line 1455 of yacc.c */ #line 2918 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.spcondtype)= Lex->spcont->find_cond(&(yyvsp[(1) - (1)].lex_str)); if ((yyval.spcondtype) == NULL) { my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[(1) - (1)].lex_str).str); MYSQL_YYABORT; } } break; case 231: /* Line 1455 of yacc.c */ #line 2927 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.spcondtype)= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t)); if ((yyval.spcondtype) == NULL) MYSQL_YYABORT; (yyval.spcondtype)->type= sp_cond_type_t::warning; } break; case 232: /* Line 1455 of yacc.c */ #line 2934 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.spcondtype)= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t)); if ((yyval.spcondtype) == NULL) MYSQL_YYABORT; (yyval.spcondtype)->type= sp_cond_type_t::notfound; } break; case 233: /* Line 1455 of yacc.c */ #line 2941 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.spcondtype)= (sp_cond_type_t *)YYTHD->alloc(sizeof(sp_cond_type_t)); if ((yyval.spcondtype) == NULL) MYSQL_YYABORT; (yyval.spcondtype)->type= sp_cond_type_t::exception; } break; case 234: /* Line 1455 of yacc.c */ #line 2951 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; Yacc_state *state= & thd->m_parser_state->m_yacc; lex->sql_command= SQLCOM_SIGNAL; lex->m_stmt= new (thd->mem_root) Signal_statement(lex, (yyvsp[(2) - (3)].spcondtype), state->m_set_signal_info); if (lex->m_stmt == NULL) MYSQL_YYABORT; } break; case 235: /* Line 1455 of yacc.c */ #line 2966 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_cond_type_t *cond; if (lex->spcont == NULL) { /* SIGNAL foo cannot be used outside of stored programs */ my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[(1) - (1)].lex_str).str); MYSQL_YYABORT; } cond= lex->spcont->find_cond(&(yyvsp[(1) - (1)].lex_str)); if (cond == NULL) { my_error(ER_SP_COND_MISMATCH, MYF(0), (yyvsp[(1) - (1)].lex_str).str); MYSQL_YYABORT; } if (cond->type != sp_cond_type_t::state) { my_error(ER_SIGNAL_BAD_CONDITION_TYPE, MYF(0)); MYSQL_YYABORT; } (yyval.spcondtype)= cond; } break; case 236: /* Line 1455 of yacc.c */ #line 2989 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.spcondtype)= (yyvsp[(1) - (1)].spcondtype); } break; case 237: /* Line 1455 of yacc.c */ #line 2994 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.spcondtype)= NULL; } break; case 238: /* Line 1455 of yacc.c */ #line 2996 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.spcondtype)= (yyvsp[(1) - (1)].spcondtype); } break; case 239: /* Line 1455 of yacc.c */ #line 3001 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { YYTHD->m_parser_state->m_yacc.m_set_signal_info.clear(); } break; case 241: /* Line 1455 of yacc.c */ #line 3009 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Set_signal_information *info; info= & YYTHD->m_parser_state->m_yacc.m_set_signal_info; int index= (int) (yyvsp[(1) - (3)].diag_condition_item_name); info->clear(); info->m_item[index]= (yyvsp[(3) - (3)].item); } break; case 242: /* Line 1455 of yacc.c */ #line 3018 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Set_signal_information *info; info= & YYTHD->m_parser_state->m_yacc.m_set_signal_info; int index= (int) (yyvsp[(3) - (5)].diag_condition_item_name); if (info->m_item[index] != NULL) { my_error(ER_DUP_SIGNAL_SET, MYF(0), Diag_condition_item_names[index].str); MYSQL_YYABORT; } info->m_item[index]= (yyvsp[(5) - (5)].item); } break; case 243: /* Line 1455 of yacc.c */ #line 3037 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(1) - (1)].item); } break; case 244: /* Line 1455 of yacc.c */ #line 3039 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if ((yyvsp[(1) - (1)].item)->type() == Item::FUNC_ITEM) { Item_func *item= (Item_func*) (yyvsp[(1) - (1)].item); if (item->functype() == Item_func::SUSERVAR_FUNC) { /* Don't allow the following syntax: SIGNAL/RESIGNAL ... SET = @foo := expr */ my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } } (yyval.item)= (yyvsp[(1) - (1)].item); } break; case 245: /* Line 1455 of yacc.c */ #line 3057 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(1) - (1)].item); } break; case 246: /* Line 1455 of yacc.c */ #line 3063 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CLASS_ORIGIN; } break; case 247: /* Line 1455 of yacc.c */ #line 3065 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_SUBCLASS_ORIGIN; } break; case 248: /* Line 1455 of yacc.c */ #line 3067 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_CATALOG; } break; case 249: /* Line 1455 of yacc.c */ #line 3069 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_SCHEMA; } break; case 250: /* Line 1455 of yacc.c */ #line 3071 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CONSTRAINT_NAME; } break; case 251: /* Line 1455 of yacc.c */ #line 3073 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CATALOG_NAME; } break; case 252: /* Line 1455 of yacc.c */ #line 3075 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_SCHEMA_NAME; } break; case 253: /* Line 1455 of yacc.c */ #line 3077 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_TABLE_NAME; } break; case 254: /* Line 1455 of yacc.c */ #line 3079 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_COLUMN_NAME; } break; case 255: /* Line 1455 of yacc.c */ #line 3081 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_CURSOR_NAME; } break; case 256: /* Line 1455 of yacc.c */ #line 3083 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_MESSAGE_TEXT; } break; case 257: /* Line 1455 of yacc.c */ #line 3085 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.diag_condition_item_name)= DIAG_MYSQL_ERRNO; } break; case 258: /* Line 1455 of yacc.c */ #line 3090 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; Yacc_state *state= & thd->m_parser_state->m_yacc; lex->sql_command= SQLCOM_RESIGNAL; lex->m_stmt= new (thd->mem_root) Resignal_statement(lex, (yyvsp[(2) - (3)].spcondtype), state->m_set_signal_info); if (lex->m_stmt == NULL) MYSQL_YYABORT; } break; case 259: /* Line 1455 of yacc.c */ #line 3105 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* NOTE: field definition is filled in sp_decl section. */ LEX *lex= Lex; sp_pcontext *spc= lex->spcont; if (spc->find_variable(&(yyvsp[(1) - (1)].lex_str), TRUE)) { my_error(ER_SP_DUP_VAR, MYF(0), (yyvsp[(1) - (1)].lex_str).str); MYSQL_YYABORT; } spc->push_variable(&(yyvsp[(1) - (1)].lex_str), (enum_field_types)0, sp_param_in); (yyval.num)= 1; } break; case 260: /* Line 1455 of yacc.c */ #line 3120 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* NOTE: field definition is filled in sp_decl section. */ LEX *lex= Lex; sp_pcontext *spc= lex->spcont; if (spc->find_variable(&(yyvsp[(3) - (3)].lex_str), TRUE)) { my_error(ER_SP_DUP_VAR, MYF(0), (yyvsp[(3) - (3)].lex_str).str); MYSQL_YYABORT; } spc->push_variable(&(yyvsp[(3) - (3)].lex_str), (enum_field_types)0, sp_param_in); (yyval.num)= (yyvsp[(1) - (3)].num) + 1; } break; case 261: /* Line 1455 of yacc.c */ #line 3137 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item) = NULL; } break; case 262: /* Line 1455 of yacc.c */ #line 3138 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[(2) - (2)].item); } break; case 276: /* Line 1455 of yacc.c */ #line 3159 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sphead->new_cont_backpatch(NULL); } break; case 277: /* Line 1455 of yacc.c */ #line 3161 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sphead->do_cont_backpatch(); } break; case 278: /* Line 1455 of yacc.c */ #line 3165 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; Lex_input_stream *lip= YYLIP; lex->sphead->reset_lex(thd); lex->sphead->m_tmp_query= lip->get_tok_start(); } break; case 279: /* Line 1455 of yacc.c */ #line 3174 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; Lex_input_stream *lip= YYLIP; sp_head *sp= lex->sphead; sp->m_flags|= sp_get_flags_for_command(lex); if (lex->sql_command == SQLCOM_CHANGE_DB) { /* "USE db" doesn't work in a procedure */ my_error(ER_SP_BADSTATEMENT, MYF(0), "USE"); MYSQL_YYABORT; } /* Don't add an instruction for SET statements, since all instructions for them were already added during processing of "set" rule. */ DBUG_ASSERT(lex->sql_command != SQLCOM_SET_OPTION || lex->var_list.is_empty()); if (lex->sql_command != SQLCOM_SET_OPTION) { sp_instr_stmt *i=new sp_instr_stmt(sp->instructions(), lex->spcont, lex); if (i == NULL) MYSQL_YYABORT; /* Extract the query statement from the tokenizer. The end is either lex->ptr, if there was no lookahead, lex->tok_end otherwise. */ if (yychar == YYEMPTY) i->m_query.length= lip->get_ptr() - sp->m_tmp_query; else i->m_query.length= lip->get_tok_end() - sp->m_tmp_query; if (!(i->m_query.str= strmake_root(thd->mem_root, sp->m_tmp_query, i->m_query.length)) || sp->add_instr(i)) MYSQL_YYABORT; } if (sp->restore_lex(thd)) MYSQL_YYABORT; } break; case 280: /* Line 1455 of yacc.c */ #line 3222 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sphead->reset_lex(YYTHD); } break; case 281: /* Line 1455 of yacc.c */ #line 3224 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; if (sp->m_type != TYPE_ENUM_FUNCTION) { my_message(ER_SP_BADRETURN, ER(ER_SP_BADRETURN), MYF(0)); MYSQL_YYABORT; } else { sp_instr_freturn *i; i= new sp_instr_freturn(sp->instructions(), lex->spcont, (yyvsp[(3) - (3)].item), sp->m_return_field_def.sql_type, lex); if (i == NULL || sp->add_instr(i)) MYSQL_YYABORT; sp->m_flags|= sp_head::HAS_RETURN; } if (sp->restore_lex(YYTHD)) MYSQL_YYABORT; } break; case 282: /* Line 1455 of yacc.c */ #line 3250 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* Unlabeled controls get a secret label. */ LEX *lex= Lex; lex->spcont->push_label((char *)"", lex->sphead->instructions()); } break; case 283: /* Line 1455 of yacc.c */ #line 3256 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sphead->backpatch(lex->spcont->pop_label()); } break; case 284: /* Line 1455 of yacc.c */ #line 3265 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp = lex->sphead; sp_pcontext *ctx= lex->spcont; sp_label_t *lab= ctx->find_label((yyvsp[(2) - (2)].lex_str).str); if (! lab) { my_error(ER_SP_LILABEL_MISMATCH, MYF(0), "LEAVE", (yyvsp[(2) - (2)].lex_str).str); MYSQL_YYABORT; } else { sp_instr_jump *i; uint ip= sp->instructions(); uint n; /* When jumping to a BEGIN-END block end, the target jump points to the block hpop/cpop cleanup instructions, so we should exclude the block context here. When jumping to something else (i.e., SP_LAB_ITER), there are no hpop/cpop at the jump destination, so we should include the block context here for cleanup. */ bool exclusive= (lab->type == SP_LAB_BEGIN); n= ctx->diff_handlers(lab->ctx, exclusive); if (n) { sp_instr_hpop *hpop= new sp_instr_hpop(ip++, ctx, n); if (hpop == NULL) MYSQL_YYABORT; sp->add_instr(hpop); } n= ctx->diff_cursors(lab->ctx, exclusive); if (n) { sp_instr_cpop *cpop= new sp_instr_cpop(ip++, ctx, n); if (cpop == NULL) MYSQL_YYABORT; sp->add_instr(cpop); } i= new sp_instr_jump(ip, ctx); if (i == NULL) MYSQL_YYABORT; sp->push_backpatch(i, lab); /* Jumping forward */ sp->add_instr(i); } } break; case 285: /* Line 1455 of yacc.c */ #line 3318 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *ctx= lex->spcont; sp_label_t *lab= ctx->find_label((yyvsp[(2) - (2)].lex_str).str); if (! lab || lab->type != SP_LAB_ITER) { my_error(ER_SP_LILABEL_MISMATCH, MYF(0), "ITERATE", (yyvsp[(2) - (2)].lex_str).str); MYSQL_YYABORT; } else { sp_instr_jump *i; uint ip= sp->instructions(); uint n; n= ctx->diff_handlers(lab->ctx, FALSE); /* Inclusive the dest. */ if (n) { sp_instr_hpop *hpop= new sp_instr_hpop(ip++, ctx, n); if (hpop == NULL || sp->add_instr(hpop)) MYSQL_YYABORT; } n= ctx->diff_cursors(lab->ctx, FALSE); /* Inclusive the dest. */ if (n) { sp_instr_cpop *cpop= new sp_instr_cpop(ip++, ctx, n); if (cpop == NULL || sp->add_instr(cpop)) MYSQL_YYABORT; } i= new sp_instr_jump(ip, ctx, lab->ip); /* Jump back */ if (i == NULL || sp->add_instr(i)) MYSQL_YYABORT; } } break; case 286: /* Line 1455 of yacc.c */ #line 3361 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; uint offset; sp_instr_copen *i; if (! lex->spcont->find_cursor(&(yyvsp[(2) - (2)].lex_str), &offset)) { my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[(2) - (2)].lex_str).str); MYSQL_YYABORT; } i= new sp_instr_copen(sp->instructions(), lex->spcont, offset); if (i == NULL || sp->add_instr(i)) MYSQL_YYABORT; } break; case 287: /* Line 1455 of yacc.c */ #line 3381 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; uint offset; sp_instr_cfetch *i; if (! lex->spcont->find_cursor(&(yyvsp[(3) - (4)].lex_str), &offset)) { my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[(3) - (4)].lex_str).str); MYSQL_YYABORT; } i= new sp_instr_cfetch(sp->instructions(), lex->spcont, offset); if (i == NULL || sp->add_instr(i)) MYSQL_YYABORT; } break; case 288: /* Line 1455 of yacc.c */ #line 3398 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 289: /* Line 1455 of yacc.c */ #line 3403 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; uint offset; sp_instr_cclose *i; if (! lex->spcont->find_cursor(&(yyvsp[(2) - (2)].lex_str), &offset)) { my_error(ER_SP_CURSOR_MISMATCH, MYF(0), (yyvsp[(2) - (2)].lex_str).str); MYSQL_YYABORT; } i= new sp_instr_cclose(sp->instructions(), lex->spcont, offset); if (i == NULL || sp->add_instr(i)) MYSQL_YYABORT; } break; case 293: /* Line 1455 of yacc.c */ #line 3429 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *spc= lex->spcont; sp_variable_t *spv; if (!spc || !(spv = spc->find_variable(&(yyvsp[(1) - (1)].lex_str)))) { my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[(1) - (1)].lex_str).str); MYSQL_YYABORT; } else { /* An SP local variable */ sp_instr_cfetch *i= (sp_instr_cfetch *)sp->last_instruction(); i->add_to_varlist(spv); } } break; case 294: /* Line 1455 of yacc.c */ #line 3449 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *spc= lex->spcont; sp_variable_t *spv; if (!spc || !(spv = spc->find_variable(&(yyvsp[(3) - (3)].lex_str)))) { my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[(3) - (3)].lex_str).str); MYSQL_YYABORT; } else { /* An SP local variable */ sp_instr_cfetch *i= (sp_instr_cfetch *)sp->last_instruction(); i->add_to_varlist(spv); } } break; case 295: /* Line 1455 of yacc.c */ #line 3471 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sphead->reset_lex(YYTHD); } break; case 296: /* Line 1455 of yacc.c */ #line 3473 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *ctx= lex->spcont; uint ip= sp->instructions(); sp_instr_jump_if_not *i = new sp_instr_jump_if_not(ip, ctx, (yyvsp[(2) - (3)].item), lex); if (i == NULL || sp->push_backpatch(i, ctx->push_label((char *)"", 0)) || sp->add_cont_backpatch(i) || sp->add_instr(i)) MYSQL_YYABORT; if (sp->restore_lex(YYTHD)) MYSQL_YYABORT; } break; case 297: /* Line 1455 of yacc.c */ #line 3489 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { sp_head *sp= Lex->sphead; sp_pcontext *ctx= Lex->spcont; uint ip= sp->instructions(); sp_instr_jump *i = new sp_instr_jump(ip, ctx); if (i == NULL || sp->add_instr(i)) MYSQL_YYABORT; sp->backpatch(ctx->pop_label()); sp->push_backpatch(i, ctx->push_label((char *)"", 0)); } break; case 298: /* Line 1455 of yacc.c */ #line 3501 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sphead->backpatch(lex->spcont->pop_label()); } break; case 304: /* Line 1455 of yacc.c */ #line 3521 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; case_stmt_action_case(lex); lex->sphead->reset_lex(YYTHD); /* For expr $3 */ } break; case 305: /* Line 1455 of yacc.c */ #line 3527 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (case_stmt_action_expr(lex, (yyvsp[(3) - (3)].item))) MYSQL_YYABORT; /* For expr $3 */ if (lex->sphead->restore_lex(YYTHD)) MYSQL_YYABORT; } break; case 306: /* Line 1455 of yacc.c */ #line 3540 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; case_stmt_action_end_case(lex, true); } break; case 307: /* Line 1455 of yacc.c */ #line 3548 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; case_stmt_action_case(lex); } break; case 308: /* Line 1455 of yacc.c */ #line 3556 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; case_stmt_action_end_case(lex, false); } break; case 313: /* Line 1455 of yacc.c */ #line 3574 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sphead->reset_lex(YYTHD); /* For expr $3 */ } break; case 314: /* Line 1455 of yacc.c */ #line 3578 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* Simple case: = */ LEX *lex= Lex; if (case_stmt_action_when(lex, (yyvsp[(3) - (3)].item), true)) MYSQL_YYABORT; /* For expr $3 */ if (lex->sphead->restore_lex(YYTHD)) MYSQL_YYABORT; } break; case 315: /* Line 1455 of yacc.c */ #line 3590 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (case_stmt_action_then(lex)) MYSQL_YYABORT; } break; case 316: /* Line 1455 of yacc.c */ #line 3599 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sphead->reset_lex(YYTHD); /* For expr $3 */ } break; case 317: /* Line 1455 of yacc.c */ #line 3603 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (case_stmt_action_when(lex, (yyvsp[(3) - (3)].item), false)) MYSQL_YYABORT; /* For expr $3 */ if (lex->sphead->restore_lex(YYTHD)) MYSQL_YYABORT; } break; case 318: /* Line 1455 of yacc.c */ #line 3613 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (case_stmt_action_then(lex)) MYSQL_YYABORT; } break; case 319: /* Line 1455 of yacc.c */ #line 3622 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; uint ip= sp->instructions(); sp_instr_error *i= new sp_instr_error(ip, lex->spcont, ER_SP_CASE_NOT_FOUND); if (i == NULL || sp->add_instr(i)) MYSQL_YYABORT; } break; case 321: /* Line 1455 of yacc.c */ #line 3637 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_pcontext *ctx= lex->spcont; sp_label_t *lab= ctx->find_label((yyvsp[(1) - (2)].lex_str).str); if (lab) { my_error(ER_SP_LABEL_REDEFINE, MYF(0), (yyvsp[(1) - (2)].lex_str).str); MYSQL_YYABORT; } else { lab= lex->spcont->push_label((yyvsp[(1) - (2)].lex_str).str, lex->sphead->instructions()); lab->type= SP_LAB_ITER; } } break; case 322: /* Line 1455 of yacc.c */ #line 3655 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_label_t *lab= lex->spcont->pop_label(); if ((yyvsp[(5) - (5)].lex_str).str) { if (my_strcasecmp(system_charset_info, (yyvsp[(5) - (5)].lex_str).str, lab->name) != 0) { my_error(ER_SP_LABEL_MISMATCH, MYF(0), (yyvsp[(5) - (5)].lex_str).str); MYSQL_YYABORT; } } lex->sphead->backpatch(lab); } break; case 323: /* Line 1455 of yacc.c */ #line 3672 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= null_lex_str; } break; case 324: /* Line 1455 of yacc.c */ #line 3673 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); } break; case 325: /* Line 1455 of yacc.c */ #line 3678 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_pcontext *ctx= lex->spcont; sp_label_t *lab= ctx->find_label((yyvsp[(1) - (2)].lex_str).str); if (lab) { my_error(ER_SP_LABEL_REDEFINE, MYF(0), (yyvsp[(1) - (2)].lex_str).str); MYSQL_YYABORT; } lab= lex->spcont->push_label((yyvsp[(1) - (2)].lex_str).str, lex->sphead->instructions()); lab->type= SP_LAB_BEGIN; } break; case 326: /* Line 1455 of yacc.c */ #line 3694 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_label_t *lab= lex->spcont->pop_label(); if ((yyvsp[(5) - (5)].lex_str).str) { if (my_strcasecmp(system_charset_info, (yyvsp[(5) - (5)].lex_str).str, lab->name) != 0) { my_error(ER_SP_LABEL_MISMATCH, MYF(0), (yyvsp[(5) - (5)].lex_str).str); MYSQL_YYABORT; } } } break; case 327: /* Line 1455 of yacc.c */ #line 3710 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* Unlabeled blocks get a secret label. */ LEX *lex= Lex; uint ip= lex->sphead->instructions(); sp_label_t *lab= lex->spcont->push_label((char *)"", ip); lab->type= SP_LAB_BEGIN; } break; case 328: /* Line 1455 of yacc.c */ #line 3717 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->spcont->pop_label(); } break; case 329: /* Line 1455 of yacc.c */ #line 3725 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* QQ This is just a dummy for grouping declarations and statements together. No [[NOT] ATOMIC] yet, and we need to figure out how make it coexist with the existing BEGIN COMMIT/ROLLBACK. */ LEX *lex= Lex; lex->spcont= lex->spcont->push_context(LABEL_DEFAULT_SCOPE); } break; case 330: /* Line 1455 of yacc.c */ #line 3734 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; sp_pcontext *ctx= lex->spcont; sp_instr *i; sp->backpatch(ctx->last_label()); /* We always have a label */ if ((yyvsp[(3) - (5)].spblock).hndlrs) { i= new sp_instr_hpop(sp->instructions(), ctx, (yyvsp[(3) - (5)].spblock).hndlrs); if (i == NULL || sp->add_instr(i)) MYSQL_YYABORT; } if ((yyvsp[(3) - (5)].spblock).curs) { i= new sp_instr_cpop(sp->instructions(), ctx, (yyvsp[(3) - (5)].spblock).curs); if (i == NULL || sp->add_instr(i)) MYSQL_YYABORT; } lex->spcont= ctx->pop_context(); } break; case 331: /* Line 1455 of yacc.c */ #line 3762 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; uint ip= lex->sphead->instructions(); sp_label_t *lab= lex->spcont->last_label(); /* Jumping back */ sp_instr_jump *i = new sp_instr_jump(ip, lex->spcont, lab->ip); if (i == NULL || lex->sphead->add_instr(i)) MYSQL_YYABORT; } break; case 332: /* Line 1455 of yacc.c */ #line 3772 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sphead->reset_lex(YYTHD); } break; case 333: /* Line 1455 of yacc.c */ #line 3774 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; uint ip= sp->instructions(); sp_instr_jump_if_not *i = new sp_instr_jump_if_not(ip, lex->spcont, (yyvsp[(3) - (4)].item), lex); if (i == NULL || /* Jumping forward */ sp->push_backpatch(i, lex->spcont->last_label()) || sp->new_cont_backpatch(i) || sp->add_instr(i)) MYSQL_YYABORT; if (sp->restore_lex(YYTHD)) MYSQL_YYABORT; } break; case 334: /* Line 1455 of yacc.c */ #line 3790 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; uint ip= lex->sphead->instructions(); sp_label_t *lab= lex->spcont->last_label(); /* Jumping back */ sp_instr_jump *i = new sp_instr_jump(ip, lex->spcont, lab->ip); if (i == NULL || lex->sphead->add_instr(i)) MYSQL_YYABORT; lex->sphead->do_cont_backpatch(); } break; case 335: /* Line 1455 of yacc.c */ #line 3801 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sphead->reset_lex(YYTHD); } break; case 336: /* Line 1455 of yacc.c */ #line 3803 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; uint ip= lex->sphead->instructions(); sp_label_t *lab= lex->spcont->last_label(); /* Jumping back */ sp_instr_jump_if_not *i = new sp_instr_jump_if_not(ip, lex->spcont, (yyvsp[(5) - (7)].item), lab->ip, lex); if (i == NULL || lex->sphead->add_instr(i)) MYSQL_YYABORT; if (lex->sphead->restore_lex(YYTHD)) MYSQL_YYABORT; /* We can shortcut the cont_backpatch here */ i->m_cont_dest= ip+1; } break; case 337: /* Line 1455 of yacc.c */ #line 3822 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->trg_chistics.action_time= TRG_ACTION_BEFORE; } break; case 338: /* Line 1455 of yacc.c */ #line 3824 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->trg_chistics.action_time= TRG_ACTION_AFTER; } break; case 339: /* Line 1455 of yacc.c */ #line 3829 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->trg_chistics.event= TRG_EVENT_INSERT; } break; case 340: /* Line 1455 of yacc.c */ #line 3831 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->trg_chistics.event= TRG_EVENT_UPDATE; } break; case 341: /* Line 1455 of yacc.c */ #line 3833 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->trg_chistics.event= TRG_EVENT_DELETE; } break; case 345: /* Line 1455 of yacc.c */ #line 3867 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 346: /* Line 1455 of yacc.c */ #line 3869 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->logfile_group_name= (yyvsp[(4) - (4)].lex_str).str; } break; case 347: /* Line 1455 of yacc.c */ #line 3879 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_ADD_FILE; } break; case 348: /* Line 1455 of yacc.c */ #line 3885 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->alter_tablespace_info->ts_alter_tablespace_type= ALTER_TABLESPACE_DROP_FILE; } break; case 353: /* Line 1455 of yacc.c */ #line 3908 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 400: /* Line 1455 of yacc.c */ #line 4002 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->data_file_name= (yyvsp[(2) - (2)].lex_str).str; } break; case 401: /* Line 1455 of yacc.c */ #line 4010 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->undo_file_name= (yyvsp[(2) - (2)].lex_str).str; } break; case 402: /* Line 1455 of yacc.c */ #line 4018 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->redo_file_name= (yyvsp[(2) - (2)].lex_str).str; } break; case 403: /* Line 1455 of yacc.c */ #line 4026 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info= new st_alter_tablespace(); if (lex->alter_tablespace_info == NULL) MYSQL_YYABORT; lex->alter_tablespace_info->tablespace_name= (yyvsp[(1) - (1)].lex_str).str; lex->sql_command= SQLCOM_ALTER_TABLESPACE; } break; case 404: /* Line 1455 of yacc.c */ #line 4038 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info= new st_alter_tablespace(); if (lex->alter_tablespace_info == NULL) MYSQL_YYABORT; lex->alter_tablespace_info->logfile_group_name= (yyvsp[(1) - (1)].lex_str).str; lex->sql_command= SQLCOM_ALTER_TABLESPACE; } break; case 405: /* Line 1455 of yacc.c */ #line 4050 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_access_mode= TS_READ_ONLY; } break; case 406: /* Line 1455 of yacc.c */ #line 4055 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_access_mode= TS_READ_WRITE; } break; case 407: /* Line 1455 of yacc.c */ #line 4060 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_access_mode= TS_NOT_ACCESSIBLE; } break; case 408: /* Line 1455 of yacc.c */ #line 4068 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->initial_size= (yyvsp[(3) - (3)].ulonglong_number); } break; case 409: /* Line 1455 of yacc.c */ #line 4076 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->autoextend_size= (yyvsp[(3) - (3)].ulonglong_number); } break; case 410: /* Line 1455 of yacc.c */ #line 4084 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->max_size= (yyvsp[(3) - (3)].ulonglong_number); } break; case 411: /* Line 1455 of yacc.c */ #line 4092 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->extent_size= (yyvsp[(3) - (3)].ulonglong_number); } break; case 412: /* Line 1455 of yacc.c */ #line 4100 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->undo_buffer_size= (yyvsp[(3) - (3)].ulonglong_number); } break; case 413: /* Line 1455 of yacc.c */ #line 4108 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->redo_buffer_size= (yyvsp[(3) - (3)].ulonglong_number); } break; case 414: /* Line 1455 of yacc.c */ #line 4116 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->alter_tablespace_info->nodegroup_id != UNDEF_NODEGROUP) { my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"NODEGROUP"); MYSQL_YYABORT; } lex->alter_tablespace_info->nodegroup_id= (yyvsp[(3) - (3)].ulong_num); } break; case 415: /* Line 1455 of yacc.c */ #line 4129 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->alter_tablespace_info->ts_comment != NULL) { my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"COMMENT"); MYSQL_YYABORT; } lex->alter_tablespace_info->ts_comment= (yyvsp[(3) - (3)].lex_str).str; } break; case 416: /* Line 1455 of yacc.c */ #line 4142 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->alter_tablespace_info->storage_engine != NULL) { my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0), "STORAGE ENGINE"); MYSQL_YYABORT; } lex->alter_tablespace_info->storage_engine= (yyvsp[(4) - (4)].db_type); } break; case 419: /* Line 1455 of yacc.c */ #line 4161 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->wait_until_completed= TRUE; } break; case 420: /* Line 1455 of yacc.c */ #line 4166 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (!(lex->alter_tablespace_info->wait_until_completed)) { my_error(ER_FILEGROUP_OPTION_ONLY_ONCE,MYF(0),"NO_WAIT"); MYSQL_YYABORT; } lex->alter_tablespace_info->wait_until_completed= FALSE; } break; case 421: /* Line 1455 of yacc.c */ #line 4178 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.ulonglong_number)= (yyvsp[(1) - (1)].ulonglong_number);} break; case 422: /* Line 1455 of yacc.c */ #line 4180 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { ulonglong number; uint text_shift_number= 0; longlong prefix_number; char *start_ptr= (yyvsp[(1) - (1)].lex_str).str; uint str_len= (yyvsp[(1) - (1)].lex_str).length; char *end_ptr= start_ptr + str_len; int error; prefix_number= my_strtoll10(start_ptr, &end_ptr, &error); if ((start_ptr + str_len - 1) == end_ptr) { switch (end_ptr[0]) { case 'g': case 'G': text_shift_number+=10; case 'm': case 'M': text_shift_number+=10; case 'k': case 'K': text_shift_number+=10; break; default: { my_error(ER_WRONG_SIZE_NUMBER, MYF(0)); MYSQL_YYABORT; } } if (prefix_number >> 31) { my_error(ER_SIZE_OVERFLOW_ERROR, MYF(0)); MYSQL_YYABORT; } number= prefix_number << text_shift_number; } else { my_error(ER_WRONG_SIZE_NUMBER, MYF(0)); MYSQL_YYABORT; } (yyval.ulonglong_number)= number; } break; case 423: /* Line 1455 of yacc.c */ #line 4230 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 424: /* Line 1455 of yacc.c */ #line 4233 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 425: /* Line 1455 of yacc.c */ #line 4235 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; TABLE_LIST *src_table; LEX *lex= thd->lex; lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE; src_table= lex->select_lex.add_table_to_list(thd, (yyvsp[(2) - (2)].table), NULL, 0, TL_READ, MDL_SHARED_READ); if (! src_table) MYSQL_YYABORT; /* CREATE TABLE ... LIKE is not allowed for views. */ src_table->required_type= FRMTYPE_TABLE; } break; case 426: /* Line 1455 of yacc.c */ #line 4250 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; TABLE_LIST *src_table; LEX *lex= thd->lex; lex->create_info.options|= HA_LEX_CREATE_TABLE_LIKE; src_table= lex->select_lex.add_table_to_list(thd, (yyvsp[(3) - (4)].table), NULL, 0, TL_READ, MDL_SHARED_READ); if (! src_table) MYSQL_YYABORT; /* CREATE TABLE ... LIKE is not allowed for views. */ src_table->required_type= FRMTYPE_TABLE; } break; case 427: /* Line 1455 of yacc.c */ #line 4269 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 428: /* Line 1455 of yacc.c */ #line 4272 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->set_braces(1);} break; case 429: /* Line 1455 of yacc.c */ #line 4273 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 430: /* Line 1455 of yacc.c */ #line 4277 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 431: /* Line 1455 of yacc.c */ #line 4279 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->set_braces(0);} break; case 432: /* Line 1455 of yacc.c */ #line 4280 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 433: /* Line 1455 of yacc.c */ #line 4282 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->set_braces(1);} break; case 434: /* Line 1455 of yacc.c */ #line 4283 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 435: /* Line 1455 of yacc.c */ #line 4288 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* Remove all tables used in PARTITION clause from the global table list. Partitioning with subqueries is not allowed anyway. */ TABLE_LIST *last_non_sel_table= Lex->create_last_non_select_table; last_non_sel_table->next_global= 0; Lex->query_tables_last= &last_non_sel_table->next_global; } break; case 436: /* Line 1455 of yacc.c */ #line 4324 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 438: /* Line 1455 of yacc.c */ #line 4330 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->part_info= new partition_info(); if (!lex->part_info) { mem_alloc_error(sizeof(partition_info)); MYSQL_YYABORT; } if (lex->sql_command == SQLCOM_ALTER_TABLE) { lex->alter_info.flags|= ALTER_PARTITION; } } break; case 440: /* Line 1455 of yacc.c */ #line 4348 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { #ifdef WITH_PARTITION_STORAGE_ENGINE LEX_STRING partition_name={C_STRING_WITH_LEN("partition")}; if (!plugin_is_ready(&partition_name, MYSQL_STORAGE_ENGINE_PLUGIN)) { my_error(ER_OPTION_PREVENTS_STATEMENT, MYF(0), "--skip-partition"); MYSQL_YYABORT; } #else my_error(ER_FEATURE_DISABLED, MYF(0), "partitioning", "--with-plugin-partition"); MYSQL_YYABORT; #endif } break; case 441: /* Line 1455 of yacc.c */ #line 4367 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (!lex->part_info) { my_parse_error(ER(ER_PARTITION_ENTRY_ERROR)); MYSQL_YYABORT; } /* We enter here when opening the frm file to translate partition info string into part_info data structure. */ } break; case 442: /* Line 1455 of yacc.c */ #line 4379 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 444: /* Line 1455 of yacc.c */ #line 4388 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->list_of_part_fields= TRUE; part_info->column_list= FALSE; part_info->part_type= HASH_PARTITION; } break; case 445: /* Line 1455 of yacc.c */ #line 4395 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->part_info->part_type= HASH_PARTITION; } break; case 446: /* Line 1455 of yacc.c */ #line 4396 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 447: /* Line 1455 of yacc.c */ #line 4398 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->part_info->part_type= RANGE_PARTITION; } break; case 448: /* Line 1455 of yacc.c */ #line 4400 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->part_info->part_type= RANGE_PARTITION; } break; case 449: /* Line 1455 of yacc.c */ #line 4402 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->part_info->part_type= LIST_PARTITION; } break; case 450: /* Line 1455 of yacc.c */ #line 4404 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->part_info->part_type= LIST_PARTITION; } break; case 451: /* Line 1455 of yacc.c */ #line 4408 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 452: /* Line 1455 of yacc.c */ #line 4410 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->part_info->linear_hash_ind= TRUE;} break; case 453: /* Line 1455 of yacc.c */ #line 4415 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_NONE;} break; case 454: /* Line 1455 of yacc.c */ #line 4417 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { switch ((yyvsp[(3) - (3)].ulong_num)) { case 1: Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_51; break; case 2: Lex->part_info->key_algorithm= partition_info::KEY_ALGORITHM_55; break; default: my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } } break; case 455: /* Line 1455 of yacc.c */ #line 4433 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 456: /* Line 1455 of yacc.c */ #line 4434 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 457: /* Line 1455 of yacc.c */ #line 4438 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 458: /* Line 1455 of yacc.c */ #line 4439 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 459: /* Line 1455 of yacc.c */ #line 4444 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->num_columns++; if (part_info->part_field_list.push_back((yyvsp[(1) - (1)].lex_str).str)) { mem_alloc_error(1); MYSQL_YYABORT; } if (part_info->num_columns > MAX_REF_PARTS) { my_error(ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR, MYF(0), "list of partition fields"); MYSQL_YYABORT; } } break; case 460: /* Line 1455 of yacc.c */ #line 4463 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->column_list= TRUE; part_info->list_of_part_fields= TRUE; } break; case 461: /* Line 1455 of yacc.c */ #line 4473 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (part_info->set_part_expr((yyvsp[(2) - (5)].simple_string)+1, (yyvsp[(3) - (5)].item), (yyvsp[(4) - (5)].simple_string), FALSE)) { MYSQL_YYABORT; } part_info->num_columns= 1; part_info->column_list= FALSE; } break; case 462: /* Line 1455 of yacc.c */ #line 4484 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Lex->part_info->set_part_expr((yyvsp[(2) - (5)].simple_string)+1, (yyvsp[(3) - (5)].item), (yyvsp[(4) - (5)].simple_string), TRUE)) { MYSQL_YYABORT; } } break; case 463: /* Line 1455 of yacc.c */ #line 4492 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 464: /* Line 1455 of yacc.c */ #line 4494 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { uint num_parts= (yyvsp[(2) - (2)].ulong_num); partition_info *part_info= Lex->part_info; if (num_parts == 0) { my_error(ER_NO_PARTS_ERROR, MYF(0), "partitions"); MYSQL_YYABORT; } part_info->num_parts= num_parts; part_info->use_default_num_partitions= FALSE; } break; case 465: /* Line 1455 of yacc.c */ #line 4509 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 466: /* Line 1455 of yacc.c */ #line 4511 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->part_info->subpart_type= HASH_PARTITION; } break; case 467: /* Line 1455 of yacc.c */ #line 4512 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 468: /* Line 1455 of yacc.c */ #line 4515 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->subpart_type= HASH_PARTITION; part_info->list_of_subpart_fields= TRUE; } break; case 469: /* Line 1455 of yacc.c */ #line 4520 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 470: /* Line 1455 of yacc.c */ #line 4524 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 471: /* Line 1455 of yacc.c */ #line 4525 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 472: /* Line 1455 of yacc.c */ #line 4530 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (part_info->subpart_field_list.push_back((yyvsp[(1) - (1)].lex_str).str)) { mem_alloc_error(1); MYSQL_YYABORT; } if (part_info->subpart_field_list.elements > MAX_REF_PARTS) { my_error(ER_TOO_MANY_PARTITION_FUNC_FIELDS_ERROR, MYF(0), "list of subpartition fields"); MYSQL_YYABORT; } } break; case 473: /* Line 1455 of yacc.c */ #line 4548 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; bool not_corr_func; not_corr_func= !lex->safe_to_cache_query; lex->safe_to_cache_query= 1; if (not_corr_func) { my_parse_error(ER(ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR)); MYSQL_YYABORT; } (yyval.item)=(yyvsp[(1) - (1)].item); } break; case 474: /* Line 1455 of yacc.c */ #line 4563 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 475: /* Line 1455 of yacc.c */ #line 4565 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { uint num_parts= (yyvsp[(2) - (2)].ulong_num); LEX *lex= Lex; if (num_parts == 0) { my_error(ER_NO_PARTS_ERROR, MYF(0), "subpartitions"); MYSQL_YYABORT; } lex->part_info->num_subparts= num_parts; lex->part_info->use_default_num_subpartitions= FALSE; } break; case 476: /* Line 1455 of yacc.c */ #line 4580 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (part_info->part_type == RANGE_PARTITION) { my_error(ER_PARTITIONS_MUST_BE_DEFINED_ERROR, MYF(0), "RANGE"); MYSQL_YYABORT; } else if (part_info->part_type == LIST_PARTITION) { my_error(ER_PARTITIONS_MUST_BE_DEFINED_ERROR, MYF(0), "LIST"); MYSQL_YYABORT; } } break; case 477: /* Line 1455 of yacc.c */ #line 4596 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; uint count_curr_parts= part_info->partitions.elements; if (part_info->num_parts != 0) { if (part_info->num_parts != count_curr_parts) { my_parse_error(ER(ER_PARTITION_WRONG_NO_PART_ERROR)); MYSQL_YYABORT; } } else if (count_curr_parts > 0) { part_info->num_parts= count_curr_parts; } part_info->count_curr_subparts= 0; } break; case 478: /* Line 1455 of yacc.c */ #line 4617 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 479: /* Line 1455 of yacc.c */ #line 4618 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 480: /* Line 1455 of yacc.c */ #line 4623 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; partition_element *p_elem= new partition_element(); if (!p_elem || part_info->partitions.push_back(p_elem)) { mem_alloc_error(sizeof(partition_element)); MYSQL_YYABORT; } p_elem->part_state= PART_NORMAL; part_info->curr_part_elem= p_elem; part_info->current_partition= p_elem; part_info->use_default_partitions= FALSE; part_info->use_default_num_partitions= FALSE; } break; case 481: /* Line 1455 of yacc.c */ #line 4642 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 482: /* Line 1455 of yacc.c */ #line 4647 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; partition_element *p_elem= part_info->curr_part_elem; p_elem->partition_name= (yyvsp[(1) - (1)].lex_str).str; } break; case 483: /* Line 1455 of yacc.c */ #line 4656 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; partition_info *part_info= lex->part_info; if (! lex->is_partition_management()) { if (part_info->part_type == RANGE_PARTITION) { my_error(ER_PARTITION_REQUIRES_VALUES_ERROR, MYF(0), "RANGE", "LESS THAN"); MYSQL_YYABORT; } if (part_info->part_type == LIST_PARTITION) { my_error(ER_PARTITION_REQUIRES_VALUES_ERROR, MYF(0), "LIST", "IN"); MYSQL_YYABORT; } } else part_info->part_type= HASH_PARTITION; } break; case 484: /* Line 1455 of yacc.c */ #line 4678 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; partition_info *part_info= lex->part_info; if (! lex->is_partition_management()) { if (part_info->part_type != RANGE_PARTITION) { my_error(ER_PARTITION_WRONG_VALUES_ERROR, MYF(0), "RANGE", "LESS THAN"); MYSQL_YYABORT; } } else part_info->part_type= RANGE_PARTITION; } break; case 485: /* Line 1455 of yacc.c */ #line 4693 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 486: /* Line 1455 of yacc.c */ #line 4695 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; partition_info *part_info= lex->part_info; if (! lex->is_partition_management()) { if (part_info->part_type != LIST_PARTITION) { my_error(ER_PARTITION_WRONG_VALUES_ERROR, MYF(0), "LIST", "IN"); MYSQL_YYABORT; } } else part_info->part_type= LIST_PARTITION; } break; case 487: /* Line 1455 of yacc.c */ #line 4710 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 488: /* Line 1455 of yacc.c */ #line 4715 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (part_info->num_columns && part_info->num_columns != 1U) { part_info->print_debug("Kilroy II", NULL); my_parse_error(ER(ER_PARTITION_COLUMN_LIST_ERROR)); MYSQL_YYABORT; } else part_info->num_columns= 1U; if (part_info->init_column_part()) { MYSQL_YYABORT; } if (part_info->add_max_value()) { MYSQL_YYABORT; } } break; case 489: /* Line 1455 of yacc.c */ #line 4736 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 490: /* Line 1455 of yacc.c */ #line 4741 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; partition_info *part_info= lex->part_info; part_info->print_debug("part_values_in: part_value_item", NULL); if (part_info->num_columns != 1U) { if (!lex->is_partition_management() || part_info->num_columns == 0 || part_info->num_columns > MAX_REF_PARTS) { part_info->print_debug("Kilroy III", NULL); my_parse_error(ER(ER_PARTITION_COLUMN_LIST_ERROR)); MYSQL_YYABORT; } /* Reorganize the current large array into a list of small arrays with one entry in each array. This can happen in the first partition of an ALTER TABLE statement where we ADD or REORGANIZE partitions. Also can only happen for LIST partitions. */ if (part_info->reorganize_into_single_field_col_val()) { MYSQL_YYABORT; } } } break; case 491: /* Line 1455 of yacc.c */ #line 4770 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (part_info->num_columns < 2U) { my_parse_error(ER(ER_ROW_SINGLE_PARTITION_FIELD_ERROR)); MYSQL_YYABORT; } } break; case 492: /* Line 1455 of yacc.c */ #line 4781 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 493: /* Line 1455 of yacc.c */ #line 4782 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 494: /* Line 1455 of yacc.c */ #line 4787 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->print_debug("( part_value_item", NULL); /* Initialisation code needed for each list of value expressions */ if (!(part_info->part_type == LIST_PARTITION && part_info->num_columns == 1U) && part_info->init_column_part()) { MYSQL_YYABORT; } } break; case 495: /* Line 1455 of yacc.c */ #line 4798 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 496: /* Line 1455 of yacc.c */ #line 4800 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->print_debug(") part_value_item", NULL); if (part_info->num_columns == 0) part_info->num_columns= part_info->curr_list_object; if (part_info->num_columns != part_info->curr_list_object) { /* All value items lists must be of equal length, in some cases which is covered by the above if-statement we don't know yet how many columns is in the partition so the assignment above ensures that we only report errors when we know we have an error. */ part_info->print_debug("Kilroy I", NULL); my_parse_error(ER(ER_PARTITION_COLUMN_LIST_ERROR)); MYSQL_YYABORT; } part_info->curr_list_object= 0; } break; case 497: /* Line 1455 of yacc.c */ #line 4823 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 498: /* Line 1455 of yacc.c */ #line 4824 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 499: /* Line 1455 of yacc.c */ #line 4829 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (part_info->part_type == LIST_PARTITION) { my_parse_error(ER(ER_MAXVALUE_IN_VALUES_IN)); MYSQL_YYABORT; } if (part_info->add_max_value()) { MYSQL_YYABORT; } } break; case 500: /* Line 1455 of yacc.c */ #line 4842 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; partition_info *part_info= lex->part_info; Item *part_expr= (yyvsp[(1) - (1)].item); if (!lex->safe_to_cache_query) { my_parse_error(ER(ER_WRONG_EXPR_IN_PARTITION_FUNC_ERROR)); MYSQL_YYABORT; } if (part_info->add_column_list_value(YYTHD, part_expr)) { MYSQL_YYABORT; } } break; case 501: /* Line 1455 of yacc.c */ #line 4862 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (part_info->num_subparts != 0 && !part_info->use_default_subpartitions) { /* We come here when we have defined subpartitions on the first partition but not on all the subsequent partitions. */ my_parse_error(ER(ER_PARTITION_WRONG_NO_SUBPART_ERROR)); MYSQL_YYABORT; } } break; case 502: /* Line 1455 of yacc.c */ #line 4876 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; if (part_info->num_subparts != 0) { if (part_info->num_subparts != part_info->count_curr_subparts) { my_parse_error(ER(ER_PARTITION_WRONG_NO_SUBPART_ERROR)); MYSQL_YYABORT; } } else if (part_info->count_curr_subparts > 0) { if (part_info->partitions.elements > 1) { my_parse_error(ER(ER_PARTITION_WRONG_NO_SUBPART_ERROR)); MYSQL_YYABORT; } part_info->num_subparts= part_info->count_curr_subparts; } part_info->count_curr_subparts= 0; } break; case 503: /* Line 1455 of yacc.c */ #line 4901 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 504: /* Line 1455 of yacc.c */ #line 4902 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 505: /* Line 1455 of yacc.c */ #line 4907 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; partition_element *curr_part= part_info->current_partition; partition_element *sub_p_elem= new partition_element(curr_part); if (part_info->use_default_subpartitions && part_info->partitions.elements >= 2) { /* create table t1 (a int) partition by list (a) subpartition by hash (a) (partition p0 values in (1), partition p1 values in (2) subpartition sp11); causes use to arrive since we are on the second partition, but still use_default_subpartitions is set. When we come here we're processing at least the second partition (the current partition processed have already been put into the partitions list. */ my_parse_error(ER(ER_PARTITION_WRONG_NO_SUBPART_ERROR)); MYSQL_YYABORT; } if (!sub_p_elem || curr_part->subpartitions.push_back(sub_p_elem)) { mem_alloc_error(sizeof(partition_element)); MYSQL_YYABORT; } part_info->curr_part_elem= sub_p_elem; part_info->use_default_subpartitions= FALSE; part_info->use_default_num_subpartitions= FALSE; part_info->count_curr_subparts++; } break; case 506: /* Line 1455 of yacc.c */ #line 4939 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 507: /* Line 1455 of yacc.c */ #line 4944 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->partition_name= (yyvsp[(1) - (1)].lex_str).str; } break; case 508: /* Line 1455 of yacc.c */ #line 4948 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 509: /* Line 1455 of yacc.c */ #line 4949 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 510: /* Line 1455 of yacc.c */ #line 4953 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 511: /* Line 1455 of yacc.c */ #line 4954 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 512: /* Line 1455 of yacc.c */ #line 4959 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->tablespace_name= (yyvsp[(3) - (3)].lex_str).str; } break; case 513: /* Line 1455 of yacc.c */ #line 4961 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->curr_part_elem->engine_type= (yyvsp[(4) - (4)].db_type); part_info->default_engine_type= (yyvsp[(4) - (4)].db_type); } break; case 514: /* Line 1455 of yacc.c */ #line 4967 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->nodegroup_id= (uint16) (yyvsp[(3) - (3)].ulong_num); } break; case 515: /* Line 1455 of yacc.c */ #line 4969 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->part_max_rows= (ha_rows) (yyvsp[(3) - (3)].ulonglong_number); } break; case 516: /* Line 1455 of yacc.c */ #line 4971 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->part_min_rows= (ha_rows) (yyvsp[(3) - (3)].ulonglong_number); } break; case 517: /* Line 1455 of yacc.c */ #line 4973 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->data_file_name= (yyvsp[(4) - (4)].lex_str).str; } break; case 518: /* Line 1455 of yacc.c */ #line 4975 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->index_file_name= (yyvsp[(4) - (4)].lex_str).str; } break; case 519: /* Line 1455 of yacc.c */ #line 4977 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->part_info->curr_part_elem->part_comment= (yyvsp[(3) - (3)].lex_str).str; } break; case 520: /* Line 1455 of yacc.c */ #line 4986 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->sql_command == SQLCOM_INSERT) lex->sql_command= SQLCOM_INSERT_SELECT; else if (lex->sql_command == SQLCOM_REPLACE) lex->sql_command= SQLCOM_REPLACE_SELECT; /* The following work only with the local list, the global list is created correctly in this case */ lex->current_select->table_list.save_and_clear(&lex->save_list); mysql_init_select(lex); lex->current_select->parsing_place= SELECT_LIST; } break; case 521: /* Line 1455 of yacc.c */ #line 5001 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; } break; case 522: /* Line 1455 of yacc.c */ #line 5005 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* The following work only with the local list, the global list is created correctly in this case */ Lex->current_select->table_list.push_front(&Lex->save_list); } break; case 523: /* Line 1455 of yacc.c */ #line 5015 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 524: /* Line 1455 of yacc.c */ #line 5016 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 525: /* Line 1455 of yacc.c */ #line 5020 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 526: /* Line 1455 of yacc.c */ #line 5021 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 527: /* Line 1455 of yacc.c */ #line 5025 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 528: /* Line 1455 of yacc.c */ #line 5026 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 529: /* Line 1455 of yacc.c */ #line 5030 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 530: /* Line 1455 of yacc.c */ #line 5031 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 531: /* Line 1455 of yacc.c */ #line 5035 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 532: /* Line 1455 of yacc.c */ #line 5036 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[(1) - (1)].num);} break; case 533: /* Line 1455 of yacc.c */ #line 5040 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=(yyvsp[(1) - (1)].num); } break; case 534: /* Line 1455 of yacc.c */ #line 5041 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[(1) - (2)].num) | (yyvsp[(2) - (2)].num); } break; case 535: /* Line 1455 of yacc.c */ #line 5045 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=HA_LEX_CREATE_TMP_TABLE; } break; case 536: /* Line 1455 of yacc.c */ #line 5049 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 537: /* Line 1455 of yacc.c */ #line 5050 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=HA_LEX_CREATE_IF_NOT_EXISTS; } break; case 545: /* Line 1455 of yacc.c */ #line 5071 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.db_type= (yyvsp[(3) - (3)].db_type); Lex->create_info.used_fields|= HA_CREATE_USED_ENGINE; } break; case 546: /* Line 1455 of yacc.c */ #line 5076 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.max_rows= (yyvsp[(3) - (3)].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_MAX_ROWS; } break; case 547: /* Line 1455 of yacc.c */ #line 5081 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.min_rows= (yyvsp[(3) - (3)].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_MIN_ROWS; } break; case 548: /* Line 1455 of yacc.c */ #line 5086 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.avg_row_length=(yyvsp[(3) - (3)].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_AVG_ROW_LENGTH; } break; case 549: /* Line 1455 of yacc.c */ #line 5091 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.password=(yyvsp[(3) - (3)].lex_str).str; Lex->create_info.used_fields|= HA_CREATE_USED_PASSWORD; } break; case 550: /* Line 1455 of yacc.c */ #line 5096 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.comment=(yyvsp[(3) - (3)].lex_str); Lex->create_info.used_fields|= HA_CREATE_USED_COMMENT; } break; case 551: /* Line 1455 of yacc.c */ #line 5101 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.auto_increment_value=(yyvsp[(3) - (3)].ulonglong_number); Lex->create_info.used_fields|= HA_CREATE_USED_AUTO; } break; case 552: /* Line 1455 of yacc.c */ #line 5106 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { switch((yyvsp[(3) - (3)].ulong_num)) { case 0: Lex->create_info.table_options|= HA_OPTION_NO_PACK_KEYS; break; case 1: Lex->create_info.table_options|= HA_OPTION_PACK_KEYS; break; default: my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS; } break; case 553: /* Line 1455 of yacc.c */ #line 5121 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.table_options&= ~(HA_OPTION_PACK_KEYS | HA_OPTION_NO_PACK_KEYS); Lex->create_info.used_fields|= HA_CREATE_USED_PACK_KEYS; } break; case 554: /* Line 1455 of yacc.c */ #line 5127 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.table_options|= (yyvsp[(3) - (3)].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM; Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM; } break; case 555: /* Line 1455 of yacc.c */ #line 5132 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.table_options|= (yyvsp[(3) - (3)].ulong_num) ? HA_OPTION_CHECKSUM : HA_OPTION_NO_CHECKSUM; Lex->create_info.used_fields|= HA_CREATE_USED_CHECKSUM; } break; case 556: /* Line 1455 of yacc.c */ #line 5137 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.table_options|= (yyvsp[(3) - (3)].ulong_num) ? HA_OPTION_DELAY_KEY_WRITE : HA_OPTION_NO_DELAY_KEY_WRITE; Lex->create_info.used_fields|= HA_CREATE_USED_DELAY_KEY_WRITE; } break; case 557: /* Line 1455 of yacc.c */ #line 5142 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.row_type= (yyvsp[(3) - (3)].row_type); Lex->create_info.used_fields|= HA_CREATE_USED_ROW_FORMAT; } break; case 558: /* Line 1455 of yacc.c */ #line 5147 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->select_lex.table_list.save_and_clear(&Lex->save_list); } break; case 559: /* Line 1455 of yacc.c */ #line 5151 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* Move the union list to the merge_list and exclude its tables from the global list. */ LEX *lex=Lex; lex->create_info.merge_list= lex->select_lex.table_list; lex->select_lex.table_list= lex->save_list; /* When excluding union list from the global list we assume that elements of the former immediately follow elements which represent table being created/altered and parent tables. */ TABLE_LIST *last_non_sel_table= lex->create_last_non_select_table; DBUG_ASSERT(last_non_sel_table->next_global == lex->create_info.merge_list.first); last_non_sel_table->next_global= 0; Lex->query_tables_last= &last_non_sel_table->next_global; lex->create_info.used_fields|= HA_CREATE_USED_UNION; } break; case 562: /* Line 1455 of yacc.c */ #line 5175 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.merge_insert_method= (yyvsp[(3) - (3)].ulong_num); Lex->create_info.used_fields|= HA_CREATE_USED_INSERT_METHOD; } break; case 563: /* Line 1455 of yacc.c */ #line 5180 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.data_file_name= (yyvsp[(4) - (4)].lex_str).str; Lex->create_info.used_fields|= HA_CREATE_USED_DATADIR; } break; case 564: /* Line 1455 of yacc.c */ #line 5185 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.index_file_name= (yyvsp[(4) - (4)].lex_str).str; Lex->create_info.used_fields|= HA_CREATE_USED_INDEXDIR; } break; case 565: /* Line 1455 of yacc.c */ #line 5190 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {Lex->create_info.tablespace= (yyvsp[(2) - (2)].lex_str).str;} break; case 566: /* Line 1455 of yacc.c */ #line 5192 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {Lex->create_info.storage_media= HA_SM_DISK;} break; case 567: /* Line 1455 of yacc.c */ #line 5194 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {Lex->create_info.storage_media= HA_SM_MEMORY;} break; case 568: /* Line 1455 of yacc.c */ #line 5196 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.connect_string.str= (yyvsp[(3) - (3)].lex_str).str; Lex->create_info.connect_string.length= (yyvsp[(3) - (3)].lex_str).length; Lex->create_info.used_fields|= HA_CREATE_USED_CONNECTION; } break; case 569: /* Line 1455 of yacc.c */ #line 5202 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.used_fields|= HA_CREATE_USED_KEY_BLOCK_SIZE; Lex->create_info.key_block_size= (yyvsp[(3) - (3)].ulong_num); } break; case 570: /* Line 1455 of yacc.c */ #line 5210 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { HA_CREATE_INFO *cinfo= &Lex->create_info; if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) && cinfo->default_table_charset && (yyvsp[(4) - (4)].charset) && !my_charset_same(cinfo->default_table_charset,(yyvsp[(4) - (4)].charset))) { my_error(ER_CONFLICTING_DECLARATIONS, MYF(0), "CHARACTER SET ", cinfo->default_table_charset->csname, "CHARACTER SET ", (yyvsp[(4) - (4)].charset)->csname); MYSQL_YYABORT; } Lex->create_info.default_table_charset= (yyvsp[(4) - (4)].charset); Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET; } break; case 571: /* Line 1455 of yacc.c */ #line 5228 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { HA_CREATE_INFO *cinfo= &Lex->create_info; if ((cinfo->used_fields & HA_CREATE_USED_DEFAULT_CHARSET) && cinfo->default_table_charset && (yyvsp[(4) - (4)].charset) && !((yyvsp[(4) - (4)].charset)= merge_charset_and_collation(cinfo->default_table_charset, (yyvsp[(4) - (4)].charset)))) { MYSQL_YYABORT; } Lex->create_info.default_table_charset= (yyvsp[(4) - (4)].charset); Lex->create_info.used_fields|= HA_CREATE_USED_DEFAULT_CHARSET; } break; case 572: /* Line 1455 of yacc.c */ #line 5245 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { plugin_ref plugin= ha_resolve_by_name(YYTHD, &(yyvsp[(1) - (1)].lex_str)); if (plugin) (yyval.db_type)= plugin_data(plugin, handlerton*); else { if (YYTHD->variables.sql_mode & MODE_NO_ENGINE_SUBSTITUTION) { my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), (yyvsp[(1) - (1)].lex_str).str); MYSQL_YYABORT; } (yyval.db_type)= 0; push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_WARN, ER_UNKNOWN_STORAGE_ENGINE, ER(ER_UNKNOWN_STORAGE_ENGINE), (yyvsp[(1) - (1)].lex_str).str); } } break; case 573: /* Line 1455 of yacc.c */ #line 5268 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { plugin_ref plugin; if ((plugin= ha_resolve_by_name(YYTHD, &(yyvsp[(1) - (1)].lex_str)))) (yyval.db_type)= plugin_data(plugin, handlerton*); else { my_error(ER_UNKNOWN_STORAGE_ENGINE, MYF(0), (yyvsp[(1) - (1)].lex_str).str); MYSQL_YYABORT; } } break; case 574: /* Line 1455 of yacc.c */ #line 5281 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_DEFAULT; } break; case 575: /* Line 1455 of yacc.c */ #line 5282 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_FIXED; } break; case 576: /* Line 1455 of yacc.c */ #line 5283 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_DYNAMIC; } break; case 577: /* Line 1455 of yacc.c */ #line 5284 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_COMPRESSED; } break; case 578: /* Line 1455 of yacc.c */ #line 5285 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_REDUNDANT; } break; case 579: /* Line 1455 of yacc.c */ #line 5286 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.row_type)= ROW_TYPE_COMPACT; } break; case 580: /* Line 1455 of yacc.c */ #line 5290 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.ulong_num)= MERGE_INSERT_DISABLED; } break; case 581: /* Line 1455 of yacc.c */ #line 5291 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.ulong_num)= MERGE_INSERT_TO_FIRST; } break; case 582: /* Line 1455 of yacc.c */ #line 5292 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.ulong_num)= MERGE_INSERT_TO_LAST; } break; case 583: /* Line 1455 of yacc.c */ #line 5296 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 585: /* Line 1455 of yacc.c */ #line 5301 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {(yyval.num) = (int) STRING_RESULT; } break; case 586: /* Line 1455 of yacc.c */ #line 5302 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {(yyval.num) = (int) REAL_RESULT; } break; case 587: /* Line 1455 of yacc.c */ #line 5303 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {(yyval.num) = (int) DECIMAL_RESULT; } break; case 588: /* Line 1455 of yacc.c */ #line 5304 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {(yyval.num) = (int) INT_RESULT; } break; case 589: /* Line 1455 of yacc.c */ #line 5310 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_last_non_select_table= Lex->last_table(); } break; case 595: /* Line 1455 of yacc.c */ #line 5328 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->col_list.empty(); /* Alloced by sql_alloc */ } break; case 596: /* Line 1455 of yacc.c */ #line 5335 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_create_index (Lex, (yyvsp[(1) - (7)].key_type), (yyvsp[(2) - (7)].lex_str))) MYSQL_YYABORT; } break; case 597: /* Line 1455 of yacc.c */ #line 5341 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_create_index (Lex, (yyvsp[(1) - (8)].key_type), (yyvsp[(3) - (8)].lex_str))) MYSQL_YYABORT; } break; case 598: /* Line 1455 of yacc.c */ #line 5347 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_create_index (Lex, (yyvsp[(1) - (8)].key_type), (yyvsp[(3) - (8)].lex_str))) MYSQL_YYABORT; } break; case 599: /* Line 1455 of yacc.c */ #line 5353 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_create_index (Lex, (yyvsp[(2) - (8)].key_type), (yyvsp[(3) - (8)].lex_str).str ? (yyvsp[(3) - (8)].lex_str) : (yyvsp[(1) - (8)].lex_str))) MYSQL_YYABORT; } break; case 600: /* Line 1455 of yacc.c */ #line 5358 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; Key *key= new Foreign_key((yyvsp[(4) - (8)].lex_str).str ? (yyvsp[(4) - (8)].lex_str) : (yyvsp[(1) - (8)].lex_str), lex->col_list, (yyvsp[(8) - (8)].table), lex->ref_list, lex->fk_delete_opt, lex->fk_update_opt, lex->fk_match_option); if (key == NULL) MYSQL_YYABORT; lex->alter_info.key_list.push_back(key); if (add_create_index (lex, Key::MULTIPLE, (yyvsp[(1) - (8)].lex_str).str ? (yyvsp[(1) - (8)].lex_str) : (yyvsp[(4) - (8)].lex_str), &default_key_create_info, 1)) MYSQL_YYABORT; /* Only used for ALTER TABLE. Ignored otherwise. */ lex->alter_info.flags|= ALTER_FOREIGN_KEY; } break; case 601: /* Line 1455 of yacc.c */ #line 5376 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->col_list.empty(); /* Alloced by sql_alloc */ } break; case 605: /* Line 1455 of yacc.c */ #line 5391 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= null_lex_str; } break; case 606: /* Line 1455 of yacc.c */ #line 5392 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); } break; case 607: /* Line 1455 of yacc.c */ #line 5396 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); } break; case 608: /* Line 1455 of yacc.c */ #line 5401 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->length=lex->dec=0; lex->type=0; lex->default_value= lex->on_update_value= 0; lex->comment=null_lex_str; lex->charset=NULL; } break; case 609: /* Line 1455 of yacc.c */ #line 5410 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (add_field_to_list(lex->thd, &(yyvsp[(1) - (4)].lex_str), (enum enum_field_types) (yyvsp[(3) - (4)].num), lex->length,lex->dec,lex->type, lex->default_value, lex->on_update_value, &lex->comment, lex->change,&lex->interval_list,lex->charset, lex->uint_geom_type)) MYSQL_YYABORT; } break; case 610: /* Line 1455 of yacc.c */ #line 5423 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=(yyvsp[(1) - (3)].num); } break; case 611: /* Line 1455 of yacc.c */ #line 5424 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=(yyvsp[(1) - (3)].num); } break; case 612: /* Line 1455 of yacc.c */ #line 5425 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_FLOAT; } break; case 613: /* Line 1455 of yacc.c */ #line 5427 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->length= (char*) "1"; (yyval.num)=MYSQL_TYPE_BIT; } break; case 614: /* Line 1455 of yacc.c */ #line 5432 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_BIT; } break; case 615: /* Line 1455 of yacc.c */ #line 5436 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->length= (char*) "1"; (yyval.num)=MYSQL_TYPE_TINY; } break; case 616: /* Line 1455 of yacc.c */ #line 5441 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->length= (char*) "1"; (yyval.num)=MYSQL_TYPE_TINY; } break; case 617: /* Line 1455 of yacc.c */ #line 5446 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_STRING; } break; case 618: /* Line 1455 of yacc.c */ #line 5450 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->length= (char*) "1"; (yyval.num)=MYSQL_TYPE_STRING; } break; case 619: /* Line 1455 of yacc.c */ #line 5455 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_STRING; Lex->charset=national_charset_info; } break; case 620: /* Line 1455 of yacc.c */ #line 5460 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->length= (char*) "1"; (yyval.num)=MYSQL_TYPE_STRING; Lex->charset=national_charset_info; } break; case 621: /* Line 1455 of yacc.c */ #line 5466 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_STRING; } break; case 622: /* Line 1455 of yacc.c */ #line 5471 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->length= (char*) "1"; Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_STRING; } break; case 623: /* Line 1455 of yacc.c */ #line 5477 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= MYSQL_TYPE_VARCHAR; } break; case 624: /* Line 1455 of yacc.c */ #line 5481 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= MYSQL_TYPE_VARCHAR; Lex->charset=national_charset_info; } break; case 625: /* Line 1455 of yacc.c */ #line 5486 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)= MYSQL_TYPE_VARCHAR; } break; case 626: /* Line 1455 of yacc.c */ #line 5491 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Lex->length) { errno= 0; ulong length= strtoul(Lex->length, NULL, 10); if (errno == 0 && length <= MAX_FIELD_BLOBLENGTH && length != 4) { char buff[sizeof("YEAR()") + MY_INT64_NUM_DECIMAL_DIGITS + 1]; my_snprintf(buff, sizeof(buff), "YEAR(%lu)", length); push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_NOTE, ER_WARN_DEPRECATED_SYNTAX, ER(ER_WARN_DEPRECATED_SYNTAX), buff, "YEAR(4)"); } } (yyval.num)=MYSQL_TYPE_YEAR; } break; case 627: /* Line 1455 of yacc.c */ #line 5509 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_DATE; } break; case 628: /* Line 1455 of yacc.c */ #line 5511 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_TIME; } break; case 629: /* Line 1455 of yacc.c */ #line 5513 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (YYTHD->variables.sql_mode & MODE_MAXDB) (yyval.num)=MYSQL_TYPE_DATETIME; else { /* Unlike other types TIMESTAMP fields are NOT NULL by default. */ Lex->type|= NOT_NULL_FLAG; (yyval.num)=MYSQL_TYPE_TIMESTAMP; } } break; case 630: /* Line 1455 of yacc.c */ #line 5526 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_DATETIME; } break; case 631: /* Line 1455 of yacc.c */ #line 5528 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_TINY_BLOB; } break; case 632: /* Line 1455 of yacc.c */ #line 5533 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_BLOB; } break; case 633: /* Line 1455 of yacc.c */ #line 5538 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { #ifdef HAVE_SPATIAL Lex->charset=&my_charset_bin; Lex->uint_geom_type= (uint)(yyvsp[(1) - (1)].num); (yyval.num)=MYSQL_TYPE_GEOMETRY; #else my_error(ER_FEATURE_DISABLED, MYF(0), sym_group_geom.name, sym_group_geom.needed_define); MYSQL_YYABORT; #endif } break; case 634: /* Line 1455 of yacc.c */ #line 5550 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; } break; case 635: /* Line 1455 of yacc.c */ #line 5555 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_LONG_BLOB; } break; case 636: /* Line 1455 of yacc.c */ #line 5560 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; } break; case 637: /* Line 1455 of yacc.c */ #line 5565 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; } break; case 638: /* Line 1455 of yacc.c */ #line 5567 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_TINY_BLOB; } break; case 639: /* Line 1455 of yacc.c */ #line 5569 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_BLOB; } break; case 640: /* Line 1455 of yacc.c */ #line 5571 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; } break; case 641: /* Line 1455 of yacc.c */ #line 5573 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_LONG_BLOB; } break; case 642: /* Line 1455 of yacc.c */ #line 5575 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_NEWDECIMAL;} break; case 643: /* Line 1455 of yacc.c */ #line 5577 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_NEWDECIMAL;} break; case 644: /* Line 1455 of yacc.c */ #line 5579 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_NEWDECIMAL;} break; case 645: /* Line 1455 of yacc.c */ #line 5581 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {Lex->interval_list.empty();} break; case 646: /* Line 1455 of yacc.c */ #line 5583 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_ENUM; } break; case 647: /* Line 1455 of yacc.c */ #line 5585 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->interval_list.empty();} break; case 648: /* Line 1455 of yacc.c */ #line 5587 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_SET; } break; case 649: /* Line 1455 of yacc.c */ #line 5589 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_MEDIUM_BLOB; } break; case 650: /* Line 1455 of yacc.c */ #line 5591 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_LONGLONG; Lex->type|= (AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNSIGNED_FLAG | UNIQUE_FLAG); } break; case 651: /* Line 1455 of yacc.c */ #line 5599 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= Field::GEOM_GEOMETRY; } break; case 652: /* Line 1455 of yacc.c */ #line 5600 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= Field::GEOM_GEOMETRYCOLLECTION; } break; case 653: /* Line 1455 of yacc.c */ #line 5602 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->length= (char*)"25"; (yyval.num)= Field::GEOM_POINT; } break; case 654: /* Line 1455 of yacc.c */ #line 5606 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= Field::GEOM_MULTIPOINT; } break; case 655: /* Line 1455 of yacc.c */ #line 5607 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= Field::GEOM_LINESTRING; } break; case 656: /* Line 1455 of yacc.c */ #line 5608 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= Field::GEOM_MULTILINESTRING; } break; case 657: /* Line 1455 of yacc.c */ #line 5609 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= Field::GEOM_POLYGON; } break; case 658: /* Line 1455 of yacc.c */ #line 5610 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= Field::GEOM_MULTIPOLYGON; } break; case 659: /* Line 1455 of yacc.c */ #line 5614 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 660: /* Line 1455 of yacc.c */ #line 5618 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 661: /* Line 1455 of yacc.c */ #line 5619 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 662: /* Line 1455 of yacc.c */ #line 5623 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 663: /* Line 1455 of yacc.c */ #line 5624 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 664: /* Line 1455 of yacc.c */ #line 5628 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 665: /* Line 1455 of yacc.c */ #line 5629 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 666: /* Line 1455 of yacc.c */ #line 5630 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 667: /* Line 1455 of yacc.c */ #line 5631 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 668: /* Line 1455 of yacc.c */ #line 5632 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 669: /* Line 1455 of yacc.c */ #line 5636 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_LONG; } break; case 670: /* Line 1455 of yacc.c */ #line 5637 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_TINY; } break; case 671: /* Line 1455 of yacc.c */ #line 5638 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_SHORT; } break; case 672: /* Line 1455 of yacc.c */ #line 5639 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_INT24; } break; case 673: /* Line 1455 of yacc.c */ #line 5640 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_LONGLONG; } break; case 674: /* Line 1455 of yacc.c */ #line 5645 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= YYTHD->variables.sql_mode & MODE_REAL_AS_FLOAT ? MYSQL_TYPE_FLOAT : MYSQL_TYPE_DOUBLE; } break; case 675: /* Line 1455 of yacc.c */ #line 5650 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_DOUBLE; } break; case 676: /* Line 1455 of yacc.c */ #line 5652 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=MYSQL_TYPE_DOUBLE; } break; case 677: /* Line 1455 of yacc.c */ #line 5657 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->dec=Lex->length= (char*)0; } break; case 678: /* Line 1455 of yacc.c */ #line 5659 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->dec= (char*)0; } break; case 679: /* Line 1455 of yacc.c */ #line 5661 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 680: /* Line 1455 of yacc.c */ #line 5666 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->length=(yyvsp[(2) - (5)].lex_str).str; lex->dec=(yyvsp[(4) - (5)].lex_str).str; } break; case 681: /* Line 1455 of yacc.c */ #line 5674 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 682: /* Line 1455 of yacc.c */ #line 5675 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 683: /* Line 1455 of yacc.c */ #line 5679 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 684: /* Line 1455 of yacc.c */ #line 5680 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 685: /* Line 1455 of yacc.c */ #line 5684 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 686: /* Line 1455 of yacc.c */ #line 5685 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= UNSIGNED_FLAG;} break; case 687: /* Line 1455 of yacc.c */ #line 5686 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= UNSIGNED_FLAG | ZEROFILL_FLAG; } break; case 688: /* Line 1455 of yacc.c */ #line 5690 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->length= (yyvsp[(2) - (3)].lex_str).str; } break; case 689: /* Line 1455 of yacc.c */ #line 5691 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->length= (yyvsp[(2) - (3)].lex_str).str; } break; case 690: /* Line 1455 of yacc.c */ #line 5692 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->length= (yyvsp[(2) - (3)].lex_str).str; } break; case 691: /* Line 1455 of yacc.c */ #line 5693 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->length= (yyvsp[(2) - (3)].lex_str).str; } break; case 692: /* Line 1455 of yacc.c */ #line 5696 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->length=(char*) 0; /* use default length */ } break; case 693: /* Line 1455 of yacc.c */ #line 5697 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { } break; case 694: /* Line 1455 of yacc.c */ #line 5701 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 695: /* Line 1455 of yacc.c */ #line 5702 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 696: /* Line 1455 of yacc.c */ #line 5706 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 697: /* Line 1455 of yacc.c */ #line 5707 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 698: /* Line 1455 of yacc.c */ #line 5711 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 700: /* Line 1455 of yacc.c */ #line 5716 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type&= ~ NOT_NULL_FLAG; } break; case 701: /* Line 1455 of yacc.c */ #line 5717 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= NOT_NULL_FLAG; } break; case 702: /* Line 1455 of yacc.c */ #line 5718 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->default_value=(yyvsp[(2) - (2)].item); } break; case 703: /* Line 1455 of yacc.c */ #line 5720 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Item *item= new (YYTHD->mem_root) Item_func_now_local(); if (item == NULL) MYSQL_YYABORT; Lex->on_update_value= item; } break; case 704: /* Line 1455 of yacc.c */ #line 5726 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG; } break; case 705: /* Line 1455 of yacc.c */ #line 5728 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->type|= AUTO_INCREMENT_FLAG | NOT_NULL_FLAG | UNIQUE_FLAG; lex->alter_info.flags|= ALTER_ADD_INDEX; } break; case 706: /* Line 1455 of yacc.c */ #line 5734 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->type|= PRI_KEY_FLAG | NOT_NULL_FLAG; lex->alter_info.flags|= ALTER_ADD_INDEX; } break; case 707: /* Line 1455 of yacc.c */ #line 5740 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->type|= UNIQUE_FLAG; lex->alter_info.flags|= ALTER_ADD_INDEX; } break; case 708: /* Line 1455 of yacc.c */ #line 5746 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->type|= UNIQUE_KEY_FLAG; lex->alter_info.flags|= ALTER_ADD_INDEX; } break; case 709: /* Line 1455 of yacc.c */ #line 5751 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->comment= (yyvsp[(2) - (2)].lex_str); } break; case 710: /* Line 1455 of yacc.c */ #line 5753 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Lex->charset && !my_charset_same(Lex->charset,(yyvsp[(2) - (2)].charset))) { my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0), (yyvsp[(2) - (2)].charset)->name,Lex->charset->csname); MYSQL_YYABORT; } else { Lex->charset=(yyvsp[(2) - (2)].charset); } } break; case 711: /* Line 1455 of yacc.c */ #line 5770 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[(1) - (2)].num); if (Lex->charset) /* Lex->charset is scanned in "type" */ { if (!(Lex->charset= merge_charset_and_collation(Lex->charset, (yyvsp[(2) - (2)].charset)))) MYSQL_YYABORT; } else if ((yyvsp[(2) - (2)].charset)) { my_error(ER_NOT_SUPPORTED_YET, MYF(0), "COLLATE with no CHARACTER SET " "in SP parameters, RETURNS, DECLARE"); MYSQL_YYABORT; } } break; case 712: /* Line 1455 of yacc.c */ #line 5791 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_now_local(); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 713: /* Line 1455 of yacc.c */ #line 5797 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[(1) - (1)].item); } break; case 714: /* Line 1455 of yacc.c */ #line 5801 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 715: /* Line 1455 of yacc.c */ #line 5802 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 716: /* Line 1455 of yacc.c */ #line 5807 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!((yyval.charset)=get_charset_by_csname((yyvsp[(1) - (1)].lex_str).str,MY_CS_PRIMARY,MYF(0)))) { my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[(1) - (1)].lex_str).str); MYSQL_YYABORT; } } break; case 717: /* Line 1455 of yacc.c */ #line 5814 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.charset)= &my_charset_bin; } break; case 718: /* Line 1455 of yacc.c */ #line 5818 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.charset)=(yyvsp[(1) - (1)].charset); } break; case 719: /* Line 1455 of yacc.c */ #line 5819 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.charset)=NULL; } break; case 720: /* Line 1455 of yacc.c */ #line 5823 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.charset)= NULL; } break; case 721: /* Line 1455 of yacc.c */ #line 5824 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.charset)= (yyvsp[(2) - (2)].charset); } break; case 722: /* Line 1455 of yacc.c */ #line 5829 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!((yyval.charset)=get_charset_by_csname((yyvsp[(1) - (1)].lex_str).str,MY_CS_PRIMARY,MYF(0))) && !((yyval.charset)=get_old_charset_by_name((yyvsp[(1) - (1)].lex_str).str))) { my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), (yyvsp[(1) - (1)].lex_str).str); MYSQL_YYABORT; } } break; case 723: /* Line 1455 of yacc.c */ #line 5837 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.charset)= &my_charset_bin; } break; case 724: /* Line 1455 of yacc.c */ #line 5841 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.charset)=(yyvsp[(1) - (1)].charset); } break; case 725: /* Line 1455 of yacc.c */ #line 5842 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.charset)=NULL; } break; case 726: /* Line 1455 of yacc.c */ #line 5847 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!((yyval.charset)=get_charset_by_name((yyvsp[(1) - (1)].lex_str).str,MYF(0)))) { my_error(ER_UNKNOWN_COLLATION, MYF(0), (yyvsp[(1) - (1)].lex_str).str); MYSQL_YYABORT; } } break; case 727: /* Line 1455 of yacc.c */ #line 5857 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.charset)=NULL; } break; case 728: /* Line 1455 of yacc.c */ #line 5858 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.charset)=(yyvsp[(2) - (2)].charset); } break; case 729: /* Line 1455 of yacc.c */ #line 5862 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.charset)=(yyvsp[(1) - (1)].charset); } break; case 730: /* Line 1455 of yacc.c */ #line 5863 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.charset)=NULL; } break; case 731: /* Line 1455 of yacc.c */ #line 5867 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 732: /* Line 1455 of yacc.c */ #line 5868 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 733: /* Line 1455 of yacc.c */ #line 5873 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->charset= &my_charset_latin1; } break; case 734: /* Line 1455 of yacc.c */ #line 5875 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->charset= &my_charset_latin1_bin; } break; case 735: /* Line 1455 of yacc.c */ #line 5879 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->charset= &my_charset_latin1_bin; } break; case 736: /* Line 1455 of yacc.c */ #line 5886 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!(Lex->charset=get_charset_by_csname("ucs2", MY_CS_PRIMARY,MYF(0)))) { my_error(ER_UNKNOWN_CHARACTER_SET, MYF(0), "ucs2"); MYSQL_YYABORT; } } break; case 737: /* Line 1455 of yacc.c */ #line 5895 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!(Lex->charset=get_charset_by_name("ucs2_bin", MYF(0)))) { my_error(ER_UNKNOWN_COLLATION, MYF(0), "ucs2_bin"); MYSQL_YYABORT; } } break; case 738: /* Line 1455 of yacc.c */ #line 5903 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!(Lex->charset=get_charset_by_name("ucs2_bin", MYF(0)))) { my_error(ER_UNKNOWN_COLLATION, MYF(0), "ucs2_bin"); MYSQL_YYABORT; } } break; case 739: /* Line 1455 of yacc.c */ #line 5913 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->charset=NULL; } break; case 742: /* Line 1455 of yacc.c */ #line 5916 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->charset=&my_charset_bin; } break; case 743: /* Line 1455 of yacc.c */ #line 5917 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->charset=(yyvsp[(2) - (3)].charset); } break; case 744: /* Line 1455 of yacc.c */ #line 5919 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->charset= NULL; Lex->type|= BINCMP_FLAG; } break; case 745: /* Line 1455 of yacc.c */ #line 5924 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->charset= (yyvsp[(3) - (3)].charset); Lex->type|= BINCMP_FLAG; } break; case 746: /* Line 1455 of yacc.c */ #line 5931 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { } break; case 747: /* Line 1455 of yacc.c */ #line 5932 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= BINCMP_FLAG; } break; case 750: /* Line 1455 of yacc.c */ #line 5947 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.table)=(yyvsp[(2) - (5)].table); } break; case 751: /* Line 1455 of yacc.c */ #line 5954 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->ref_list.empty(); } break; case 753: /* Line 1455 of yacc.c */ #line 5960 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Key_part_spec *key= new Key_part_spec((yyvsp[(3) - (3)].lex_str), 0); if (key == NULL) MYSQL_YYABORT; Lex->ref_list.push_back(key); } break; case 754: /* Line 1455 of yacc.c */ #line 5967 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Key_part_spec *key= new Key_part_spec((yyvsp[(1) - (1)].lex_str), 0); if (key == NULL) MYSQL_YYABORT; LEX *lex= Lex; lex->ref_list.empty(); lex->ref_list.push_back(key); } break; case 755: /* Line 1455 of yacc.c */ #line 5979 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->fk_match_option= Foreign_key::FK_MATCH_UNDEF; } break; case 756: /* Line 1455 of yacc.c */ #line 5981 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->fk_match_option= Foreign_key::FK_MATCH_FULL; } break; case 757: /* Line 1455 of yacc.c */ #line 5983 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->fk_match_option= Foreign_key::FK_MATCH_PARTIAL; } break; case 758: /* Line 1455 of yacc.c */ #line 5985 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->fk_match_option= Foreign_key::FK_MATCH_SIMPLE; } break; case 759: /* Line 1455 of yacc.c */ #line 5990 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->fk_update_opt= Foreign_key::FK_OPTION_UNDEF; lex->fk_delete_opt= Foreign_key::FK_OPTION_UNDEF; } break; case 760: /* Line 1455 of yacc.c */ #line 5996 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->fk_update_opt= (yyvsp[(3) - (3)].m_fk_option); lex->fk_delete_opt= Foreign_key::FK_OPTION_UNDEF; } break; case 761: /* Line 1455 of yacc.c */ #line 6002 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->fk_update_opt= Foreign_key::FK_OPTION_UNDEF; lex->fk_delete_opt= (yyvsp[(3) - (3)].m_fk_option); } break; case 762: /* Line 1455 of yacc.c */ #line 6009 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->fk_update_opt= (yyvsp[(3) - (6)].m_fk_option); lex->fk_delete_opt= (yyvsp[(6) - (6)].m_fk_option); } break; case 763: /* Line 1455 of yacc.c */ #line 6016 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->fk_update_opt= (yyvsp[(6) - (6)].m_fk_option); lex->fk_delete_opt= (yyvsp[(3) - (6)].m_fk_option); } break; case 764: /* Line 1455 of yacc.c */ #line 6024 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.m_fk_option)= Foreign_key::FK_OPTION_RESTRICT; } break; case 765: /* Line 1455 of yacc.c */ #line 6025 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.m_fk_option)= Foreign_key::FK_OPTION_CASCADE; } break; case 766: /* Line 1455 of yacc.c */ #line 6026 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.m_fk_option)= Foreign_key::FK_OPTION_SET_NULL; } break; case 767: /* Line 1455 of yacc.c */ #line 6027 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.m_fk_option)= Foreign_key::FK_OPTION_NO_ACTION; } break; case 768: /* Line 1455 of yacc.c */ #line 6028 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.m_fk_option)= Foreign_key::FK_OPTION_DEFAULT; } break; case 769: /* Line 1455 of yacc.c */ #line 6032 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.key_type)= Key::MULTIPLE; } break; case 770: /* Line 1455 of yacc.c */ #line 6036 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.key_type)= Key::PRIMARY; } break; case 771: /* Line 1455 of yacc.c */ #line 6037 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.key_type)= Key::UNIQUE; } break; case 772: /* Line 1455 of yacc.c */ #line 6041 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 773: /* Line 1455 of yacc.c */ #line 6042 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 774: /* Line 1455 of yacc.c */ #line 6046 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 776: /* Line 1455 of yacc.c */ #line 6051 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 777: /* Line 1455 of yacc.c */ #line 6052 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 778: /* Line 1455 of yacc.c */ #line 6053 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 779: /* Line 1455 of yacc.c */ #line 6057 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.key_type)= Key::MULTIPLE; } break; case 780: /* Line 1455 of yacc.c */ #line 6058 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.key_type)= Key::UNIQUE; } break; case 781: /* Line 1455 of yacc.c */ #line 6062 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.key_type)= Key::FULLTEXT;} break; case 782: /* Line 1455 of yacc.c */ #line 6067 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { #ifdef HAVE_SPATIAL (yyval.key_type)= Key::SPATIAL; #else my_error(ER_FEATURE_DISABLED, MYF(0), sym_group_geom.name, sym_group_geom.needed_define); MYSQL_YYABORT; #endif } break; case 783: /* Line 1455 of yacc.c */ #line 6079 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->key_create_info= default_key_create_info; } break; case 786: /* Line 1455 of yacc.c */ #line 6096 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 788: /* Line 1455 of yacc.c */ #line 6101 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 790: /* Line 1455 of yacc.c */ #line 6106 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 798: /* Line 1455 of yacc.c */ #line 6126 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->key_create_info.algorithm= (yyvsp[(2) - (2)].key_alg); } break; case 799: /* Line 1455 of yacc.c */ #line 6127 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->key_create_info.algorithm= (yyvsp[(2) - (2)].key_alg); } break; case 800: /* Line 1455 of yacc.c */ #line 6132 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->key_create_info.block_size= (yyvsp[(3) - (3)].ulong_num); } break; case 801: /* Line 1455 of yacc.c */ #line 6133 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->key_create_info.comment= (yyvsp[(2) - (2)].lex_str); } break; case 806: /* Line 1455 of yacc.c */ #line 6148 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (plugin_is_ready(&(yyvsp[(3) - (3)].lex_str), MYSQL_FTPARSER_PLUGIN)) Lex->key_create_info.parser_name= (yyvsp[(3) - (3)].lex_str); else { my_error(ER_FUNCTION_NOT_DEFINED, MYF(0), (yyvsp[(3) - (3)].lex_str).str); MYSQL_YYABORT; } } break; case 807: /* Line 1455 of yacc.c */ #line 6160 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_BTREE; } break; case 808: /* Line 1455 of yacc.c */ #line 6161 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_RTREE; } break; case 809: /* Line 1455 of yacc.c */ #line 6162 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.key_alg)= HA_KEY_ALG_HASH; } break; case 810: /* Line 1455 of yacc.c */ #line 6166 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->col_list.push_back((yyvsp[(3) - (4)].key_part)); } break; case 811: /* Line 1455 of yacc.c */ #line 6167 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->col_list.push_back((yyvsp[(1) - (2)].key_part)); } break; case 812: /* Line 1455 of yacc.c */ #line 6172 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.key_part)= new Key_part_spec((yyvsp[(1) - (1)].lex_str), 0); if ((yyval.key_part) == NULL) MYSQL_YYABORT; } break; case 813: /* Line 1455 of yacc.c */ #line 6178 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int key_part_len= atoi((yyvsp[(3) - (4)].lex_str).str); if (!key_part_len) { my_error(ER_KEY_PART_0, MYF(0), (yyvsp[(1) - (4)].lex_str).str); } (yyval.key_part)= new Key_part_spec((yyvsp[(1) - (4)].lex_str), (uint) key_part_len); if ((yyval.key_part) == NULL) MYSQL_YYABORT; } break; case 814: /* Line 1455 of yacc.c */ #line 6191 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= null_lex_str; } break; case 815: /* Line 1455 of yacc.c */ #line 6192 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); } break; case 816: /* Line 1455 of yacc.c */ #line 6196 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= null_lex_str; } break; case 817: /* Line 1455 of yacc.c */ #line 6197 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[(2) - (2)].lex_str); } break; case 818: /* Line 1455 of yacc.c */ #line 6201 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->interval_list.push_back((yyvsp[(1) - (1)].string)); } break; case 819: /* Line 1455 of yacc.c */ #line 6202 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->interval_list.push_back((yyvsp[(3) - (3)].string)); } break; case 820: /* Line 1455 of yacc.c */ #line 6210 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; lex->name.str= 0; lex->name.length= 0; lex->sql_command= SQLCOM_ALTER_TABLE; lex->duplicates= DUP_ERROR; if (!lex->select_lex.add_table_to_list(thd, (yyvsp[(4) - (4)].table), NULL, TL_OPTION_UPDATING, TL_READ_NO_INSERT, MDL_SHARED_NO_WRITE)) MYSQL_YYABORT; lex->col_list.empty(); lex->select_lex.init_order(); lex->select_lex.db= (lex->select_lex.table_list.first)->db; bzero((char*) &lex->create_info,sizeof(lex->create_info)); lex->create_info.db_type= 0; lex->create_info.default_table_charset= NULL; lex->create_info.row_type= ROW_TYPE_NOT_USED; lex->alter_info.reset(); lex->no_write_to_binlog= 0; lex->create_info.storage_media= HA_SM_DEFAULT; lex->create_last_non_select_table= lex->last_table(); DBUG_ASSERT(!lex->m_stmt); } break; case 821: /* Line 1455 of yacc.c */ #line 6236 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; if (!lex->m_stmt) { /* Create a generic ALTER TABLE statment. */ lex->m_stmt= new (thd->mem_root) Alter_table_statement(lex); if (lex->m_stmt == NULL) MYSQL_YYABORT; } } break; case 822: /* Line 1455 of yacc.c */ #line 6248 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.default_table_charset= NULL; Lex->create_info.used_fields= 0; } break; case 823: /* Line 1455 of yacc.c */ #line 6253 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command=SQLCOM_ALTER_DB; lex->name= (yyvsp[(3) - (5)].lex_str); if (lex->name.str == NULL && lex->copy_db_to(&lex->name.str, &lex->name.length)) MYSQL_YYABORT; } break; case 824: /* Line 1455 of yacc.c */ #line 6262 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->sphead) { my_error(ER_SP_NO_DROP_SP, MYF(0), "DATABASE"); MYSQL_YYABORT; } lex->sql_command= SQLCOM_ALTER_DB_UPGRADE; lex->name= (yyvsp[(3) - (7)].lex_str); } break; case 825: /* Line 1455 of yacc.c */ #line 6273 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->sphead) { my_error(ER_SP_NO_DROP_SP, MYF(0), "PROCEDURE"); MYSQL_YYABORT; } bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics)); } break; case 826: /* Line 1455 of yacc.c */ #line 6284 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_ALTER_PROCEDURE; lex->spname= (yyvsp[(3) - (5)].spname); } break; case 827: /* Line 1455 of yacc.c */ #line 6291 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->sphead) { my_error(ER_SP_NO_DROP_SP, MYF(0), "FUNCTION"); MYSQL_YYABORT; } bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics)); } break; case 828: /* Line 1455 of yacc.c */ #line 6302 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_ALTER_FUNCTION; lex->spname= (yyvsp[(3) - (5)].spname); } break; case 829: /* Line 1455 of yacc.c */ #line 6309 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->sphead) { my_error(ER_SP_BADSTATEMENT, MYF(0), "ALTER VIEW"); MYSQL_YYABORT; } lex->create_view_mode= VIEW_ALTER; } break; case 830: /* Line 1455 of yacc.c */ #line 6320 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 831: /* Line 1455 of yacc.c */ #line 6327 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->sphead) { my_error(ER_SP_BADSTATEMENT, MYF(0), "ALTER VIEW"); MYSQL_YYABORT; } lex->create_view_algorithm= VIEW_ALGORITHM_UNDEFINED; lex->create_view_mode= VIEW_ALTER; } break; case 832: /* Line 1455 of yacc.c */ #line 6339 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 833: /* Line 1455 of yacc.c */ #line 6341 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* It is safe to use Lex->spname because ALTER EVENT xxx RENATE TO yyy DO ALTER EVENT RENAME TO is not allowed. Lex->spname is used in the case of RENAME TO If it had to be supported spname had to be added to Event_parse_data. */ if (!(Lex->event_parse_data= Event_parse_data::new_instance(YYTHD))) MYSQL_YYABORT; Lex->event_parse_data->identifier= (yyvsp[(4) - (4)].spname); Lex->sql_command= SQLCOM_ALTER_EVENT; } break; case 834: /* Line 1455 of yacc.c */ #line 6361 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!((yyvsp[(6) - (10)].num) || (yyvsp[(7) - (10)].num) || (yyvsp[(8) - (10)].num) || (yyvsp[(9) - (10)].num) || (yyvsp[(10) - (10)].num))) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } /* sql_command is set here because some rules in ev_sql_stmt can overwrite it */ Lex->sql_command= SQLCOM_ALTER_EVENT; } break; case 835: /* Line 1455 of yacc.c */ #line 6374 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= ALTER_TABLESPACE; } break; case 836: /* Line 1455 of yacc.c */ #line 6379 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= ALTER_LOGFILE_GROUP; } break; case 837: /* Line 1455 of yacc.c */ #line 6384 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= CHANGE_FILE_TABLESPACE; } break; case 838: /* Line 1455 of yacc.c */ #line 6389 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= ALTER_ACCESS_MODE_TABLESPACE; } break; case 839: /* Line 1455 of yacc.c */ #line 6394 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_ALTER_SERVER; lex->server_options.server_name= (yyvsp[(3) - (7)].lex_str).str; lex->server_options.server_name_length= (yyvsp[(3) - (7)].lex_str).length; } break; case 840: /* Line 1455 of yacc.c */ #line 6403 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 0;} break; case 841: /* Line 1455 of yacc.c */ #line 6404 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 842: /* Line 1455 of yacc.c */ #line 6405 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 843: /* Line 1455 of yacc.c */ #line 6406 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 844: /* Line 1455 of yacc.c */ #line 6410 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 0;} break; case 845: /* Line 1455 of yacc.c */ #line 6412 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* Use lex's spname to hold the new name. The original name is in the Event_parse_data object */ Lex->spname= (yyvsp[(3) - (3)].spname); (yyval.num)= 1; } break; case 846: /* Line 1455 of yacc.c */ #line 6423 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 0;} break; case 847: /* Line 1455 of yacc.c */ #line 6424 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 848: /* Line 1455 of yacc.c */ #line 6428 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str).str= 0; (yyval.lex_str).length= 0; } break; case 849: /* Line 1455 of yacc.c */ #line 6429 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); } break; case 851: /* Line 1455 of yacc.c */ #line 6434 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->alter_info.tablespace_op= DISCARD_TABLESPACE; } break; case 852: /* Line 1455 of yacc.c */ #line 6435 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->alter_info.tablespace_op= IMPORT_TABLESPACE; } break; case 858: /* Line 1455 of yacc.c */ #line 6452 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_DROP_PARTITION; } break; case 859: /* Line 1455 of yacc.c */ #line 6457 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_info.flags|= ALTER_REBUILD_PARTITION; lex->no_write_to_binlog= (yyvsp[(3) - (4)].num); } break; case 860: /* Line 1455 of yacc.c */ #line 6464 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; lex->no_write_to_binlog= (yyvsp[(3) - (4)].num); lex->check_opt.init(); DBUG_ASSERT(!lex->m_stmt); lex->m_stmt= new (thd->mem_root) Alter_table_optimize_partition_statement(lex); if (lex->m_stmt == NULL) MYSQL_YYABORT; } break; case 862: /* Line 1455 of yacc.c */ #line 6478 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; lex->no_write_to_binlog= (yyvsp[(3) - (4)].num); lex->check_opt.init(); DBUG_ASSERT(!lex->m_stmt); lex->m_stmt= new (thd->mem_root) Alter_table_analyze_partition_statement(lex); if (lex->m_stmt == NULL) MYSQL_YYABORT; } break; case 863: /* Line 1455 of yacc.c */ #line 6490 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; lex->check_opt.init(); DBUG_ASSERT(!lex->m_stmt); lex->m_stmt= new (thd->mem_root) Alter_table_check_partition_statement(lex); if (lex->m_stmt == NULL) MYSQL_YYABORT; } break; case 865: /* Line 1455 of yacc.c */ #line 6503 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; lex->no_write_to_binlog= (yyvsp[(3) - (4)].num); lex->check_opt.init(); DBUG_ASSERT(!lex->m_stmt); lex->m_stmt= new (thd->mem_root) Alter_table_repair_partition_statement(lex); if (lex->m_stmt == NULL) MYSQL_YYABORT; } break; case 867: /* Line 1455 of yacc.c */ #line 6516 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_info.flags|= ALTER_COALESCE_PARTITION; lex->no_write_to_binlog= (yyvsp[(3) - (4)].num); lex->alter_info.num_parts= (yyvsp[(4) - (4)].ulong_num); } break; case 868: /* Line 1455 of yacc.c */ #line 6523 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; lex->check_opt.init(); DBUG_ASSERT(!lex->m_stmt); lex->m_stmt= new (thd->mem_root) Alter_table_truncate_partition_statement(lex); if (lex->m_stmt == NULL) MYSQL_YYABORT; } break; case 870: /* Line 1455 of yacc.c */ #line 6538 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_REMOVE_PARTITIONING; } break; case 871: /* Line 1455 of yacc.c */ #line 6545 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_ALL_PARTITION; } break; case 873: /* Line 1455 of yacc.c */ #line 6553 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->part_info= new partition_info(); if (!lex->part_info) { mem_alloc_error(sizeof(partition_info)); MYSQL_YYABORT; } lex->alter_info.flags|= ALTER_ADD_PARTITION; lex->no_write_to_binlog= (yyvsp[(3) - (3)].num); } break; case 874: /* Line 1455 of yacc.c */ #line 6565 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 876: /* Line 1455 of yacc.c */ #line 6571 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->part_info->num_parts= lex->part_info->partitions.elements; } break; case 877: /* Line 1455 of yacc.c */ #line 6576 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->part_info->num_parts= (yyvsp[(2) - (2)].ulong_num); } break; case 878: /* Line 1455 of yacc.c */ #line 6583 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->part_info= new partition_info(); if (!lex->part_info) { mem_alloc_error(sizeof(partition_info)); MYSQL_YYABORT; } lex->no_write_to_binlog= (yyvsp[(3) - (3)].num); } break; case 880: /* Line 1455 of yacc.c */ #line 6598 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_TABLE_REORG; } break; case 881: /* Line 1455 of yacc.c */ #line 6602 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_REORGANIZE_PARTITION; } break; case 882: /* Line 1455 of yacc.c */ #line 6606 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { partition_info *part_info= Lex->part_info; part_info->num_parts= part_info->partitions.elements; } break; case 883: /* Line 1455 of yacc.c */ #line 6613 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 884: /* Line 1455 of yacc.c */ #line 6614 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 885: /* Line 1455 of yacc.c */ #line 6619 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Lex->alter_info.partition_names.push_back((yyvsp[(1) - (1)].lex_str).str)) { mem_alloc_error(1); MYSQL_YYABORT; } } break; case 888: /* Line 1455 of yacc.c */ #line 6639 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->change=0; lex->alter_info.flags|= ALTER_ADD_COLUMN; } break; case 889: /* Line 1455 of yacc.c */ #line 6648 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_last_non_select_table= Lex->last_table(); } break; case 890: /* Line 1455 of yacc.c */ #line 6652 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_last_non_select_table= Lex->last_table(); Lex->alter_info.flags|= ALTER_ADD_INDEX; } break; case 891: /* Line 1455 of yacc.c */ #line 6657 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_ADD_COLUMN | ALTER_ADD_INDEX; } break; case 892: /* Line 1455 of yacc.c */ #line 6661 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->change= (yyvsp[(3) - (3)].lex_str).str; lex->alter_info.flags|= ALTER_CHANGE_COLUMN; } break; case 893: /* Line 1455 of yacc.c */ #line 6667 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_last_non_select_table= Lex->last_table(); } break; case 894: /* Line 1455 of yacc.c */ #line 6671 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->length=lex->dec=0; lex->type=0; lex->default_value= lex->on_update_value= 0; lex->comment=null_lex_str; lex->charset= NULL; lex->alter_info.flags|= ALTER_CHANGE_COLUMN; } break; case 895: /* Line 1455 of yacc.c */ #line 6680 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (add_field_to_list(lex->thd,&(yyvsp[(3) - (6)].lex_str), (enum enum_field_types) (yyvsp[(5) - (6)].num), lex->length,lex->dec,lex->type, lex->default_value, lex->on_update_value, &lex->comment, (yyvsp[(3) - (6)].lex_str).str, &lex->interval_list, lex->charset, lex->uint_geom_type)) MYSQL_YYABORT; } break; case 896: /* Line 1455 of yacc.c */ #line 6692 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_last_non_select_table= Lex->last_table(); } break; case 897: /* Line 1455 of yacc.c */ #line 6696 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_drop *ad= new Alter_drop(Alter_drop::COLUMN, (yyvsp[(3) - (4)].lex_str).str); if (ad == NULL) MYSQL_YYABORT; lex->alter_info.drop_list.push_back(ad); lex->alter_info.flags|= ALTER_DROP_COLUMN; } break; case 898: /* Line 1455 of yacc.c */ #line 6705 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_DROP_INDEX | ALTER_FOREIGN_KEY; } break; case 899: /* Line 1455 of yacc.c */ #line 6709 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_drop *ad= new Alter_drop(Alter_drop::KEY, primary_key_name); if (ad == NULL) MYSQL_YYABORT; lex->alter_info.drop_list.push_back(ad); lex->alter_info.flags|= ALTER_DROP_INDEX; } break; case 900: /* Line 1455 of yacc.c */ #line 6718 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_drop *ad= new Alter_drop(Alter_drop::KEY, (yyvsp[(3) - (3)].lex_str).str); if (ad == NULL) MYSQL_YYABORT; lex->alter_info.drop_list.push_back(ad); lex->alter_info.flags|= ALTER_DROP_INDEX; } break; case 901: /* Line 1455 of yacc.c */ #line 6727 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.keys_onoff= DISABLE; lex->alter_info.flags|= ALTER_KEYS_ONOFF; } break; case 902: /* Line 1455 of yacc.c */ #line 6733 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.keys_onoff= ENABLE; lex->alter_info.flags|= ALTER_KEYS_ONOFF; } break; case 903: /* Line 1455 of yacc.c */ #line 6739 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_column *ac= new Alter_column((yyvsp[(3) - (6)].lex_str).str,(yyvsp[(6) - (6)].item)); if (ac == NULL) MYSQL_YYABORT; lex->alter_info.alter_list.push_back(ac); lex->alter_info.flags|= ALTER_CHANGE_COLUMN_DEFAULT; } break; case 904: /* Line 1455 of yacc.c */ #line 6748 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_column *ac= new Alter_column((yyvsp[(3) - (5)].lex_str).str, (Item*) 0); if (ac == NULL) MYSQL_YYABORT; lex->alter_info.alter_list.push_back(ac); lex->alter_info.flags|= ALTER_CHANGE_COLUMN_DEFAULT; } break; case 905: /* Line 1455 of yacc.c */ #line 6757 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; size_t dummy; lex->select_lex.db=(yyvsp[(3) - (3)].table)->db.str; if (lex->select_lex.db == NULL && lex->copy_db_to(&lex->select_lex.db, &dummy)) { MYSQL_YYABORT; } if (check_table_name((yyvsp[(3) - (3)].table)->table.str,(yyvsp[(3) - (3)].table)->table.length, FALSE) || ((yyvsp[(3) - (3)].table)->db.str && check_db_name(&(yyvsp[(3) - (3)].table)->db))) { my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[(3) - (3)].table)->table.str); MYSQL_YYABORT; } lex->name= (yyvsp[(3) - (3)].table)->table; lex->alter_info.flags|= ALTER_RENAME; } break; case 906: /* Line 1455 of yacc.c */ #line 6776 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!(yyvsp[(4) - (5)].charset)) { THD *thd= YYTHD; (yyvsp[(4) - (5)].charset)= thd->variables.collation_database; } (yyvsp[(5) - (5)].charset)= (yyvsp[(5) - (5)].charset) ? (yyvsp[(5) - (5)].charset) : (yyvsp[(4) - (5)].charset); if (!my_charset_same((yyvsp[(4) - (5)].charset),(yyvsp[(5) - (5)].charset))) { my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0), (yyvsp[(5) - (5)].charset)->name, (yyvsp[(4) - (5)].charset)->csname); MYSQL_YYABORT; } LEX *lex= Lex; lex->create_info.table_charset= lex->create_info.default_table_charset= (yyvsp[(5) - (5)].charset); lex->create_info.used_fields|= (HA_CREATE_USED_CHARSET | HA_CREATE_USED_DEFAULT_CHARSET); lex->alter_info.flags|= ALTER_CONVERT; } break; case 907: /* Line 1455 of yacc.c */ #line 6797 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.flags|= ALTER_OPTIONS; if ((lex->create_info.used_fields & HA_CREATE_USED_ENGINE) && !lex->create_info.db_type) { lex->create_info.used_fields&= ~HA_CREATE_USED_ENGINE; } } break; case 908: /* Line 1455 of yacc.c */ #line 6807 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_RECREATE; } break; case 909: /* Line 1455 of yacc.c */ #line 6811 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->alter_info.flags|= ALTER_ORDER; } break; case 910: /* Line 1455 of yacc.c */ #line 6818 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 911: /* Line 1455 of yacc.c */ #line 6819 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 912: /* Line 1455 of yacc.c */ #line 6823 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->ignore= 0;} break; case 913: /* Line 1455 of yacc.c */ #line 6824 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->ignore= 1;} break; case 914: /* Line 1455 of yacc.c */ #line 6828 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->drop_mode= DROP_DEFAULT; } break; case 915: /* Line 1455 of yacc.c */ #line 6829 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->drop_mode= DROP_RESTRICT; } break; case 916: /* Line 1455 of yacc.c */ #line 6830 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->drop_mode= DROP_CASCADE; } break; case 917: /* Line 1455 of yacc.c */ #line 6834 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 918: /* Line 1455 of yacc.c */ #line 6835 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { store_position_for_column((yyvsp[(2) - (2)].lex_str).str); } break; case 919: /* Line 1455 of yacc.c */ #line 6836 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { store_position_for_column(first_keyword); } break; case 920: /* Line 1455 of yacc.c */ #line 6840 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 921: /* Line 1455 of yacc.c */ #line 6841 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 922: /* Line 1455 of yacc.c */ #line 6842 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 923: /* Line 1455 of yacc.c */ #line 6843 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 924: /* Line 1455 of yacc.c */ #line 6852 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_START; lex->type = 0; /* We'll use mi structure for UNTIL options */ bzero((char*) &lex->mi, sizeof(lex->mi)); /* If you change this code don't forget to update SLAVE START too */ } break; case 925: /* Line 1455 of yacc.c */ #line 6861 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 926: /* Line 1455 of yacc.c */ #line 6863 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_STOP; lex->type = 0; /* If you change this code don't forget to update SLAVE STOP too */ } break; case 927: /* Line 1455 of yacc.c */ #line 6870 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_START; lex->type = 0; /* We'll use mi structure for UNTIL options */ bzero((char*) &lex->mi, sizeof(lex->mi)); } break; case 928: /* Line 1455 of yacc.c */ #line 6878 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 929: /* Line 1455 of yacc.c */ #line 6880 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_SLAVE_STOP; lex->type = 0; } break; case 930: /* Line 1455 of yacc.c */ #line 6889 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_BEGIN; lex->start_transaction_opt= (yyvsp[(3) - (3)].num); } break; case 931: /* Line 1455 of yacc.c */ #line 6897 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num) = 0; } break; case 932: /* Line 1455 of yacc.c */ #line 6899 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= MYSQL_START_TRANS_OPT_WITH_CONS_SNAPSHOT; } break; case 933: /* Line 1455 of yacc.c */ #line 6905 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->slave_thd_opt= 0; } break; case 934: /* Line 1455 of yacc.c */ #line 6907 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 937: /* Line 1455 of yacc.c */ #line 6916 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 938: /* Line 1455 of yacc.c */ #line 6917 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->slave_thd_opt|=SLAVE_SQL; } break; case 939: /* Line 1455 of yacc.c */ #line 6918 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->slave_thd_opt|=SLAVE_IO; } break; case 940: /* Line 1455 of yacc.c */ #line 6922 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 941: /* Line 1455 of yacc.c */ #line 6924 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (((lex->mi.log_file_name || lex->mi.pos) && (lex->mi.relay_log_name || lex->mi.relay_log_pos)) || !((lex->mi.log_file_name && lex->mi.pos) || (lex->mi.relay_log_name && lex->mi.relay_log_pos))) { my_message(ER_BAD_SLAVE_UNTIL_COND, ER(ER_BAD_SLAVE_UNTIL_COND), MYF(0)); MYSQL_YYABORT; } } break; case 944: /* Line 1455 of yacc.c */ #line 6945 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_CHECKSUM; /* Will be overriden during execution. */ YYPS->m_lock_type= TL_UNLOCK; } break; case 945: /* Line 1455 of yacc.c */ #line 6952 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 946: /* Line 1455 of yacc.c */ #line 6956 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags= 0; } break; case 947: /* Line 1455 of yacc.c */ #line 6957 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags= T_QUICK; } break; case 948: /* Line 1455 of yacc.c */ #line 6958 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags= T_EXTEND; } break; case 949: /* Line 1455 of yacc.c */ #line 6963 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_REPAIR; lex->no_write_to_binlog= (yyvsp[(2) - (3)].num); lex->check_opt.init(); lex->alter_info.reset(); /* Will be overriden during execution. */ YYPS->m_lock_type= TL_UNLOCK; } break; case 950: /* Line 1455 of yacc.c */ #line 6973 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX* lex= thd->lex; DBUG_ASSERT(!lex->m_stmt); lex->m_stmt= new (thd->mem_root) Repair_table_statement(lex); if (lex->m_stmt == NULL) MYSQL_YYABORT; } break; case 951: /* Line 1455 of yacc.c */ #line 6984 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags = T_MEDIUM; } break; case 952: /* Line 1455 of yacc.c */ #line 6985 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 953: /* Line 1455 of yacc.c */ #line 6989 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 954: /* Line 1455 of yacc.c */ #line 6990 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 955: /* Line 1455 of yacc.c */ #line 6994 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_QUICK; } break; case 956: /* Line 1455 of yacc.c */ #line 6995 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_EXTEND; } break; case 957: /* Line 1455 of yacc.c */ #line 6996 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->check_opt.sql_flags|= TT_USEFRM; } break; case 958: /* Line 1455 of yacc.c */ #line 7001 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_ANALYZE; lex->no_write_to_binlog= (yyvsp[(2) - (3)].num); lex->check_opt.init(); lex->alter_info.reset(); /* Will be overriden during execution. */ YYPS->m_lock_type= TL_UNLOCK; } break; case 959: /* Line 1455 of yacc.c */ #line 7011 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX* lex= thd->lex; DBUG_ASSERT(!lex->m_stmt); lex->m_stmt= new (thd->mem_root) Analyze_table_statement(lex); if (lex->m_stmt == NULL) MYSQL_YYABORT; } break; case 960: /* Line 1455 of yacc.c */ #line 7023 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_BINLOG_BASE64_EVENT; Lex->comment= (yyvsp[(2) - (2)].lex_str); } break; case 961: /* Line 1455 of yacc.c */ #line 7031 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->sphead) { my_error(ER_SP_BADSTATEMENT, MYF(0), "CHECK"); MYSQL_YYABORT; } lex->sql_command = SQLCOM_CHECK; lex->check_opt.init(); lex->alter_info.reset(); /* Will be overriden during execution. */ YYPS->m_lock_type= TL_UNLOCK; } break; case 962: /* Line 1455 of yacc.c */ #line 7046 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX* lex= thd->lex; DBUG_ASSERT(!lex->m_stmt); lex->m_stmt= new (thd->mem_root) Check_table_statement(lex); if (lex->m_stmt == NULL) MYSQL_YYABORT; } break; case 963: /* Line 1455 of yacc.c */ #line 7057 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags = T_MEDIUM; } break; case 964: /* Line 1455 of yacc.c */ #line 7058 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 965: /* Line 1455 of yacc.c */ #line 7062 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 966: /* Line 1455 of yacc.c */ #line 7063 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 967: /* Line 1455 of yacc.c */ #line 7067 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_QUICK; } break; case 968: /* Line 1455 of yacc.c */ #line 7068 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_FAST; } break; case 969: /* Line 1455 of yacc.c */ #line 7069 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_MEDIUM; } break; case 970: /* Line 1455 of yacc.c */ #line 7070 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_EXTEND; } break; case 971: /* Line 1455 of yacc.c */ #line 7071 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->check_opt.flags|= T_CHECK_ONLY_CHANGED; } break; case 972: /* Line 1455 of yacc.c */ #line 7072 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->check_opt.sql_flags|= TT_FOR_UPGRADE; } break; case 973: /* Line 1455 of yacc.c */ #line 7077 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_OPTIMIZE; lex->no_write_to_binlog= (yyvsp[(2) - (3)].num); lex->check_opt.init(); lex->alter_info.reset(); /* Will be overriden during execution. */ YYPS->m_lock_type= TL_UNLOCK; } break; case 974: /* Line 1455 of yacc.c */ #line 7087 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX* lex= thd->lex; DBUG_ASSERT(!lex->m_stmt); lex->m_stmt= new (thd->mem_root) Optimize_table_statement(lex); if (lex->m_stmt == NULL) MYSQL_YYABORT; } break; case 975: /* Line 1455 of yacc.c */ #line 7098 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 976: /* Line 1455 of yacc.c */ #line 7099 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 977: /* Line 1455 of yacc.c */ #line 7100 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 978: /* Line 1455 of yacc.c */ #line 7105 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_RENAME_TABLE; } break; case 979: /* Line 1455 of yacc.c */ #line 7109 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 980: /* Line 1455 of yacc.c */ #line 7111 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_RENAME_USER; } break; case 981: /* Line 1455 of yacc.c */ #line 7118 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Lex->users_list.push_back((yyvsp[(1) - (3)].lex_user)) || Lex->users_list.push_back((yyvsp[(3) - (3)].lex_user))) MYSQL_YYABORT; } break; case 982: /* Line 1455 of yacc.c */ #line 7123 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Lex->users_list.push_back((yyvsp[(3) - (5)].lex_user)) || Lex->users_list.push_back((yyvsp[(5) - (5)].lex_user))) MYSQL_YYABORT; } break; case 985: /* Line 1455 of yacc.c */ #line 7136 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; SELECT_LEX *sl= lex->current_select; if (!sl->add_table_to_list(lex->thd, (yyvsp[(1) - (3)].table),NULL,TL_OPTION_UPDATING, TL_IGNORE, MDL_EXCLUSIVE) || !sl->add_table_to_list(lex->thd, (yyvsp[(3) - (3)].table),NULL,TL_OPTION_UPDATING, TL_IGNORE, MDL_EXCLUSIVE)) MYSQL_YYABORT; } break; case 986: /* Line 1455 of yacc.c */ #line 7149 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->alter_info.reset(); } break; case 987: /* Line 1455 of yacc.c */ #line 7153 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_ASSIGN_TO_KEYCACHE; lex->ident= (yyvsp[(6) - (6)].lex_str); } break; case 992: /* Line 1455 of yacc.c */ #line 7172 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[(1) - (2)].table), NULL, 0, TL_READ, MDL_SHARED_READ, Select->pop_index_hints())) MYSQL_YYABORT; } break; case 993: /* Line 1455 of yacc.c */ #line 7182 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[(1) - (3)].table), NULL, 0, TL_READ, MDL_SHARED_READ, Select->pop_index_hints())) MYSQL_YYABORT; } break; case 994: /* Line 1455 of yacc.c */ #line 7191 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); } break; case 995: /* Line 1455 of yacc.c */ #line 7192 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str) = default_key_cache_base; } break; case 996: /* Line 1455 of yacc.c */ #line 7197 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command=SQLCOM_PRELOAD_KEYS; lex->alter_info.reset(); } break; case 997: /* Line 1455 of yacc.c */ #line 7203 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1002: /* Line 1455 of yacc.c */ #line 7218 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[(1) - (3)].table), NULL, (yyvsp[(3) - (3)].num), TL_READ, MDL_SHARED_READ, Select->pop_index_hints())) MYSQL_YYABORT; } break; case 1003: /* Line 1455 of yacc.c */ #line 7228 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[(1) - (4)].table), NULL, (yyvsp[(4) - (4)].num), TL_READ, MDL_SHARED_READ, Select->pop_index_hints())) MYSQL_YYABORT; } break; case 1004: /* Line 1455 of yacc.c */ #line 7238 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->alter_info.flags|= ALTER_ADMIN_PARTITION; } break; case 1006: /* Line 1455 of yacc.c */ #line 7245 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->select_lex.alloc_index_hints(YYTHD); Select->set_index_hint_type(INDEX_HINT_USE, old_mode ? INDEX_HINT_MASK_JOIN : INDEX_HINT_MASK_ALL); } break; case 1008: /* Line 1455 of yacc.c */ #line 7256 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { } break; case 1010: /* Line 1455 of yacc.c */ #line 7262 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 1011: /* Line 1455 of yacc.c */ #line 7263 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= TL_OPTION_IGNORE_LEAVES; } break; case 1012: /* Line 1455 of yacc.c */ #line 7273 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SELECT; } break; case 1015: /* Line 1455 of yacc.c */ #line 7287 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (setup_select_in_parentheses(Lex)) MYSQL_YYABORT; } break; case 1017: /* Line 1455 of yacc.c */ #line 7297 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (setup_select_in_parentheses(Lex)) MYSQL_YYABORT; } break; case 1019: /* Line 1455 of yacc.c */ #line 7306 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX * sel= lex->current_select; if (lex->current_select->set_braces(0)) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } if (sel->linkage == UNION_TYPE && sel->master_unit()->first_select()->braces) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } } break; case 1021: /* Line 1455 of yacc.c */ #line 7325 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX *sel= lex->current_select; if (sel->linkage != UNION_TYPE) mysql_init_select(lex); lex->current_select->parsing_place= SELECT_LIST; } break; case 1022: /* Line 1455 of yacc.c */ #line 7333 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; } break; case 1024: /* Line 1455 of yacc.c */ #line 7340 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1029: /* Line 1455 of yacc.c */ #line 7350 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->context.table_list= Select->context.first_name_resolution_table= Select->table_list.first; } break; case 1032: /* Line 1455 of yacc.c */ #line 7365 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Select->options & SELECT_DISTINCT && Select->options & SELECT_ALL) { my_error(ER_WRONG_USAGE, MYF(0), "ALL", "DISTINCT"); MYSQL_YYABORT; } } break; case 1036: /* Line 1455 of yacc.c */ #line 7382 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* Allow this flag only on the first top-level SELECT statement, if SQL_CACHE wasn't specified, and only once per query. */ if (Lex->current_select != &Lex->select_lex) { my_error(ER_CANT_USE_OPTION_HERE, MYF(0), "SQL_NO_CACHE"); MYSQL_YYABORT; } else if (Lex->select_lex.sql_cache == SELECT_LEX::SQL_CACHE) { my_error(ER_WRONG_USAGE, MYF(0), "SQL_CACHE", "SQL_NO_CACHE"); MYSQL_YYABORT; } else if (Lex->select_lex.sql_cache == SELECT_LEX::SQL_NO_CACHE) { my_error(ER_DUP_ARGUMENT, MYF(0), "SQL_NO_CACHE"); MYSQL_YYABORT; } else { Lex->safe_to_cache_query=0; Lex->select_lex.options&= ~OPTION_TO_QUERY_CACHE; Lex->select_lex.sql_cache= SELECT_LEX::SQL_NO_CACHE; } } break; case 1037: /* Line 1455 of yacc.c */ #line 7410 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* Allow this flag only on the first top-level SELECT statement, if SQL_NO_CACHE wasn't specified, and only once per query. */ if (Lex->current_select != &Lex->select_lex) { my_error(ER_CANT_USE_OPTION_HERE, MYF(0), "SQL_CACHE"); MYSQL_YYABORT; } else if (Lex->select_lex.sql_cache == SELECT_LEX::SQL_NO_CACHE) { my_error(ER_WRONG_USAGE, MYF(0), "SQL_NO_CACHE", "SQL_CACHE"); MYSQL_YYABORT; } else if (Lex->select_lex.sql_cache == SELECT_LEX::SQL_CACHE) { my_error(ER_DUP_ARGUMENT, MYF(0), "SQL_CACHE"); MYSQL_YYABORT; } else { Lex->safe_to_cache_query=1; Lex->select_lex.options|= OPTION_TO_QUERY_CACHE; Lex->select_lex.sql_cache= SELECT_LEX::SQL_CACHE; } } break; case 1039: /* Line 1455 of yacc.c */ #line 7442 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->current_select->set_lock_for_tables(TL_WRITE); lex->safe_to_cache_query=0; } break; case 1040: /* Line 1455 of yacc.c */ #line 7448 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->current_select-> set_lock_for_tables(TL_READ_WITH_SHARED_LOCKS); lex->safe_to_cache_query=0; } break; case 1043: /* Line 1455 of yacc.c */ #line 7460 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; Item *item= new (thd->mem_root) Item_field(&thd->lex->current_select->context, NULL, NULL, "*"); if (item == NULL) MYSQL_YYABORT; if (add_item_to_list(thd, item)) MYSQL_YYABORT; (thd->lex->current_select->with_wild)++; } break; case 1044: /* Line 1455 of yacc.c */ #line 7475 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; if (add_item_to_list(thd, (yyvsp[(2) - (3)].item))) MYSQL_YYABORT; } break; case 1045: /* Line 1455 of yacc.c */ #line 7482 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; DBUG_ASSERT((yyvsp[(1) - (4)].simple_string) < (yyvsp[(3) - (4)].simple_string)); if (add_item_to_list(thd, (yyvsp[(2) - (4)].item))) MYSQL_YYABORT; if ((yyvsp[(4) - (4)].lex_str).str) { if (Lex->sql_command == SQLCOM_CREATE_VIEW && check_column_name((yyvsp[(4) - (4)].lex_str).str)) { my_error(ER_WRONG_COLUMN_NAME, MYF(0), (yyvsp[(4) - (4)].lex_str).str); MYSQL_YYABORT; } (yyvsp[(2) - (4)].item)->is_autogenerated_name= FALSE; (yyvsp[(2) - (4)].item)->set_name((yyvsp[(4) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).length, system_charset_info); } else if (!(yyvsp[(2) - (4)].item)->name) { (yyvsp[(2) - (4)].item)->set_name((yyvsp[(1) - (4)].simple_string), (uint) ((yyvsp[(3) - (4)].simple_string) - (yyvsp[(1) - (4)].simple_string)), thd->charset()); } } break; case 1046: /* Line 1455 of yacc.c */ #line 7507 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_start(); } break; case 1047: /* Line 1455 of yacc.c */ #line 7513 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.simple_string)= (char*) YYLIP->get_cpp_tok_end(); } break; case 1048: /* Line 1455 of yacc.c */ #line 7519 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=null_lex_str;} break; case 1049: /* Line 1455 of yacc.c */ #line 7520 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); } break; case 1050: /* Line 1455 of yacc.c */ #line 7521 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str); } break; case 1051: /* Line 1455 of yacc.c */ #line 7522 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); } break; case 1052: /* Line 1455 of yacc.c */ #line 7523 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); } break; case 1053: /* Line 1455 of yacc.c */ #line 7527 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1054: /* Line 1455 of yacc.c */ #line 7528 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1055: /* Line 1455 of yacc.c */ #line 7534 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* Design notes: Do not use a manually maintained stack like thd->lex->xxx_list, but use the internal bison stack ($$, $1 and $3) instead. Using the bison stack is: - more robust to changes in the grammar, - guaranteed to be in sync with the parser state, - better for performances (no memory allocation). */ Item_cond_or *item1; Item_cond_or *item3; if (is_cond_or((yyvsp[(1) - (3)].item))) { item1= (Item_cond_or*) (yyvsp[(1) - (3)].item); if (is_cond_or((yyvsp[(3) - (3)].item))) { item3= (Item_cond_or*) (yyvsp[(3) - (3)].item); /* (X1 OR X2) OR (Y1 OR Y2) ==> OR (X1, X2, Y1, Y2) */ item3->add_at_head(item1->argument_list()); (yyval.item) = (yyvsp[(3) - (3)].item); } else { /* (X1 OR X2) OR Y ==> OR (X1, X2, Y) */ item1->add((yyvsp[(3) - (3)].item)); (yyval.item) = (yyvsp[(1) - (3)].item); } } else if (is_cond_or((yyvsp[(3) - (3)].item))) { item3= (Item_cond_or*) (yyvsp[(3) - (3)].item); /* X OR (Y1 OR Y2) ==> OR (X, Y1, Y2) */ item3->add_at_head((yyvsp[(1) - (3)].item)); (yyval.item) = (yyvsp[(3) - (3)].item); } else { /* X OR Y */ (yyval.item) = new (YYTHD->mem_root) Item_cond_or((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } } break; case 1056: /* Line 1455 of yacc.c */ #line 7585 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* XOR is a proprietary extension */ (yyval.item) = new (YYTHD->mem_root) Item_cond_xor((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1057: /* Line 1455 of yacc.c */ #line 7592 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* See comments in rule expr: expr or expr */ Item_cond_and *item1; Item_cond_and *item3; if (is_cond_and((yyvsp[(1) - (3)].item))) { item1= (Item_cond_and*) (yyvsp[(1) - (3)].item); if (is_cond_and((yyvsp[(3) - (3)].item))) { item3= (Item_cond_and*) (yyvsp[(3) - (3)].item); /* (X1 AND X2) AND (Y1 AND Y2) ==> AND (X1, X2, Y1, Y2) */ item3->add_at_head(item1->argument_list()); (yyval.item) = (yyvsp[(3) - (3)].item); } else { /* (X1 AND X2) AND Y ==> AND (X1, X2, Y) */ item1->add((yyvsp[(3) - (3)].item)); (yyval.item) = (yyvsp[(1) - (3)].item); } } else if (is_cond_and((yyvsp[(3) - (3)].item))) { item3= (Item_cond_and*) (yyvsp[(3) - (3)].item); /* X AND (Y1 AND Y2) ==> AND (X, Y1, Y2) */ item3->add_at_head((yyvsp[(1) - (3)].item)); (yyval.item) = (yyvsp[(3) - (3)].item); } else { /* X AND Y */ (yyval.item) = new (YYTHD->mem_root) Item_cond_and((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } } break; case 1058: /* Line 1455 of yacc.c */ #line 7635 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= negate_expression(YYTHD, (yyvsp[(2) - (2)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1059: /* Line 1455 of yacc.c */ #line 7641 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_istrue((yyvsp[(1) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1060: /* Line 1455 of yacc.c */ #line 7647 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_isnottrue((yyvsp[(1) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1061: /* Line 1455 of yacc.c */ #line 7653 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_isfalse((yyvsp[(1) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1062: /* Line 1455 of yacc.c */ #line 7659 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_isnotfalse((yyvsp[(1) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1063: /* Line 1455 of yacc.c */ #line 7665 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_isnull((yyvsp[(1) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1064: /* Line 1455 of yacc.c */ #line 7671 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_isnotnull((yyvsp[(1) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1066: /* Line 1455 of yacc.c */ #line 7681 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_isnull((yyvsp[(1) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1067: /* Line 1455 of yacc.c */ #line 7687 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_isnotnull((yyvsp[(1) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1068: /* Line 1455 of yacc.c */ #line 7693 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_equal((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1069: /* Line 1455 of yacc.c */ #line 7699 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= (*(yyvsp[(2) - (3)].boolfunc2creator))(0)->create((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1070: /* Line 1455 of yacc.c */ #line 7705 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= all_any_subquery_creator((yyvsp[(1) - (6)].item), (yyvsp[(2) - (6)].boolfunc2creator), (yyvsp[(3) - (6)].num), (yyvsp[(5) - (6)].select_lex)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1072: /* Line 1455 of yacc.c */ #line 7715 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_in_subselect((yyvsp[(1) - (5)].item), (yyvsp[(4) - (5)].select_lex)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1073: /* Line 1455 of yacc.c */ #line 7721 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; Item *item= new (thd->mem_root) Item_in_subselect((yyvsp[(1) - (6)].item), (yyvsp[(5) - (6)].select_lex)); if (item == NULL) MYSQL_YYABORT; (yyval.item)= negate_expression(thd, item); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1074: /* Line 1455 of yacc.c */ #line 7731 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= handle_sql2003_note184_exception(YYTHD, (yyvsp[(1) - (5)].item), true, (yyvsp[(4) - (5)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1075: /* Line 1455 of yacc.c */ #line 7737 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyvsp[(6) - (7)].item_list)->push_front((yyvsp[(4) - (7)].item)); (yyvsp[(6) - (7)].item_list)->push_front((yyvsp[(1) - (7)].item)); (yyval.item)= new (YYTHD->mem_root) Item_func_in(*(yyvsp[(6) - (7)].item_list)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1076: /* Line 1455 of yacc.c */ #line 7745 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= handle_sql2003_note184_exception(YYTHD, (yyvsp[(1) - (6)].item), false, (yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1077: /* Line 1455 of yacc.c */ #line 7751 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(5) - (8)].item)); (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(1) - (8)].item)); Item_func_in *item = new (YYTHD->mem_root) Item_func_in(*(yyvsp[(7) - (8)].item_list)); if (item == NULL) MYSQL_YYABORT; item->negate(); (yyval.item)= item; } break; case 1078: /* Line 1455 of yacc.c */ #line 7761 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_between((yyvsp[(1) - (5)].item),(yyvsp[(3) - (5)].item),(yyvsp[(5) - (5)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1079: /* Line 1455 of yacc.c */ #line 7767 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Item_func_between *item; item= new (YYTHD->mem_root) Item_func_between((yyvsp[(1) - (6)].item),(yyvsp[(4) - (6)].item),(yyvsp[(6) - (6)].item)); if (item == NULL) MYSQL_YYABORT; item->negate(); (yyval.item)= item; } break; case 1080: /* Line 1455 of yacc.c */ #line 7776 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Item *item1= new (YYTHD->mem_root) Item_func_soundex((yyvsp[(1) - (4)].item)); Item *item4= new (YYTHD->mem_root) Item_func_soundex((yyvsp[(4) - (4)].item)); if ((item1 == NULL) || (item4 == NULL)) MYSQL_YYABORT; (yyval.item)= new (YYTHD->mem_root) Item_func_eq(item1, item4); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1081: /* Line 1455 of yacc.c */ #line 7786 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_like((yyvsp[(1) - (4)].item),(yyvsp[(3) - (4)].item),(yyvsp[(4) - (4)].item),Lex->escape_used); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1082: /* Line 1455 of yacc.c */ #line 7792 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Item *item= new (YYTHD->mem_root) Item_func_like((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].item), Lex->escape_used); if (item == NULL) MYSQL_YYABORT; (yyval.item)= new (YYTHD->mem_root) Item_func_not(item); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1083: /* Line 1455 of yacc.c */ #line 7802 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_regex((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1084: /* Line 1455 of yacc.c */ #line 7808 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Item *item= new (YYTHD->mem_root) Item_func_regex((yyvsp[(1) - (4)].item),(yyvsp[(4) - (4)].item)); if (item == NULL) MYSQL_YYABORT; (yyval.item)= negate_expression(YYTHD, item); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1086: /* Line 1455 of yacc.c */ #line 7821 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_bit_or((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1087: /* Line 1455 of yacc.c */ #line 7827 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_bit_and((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1088: /* Line 1455 of yacc.c */ #line 7833 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_shift_left((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1089: /* Line 1455 of yacc.c */ #line 7839 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_shift_right((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1090: /* Line 1455 of yacc.c */ #line 7845 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_plus((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1091: /* Line 1455 of yacc.c */ #line 7851 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_minus((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1092: /* Line 1455 of yacc.c */ #line 7857 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].interval),0); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1093: /* Line 1455 of yacc.c */ #line 7863 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(1) - (5)].item),(yyvsp[(4) - (5)].item),(yyvsp[(5) - (5)].interval),1); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1094: /* Line 1455 of yacc.c */ #line 7869 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_mul((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1095: /* Line 1455 of yacc.c */ #line 7875 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_div((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1096: /* Line 1455 of yacc.c */ #line 7881 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_mod((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1097: /* Line 1455 of yacc.c */ #line 7887 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_int_div((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1098: /* Line 1455 of yacc.c */ #line 7893 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_mod((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1099: /* Line 1455 of yacc.c */ #line 7899 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_bit_xor((yyvsp[(1) - (3)].item),(yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1109: /* Line 1455 of yacc.c */ #line 7928 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_eq_creator; } break; case 1110: /* Line 1455 of yacc.c */ #line 7929 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_ge_creator; } break; case 1111: /* Line 1455 of yacc.c */ #line 7930 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_gt_creator; } break; case 1112: /* Line 1455 of yacc.c */ #line 7931 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_le_creator; } break; case 1113: /* Line 1455 of yacc.c */ #line 7932 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_lt_creator; } break; case 1114: /* Line 1455 of yacc.c */ #line 7933 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.boolfunc2creator) = &comp_ne_creator; } break; case 1115: /* Line 1455 of yacc.c */ #line 7937 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num) = 1; } break; case 1116: /* Line 1455 of yacc.c */ #line 7938 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num) = 0; } break; case 1122: /* Line 1455 of yacc.c */ #line 7948 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; Item *i1= new (thd->mem_root) Item_string((yyvsp[(3) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).length, thd->charset()); if (i1 == NULL) MYSQL_YYABORT; (yyval.item)= new (thd->mem_root) Item_func_set_collation((yyvsp[(1) - (3)].item), i1); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1127: /* Line 1455 of yacc.c */ #line 7964 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_concat((yyvsp[(1) - (3)].item), (yyvsp[(3) - (3)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1128: /* Line 1455 of yacc.c */ #line 7970 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(2) - (2)].item); } break; case 1129: /* Line 1455 of yacc.c */ #line 7974 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_neg((yyvsp[(2) - (2)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1130: /* Line 1455 of yacc.c */ #line 7980 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_bit_neg((yyvsp[(2) - (2)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1131: /* Line 1455 of yacc.c */ #line 7986 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= negate_expression(YYTHD, (yyvsp[(2) - (2)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1132: /* Line 1455 of yacc.c */ #line 7992 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_singlerow_subselect((yyvsp[(2) - (3)].select_lex)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1133: /* Line 1455 of yacc.c */ #line 7998 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(2) - (3)].item); } break; case 1134: /* Line 1455 of yacc.c */ #line 8000 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyvsp[(4) - (5)].item_list)->push_front((yyvsp[(2) - (5)].item)); (yyval.item)= new (YYTHD->mem_root) Item_row(*(yyvsp[(4) - (5)].item_list)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1135: /* Line 1455 of yacc.c */ #line 8007 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyvsp[(5) - (6)].item_list)->push_front((yyvsp[(3) - (6)].item)); (yyval.item)= new (YYTHD->mem_root) Item_row(*(yyvsp[(5) - (6)].item_list)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1136: /* Line 1455 of yacc.c */ #line 8014 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_exists_subselect((yyvsp[(3) - (4)].select_lex)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1137: /* Line 1455 of yacc.c */ #line 8020 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(3) - (4)].item); } break; case 1138: /* Line 1455 of yacc.c */ #line 8022 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyvsp[(2) - (7)].item_list)->push_front((yyvsp[(5) - (7)].item)); Item_func_match *i1= new (YYTHD->mem_root) Item_func_match(*(yyvsp[(2) - (7)].item_list), (yyvsp[(6) - (7)].num)); if (i1 == NULL) MYSQL_YYABORT; Select->add_ftfunc_to_list(i1); (yyval.item)= i1; } break; case 1139: /* Line 1455 of yacc.c */ #line 8031 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= create_func_cast(YYTHD, (yyvsp[(2) - (2)].item), ITEM_CAST_CHAR, NULL, NULL, &my_charset_bin); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1140: /* Line 1455 of yacc.c */ #line 8038 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; (yyval.item)= create_func_cast(YYTHD, (yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].cast_type), lex->length, lex->dec, lex->charset); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1141: /* Line 1455 of yacc.c */ #line 8046 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_case(* (yyvsp[(3) - (5)].item_list), (yyvsp[(2) - (5)].item), (yyvsp[(4) - (5)].item) ); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1142: /* Line 1455 of yacc.c */ #line 8052 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= create_func_cast(YYTHD, (yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].cast_type), Lex->length, Lex->dec, Lex->charset); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1143: /* Line 1455 of yacc.c */ #line 8059 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_conv_charset((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].charset)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1144: /* Line 1455 of yacc.c */ #line 8065 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if ((yyvsp[(3) - (4)].item)->is_splocal()) { Item_splocal *il= static_cast((yyvsp[(3) - (4)].item)); my_error(ER_WRONG_COLUMN_NAME, MYF(0), il->my_name()->str); MYSQL_YYABORT; } (yyval.item)= new (YYTHD->mem_root) Item_default_value(Lex->current_context(), (yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1145: /* Line 1455 of yacc.c */ #line 8079 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_insert_value(Lex->current_context(), (yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1146: /* Line 1455 of yacc.c */ #line 8087 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(5) - (5)].item),(yyvsp[(2) - (5)].item),(yyvsp[(3) - (5)].interval),0); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1147: /* Line 1455 of yacc.c */ #line 8102 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_char(*(yyvsp[(3) - (4)].item_list)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1148: /* Line 1455 of yacc.c */ #line 8108 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_char(*(yyvsp[(3) - (6)].item_list), (yyvsp[(5) - (6)].charset)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1149: /* Line 1455 of yacc.c */ #line 8114 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_current_user(Lex->current_context()); if ((yyval.item) == NULL) MYSQL_YYABORT; Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION); Lex->safe_to_cache_query= 0; } break; case 1150: /* Line 1455 of yacc.c */ #line 8122 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_typecast((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1151: /* Line 1455 of yacc.c */ #line 8128 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_dayofmonth((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1152: /* Line 1455 of yacc.c */ #line 8134 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_hour((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1153: /* Line 1455 of yacc.c */ #line 8140 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_insert((yyvsp[(3) - (10)].item),(yyvsp[(5) - (10)].item),(yyvsp[(7) - (10)].item),(yyvsp[(9) - (10)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1154: /* Line 1455 of yacc.c */ #line 8146 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; List *list= new (thd->mem_root) List; if (list == NULL) MYSQL_YYABORT; list->push_front((yyvsp[(5) - (6)].item)); list->push_front((yyvsp[(3) - (6)].item)); Item_row *item= new (thd->mem_root) Item_row(*list); if (item == NULL) MYSQL_YYABORT; (yyval.item)= new (thd->mem_root) Item_func_interval(item); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1155: /* Line 1455 of yacc.c */ #line 8161 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(5) - (8)].item)); (yyvsp[(7) - (8)].item_list)->push_front((yyvsp[(3) - (8)].item)); Item_row *item= new (thd->mem_root) Item_row(*(yyvsp[(7) - (8)].item_list)); if (item == NULL) MYSQL_YYABORT; (yyval.item)= new (thd->mem_root) Item_func_interval(item); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1156: /* Line 1455 of yacc.c */ #line 8173 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_left((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1157: /* Line 1455 of yacc.c */ #line 8179 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_minute((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1158: /* Line 1455 of yacc.c */ #line 8185 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_month((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1159: /* Line 1455 of yacc.c */ #line 8191 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_right((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1160: /* Line 1455 of yacc.c */ #line 8197 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_second((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1161: /* Line 1455 of yacc.c */ #line 8203 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_time_typecast((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1162: /* Line 1455 of yacc.c */ #line 8209 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_datetime_typecast((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1163: /* Line 1455 of yacc.c */ #line 8215 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_add_time((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item), 1, 0); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1164: /* Line 1455 of yacc.c */ #line 8221 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_trim((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1165: /* Line 1455 of yacc.c */ #line 8227 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_ltrim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1166: /* Line 1455 of yacc.c */ #line 8233 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_rtrim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1167: /* Line 1455 of yacc.c */ #line 8239 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_trim((yyvsp[(6) - (7)].item),(yyvsp[(4) - (7)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1168: /* Line 1455 of yacc.c */ #line 8245 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_ltrim((yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1169: /* Line 1455 of yacc.c */ #line 8251 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_rtrim((yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1170: /* Line 1455 of yacc.c */ #line 8257 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_trim((yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1171: /* Line 1455 of yacc.c */ #line 8263 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_trim((yyvsp[(5) - (6)].item),(yyvsp[(3) - (6)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1172: /* Line 1455 of yacc.c */ #line 8269 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_user(); if ((yyval.item) == NULL) MYSQL_YYABORT; Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION); Lex->safe_to_cache_query=0; } break; case 1173: /* Line 1455 of yacc.c */ #line 8277 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_year((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1174: /* Line 1455 of yacc.c */ #line 8298 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item), INTERVAL_DAY, 0); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1175: /* Line 1455 of yacc.c */ #line 8305 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item), (yyvsp[(6) - (8)].item), (yyvsp[(7) - (8)].interval), 0); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1176: /* Line 1455 of yacc.c */ #line 8311 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_curdate_local(); if ((yyval.item) == NULL) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } break; case 1177: /* Line 1455 of yacc.c */ #line 8318 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_curtime_local(); if ((yyval.item) == NULL) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } break; case 1178: /* Line 1455 of yacc.c */ #line 8325 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_curtime_local((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } break; case 1179: /* Line 1455 of yacc.c */ #line 8333 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item),(yyvsp[(6) - (8)].item),(yyvsp[(7) - (8)].interval),0); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1180: /* Line 1455 of yacc.c */ #line 8340 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item),(yyvsp[(6) - (8)].item),(yyvsp[(7) - (8)].interval),1); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1181: /* Line 1455 of yacc.c */ #line 8346 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)=new (YYTHD->mem_root) Item_extract( (yyvsp[(3) - (6)].interval), (yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1182: /* Line 1455 of yacc.c */ #line 8352 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_get_format((yyvsp[(3) - (6)].date_time_type), (yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1183: /* Line 1455 of yacc.c */ #line 8358 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_now_local(); if ((yyval.item) == NULL) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } break; case 1184: /* Line 1455 of yacc.c */ #line 8365 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_now_local((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } break; case 1185: /* Line 1455 of yacc.c */ #line 8372 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item) = new (YYTHD->mem_root) Item_func_locate((yyvsp[(5) - (6)].item),(yyvsp[(3) - (6)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1186: /* Line 1455 of yacc.c */ #line 8378 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item), INTERVAL_DAY, 1); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1187: /* Line 1455 of yacc.c */ #line 8385 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(3) - (8)].item), (yyvsp[(6) - (8)].item), (yyvsp[(7) - (8)].interval), 1); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1188: /* Line 1455 of yacc.c */ #line 8391 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_substr((yyvsp[(3) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1189: /* Line 1455 of yacc.c */ #line 8397 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_substr((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1190: /* Line 1455 of yacc.c */ #line 8403 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_substr((yyvsp[(3) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1191: /* Line 1455 of yacc.c */ #line 8409 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_substr((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1192: /* Line 1455 of yacc.c */ #line 8415 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* Unlike other time-related functions, SYSDATE() is replication-unsafe because it is not affected by the TIMESTAMP variable. It is unsafe even if sysdate_is_now=1, because the slave may have sysdate_is_now=0. */ Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_FUNCTION); if (global_system_variables.sysdate_is_now == 0) (yyval.item)= new (YYTHD->mem_root) Item_func_sysdate_local(); else (yyval.item)= new (YYTHD->mem_root) Item_func_now_local(); if ((yyval.item) == NULL) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } break; case 1193: /* Line 1455 of yacc.c */ #line 8433 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (global_system_variables.sysdate_is_now == 0) (yyval.item)= new (YYTHD->mem_root) Item_func_sysdate_local((yyvsp[(3) - (4)].item)); else (yyval.item)= new (YYTHD->mem_root) Item_func_now_local((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } break; case 1194: /* Line 1455 of yacc.c */ #line 8443 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_date_add_interval((yyvsp[(7) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(3) - (8)].interval_time_st),0); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1195: /* Line 1455 of yacc.c */ #line 8449 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_timestamp_diff((yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item),(yyvsp[(3) - (8)].interval_time_st)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1196: /* Line 1455 of yacc.c */ #line 8455 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_curdate_utc(); if ((yyval.item) == NULL) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } break; case 1197: /* Line 1455 of yacc.c */ #line 8462 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_curtime_utc(); if ((yyval.item) == NULL) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } break; case 1198: /* Line 1455 of yacc.c */ #line 8469 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_now_utc(); if ((yyval.item) == NULL) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } break; case 1199: /* Line 1455 of yacc.c */ #line 8484 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_ascii((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1200: /* Line 1455 of yacc.c */ #line 8490 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_charset((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1201: /* Line 1455 of yacc.c */ #line 8496 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_coalesce(* (yyvsp[(3) - (4)].item_list)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1202: /* Line 1455 of yacc.c */ #line 8502 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_collation((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1203: /* Line 1455 of yacc.c */ #line 8508 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_database(); if ((yyval.item) == NULL) MYSQL_YYABORT; Lex->safe_to_cache_query=0; } break; case 1204: /* Line 1455 of yacc.c */ #line 8515 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_if((yyvsp[(3) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1205: /* Line 1455 of yacc.c */ #line 8521 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_microsecond((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1206: /* Line 1455 of yacc.c */ #line 8527 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item) = new (YYTHD->mem_root) Item_func_mod((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1207: /* Line 1455 of yacc.c */ #line 8533 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_old_password((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1208: /* Line 1455 of yacc.c */ #line 8539 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; Item* i1; if (thd->variables.old_passwords) i1= new (thd->mem_root) Item_func_old_password((yyvsp[(3) - (4)].item)); else i1= new (thd->mem_root) Item_func_password((yyvsp[(3) - (4)].item)); if (i1 == NULL) MYSQL_YYABORT; (yyval.item)= i1; } break; case 1209: /* Line 1455 of yacc.c */ #line 8551 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item) = new (YYTHD->mem_root) Item_func_quarter((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1210: /* Line 1455 of yacc.c */ #line 8557 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_repeat((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1211: /* Line 1455 of yacc.c */ #line 8563 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_replace((yyvsp[(3) - (8)].item),(yyvsp[(5) - (8)].item),(yyvsp[(7) - (8)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1212: /* Line 1455 of yacc.c */ #line 8569 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_round((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item),1); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1213: /* Line 1455 of yacc.c */ #line 8575 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; Item *i1= new (thd->mem_root) Item_int((char*) "0", thd->variables.default_week_format, 1); if (i1 == NULL) MYSQL_YYABORT; (yyval.item)= new (thd->mem_root) Item_func_week((yyvsp[(3) - (4)].item), i1); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1214: /* Line 1455 of yacc.c */ #line 8587 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_week((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1215: /* Line 1455 of yacc.c */ #line 8593 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { #ifdef HAVE_SPATIAL (yyval.item)= (yyvsp[(1) - (1)].item); /* $1 may be NULL, GEOM_NEW not tested for out of memory */ if ((yyval.item) == NULL) MYSQL_YYABORT; #else my_error(ER_FEATURE_DISABLED, MYF(0), sym_group_geom.name, sym_group_geom.needed_define); MYSQL_YYABORT; #endif } break; case 1216: /* Line 1455 of yacc.c */ #line 8609 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= GEOM_NEW(YYTHD, Item_func_spatial_rel((yyvsp[(3) - (6)].item), (yyvsp[(5) - (6)].item), Item_func::SP_CONTAINS_FUNC)); } break; case 1217: /* Line 1455 of yacc.c */ #line 8615 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= GEOM_NEW(YYTHD, Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list), Geometry::wkb_geometrycollection, Geometry::wkb_point)); } break; case 1218: /* Line 1455 of yacc.c */ #line 8622 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= GEOM_NEW(YYTHD, Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list), Geometry::wkb_linestring, Geometry::wkb_point)); } break; case 1219: /* Line 1455 of yacc.c */ #line 8629 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= GEOM_NEW(YYTHD, Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list), Geometry::wkb_multilinestring, Geometry::wkb_linestring)); } break; case 1220: /* Line 1455 of yacc.c */ #line 8636 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= GEOM_NEW(YYTHD, Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list), Geometry::wkb_multipoint, Geometry::wkb_point)); } break; case 1221: /* Line 1455 of yacc.c */ #line 8643 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= GEOM_NEW(YYTHD, Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list), Geometry::wkb_multipolygon, Geometry::wkb_polygon)); } break; case 1222: /* Line 1455 of yacc.c */ #line 8650 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= GEOM_NEW(YYTHD, Item_func_point((yyvsp[(3) - (6)].item),(yyvsp[(5) - (6)].item))); } break; case 1223: /* Line 1455 of yacc.c */ #line 8654 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= GEOM_NEW(YYTHD, Item_func_spatial_collection(* (yyvsp[(3) - (4)].item_list), Geometry::wkb_polygon, Geometry::wkb_linestring)); } break; case 1224: /* Line 1455 of yacc.c */ #line 8673 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { #ifdef HAVE_DLOPEN udf_func *udf= 0; LEX *lex= Lex; if (using_udf_functions && (udf= find_udf((yyvsp[(1) - (2)].lex_str).str, (yyvsp[(1) - (2)].lex_str).length)) && udf->type == UDFTYPE_AGGREGATE) { if (lex->current_select->inc_in_sum_expr()) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } } /* Temporary placing the result of find_udf in $3 */ (yyval.udf)= udf; #endif } break; case 1225: /* Line 1455 of yacc.c */ #line 8692 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; Create_func *builder; Item *item= NULL; if (check_routine_name(&(yyvsp[(1) - (5)].lex_str))) { MYSQL_YYABORT; } /* Implementation note: names are resolved with the following order: - MySQL native functions, - User Defined Functions, - Stored Functions (assuming the current database) This will be revised with WL#2128 (SQL PATH) */ builder= find_native_function_builder(thd, (yyvsp[(1) - (5)].lex_str)); if (builder) { item= builder->create_func(thd, (yyvsp[(1) - (5)].lex_str), (yyvsp[(4) - (5)].item_list)); } else { #ifdef HAVE_DLOPEN /* Retrieving the result of find_udf */ udf_func *udf= (yyvsp[(3) - (5)].udf); if (udf) { if (udf->type == UDFTYPE_AGGREGATE) { Select->in_sum_expr--; } item= Create_udf_func::s_singleton.create(thd, udf, (yyvsp[(4) - (5)].item_list)); } else #endif { builder= find_qualified_function_builder(thd); DBUG_ASSERT(builder); item= builder->create_func(thd, (yyvsp[(1) - (5)].lex_str), (yyvsp[(4) - (5)].item_list)); } } if (! ((yyval.item)= item)) { MYSQL_YYABORT; } } break; case 1226: /* Line 1455 of yacc.c */ #line 8746 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; Create_qfunc *builder; Item *item= NULL; /* The following in practice calls: Create_sp_func::create() and builds a stored function. However, it's important to maintain the interface between the parser and the implementation in item_create.cc clean, since this will change with WL#2128 (SQL PATH): - INFORMATION_SCHEMA.version() is the SQL 99 syntax for the native function version(), - MySQL.version() is the SQL 2003 syntax for the native function version() (a vendor can specify any schema). */ if (!(yyvsp[(1) - (6)].lex_str).str || check_db_name(&(yyvsp[(1) - (6)].lex_str))) { my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[(1) - (6)].lex_str).str); MYSQL_YYABORT; } if (check_routine_name(&(yyvsp[(3) - (6)].lex_str))) { MYSQL_YYABORT; } builder= find_qualified_function_builder(thd); DBUG_ASSERT(builder); item= builder->create(thd, (yyvsp[(1) - (6)].lex_str), (yyvsp[(3) - (6)].lex_str), true, (yyvsp[(5) - (6)].item_list)); if (! ((yyval.item)= item)) { MYSQL_YYABORT; } } break; case 1227: /* Line 1455 of yacc.c */ #line 8788 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= (yyvsp[(1) - (2)].num) | (yyvsp[(2) - (2)].num); } break; case 1228: /* Line 1455 of yacc.c */ #line 8790 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= FT_BOOL; } break; case 1229: /* Line 1455 of yacc.c */ #line 8794 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= FT_NL; } break; case 1230: /* Line 1455 of yacc.c */ #line 8795 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= FT_NL; } break; case 1231: /* Line 1455 of yacc.c */ #line 8799 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 1232: /* Line 1455 of yacc.c */ #line 8800 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= FT_EXPAND; } break; case 1233: /* Line 1455 of yacc.c */ #line 8804 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item_list)= NULL; } break; case 1234: /* Line 1455 of yacc.c */ #line 8805 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[(1) - (1)].item_list); } break; case 1235: /* Line 1455 of yacc.c */ #line 8810 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item_list)= new (YYTHD->mem_root) List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; (yyval.item_list)->push_back((yyvsp[(1) - (1)].item)); } break; case 1236: /* Line 1455 of yacc.c */ #line 8817 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyvsp[(1) - (3)].item_list)->push_back((yyvsp[(3) - (3)].item)); (yyval.item_list)= (yyvsp[(1) - (3)].item_list); } break; case 1237: /* Line 1455 of yacc.c */ #line 8825 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* Use Item::name as a storage for the attribute value of user defined function argument. It is safe to use Item::name because the syntax will not allow having an explicit name here. See WL#1017 re. udf attributes. */ if ((yyvsp[(4) - (4)].lex_str).str) { (yyvsp[(2) - (4)].item)->is_autogenerated_name= FALSE; (yyvsp[(2) - (4)].item)->set_name((yyvsp[(4) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).length, system_charset_info); } /* A field has to have its proper name in order for name resolution to work, something we are only guaranteed if we parse it out. If we hijack the input stream with remember_name we may get quoted or escaped names. */ else if ((yyvsp[(2) - (4)].item)->type() != Item::FIELD_ITEM) (yyvsp[(2) - (4)].item)->set_name((yyvsp[(1) - (4)].simple_string), (uint) ((yyvsp[(3) - (4)].simple_string) - (yyvsp[(1) - (4)].simple_string)), YYTHD->charset()); (yyval.item)= (yyvsp[(2) - (4)].item); } break; case 1238: /* Line 1455 of yacc.c */ #line 8851 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_avg((yyvsp[(3) - (4)].item), FALSE); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1239: /* Line 1455 of yacc.c */ #line 8857 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_avg((yyvsp[(4) - (5)].item), TRUE); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1240: /* Line 1455 of yacc.c */ #line 8863 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_and((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1241: /* Line 1455 of yacc.c */ #line 8869 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_or((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1242: /* Line 1455 of yacc.c */ #line 8875 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_xor((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1243: /* Line 1455 of yacc.c */ #line 8881 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Item *item= new (YYTHD->mem_root) Item_int((int32) 0L,1); if (item == NULL) MYSQL_YYABORT; (yyval.item)= new (YYTHD->mem_root) Item_sum_count(item); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1244: /* Line 1455 of yacc.c */ #line 8890 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_count((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1245: /* Line 1455 of yacc.c */ #line 8896 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->in_sum_expr++; } break; case 1246: /* Line 1455 of yacc.c */ #line 8898 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->in_sum_expr--; } break; case 1247: /* Line 1455 of yacc.c */ #line 8900 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_count(* (yyvsp[(5) - (7)].item_list)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1248: /* Line 1455 of yacc.c */ #line 8906 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_min((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1249: /* Line 1455 of yacc.c */ #line 8917 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_min((yyvsp[(4) - (5)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1250: /* Line 1455 of yacc.c */ #line 8923 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_max((yyvsp[(3) - (4)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1251: /* Line 1455 of yacc.c */ #line 8929 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_max((yyvsp[(4) - (5)].item)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1252: /* Line 1455 of yacc.c */ #line 8935 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_std((yyvsp[(3) - (4)].item), 0); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1253: /* Line 1455 of yacc.c */ #line 8941 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_variance((yyvsp[(3) - (4)].item), 0); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1254: /* Line 1455 of yacc.c */ #line 8947 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_std((yyvsp[(3) - (4)].item), 1); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1255: /* Line 1455 of yacc.c */ #line 8953 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_variance((yyvsp[(3) - (4)].item), 1); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1256: /* Line 1455 of yacc.c */ #line 8959 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_sum((yyvsp[(3) - (4)].item), FALSE); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1257: /* Line 1455 of yacc.c */ #line 8965 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_sum_sum((yyvsp[(4) - (5)].item), TRUE); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1258: /* Line 1455 of yacc.c */ #line 8971 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->in_sum_expr++; } break; case 1259: /* Line 1455 of yacc.c */ #line 8975 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->in_sum_expr--; (yyval.item)= new (YYTHD->mem_root) Item_func_group_concat(Lex->current_context(), (yyvsp[(3) - (8)].num), (yyvsp[(5) - (8)].item_list), sel->gorder_list, (yyvsp[(7) - (8)].string)); if ((yyval.item) == NULL) MYSQL_YYABORT; (yyvsp[(5) - (8)].item_list)->empty(); sel->gorder_list.empty(); } break; case 1260: /* Line 1455 of yacc.c */ #line 8990 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (! Lex->parsing_options.allows_variable) { my_error(ER_VIEW_SELECT_VARIABLE, MYF(0)); MYSQL_YYABORT; } } break; case 1261: /* Line 1455 of yacc.c */ #line 8998 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(3) - (3)].item); } break; case 1262: /* Line 1455 of yacc.c */ #line 9005 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Item_func_set_user_var *item; (yyval.item)= item= new (YYTHD->mem_root) Item_func_set_user_var((yyvsp[(1) - (3)].lex_str), (yyvsp[(3) - (3)].item), false); if ((yyval.item) == NULL) MYSQL_YYABORT; LEX *lex= Lex; lex->uncacheable(UNCACHEABLE_RAND); lex->set_var_list.push_back(item); } break; case 1263: /* Line 1455 of yacc.c */ #line 9015 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_func_get_user_var((yyvsp[(1) - (1)].lex_str)); if ((yyval.item) == NULL) MYSQL_YYABORT; LEX *lex= Lex; lex->uncacheable(UNCACHEABLE_RAND); } break; case 1264: /* Line 1455 of yacc.c */ #line 9023 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* disallow "SELECT @@global.global.variable" */ if ((yyvsp[(3) - (4)].lex_str).str && (yyvsp[(4) - (4)].lex_str).str && check_reserved_words(&(yyvsp[(3) - (4)].lex_str))) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } if (!((yyval.item)= get_system_var(YYTHD, (yyvsp[(2) - (4)].var_type), (yyvsp[(3) - (4)].lex_str), (yyvsp[(4) - (4)].lex_str)))) MYSQL_YYABORT; if (!((Item_func_get_system_var*) (yyval.item))->is_written_to_binlog()) Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_SYSTEM_VARIABLE); } break; case 1265: /* Line 1455 of yacc.c */ #line 9038 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num) = 0; } break; case 1266: /* Line 1455 of yacc.c */ #line 9039 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num) = 1; } break; case 1267: /* Line 1455 of yacc.c */ #line 9044 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.string)= new (YYTHD->mem_root) String(",", 1, &my_charset_latin1); if ((yyval.string) == NULL) MYSQL_YYABORT; } break; case 1268: /* Line 1455 of yacc.c */ #line 9049 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.string) = (yyvsp[(2) - (2)].string); } break; case 1270: /* Line 1455 of yacc.c */ #line 9055 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX *sel= lex->current_select; if (sel->linkage != GLOBAL_OPTIONS_TYPE && sel->olap != UNSPECIFIED_OLAP_TYPE && (sel->linkage != UNION_TYPE || sel->braces)) { my_error(ER_WRONG_USAGE, MYF(0), "CUBE/ROLLUP", "ORDER BY"); MYSQL_YYABORT; } } break; case 1272: /* Line 1455 of yacc.c */ #line 9072 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_gorder_to_list(YYTHD, (yyvsp[(3) - (4)].item),(bool) (yyvsp[(4) - (4)].num))) MYSQL_YYABORT; } break; case 1273: /* Line 1455 of yacc.c */ #line 9074 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_gorder_to_list(YYTHD, (yyvsp[(1) - (2)].item),(bool) (yyvsp[(2) - (2)].num))) MYSQL_YYABORT; } break; case 1274: /* Line 1455 of yacc.c */ #line 9079 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->current_select->inc_in_sum_expr()) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } } break; case 1275: /* Line 1455 of yacc.c */ #line 9088 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->in_sum_expr--; (yyval.item)= (yyvsp[(3) - (3)].item); } break; case 1276: /* Line 1455 of yacc.c */ #line 9096 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= &my_charset_bin; Lex->dec= 0; } break; case 1277: /* Line 1455 of yacc.c */ #line 9098 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->dec= 0; } break; case 1278: /* Line 1455 of yacc.c */ #line 9100 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_CHAR; Lex->charset= national_charset_info; Lex->dec=0; } break; case 1279: /* Line 1455 of yacc.c */ #line 9102 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; } break; case 1280: /* Line 1455 of yacc.c */ #line 9104 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_SIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; } break; case 1281: /* Line 1455 of yacc.c */ #line 9106 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_UNSIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; } break; case 1282: /* Line 1455 of yacc.c */ #line 9108 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_UNSIGNED_INT; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; } break; case 1283: /* Line 1455 of yacc.c */ #line 9110 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_DATE; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; } break; case 1284: /* Line 1455 of yacc.c */ #line 9112 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_TIME; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; } break; case 1285: /* Line 1455 of yacc.c */ #line 9114 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_DATETIME; Lex->charset= NULL; Lex->dec=Lex->length= (char*)0; } break; case 1286: /* Line 1455 of yacc.c */ #line 9116 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.cast_type)=ITEM_CAST_DECIMAL; Lex->charset= NULL; } break; case 1287: /* Line 1455 of yacc.c */ #line 9120 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item_list)= NULL; } break; case 1288: /* Line 1455 of yacc.c */ #line 9121 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[(1) - (1)].item_list);} break; case 1289: /* Line 1455 of yacc.c */ #line 9126 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item_list)= new (YYTHD->mem_root) List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; (yyval.item_list)->push_back((yyvsp[(1) - (1)].item)); } break; case 1290: /* Line 1455 of yacc.c */ #line 9133 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyvsp[(1) - (3)].item_list)->push_back((yyvsp[(3) - (3)].item)); (yyval.item_list)= (yyvsp[(1) - (3)].item_list); } break; case 1291: /* Line 1455 of yacc.c */ #line 9140 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[(1) - (1)].item_list); } break; case 1292: /* Line 1455 of yacc.c */ #line 9141 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item_list)= (yyvsp[(2) - (3)].item_list); } break; case 1293: /* Line 1455 of yacc.c */ #line 9146 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item_list)= new (YYTHD->mem_root) List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; (yyval.item_list)->push_back((yyvsp[(1) - (1)].item)); } break; case 1294: /* Line 1455 of yacc.c */ #line 9153 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyvsp[(1) - (3)].item_list)->push_back((yyvsp[(3) - (3)].item)); (yyval.item_list)= (yyvsp[(1) - (3)].item_list); } break; case 1295: /* Line 1455 of yacc.c */ #line 9160 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= NULL; } break; case 1296: /* Line 1455 of yacc.c */ #line 9161 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(1) - (1)].item); } break; case 1297: /* Line 1455 of yacc.c */ #line 9165 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= NULL; } break; case 1298: /* Line 1455 of yacc.c */ #line 9166 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(2) - (2)].item); } break; case 1299: /* Line 1455 of yacc.c */ #line 9171 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item_list)= new List; if ((yyval.item_list) == NULL) MYSQL_YYABORT; (yyval.item_list)->push_back((yyvsp[(2) - (4)].item)); (yyval.item_list)->push_back((yyvsp[(4) - (4)].item)); } break; case 1300: /* Line 1455 of yacc.c */ #line 9179 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyvsp[(1) - (5)].item_list)->push_back((yyvsp[(3) - (5)].item)); (yyvsp[(1) - (5)].item_list)->push_back((yyvsp[(5) - (5)].item)); (yyval.item_list)= (yyvsp[(1) - (5)].item_list); } break; case 1301: /* Line 1455 of yacc.c */ #line 9189 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.table_list)=(yyvsp[(1) - (1)].table_list); } break; case 1302: /* Line 1455 of yacc.c */ #line 9191 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (!((yyval.table_list)= lex->current_select->nest_last_join(lex->thd))) MYSQL_YYABORT; } break; case 1303: /* Line 1455 of yacc.c */ #line 9199 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyval.table_list)=(yyvsp[(1) - (1)].table_list)); } break; case 1304: /* Line 1455 of yacc.c */ #line 9210 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.table_list)=(yyvsp[(1) - (1)].table_list); } break; case 1305: /* Line 1455 of yacc.c */ #line 9211 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.table_list)=(yyvsp[(3) - (4)].table_list); } break; case 1306: /* Line 1455 of yacc.c */ #line 9217 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.table_list)=(yyvsp[(1) - (1)].table_list); } break; case 1307: /* Line 1455 of yacc.c */ #line 9219 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list))); } break; case 1308: /* Line 1455 of yacc.c */ #line 9239 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list))); } break; case 1309: /* Line 1455 of yacc.c */ #line 9241 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (3)].table_list) && ((yyval.table_list)=(yyvsp[(3) - (3)].table_list))); (yyvsp[(3) - (3)].table_list)->straight=1; } break; case 1310: /* Line 1455 of yacc.c */ #line 9244 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list)); /* Change the current name resolution context to a local context. */ if (push_new_name_resolution_context(YYTHD, (yyvsp[(1) - (4)].table_list), (yyvsp[(3) - (4)].table_list))) MYSQL_YYABORT; Select->parsing_place= IN_ON; } break; case 1311: /* Line 1455 of yacc.c */ #line 9252 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { add_join_on((yyvsp[(3) - (6)].table_list),(yyvsp[(6) - (6)].item)); Lex->pop_context(); Select->parsing_place= NO_MATTER; } break; case 1312: /* Line 1455 of yacc.c */ #line 9259 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list)); /* Change the current name resolution context to a local context. */ if (push_new_name_resolution_context(YYTHD, (yyvsp[(1) - (4)].table_list), (yyvsp[(3) - (4)].table_list))) MYSQL_YYABORT; Select->parsing_place= IN_ON; } break; case 1313: /* Line 1455 of yacc.c */ #line 9267 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyvsp[(3) - (6)].table_list)->straight=1; add_join_on((yyvsp[(3) - (6)].table_list),(yyvsp[(6) - (6)].item)); Lex->pop_context(); Select->parsing_place= NO_MATTER; } break; case 1314: /* Line 1455 of yacc.c */ #line 9275 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && (yyvsp[(3) - (4)].table_list)); } break; case 1315: /* Line 1455 of yacc.c */ #line 9279 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { add_join_natural((yyvsp[(1) - (8)].table_list),(yyvsp[(3) - (8)].table_list),(yyvsp[(7) - (8)].string_list),Select); (yyval.table_list)=(yyvsp[(3) - (8)].table_list); } break; case 1316: /* Line 1455 of yacc.c */ #line 9281 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (4)].table_list) && ((yyval.table_list)=(yyvsp[(4) - (4)].table_list))); add_join_natural((yyvsp[(1) - (4)].table_list),(yyvsp[(4) - (4)].table_list),NULL,Select); } break; case 1317: /* Line 1455 of yacc.c */ #line 9289 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(5) - (6)].table_list)); /* Change the current name resolution context to a local context. */ if (push_new_name_resolution_context(YYTHD, (yyvsp[(1) - (6)].table_list), (yyvsp[(5) - (6)].table_list))) MYSQL_YYABORT; Select->parsing_place= IN_ON; } break; case 1318: /* Line 1455 of yacc.c */ #line 9297 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { add_join_on((yyvsp[(5) - (8)].table_list),(yyvsp[(8) - (8)].item)); Lex->pop_context(); (yyvsp[(5) - (8)].table_list)->outer_join|=JOIN_TYPE_LEFT; (yyval.table_list)=(yyvsp[(5) - (8)].table_list); Select->parsing_place= NO_MATTER; } break; case 1319: /* Line 1455 of yacc.c */ #line 9305 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (5)].table_list) && (yyvsp[(5) - (5)].table_list)); } break; case 1320: /* Line 1455 of yacc.c */ #line 9309 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { add_join_natural((yyvsp[(1) - (10)].table_list),(yyvsp[(5) - (10)].table_list),(yyvsp[(9) - (10)].string_list),Select); (yyvsp[(5) - (10)].table_list)->outer_join|=JOIN_TYPE_LEFT; (yyval.table_list)=(yyvsp[(5) - (10)].table_list); } break; case 1321: /* Line 1455 of yacc.c */ #line 9315 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(6) - (6)].table_list)); add_join_natural((yyvsp[(1) - (6)].table_list),(yyvsp[(6) - (6)].table_list),NULL,Select); (yyvsp[(6) - (6)].table_list)->outer_join|=JOIN_TYPE_LEFT; (yyval.table_list)=(yyvsp[(6) - (6)].table_list); } break; case 1322: /* Line 1455 of yacc.c */ #line 9325 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(5) - (6)].table_list)); /* Change the current name resolution context to a local context. */ if (push_new_name_resolution_context(YYTHD, (yyvsp[(1) - (6)].table_list), (yyvsp[(5) - (6)].table_list))) MYSQL_YYABORT; Select->parsing_place= IN_ON; } break; case 1323: /* Line 1455 of yacc.c */ #line 9333 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (!((yyval.table_list)= lex->current_select->convert_right_join())) MYSQL_YYABORT; add_join_on((yyval.table_list), (yyvsp[(8) - (8)].item)); Lex->pop_context(); Select->parsing_place= NO_MATTER; } break; case 1324: /* Line 1455 of yacc.c */ #line 9342 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (5)].table_list) && (yyvsp[(5) - (5)].table_list)); } break; case 1325: /* Line 1455 of yacc.c */ #line 9346 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (!((yyval.table_list)= lex->current_select->convert_right_join())) MYSQL_YYABORT; add_join_natural((yyval.table_list),(yyvsp[(5) - (10)].table_list),(yyvsp[(9) - (10)].string_list),Select); } break; case 1326: /* Line 1455 of yacc.c */ #line 9353 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (6)].table_list) && (yyvsp[(6) - (6)].table_list)); add_join_natural((yyvsp[(6) - (6)].table_list),(yyvsp[(1) - (6)].table_list),NULL,Select); LEX *lex= Lex; if (!((yyval.table_list)= lex->current_select->convert_right_join())) MYSQL_YYABORT; } break; case 1327: /* Line 1455 of yacc.c */ #line 9363 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1328: /* Line 1455 of yacc.c */ #line 9364 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1329: /* Line 1455 of yacc.c */ #line 9365 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1330: /* Line 1455 of yacc.c */ #line 9377 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->table_join_options= 0; } break; case 1331: /* Line 1455 of yacc.c */ #line 9382 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!((yyval.table_list)= Select->add_table_to_list(YYTHD, (yyvsp[(2) - (4)].table), (yyvsp[(3) - (4)].lex_str_ptr), Select->get_table_join_options(), YYPS->m_lock_type, YYPS->m_mdl_type, Select->pop_index_hints()))) MYSQL_YYABORT; Select->add_joined_table((yyval.table_list)); } break; case 1332: /* Line 1455 of yacc.c */ #line 9392 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX *sel= lex->current_select; if ((yyvsp[(1) - (3)].num)) { if (sel->set_braces(1)) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } /* select in braces, can't contain global parameters */ if (sel->master_unit()->fake_select_lex) sel->master_unit()->global_parameters= sel->master_unit()->fake_select_lex; } if ((yyvsp[(2) - (3)].select_lex)->init_nested_join(lex->thd)) MYSQL_YYABORT; (yyval.table_list)= 0; /* incomplete derived tables return NULL, we must be nested in select_derived rule to be here. */ } break; case 1333: /* Line 1455 of yacc.c */ #line 9432 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* Use $2 instead of Lex->current_select as derived table will alter value of Lex->current_select. */ if (!((yyvsp[(3) - (5)].table_list) || (yyvsp[(5) - (5)].lex_str_ptr)) && (yyvsp[(2) - (5)].select_lex)->embedding && !(yyvsp[(2) - (5)].select_lex)->embedding->nested_join->join_list.elements) { /* we have a derived table ($3 == NULL) but no alias, Since we are nested in further parentheses so we can pass NULL to the outer level parentheses Permits parsing of "((((select ...))) as xyz)" */ (yyval.table_list)= 0; } else if (!(yyvsp[(3) - (5)].table_list)) { /* Handle case of derived table, alias may be NULL if there are no outer parentheses, add_table_to_list() will throw error in this case */ LEX *lex=Lex; SELECT_LEX *sel= lex->current_select; SELECT_LEX_UNIT *unit= sel->master_unit(); lex->current_select= sel= unit->outer_select(); Table_ident *ti= new Table_ident(unit); if (ti == NULL) MYSQL_YYABORT; if (!((yyval.table_list)= sel->add_table_to_list(lex->thd, new Table_ident(unit), (yyvsp[(5) - (5)].lex_str_ptr), 0, TL_READ, MDL_SHARED_READ))) MYSQL_YYABORT; sel->add_joined_table((yyval.table_list)); lex->pop_context(); lex->nest_level--; } else if ((yyvsp[(5) - (5)].lex_str_ptr) != NULL) { /* Tables with or without joins within parentheses cannot have aliases, and we ruled out derived tables above. */ my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } else { /* nested join: FROM (t1 JOIN t2 ...), nest_level is the same as in the outer query */ (yyval.table_list)= (yyvsp[(3) - (5)].table_list); } } break; case 1334: /* Line 1455 of yacc.c */ #line 9504 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if ((yyvsp[(1) - (2)].table_list) && (yyvsp[(2) - (2)].is_not_empty)) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } } break; case 1335: /* Line 1455 of yacc.c */ #line 9514 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_select_to_union_list(Lex, (bool)(yyvsp[(3) - (3)].num), FALSE)) MYSQL_YYABORT; } break; case 1336: /* Line 1455 of yacc.c */ #line 9519 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* Remove from the name resolution context stack the context of the last select in the union. */ Lex->pop_context(); } break; case 1337: /* Line 1455 of yacc.c */ #line 9527 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if ((yyvsp[(1) - (7)].table_list) != NULL) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } } break; case 1338: /* Line 1455 of yacc.c */ #line 9539 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX * sel= lex->current_select; if (lex->current_select->set_braces(0)) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } if (sel->linkage == UNION_TYPE && sel->master_unit()->first_select()->braces) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } } break; case 1339: /* Line 1455 of yacc.c */ #line 9558 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX *sel= lex->current_select; if (sel->linkage != UNION_TYPE) mysql_init_select(lex); lex->current_select->parsing_place= SELECT_LIST; } break; case 1340: /* Line 1455 of yacc.c */ #line 9566 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; } break; case 1342: /* Line 1455 of yacc.c */ #line 9575 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if ((yyvsp[(1) - (1)].select_lex)->init_nested_join(lex->thd)) MYSQL_YYABORT; } break; case 1343: /* Line 1455 of yacc.c */ #line 9581 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; /* for normal joins, $3 != NULL and end_nested_join() != NULL, for derived tables, both must equal NULL */ if (!((yyval.table_list)= (yyvsp[(1) - (3)].select_lex)->end_nested_join(lex->thd)) && (yyvsp[(3) - (3)].table_list)) MYSQL_YYABORT; if (!(yyvsp[(3) - (3)].table_list) && (yyval.table_list)) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } } break; case 1344: /* Line 1455 of yacc.c */ #line 9597 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->derived_tables|= DERIVED_SUBQUERY; if (!lex->expr_allows_subselect || lex->sql_command == (int)SQLCOM_PURGE) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE || mysql_new_select(lex, 1)) MYSQL_YYABORT; mysql_init_select(lex); lex->current_select->linkage= DERIVED_TABLE_TYPE; lex->current_select->parsing_place= SELECT_LIST; } break; case 1345: /* Line 1455 of yacc.c */ #line 9614 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; } break; case 1347: /* Line 1455 of yacc.c */ #line 9621 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.select_lex)= Select; } break; case 1348: /* Line 1455 of yacc.c */ #line 9626 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (! lex->parsing_options.allows_derived) { my_error(ER_VIEW_SELECT_DERIVED, MYF(0)); MYSQL_YYABORT; } SELECT_LEX *sel= lex->current_select; TABLE_LIST *embedding; if (!sel->embedding || sel->end_nested_join(lex->thd)) { /* we are not in parentheses */ my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } embedding= Select->embedding; (yyval.num)= embedding && !embedding->nested_join->join_list.elements; /* return true if we are deeply nested */ } break; case 1349: /* Line 1455 of yacc.c */ #line 9651 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1350: /* Line 1455 of yacc.c */ #line 9652 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1351: /* Line 1455 of yacc.c */ #line 9657 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= old_mode ? INDEX_HINT_MASK_JOIN : INDEX_HINT_MASK_ALL; } break; case 1352: /* Line 1455 of yacc.c */ #line 9660 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= INDEX_HINT_MASK_JOIN; } break; case 1353: /* Line 1455 of yacc.c */ #line 9661 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= INDEX_HINT_MASK_ORDER; } break; case 1354: /* Line 1455 of yacc.c */ #line 9662 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= INDEX_HINT_MASK_GROUP; } break; case 1355: /* Line 1455 of yacc.c */ #line 9666 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.index_hint)= INDEX_HINT_FORCE; } break; case 1356: /* Line 1455 of yacc.c */ #line 9667 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.index_hint)= INDEX_HINT_IGNORE; } break; case 1357: /* Line 1455 of yacc.c */ #line 9672 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->set_index_hint_type((yyvsp[(1) - (3)].index_hint), (yyvsp[(3) - (3)].num)); } break; case 1359: /* Line 1455 of yacc.c */ #line 9677 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->set_index_hint_type(INDEX_HINT_USE, (yyvsp[(3) - (3)].num)); } break; case 1364: /* Line 1455 of yacc.c */ #line 9690 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->alloc_index_hints(YYTHD); } break; case 1366: /* Line 1455 of yacc.c */ #line 9694 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->clear_index_hints(); } break; case 1368: /* Line 1455 of yacc.c */ #line 9699 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->add_index_hint(YYTHD, NULL, 0); } break; case 1369: /* Line 1455 of yacc.c */ #line 9700 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1370: /* Line 1455 of yacc.c */ #line 9705 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->add_index_hint(YYTHD, (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); } break; case 1371: /* Line 1455 of yacc.c */ #line 9707 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->add_index_hint(YYTHD, (char *)"PRIMARY", 7); } break; case 1374: /* Line 1455 of yacc.c */ #line 9717 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!((yyval.string_list)= new List)) MYSQL_YYABORT; String *s= new (YYTHD->mem_root) String((const char *) (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, system_charset_info); if (s == NULL) MYSQL_YYABORT; (yyval.string_list)->push_back(s); } break; case 1375: /* Line 1455 of yacc.c */ #line 9728 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { String *s= new (YYTHD->mem_root) String((const char *) (yyvsp[(3) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).length, system_charset_info); if (s == NULL) MYSQL_YYABORT; (yyvsp[(1) - (3)].string_list)->push_back(s); (yyval.string_list)= (yyvsp[(1) - (3)].string_list); } break; case 1376: /* Line 1455 of yacc.c */ #line 9740 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1377: /* Line 1455 of yacc.c */ #line 9741 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_HOUR; } break; case 1378: /* Line 1455 of yacc.c */ #line 9742 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_MICROSECOND; } break; case 1379: /* Line 1455 of yacc.c */ #line 9743 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_MINUTE; } break; case 1380: /* Line 1455 of yacc.c */ #line 9744 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_DAY_SECOND; } break; case 1381: /* Line 1455 of yacc.c */ #line 9745 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_HOUR_MICROSECOND; } break; case 1382: /* Line 1455 of yacc.c */ #line 9746 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_HOUR_MINUTE; } break; case 1383: /* Line 1455 of yacc.c */ #line 9747 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_HOUR_SECOND; } break; case 1384: /* Line 1455 of yacc.c */ #line 9748 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_MINUTE_MICROSECOND; } break; case 1385: /* Line 1455 of yacc.c */ #line 9749 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_MINUTE_SECOND; } break; case 1386: /* Line 1455 of yacc.c */ #line 9750 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_SECOND_MICROSECOND; } break; case 1387: /* Line 1455 of yacc.c */ #line 9751 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval)=INTERVAL_YEAR_MONTH; } break; case 1388: /* Line 1455 of yacc.c */ #line 9755 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_DAY; } break; case 1389: /* Line 1455 of yacc.c */ #line 9756 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_WEEK; } break; case 1390: /* Line 1455 of yacc.c */ #line 9757 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_HOUR; } break; case 1391: /* Line 1455 of yacc.c */ #line 9758 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_MINUTE; } break; case 1392: /* Line 1455 of yacc.c */ #line 9759 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_MONTH; } break; case 1393: /* Line 1455 of yacc.c */ #line 9760 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_QUARTER; } break; case 1394: /* Line 1455 of yacc.c */ #line 9761 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_SECOND; } break; case 1395: /* Line 1455 of yacc.c */ #line 9762 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_MICROSECOND; } break; case 1396: /* Line 1455 of yacc.c */ #line 9763 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.interval_time_st)=INTERVAL_YEAR; } break; case 1397: /* Line 1455 of yacc.c */ #line 9767 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATE;} break; case 1398: /* Line 1455 of yacc.c */ #line 9768 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_TIME;} break; case 1399: /* Line 1455 of yacc.c */ #line 9769 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;} break; case 1400: /* Line 1455 of yacc.c */ #line 9770 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {(yyval.date_time_type)=MYSQL_TIMESTAMP_DATETIME;} break; case 1404: /* Line 1455 of yacc.c */ #line 9780 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str_ptr)=0; } break; case 1405: /* Line 1455 of yacc.c */ #line 9782 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str_ptr)= (LEX_STRING*) sql_memdup(&(yyvsp[(2) - (2)].lex_str),sizeof(LEX_STRING)); if ((yyval.lex_str_ptr) == NULL) MYSQL_YYABORT; } break; case 1408: /* Line 1455 of yacc.c */ #line 9795 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->where= 0; } break; case 1409: /* Line 1455 of yacc.c */ #line 9797 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->parsing_place= IN_WHERE; } break; case 1410: /* Line 1455 of yacc.c */ #line 9801 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { SELECT_LEX *select= Select; select->where= (yyvsp[(3) - (3)].item); select->parsing_place= NO_MATTER; if ((yyvsp[(3) - (3)].item)) (yyvsp[(3) - (3)].item)->top_level_item(); } break; case 1412: /* Line 1455 of yacc.c */ #line 9813 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->parsing_place= IN_HAVING; } break; case 1413: /* Line 1455 of yacc.c */ #line 9817 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->having= (yyvsp[(3) - (3)].item); sel->parsing_place= NO_MATTER; if ((yyvsp[(3) - (3)].item)) (yyvsp[(3) - (3)].item)->top_level_item(); } break; case 1414: /* Line 1455 of yacc.c */ #line 9828 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->escape_used= TRUE; (yyval.item)= (yyvsp[(2) - (2)].item); } break; case 1415: /* Line 1455 of yacc.c */ #line 9833 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; Lex->escape_used= FALSE; (yyval.item)= ((thd->variables.sql_mode & MODE_NO_BACKSLASH_ESCAPES) ? new (thd->mem_root) Item_string("", 0, &my_charset_latin1) : new (thd->mem_root) Item_string("\\", 1, &my_charset_latin1)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1418: /* Line 1455 of yacc.c */ #line 9855 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_group_to_list(YYTHD, (yyvsp[(3) - (4)].item),(bool) (yyvsp[(4) - (4)].num))) MYSQL_YYABORT; } break; case 1419: /* Line 1455 of yacc.c */ #line 9857 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_group_to_list(YYTHD, (yyvsp[(1) - (2)].item),(bool) (yyvsp[(2) - (2)].num))) MYSQL_YYABORT; } break; case 1420: /* Line 1455 of yacc.c */ #line 9861 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1421: /* Line 1455 of yacc.c */ #line 9863 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* 'WITH CUBE' is reserved in the MySQL syntax, but not implemented, and cause LALR(2) conflicts. This syntax is not standard. MySQL syntax: GROUP BY col1, col2, col3 WITH CUBE SQL-2003: GROUP BY ... CUBE(col1, col2, col3) */ LEX *lex=Lex; if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE) { my_error(ER_WRONG_USAGE, MYF(0), "WITH CUBE", "global union parameters"); MYSQL_YYABORT; } lex->current_select->olap= CUBE_TYPE; my_error(ER_NOT_SUPPORTED_YET, MYF(0), "CUBE"); MYSQL_YYABORT; } break; case 1422: /* Line 1455 of yacc.c */ #line 9883 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* 'WITH ROLLUP' is needed for backward compatibility, and cause LALR(2) conflicts. This syntax is not standard. MySQL syntax: GROUP BY col1, col2, col3 WITH ROLLUP SQL-2003: GROUP BY ... ROLLUP(col1, col2, col3) */ LEX *lex= Lex; if (lex->current_select->linkage == GLOBAL_OPTIONS_TYPE) { my_error(ER_WRONG_USAGE, MYF(0), "WITH ROLLUP", "global union parameters"); MYSQL_YYABORT; } lex->current_select->olap= ROLLUP_TYPE; } break; case 1426: /* Line 1455 of yacc.c */ #line 9917 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; bool ascending= ((yyvsp[(2) - (2)].num) == 1) ? true : false; if (add_order_to_list(thd, (yyvsp[(1) - (2)].item), ascending)) MYSQL_YYABORT; } break; case 1429: /* Line 1455 of yacc.c */ #line 9936 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; SELECT_LEX *sel= lex->current_select; SELECT_LEX_UNIT *unit= sel-> master_unit(); if (sel->linkage != GLOBAL_OPTIONS_TYPE && sel->olap != UNSPECIFIED_OLAP_TYPE && (sel->linkage != UNION_TYPE || sel->braces)) { my_error(ER_WRONG_USAGE, MYF(0), "CUBE/ROLLUP", "ORDER BY"); MYSQL_YYABORT; } if (lex->sql_command != SQLCOM_ALTER_TABLE && !unit->fake_select_lex) { /* A query of the of the form (SELECT ...) ORDER BY order_list is executed in the same way as the query SELECT ... ORDER BY order_list unless the SELECT construct contains ORDER BY or LIMIT clauses. Otherwise we create a fake SELECT_LEX if it has not been created yet. */ SELECT_LEX *first_sl= unit->first_select(); if (!unit->is_union() && (first_sl->order_list.elements || first_sl->select_limit) && unit->add_fake_select_lex(lex->thd)) MYSQL_YYABORT; } } break; case 1431: /* Line 1455 of yacc.c */ #line 9971 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_order_to_list(YYTHD, (yyvsp[(3) - (4)].item),(bool) (yyvsp[(4) - (4)].num))) MYSQL_YYABORT; } break; case 1432: /* Line 1455 of yacc.c */ #line 9973 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_order_to_list(YYTHD, (yyvsp[(1) - (2)].item),(bool) (yyvsp[(2) - (2)].num))) MYSQL_YYABORT; } break; case 1433: /* Line 1455 of yacc.c */ #line 9977 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num) = 1; } break; case 1434: /* Line 1455 of yacc.c */ #line 9978 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num) =1; } break; case 1435: /* Line 1455 of yacc.c */ #line 9979 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num) =0; } break; case 1436: /* Line 1455 of yacc.c */ #line 9984 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; SELECT_LEX *sel= lex->current_select; sel->offset_limit= 0; sel->select_limit= 0; } break; case 1437: /* Line 1455 of yacc.c */ #line 9990 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1438: /* Line 1455 of yacc.c */ #line 9994 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1439: /* Line 1455 of yacc.c */ #line 9995 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1440: /* Line 1455 of yacc.c */ #line 10000 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT); } break; case 1441: /* Line 1455 of yacc.c */ #line 10007 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->select_limit= (yyvsp[(1) - (1)].item); sel->offset_limit= 0; sel->explicit_limit= 1; } break; case 1442: /* Line 1455 of yacc.c */ #line 10014 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->select_limit= (yyvsp[(3) - (3)].item); sel->offset_limit= (yyvsp[(1) - (3)].item); sel->explicit_limit= 1; } break; case 1443: /* Line 1455 of yacc.c */ #line 10021 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->select_limit= (yyvsp[(1) - (3)].item); sel->offset_limit= (yyvsp[(3) - (3)].item); sel->explicit_limit= 1; } break; case 1444: /* Line 1455 of yacc.c */ #line 10031 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Item_splocal *splocal; THD *thd= YYTHD; LEX *lex= thd->lex; Lex_input_stream *lip= & thd->m_parser_state->m_lip; sp_variable_t *spv; sp_pcontext *spc = lex->spcont; if (spc && (spv = spc->find_variable(&(yyvsp[(1) - (1)].lex_str)))) { splocal= new (thd->mem_root) Item_splocal((yyvsp[(1) - (1)].lex_str), spv->offset, spv->type, lip->get_tok_start() - lex->sphead->m_tmp_query, lip->get_ptr() - lip->get_tok_start()); if (splocal == NULL) MYSQL_YYABORT; #ifndef DBUG_OFF splocal->m_sp= lex->sphead; #endif lex->safe_to_cache_query=0; } else { my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[(1) - (1)].lex_str).str); MYSQL_YYABORT; } if (splocal->type() != Item::INT_ITEM) { my_error(ER_WRONG_SPVAR_TYPE_IN_LIMIT, MYF(0)); MYSQL_YYABORT; } splocal->limit_clause_param= TRUE; (yyval.item)= splocal; } break; case 1445: /* Line 1455 of yacc.c */ #line 10065 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { ((Item_param *) (yyvsp[(1) - (1)].item))->limit_clause_param= TRUE; } break; case 1446: /* Line 1455 of yacc.c */ #line 10069 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1447: /* Line 1455 of yacc.c */ #line 10075 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1448: /* Line 1455 of yacc.c */ #line 10081 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1449: /* Line 1455 of yacc.c */ #line 10090 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->current_select->select_limit= 0; } break; case 1450: /* Line 1455 of yacc.c */ #line 10095 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; sel->select_limit= (yyvsp[(2) - (2)].item); Lex->set_stmt_unsafe(LEX::BINLOG_STMT_UNSAFE_LIMIT); sel->explicit_limit= 1; } break; case 1451: /* Line 1455 of yacc.c */ #line 10104 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1452: /* Line 1455 of yacc.c */ #line 10105 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.ulong_num)= (ulong) strtol((yyvsp[(1) - (1)].lex_str).str, (char**) 0, 16); } break; case 1453: /* Line 1455 of yacc.c */ #line 10106 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1454: /* Line 1455 of yacc.c */ #line 10107 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1455: /* Line 1455 of yacc.c */ #line 10108 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1456: /* Line 1455 of yacc.c */ #line 10109 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1457: /* Line 1455 of yacc.c */ #line 10113 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1458: /* Line 1455 of yacc.c */ #line 10114 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.ulong_num)= (ulong) strtol((yyvsp[(1) - (1)].lex_str).str, (char**) 0, 16); } break; case 1459: /* Line 1455 of yacc.c */ #line 10115 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1460: /* Line 1455 of yacc.c */ #line 10116 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.ulong_num)= (ulong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1461: /* Line 1455 of yacc.c */ #line 10117 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT; } break; case 1462: /* Line 1455 of yacc.c */ #line 10121 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1463: /* Line 1455 of yacc.c */ #line 10122 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1464: /* Line 1455 of yacc.c */ #line 10123 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1465: /* Line 1455 of yacc.c */ #line 10124 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1466: /* Line 1455 of yacc.c */ #line 10125 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1467: /* Line 1455 of yacc.c */ #line 10129 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1468: /* Line 1455 of yacc.c */ #line 10130 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1469: /* Line 1455 of yacc.c */ #line 10131 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.ulonglong_number)= (ulonglong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, (char**) 0, &error); } break; case 1470: /* Line 1455 of yacc.c */ #line 10132 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT; } break; case 1471: /* Line 1455 of yacc.c */ #line 10137 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { my_parse_error(ER(ER_ONLY_INTEGERS_ALLOWED)); } break; case 1475: /* Line 1455 of yacc.c */ #line 10148 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (! lex->parsing_options.allows_select_procedure) { my_error(ER_VIEW_SELECT_CLAUSE, MYF(0), "PROCEDURE"); MYSQL_YYABORT; } if (&lex->select_lex != lex->current_select) { my_error(ER_WRONG_USAGE, MYF(0), "PROCEDURE", "subquery"); MYSQL_YYABORT; } lex->proc_list.elements=0; lex->proc_list.first=0; lex->proc_list.next= &lex->proc_list.first; Item_field *item= new (YYTHD->mem_root) Item_field(&lex->current_select->context, NULL, NULL, (yyvsp[(2) - (2)].lex_str).str); if (item == NULL) MYSQL_YYABORT; if (add_proc_to_list(lex->thd, item)) MYSQL_YYABORT; Lex->uncacheable(UNCACHEABLE_SIDEEFFECT); } break; case 1477: /* Line 1455 of yacc.c */ #line 10178 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1478: /* Line 1455 of yacc.c */ #line 10179 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1481: /* Line 1455 of yacc.c */ #line 10189 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; if (add_proc_to_list(thd, (yyvsp[(2) - (3)].item))) MYSQL_YYABORT; if (!(yyvsp[(2) - (3)].item)->name) (yyvsp[(2) - (3)].item)->set_name((yyvsp[(1) - (3)].simple_string), (uint) ((yyvsp[(3) - (3)].simple_string) - (yyvsp[(1) - (3)].simple_string)), thd->charset()); } break; case 1482: /* Line 1455 of yacc.c */ #line 10200 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (!lex->describe && (!(lex->result= new select_dumpvar()))) MYSQL_YYABORT; } break; case 1483: /* Line 1455 of yacc.c */ #line 10206 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1485: /* Line 1455 of yacc.c */ #line 10211 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1486: /* Line 1455 of yacc.c */ #line 10216 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->result) { my_var *var= new my_var((yyvsp[(2) - (2)].lex_str),0,0,(enum_field_types)0); if (var == NULL) MYSQL_YYABORT; ((select_dumpvar *)lex->result)->var_list.push_back(var); } else { /* The parser won't create select_result instance only if it's an EXPLAIN. */ DBUG_ASSERT(lex->describe); } } break; case 1487: /* Line 1455 of yacc.c */ #line 10235 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; sp_variable_t *t; if (!lex->spcont || !(t=lex->spcont->find_variable(&(yyvsp[(1) - (1)].lex_str)))) { my_error(ER_SP_UNDECLARED_VAR, MYF(0), (yyvsp[(1) - (1)].lex_str).str); MYSQL_YYABORT; } if (lex->result) { my_var *var= new my_var((yyvsp[(1) - (1)].lex_str),1,t->offset,t->type); if (var == NULL) MYSQL_YYABORT; ((select_dumpvar *)lex->result)->var_list.push_back(var); #ifndef DBUG_OFF var->sp= lex->sphead; #endif } else { /* The parser won't create select_result instance only if it's an EXPLAIN. */ DBUG_ASSERT(lex->describe); } } break; case 1488: /* Line 1455 of yacc.c */ #line 10267 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (! Lex->parsing_options.allows_select_into) { my_error(ER_VIEW_SELECT_CLAUSE, MYF(0), "INTO"); MYSQL_YYABORT; } } break; case 1490: /* Line 1455 of yacc.c */ #line 10279 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->uncacheable(UNCACHEABLE_SIDEEFFECT); if (!(lex->exchange= new sql_exchange((yyvsp[(2) - (2)].lex_str).str, 0)) || !(lex->result= new select_export(lex->exchange))) MYSQL_YYABORT; } break; case 1491: /* Line 1455 of yacc.c */ #line 10287 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->exchange->cs= (yyvsp[(4) - (4)].charset); } break; case 1493: /* Line 1455 of yacc.c */ #line 10290 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (!lex->describe) { lex->uncacheable(UNCACHEABLE_SIDEEFFECT); if (!(lex->exchange= new sql_exchange((yyvsp[(2) - (2)].lex_str).str,1))) MYSQL_YYABORT; if (!(lex->result= new select_dump(lex->exchange))) MYSQL_YYABORT; } } break; case 1494: /* Line 1455 of yacc.c */ #line 10302 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->uncacheable(UNCACHEABLE_SIDEEFFECT); } break; case 1495: /* Line 1455 of yacc.c */ #line 10313 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_DO; mysql_init_select(lex); } break; case 1496: /* Line 1455 of yacc.c */ #line 10319 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->insert_list= (yyvsp[(3) - (3)].item_list); } break; case 1497: /* Line 1455 of yacc.c */ #line 10330 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_DROP_TABLE; lex->drop_temporary= (yyvsp[(2) - (4)].num); lex->drop_if_exists= (yyvsp[(4) - (4)].num); YYPS->m_lock_type= TL_UNLOCK; YYPS->m_mdl_type= MDL_EXCLUSIVE; } break; case 1498: /* Line 1455 of yacc.c */ #line 10339 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1499: /* Line 1455 of yacc.c */ #line 10340 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1500: /* Line 1455 of yacc.c */ #line 10341 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; Alter_drop *ad= new Alter_drop(Alter_drop::KEY, (yyvsp[(3) - (6)].lex_str).str); if (ad == NULL) MYSQL_YYABORT; lex->sql_command= SQLCOM_DROP_INDEX; lex->alter_info.reset(); lex->alter_info.flags= ALTER_DROP_INDEX; lex->alter_info.drop_list.push_back(ad); if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[(5) - (6)].table), NULL, TL_OPTION_UPDATING, TL_READ_NO_INSERT, MDL_SHARED_NO_WRITE)) MYSQL_YYABORT; } break; case 1501: /* Line 1455 of yacc.c */ #line 10357 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_DROP_DB; lex->drop_if_exists=(yyvsp[(3) - (4)].num); lex->name= (yyvsp[(4) - (4)].lex_str); } break; case 1502: /* Line 1455 of yacc.c */ #line 10364 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; sp_name *spname; if ((yyvsp[(4) - (6)].lex_str).str && check_db_name(&(yyvsp[(4) - (6)].lex_str))) { my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[(4) - (6)].lex_str).str); MYSQL_YYABORT; } if (lex->sphead) { my_error(ER_SP_NO_DROP_SP, MYF(0), "FUNCTION"); MYSQL_YYABORT; } lex->sql_command = SQLCOM_DROP_FUNCTION; lex->drop_if_exists= (yyvsp[(3) - (6)].num); spname= new sp_name((yyvsp[(4) - (6)].lex_str), (yyvsp[(6) - (6)].lex_str), true); if (spname == NULL) MYSQL_YYABORT; spname->init_qname(thd); lex->spname= spname; } break; case 1503: /* Line 1455 of yacc.c */ #line 10387 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; LEX_STRING db= {0, 0}; sp_name *spname; if (lex->sphead) { my_error(ER_SP_NO_DROP_SP, MYF(0), "FUNCTION"); MYSQL_YYABORT; } if (thd->db && lex->copy_db_to(&db.str, &db.length)) MYSQL_YYABORT; lex->sql_command = SQLCOM_DROP_FUNCTION; lex->drop_if_exists= (yyvsp[(3) - (4)].num); spname= new sp_name(db, (yyvsp[(4) - (4)].lex_str), false); if (spname == NULL) MYSQL_YYABORT; spname->init_qname(thd); lex->spname= spname; } break; case 1504: /* Line 1455 of yacc.c */ #line 10408 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->sphead) { my_error(ER_SP_NO_DROP_SP, MYF(0), "PROCEDURE"); MYSQL_YYABORT; } lex->sql_command = SQLCOM_DROP_PROCEDURE; lex->drop_if_exists= (yyvsp[(3) - (4)].num); lex->spname= (yyvsp[(4) - (4)].spname); } break; case 1505: /* Line 1455 of yacc.c */ #line 10420 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_DROP_USER; } break; case 1506: /* Line 1455 of yacc.c */ #line 10424 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_DROP_VIEW; lex->drop_if_exists= (yyvsp[(3) - (3)].num); YYPS->m_lock_type= TL_UNLOCK; YYPS->m_mdl_type= MDL_EXCLUSIVE; } break; case 1507: /* Line 1455 of yacc.c */ #line 10432 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1508: /* Line 1455 of yacc.c */ #line 10434 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->drop_if_exists= (yyvsp[(3) - (4)].num); Lex->spname= (yyvsp[(4) - (4)].spname); Lex->sql_command = SQLCOM_DROP_EVENT; } break; case 1509: /* Line 1455 of yacc.c */ #line 10440 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_DROP_TRIGGER; lex->drop_if_exists= (yyvsp[(3) - (4)].num); lex->spname= (yyvsp[(4) - (4)].spname); } break; case 1510: /* Line 1455 of yacc.c */ #line 10447 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= DROP_TABLESPACE; } break; case 1511: /* Line 1455 of yacc.c */ #line 10452 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->alter_tablespace_info->ts_cmd_type= DROP_LOGFILE_GROUP; } break; case 1512: /* Line 1455 of yacc.c */ #line 10457 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_DROP_SERVER; Lex->drop_if_exists= (yyvsp[(3) - (4)].num); Lex->server_options.server_name= (yyvsp[(4) - (4)].lex_str).str; Lex->server_options.server_name_length= (yyvsp[(4) - (4)].lex_str).length; } break; case 1515: /* Line 1455 of yacc.c */ #line 10472 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[(1) - (1)].table), NULL, TL_OPTION_UPDATING, YYPS->m_lock_type, YYPS->m_mdl_type)) MYSQL_YYABORT; } break; case 1518: /* Line 1455 of yacc.c */ #line 10488 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[(1) - (1)].table), NULL, TL_OPTION_UPDATING | TL_OPTION_ALIAS, YYPS->m_lock_type, YYPS->m_mdl_type)) MYSQL_YYABORT; } break; case 1519: /* Line 1455 of yacc.c */ #line 10498 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 1520: /* Line 1455 of yacc.c */ #line 10499 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 1521: /* Line 1455 of yacc.c */ #line 10503 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 1522: /* Line 1455 of yacc.c */ #line 10504 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 1523: /* Line 1455 of yacc.c */ #line 10512 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_INSERT; lex->duplicates= DUP_ERROR; mysql_init_select(lex); } break; case 1524: /* Line 1455 of yacc.c */ #line 10520 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->set_lock_for_tables((yyvsp[(3) - (5)].lock_type)); Lex->current_select= &Lex->select_lex; } break; case 1525: /* Line 1455 of yacc.c */ #line 10525 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1526: /* Line 1455 of yacc.c */ #line 10530 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_REPLACE; lex->duplicates= DUP_REPLACE; mysql_init_select(lex); } break; case 1527: /* Line 1455 of yacc.c */ #line 10537 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->set_lock_for_tables((yyvsp[(3) - (4)].lock_type)); Lex->current_select= &Lex->select_lex; } break; case 1528: /* Line 1455 of yacc.c */ #line 10542 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1529: /* Line 1455 of yacc.c */ #line 10547 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { #ifdef HAVE_QUERY_CACHE /* If it is SP we do not allow insert optimisation whan result of insert visible only after the table unlocking but everyone can read table. */ (yyval.lock_type)= (Lex->sphead ? TL_WRITE_DEFAULT : TL_WRITE_CONCURRENT_INSERT); #else (yyval.lock_type)= TL_WRITE_CONCURRENT_INSERT; #endif } break; case 1530: /* Line 1455 of yacc.c */ #line 10559 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } break; case 1531: /* Line 1455 of yacc.c */ #line 10561 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->keyword_delayed_begin_offset= (uint)(YYLIP->get_tok_start() - YYTHD->query()); Lex->keyword_delayed_end_offset= Lex->keyword_delayed_begin_offset + YYLIP->yyLength() + 1; (yyval.lock_type)= TL_WRITE_DELAYED; } break; case 1532: /* Line 1455 of yacc.c */ #line 10568 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE; } break; case 1533: /* Line 1455 of yacc.c */ #line 10572 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lock_type)= (yyvsp[(1) - (1)].lock_type); } break; case 1534: /* Line 1455 of yacc.c */ #line 10574 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->keyword_delayed_begin_offset= (uint)(YYLIP->get_tok_start() - YYTHD->query()); Lex->keyword_delayed_end_offset= Lex->keyword_delayed_begin_offset + YYLIP->yyLength() + 1; (yyval.lock_type)= TL_WRITE_DELAYED; } break; case 1535: /* Line 1455 of yacc.c */ #line 10584 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1536: /* Line 1455 of yacc.c */ #line 10585 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1537: /* Line 1455 of yacc.c */ #line 10590 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->field_list.empty(); lex->many_values.empty(); lex->insert_list=0; } break; case 1538: /* Line 1455 of yacc.c */ #line 10598 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1539: /* Line 1455 of yacc.c */ #line 10599 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1540: /* Line 1455 of yacc.c */ #line 10600 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1541: /* Line 1455 of yacc.c */ #line 10602 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (!(lex->insert_list = new List_item) || lex->many_values.push_back(lex->insert_list)) MYSQL_YYABORT; } break; case 1543: /* Line 1455 of yacc.c */ #line 10612 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->field_list.push_back((yyvsp[(3) - (3)].item)); } break; case 1544: /* Line 1455 of yacc.c */ #line 10613 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->field_list.push_back((yyvsp[(1) - (1)].item)); } break; case 1545: /* Line 1455 of yacc.c */ #line 10617 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1546: /* Line 1455 of yacc.c */ #line 10618 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1547: /* Line 1455 of yacc.c */ #line 10620 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->set_braces(0);} break; case 1548: /* Line 1455 of yacc.c */ #line 10621 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1549: /* Line 1455 of yacc.c */ #line 10623 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->set_braces(1);} break; case 1550: /* Line 1455 of yacc.c */ #line 10624 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1555: /* Line 1455 of yacc.c */ #line 10639 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->field_list.push_back((yyvsp[(1) - (3)].item)) || lex->insert_list->push_back((yyvsp[(3) - (3)].item))) MYSQL_YYABORT; } break; case 1556: /* Line 1455 of yacc.c */ #line 10648 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1557: /* Line 1455 of yacc.c */ #line 10649 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1558: /* Line 1455 of yacc.c */ #line 10653 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1559: /* Line 1455 of yacc.c */ #line 10654 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1560: /* Line 1455 of yacc.c */ #line 10659 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!(Lex->insert_list = new List_item)) MYSQL_YYABORT; } break; case 1561: /* Line 1455 of yacc.c */ #line 10664 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->many_values.push_back(lex->insert_list)) MYSQL_YYABORT; } break; case 1562: /* Line 1455 of yacc.c */ #line 10672 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1564: /* Line 1455 of yacc.c */ #line 10678 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Lex->insert_list->push_back((yyvsp[(3) - (3)].item))) MYSQL_YYABORT; } break; case 1565: /* Line 1455 of yacc.c */ #line 10683 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Lex->insert_list->push_back((yyvsp[(1) - (1)].item))) MYSQL_YYABORT; } break; case 1566: /* Line 1455 of yacc.c */ #line 10690 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(1) - (1)].item);} break; case 1567: /* Line 1455 of yacc.c */ #line 10692 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_default_value(Lex->current_context()); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1569: /* Line 1455 of yacc.c */ #line 10701 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->duplicates= DUP_UPDATE; } break; case 1571: /* Line 1455 of yacc.c */ #line 10709 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; mysql_init_select(lex); lex->sql_command= SQLCOM_UPDATE; lex->duplicates= DUP_ERROR; } break; case 1572: /* Line 1455 of yacc.c */ #line 10717 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->select_lex.table_list.elements > 1) lex->sql_command= SQLCOM_UPDATE_MULTI; else if (lex->select_lex.get_table_list()->derived) { /* it is single table update and it is update of derived table */ my_error(ER_NON_UPDATABLE_TABLE, MYF(0), lex->select_lex.get_table_list()->alias, "UPDATE"); MYSQL_YYABORT; } /* In case of multi-update setting write lock for all tables may be too pessimistic. We will decrease lock level if possible in mysql_multi_update(). */ Select->set_lock_for_tables((yyvsp[(3) - (7)].lock_type)); } break; case 1573: /* Line 1455 of yacc.c */ #line 10735 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1576: /* Line 1455 of yacc.c */ #line 10745 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_item_to_list(YYTHD, (yyvsp[(1) - (3)].item)) || add_value_to_list(YYTHD, (yyvsp[(3) - (3)].item))) MYSQL_YYABORT; } break; case 1579: /* Line 1455 of yacc.c */ #line 10758 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->update_list.push_back((yyvsp[(1) - (3)].item)) || lex->value_list.push_back((yyvsp[(3) - (3)].item))) MYSQL_YYABORT; } break; case 1580: /* Line 1455 of yacc.c */ #line 10767 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_DEFAULT; } break; case 1581: /* Line 1455 of yacc.c */ #line 10768 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } break; case 1582: /* Line 1455 of yacc.c */ #line 10775 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_DELETE; mysql_init_select(lex); YYPS->m_lock_type= TL_WRITE_DEFAULT; YYPS->m_mdl_type= MDL_SHARED_WRITE; lex->ignore= 0; lex->select_lex.init_order(); } break; case 1584: /* Line 1455 of yacc.c */ #line 10790 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!Select->add_table_to_list(YYTHD, (yyvsp[(2) - (2)].table), NULL, TL_OPTION_UPDATING, YYPS->m_lock_type, YYPS->m_mdl_type)) MYSQL_YYABORT; YYPS->m_lock_type= TL_READ_DEFAULT; YYPS->m_mdl_type= MDL_SHARED_READ; } break; case 1585: /* Line 1455 of yacc.c */ #line 10799 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1586: /* Line 1455 of yacc.c */ #line 10801 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { mysql_init_multi_delete(Lex); YYPS->m_lock_type= TL_READ_DEFAULT; YYPS->m_mdl_type= MDL_SHARED_READ; } break; case 1587: /* Line 1455 of yacc.c */ #line 10807 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (multi_delete_set_locks_and_link_aux_tables(Lex)) MYSQL_YYABORT; } break; case 1588: /* Line 1455 of yacc.c */ #line 10812 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { mysql_init_multi_delete(Lex); YYPS->m_lock_type= TL_READ_DEFAULT; YYPS->m_mdl_type= MDL_SHARED_READ; } break; case 1589: /* Line 1455 of yacc.c */ #line 10818 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (multi_delete_set_locks_and_link_aux_tables(Lex)) MYSQL_YYABORT; } break; case 1592: /* Line 1455 of yacc.c */ #line 10831 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Table_ident *ti= new Table_ident((yyvsp[(1) - (2)].lex_str)); if (ti == NULL) MYSQL_YYABORT; if (!Select->add_table_to_list(YYTHD, ti, NULL, TL_OPTION_UPDATING | TL_OPTION_ALIAS, YYPS->m_lock_type, YYPS->m_mdl_type)) MYSQL_YYABORT; } break; case 1593: /* Line 1455 of yacc.c */ #line 10844 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Table_ident *ti= new Table_ident(YYTHD, (yyvsp[(1) - (4)].lex_str), (yyvsp[(3) - (4)].lex_str), 0); if (ti == NULL) MYSQL_YYABORT; if (!Select->add_table_to_list(YYTHD, ti, NULL, TL_OPTION_UPDATING | TL_OPTION_ALIAS, YYPS->m_lock_type, YYPS->m_mdl_type)) MYSQL_YYABORT; } break; case 1594: /* Line 1455 of yacc.c */ #line 10859 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1595: /* Line 1455 of yacc.c */ #line 10860 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1596: /* Line 1455 of yacc.c */ #line 10864 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1597: /* Line 1455 of yacc.c */ #line 10865 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1598: /* Line 1455 of yacc.c */ #line 10869 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->options|= OPTION_QUICK; } break; case 1599: /* Line 1455 of yacc.c */ #line 10870 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { YYPS->m_lock_type= TL_WRITE_LOW_PRIORITY; } break; case 1600: /* Line 1455 of yacc.c */ #line 10871 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->ignore= 1; } break; case 1601: /* Line 1455 of yacc.c */ #line 10876 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX* lex= Lex; lex->sql_command= SQLCOM_TRUNCATE; lex->alter_info.reset(); lex->select_lex.options= 0; lex->select_lex.sql_cache= SELECT_LEX::SQL_CACHE_UNSPECIFIED; lex->select_lex.init_order(); YYPS->m_lock_type= TL_WRITE; YYPS->m_mdl_type= MDL_EXCLUSIVE; } break; case 1602: /* Line 1455 of yacc.c */ #line 10887 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX* lex= thd->lex; DBUG_ASSERT(!lex->m_stmt); lex->m_stmt= new (thd->mem_root) Truncate_statement(lex); if (lex->m_stmt == NULL) MYSQL_YYABORT; } break; case 1609: /* Line 1455 of yacc.c */ #line 10912 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_CPU; } break; case 1610: /* Line 1455 of yacc.c */ #line 10916 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_MEMORY; } break; case 1611: /* Line 1455 of yacc.c */ #line 10920 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_BLOCK_IO; } break; case 1612: /* Line 1455 of yacc.c */ #line 10924 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_CONTEXT; } break; case 1613: /* Line 1455 of yacc.c */ #line 10928 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_PAGE_FAULTS; } break; case 1614: /* Line 1455 of yacc.c */ #line 10932 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_IPC; } break; case 1615: /* Line 1455 of yacc.c */ #line 10936 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_SWAPS; } break; case 1616: /* Line 1455 of yacc.c */ #line 10940 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_SOURCE; } break; case 1617: /* Line 1455 of yacc.c */ #line 10944 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->profile_options|= PROFILE_ALL; } break; case 1618: /* Line 1455 of yacc.c */ #line 10951 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->profile_query_id= 0; } break; case 1619: /* Line 1455 of yacc.c */ #line 10955 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->profile_query_id= atoi((yyvsp[(3) - (3)].lex_str).str); } break; case 1620: /* Line 1455 of yacc.c */ #line 10964 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->wild=0; mysql_init_select(lex); lex->current_select->parsing_place= SELECT_LIST; bzero((char*) &lex->create_info,sizeof(lex->create_info)); } break; case 1621: /* Line 1455 of yacc.c */ #line 10972 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; } break; case 1622: /* Line 1455 of yacc.c */ #line 10979 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_DATABASES; if (prepare_schema_table(YYTHD, lex, 0, SCH_SCHEMATA)) MYSQL_YYABORT; } break; case 1623: /* Line 1455 of yacc.c */ #line 10986 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_TABLES; lex->select_lex.db= (yyvsp[(3) - (4)].simple_string); if (prepare_schema_table(YYTHD, lex, 0, SCH_TABLE_NAMES)) MYSQL_YYABORT; } break; case 1624: /* Line 1455 of yacc.c */ #line 10994 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_TRIGGERS; lex->select_lex.db= (yyvsp[(3) - (4)].simple_string); if (prepare_schema_table(YYTHD, lex, 0, SCH_TRIGGERS)) MYSQL_YYABORT; } break; case 1625: /* Line 1455 of yacc.c */ #line 11002 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_EVENTS; lex->select_lex.db= (yyvsp[(2) - (3)].simple_string); if (prepare_schema_table(YYTHD, lex, 0, SCH_EVENTS)) MYSQL_YYABORT; } break; case 1626: /* Line 1455 of yacc.c */ #line 11010 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_TABLE_STATUS; lex->select_lex.db= (yyvsp[(3) - (4)].simple_string); if (prepare_schema_table(YYTHD, lex, 0, SCH_TABLES)) MYSQL_YYABORT; } break; case 1627: /* Line 1455 of yacc.c */ #line 11018 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_OPEN_TABLES; lex->select_lex.db= (yyvsp[(3) - (4)].simple_string); if (prepare_schema_table(YYTHD, lex, 0, SCH_OPEN_TABLES)) MYSQL_YYABORT; } break; case 1628: /* Line 1455 of yacc.c */ #line 11026 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_PLUGINS; if (prepare_schema_table(YYTHD, lex, 0, SCH_PLUGINS)) MYSQL_YYABORT; } break; case 1629: /* Line 1455 of yacc.c */ #line 11033 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.db_type= (yyvsp[(2) - (3)].db_type); } break; case 1630: /* Line 1455 of yacc.c */ #line 11035 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_info.db_type= NULL; } break; case 1631: /* Line 1455 of yacc.c */ #line 11037 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_FIELDS; if ((yyvsp[(5) - (6)].simple_string)) (yyvsp[(4) - (6)].table)->change_db((yyvsp[(5) - (6)].simple_string)); if (prepare_schema_table(YYTHD, lex, (yyvsp[(4) - (6)].table), SCH_COLUMNS)) MYSQL_YYABORT; } break; case 1632: /* Line 1455 of yacc.c */ #line 11046 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_BINLOGS; } break; case 1633: /* Line 1455 of yacc.c */ #line 11050 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_SLAVE_HOSTS; } break; case 1634: /* Line 1455 of yacc.c */ #line 11054 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_BINLOG_EVENTS; } break; case 1636: /* Line 1455 of yacc.c */ #line 11059 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_RELAYLOG_EVENTS; } break; case 1638: /* Line 1455 of yacc.c */ #line 11064 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_KEYS; if ((yyvsp[(4) - (5)].simple_string)) (yyvsp[(3) - (5)].table)->change_db((yyvsp[(4) - (5)].simple_string)); if (prepare_schema_table(YYTHD, lex, (yyvsp[(3) - (5)].table), SCH_STATISTICS)) MYSQL_YYABORT; } break; case 1639: /* Line 1455 of yacc.c */ #line 11073 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_STORAGE_ENGINES; if (prepare_schema_table(YYTHD, lex, 0, SCH_ENGINES)) MYSQL_YYABORT; } break; case 1640: /* Line 1455 of yacc.c */ #line 11080 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_AUTHORS; push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_WARN, ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT, ER(ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT), "SHOW AUTHORS"); } break; case 1641: /* Line 1455 of yacc.c */ #line 11089 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_CONTRIBUTORS; push_warning_printf(YYTHD, MYSQL_ERROR::WARN_LEVEL_WARN, ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT, ER(ER_WARN_DEPRECATED_SYNTAX_NO_REPLACEMENT), "SHOW CONTRIBUTORS"); } break; case 1642: /* Line 1455 of yacc.c */ #line 11098 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_PRIVILEGES; } break; case 1643: /* Line 1455 of yacc.c */ #line 11103 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (void) create_select_for_variable("warning_count"); } break; case 1644: /* Line 1455 of yacc.c */ #line 11105 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (void) create_select_for_variable("error_count"); } break; case 1645: /* Line 1455 of yacc.c */ #line 11107 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_WARNS;} break; case 1646: /* Line 1455 of yacc.c */ #line 11109 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_ERRORS;} break; case 1647: /* Line 1455 of yacc.c */ #line 11111 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_PROFILES; } break; case 1648: /* Line 1455 of yacc.c */ #line 11113 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_PROFILE; if (prepare_schema_table(YYTHD, lex, NULL, SCH_PROFILES) != 0) YYABORT; } break; case 1649: /* Line 1455 of yacc.c */ #line 11120 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_STATUS; lex->option_type= (yyvsp[(1) - (3)].var_type); if (prepare_schema_table(YYTHD, lex, 0, SCH_STATUS)) MYSQL_YYABORT; } break; case 1650: /* Line 1455 of yacc.c */ #line 11128 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_PROCESSLIST;} break; case 1651: /* Line 1455 of yacc.c */ #line 11130 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_VARIABLES; lex->option_type= (yyvsp[(1) - (3)].var_type); if (prepare_schema_table(YYTHD, lex, 0, SCH_VARIABLES)) MYSQL_YYABORT; } break; case 1652: /* Line 1455 of yacc.c */ #line 11138 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_CHARSETS; if (prepare_schema_table(YYTHD, lex, 0, SCH_CHARSETS)) MYSQL_YYABORT; } break; case 1653: /* Line 1455 of yacc.c */ #line 11145 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_COLLATIONS; if (prepare_schema_table(YYTHD, lex, 0, SCH_COLLATIONS)) MYSQL_YYABORT; } break; case 1654: /* Line 1455 of yacc.c */ #line 11152 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_GRANTS; LEX_USER *curr_user; if (!(curr_user= (LEX_USER*) lex->thd->alloc(sizeof(st_lex_user)))) MYSQL_YYABORT; bzero(curr_user, sizeof(st_lex_user)); lex->grant_user= curr_user; } break; case 1655: /* Line 1455 of yacc.c */ #line 11162 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SHOW_GRANTS; lex->grant_user=(yyvsp[(3) - (3)].lex_user); lex->grant_user->password=null_lex_str; } break; case 1656: /* Line 1455 of yacc.c */ #line 11169 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command=SQLCOM_SHOW_CREATE_DB; Lex->create_info.options=(yyvsp[(3) - (4)].num); Lex->name= (yyvsp[(4) - (4)].lex_str); } break; case 1657: /* Line 1455 of yacc.c */ #line 11175 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE; if (!lex->select_lex.add_table_to_list(YYTHD, (yyvsp[(3) - (3)].table), NULL,0)) MYSQL_YYABORT; lex->only_view= 0; lex->create_info.storage_media= HA_SM_DEFAULT; } break; case 1658: /* Line 1455 of yacc.c */ #line 11184 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE; if (!lex->select_lex.add_table_to_list(YYTHD, (yyvsp[(3) - (3)].table), NULL, 0)) MYSQL_YYABORT; lex->only_view= 1; } break; case 1659: /* Line 1455 of yacc.c */ #line 11192 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_MASTER_STAT; } break; case 1660: /* Line 1455 of yacc.c */ #line 11196 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_SHOW_SLAVE_STAT; } break; case 1661: /* Line 1455 of yacc.c */ #line 11200 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE_PROC; lex->spname= (yyvsp[(3) - (3)].spname); } break; case 1662: /* Line 1455 of yacc.c */ #line 11207 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command = SQLCOM_SHOW_CREATE_FUNC; lex->spname= (yyvsp[(3) - (3)].spname); } break; case 1663: /* Line 1455 of yacc.c */ #line 11214 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_CREATE_TRIGGER; lex->spname= (yyvsp[(3) - (3)].spname); } break; case 1664: /* Line 1455 of yacc.c */ #line 11220 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_STATUS_PROC; if (prepare_schema_table(YYTHD, lex, 0, SCH_PROCEDURES)) MYSQL_YYABORT; } break; case 1665: /* Line 1455 of yacc.c */ #line 11227 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_SHOW_STATUS_FUNC; if (prepare_schema_table(YYTHD, lex, 0, SCH_PROCEDURES)) MYSQL_YYABORT; } break; case 1666: /* Line 1455 of yacc.c */ #line 11234 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_PROC_CODE; Lex->spname= (yyvsp[(3) - (3)].spname); } break; case 1667: /* Line 1455 of yacc.c */ #line 11239 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_FUNC_CODE; Lex->spname= (yyvsp[(3) - (3)].spname); } break; case 1668: /* Line 1455 of yacc.c */ #line 11244 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->spname= (yyvsp[(3) - (3)].spname); Lex->sql_command = SQLCOM_SHOW_CREATE_EVENT; } break; case 1669: /* Line 1455 of yacc.c */ #line 11252 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_ENGINE_STATUS; } break; case 1670: /* Line 1455 of yacc.c */ #line 11254 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_ENGINE_MUTEX; } break; case 1671: /* Line 1455 of yacc.c */ #line 11256 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command= SQLCOM_SHOW_ENGINE_LOGS; } break; case 1676: /* Line 1455 of yacc.c */ #line 11270 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.simple_string)= 0; } break; case 1677: /* Line 1455 of yacc.c */ #line 11271 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.simple_string)= (yyvsp[(2) - (2)].lex_str).str; } break; case 1678: /* Line 1455 of yacc.c */ #line 11275 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->verbose=0; } break; case 1679: /* Line 1455 of yacc.c */ #line 11276 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->verbose=1; } break; case 1682: /* Line 1455 of yacc.c */ #line 11285 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.log_file_name = 0; } break; case 1683: /* Line 1455 of yacc.c */ #line 11286 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.log_file_name = (yyvsp[(2) - (2)].lex_str).str; } break; case 1684: /* Line 1455 of yacc.c */ #line 11290 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.pos = 4; /* skip magic number */ } break; case 1685: /* Line 1455 of yacc.c */ #line 11291 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->mi.pos = (yyvsp[(2) - (2)].ulonglong_number); } break; case 1687: /* Line 1455 of yacc.c */ #line 11297 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->wild= new (YYTHD->mem_root) String((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length, system_charset_info); if (Lex->wild == NULL) MYSQL_YYABORT; } break; case 1688: /* Line 1455 of yacc.c */ #line 11304 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->where= (yyvsp[(2) - (2)].item); if ((yyvsp[(2) - (2)].item)) (yyvsp[(2) - (2)].item)->top_level_item(); } break; case 1689: /* Line 1455 of yacc.c */ #line 11314 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; mysql_init_select(lex); lex->current_select->parsing_place= SELECT_LIST; lex->sql_command= SQLCOM_SHOW_FIELDS; lex->select_lex.db= 0; lex->verbose= 0; if (prepare_schema_table(YYTHD, lex, (yyvsp[(2) - (2)].table), SCH_COLUMNS)) MYSQL_YYABORT; } break; case 1690: /* Line 1455 of yacc.c */ #line 11325 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->parsing_place= NO_MATTER; } break; case 1691: /* Line 1455 of yacc.c */ #line 11329 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->describe|= DESCRIBE_NORMAL; } break; case 1692: /* Line 1455 of yacc.c */ #line 11331 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->select_lex.options|= SELECT_DESCRIBE; } break; case 1695: /* Line 1455 of yacc.c */ #line 11343 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1696: /* Line 1455 of yacc.c */ #line 11344 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->describe|= DESCRIBE_EXTENDED; } break; case 1697: /* Line 1455 of yacc.c */ #line 11345 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->describe|= DESCRIBE_PARTITIONS; } break; case 1698: /* Line 1455 of yacc.c */ #line 11349 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1699: /* Line 1455 of yacc.c */ #line 11350 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->wild= (yyvsp[(1) - (1)].string); } break; case 1700: /* Line 1455 of yacc.c */ #line 11352 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->wild= new (YYTHD->mem_root) String((const char*) (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, system_charset_info); if (Lex->wild == NULL) MYSQL_YYABORT; } break; case 1701: /* Line 1455 of yacc.c */ #line 11366 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_FLUSH; lex->type= 0; lex->no_write_to_binlog= (yyvsp[(2) - (2)].num); } break; case 1702: /* Line 1455 of yacc.c */ #line 11373 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1703: /* Line 1455 of yacc.c */ #line 11378 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_TABLES; /* Set type of metadata and table locks for FLUSH TABLES table_list [WITH READ LOCK]. */ YYPS->m_lock_type= TL_READ_NO_INSERT; YYPS->m_mdl_type= MDL_SHARED_HIGH_PRIO; } break; case 1704: /* Line 1455 of yacc.c */ #line 11387 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1705: /* Line 1455 of yacc.c */ #line 11388 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1707: /* Line 1455 of yacc.c */ #line 11393 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1708: /* Line 1455 of yacc.c */ #line 11395 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { TABLE_LIST *tables= Lex->query_tables; Lex->type|= REFRESH_READ_LOCK; for (; tables; tables= tables->next_global) { tables->mdl_request.set_type(MDL_SHARED_NO_WRITE); tables->required_type= FRMTYPE_TABLE; /* Don't try to flush views. */ tables->open_type= OT_BASE_ONLY; /* Ignore temporary tables. */ } } break; case 1710: /* Line 1455 of yacc.c */ #line 11410 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1711: /* Line 1455 of yacc.c */ #line 11415 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_ERROR_LOG; } break; case 1712: /* Line 1455 of yacc.c */ #line 11417 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_ENGINE_LOG; } break; case 1713: /* Line 1455 of yacc.c */ #line 11419 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_GENERAL_LOG; } break; case 1714: /* Line 1455 of yacc.c */ #line 11421 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_SLOW_LOG; } break; case 1715: /* Line 1455 of yacc.c */ #line 11423 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_BINARY_LOG; } break; case 1716: /* Line 1455 of yacc.c */ #line 11425 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_RELAY_LOG; } break; case 1717: /* Line 1455 of yacc.c */ #line 11427 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_QUERY_CACHE_FREE; } break; case 1718: /* Line 1455 of yacc.c */ #line 11429 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_HOSTS; } break; case 1719: /* Line 1455 of yacc.c */ #line 11431 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_GRANT; } break; case 1720: /* Line 1455 of yacc.c */ #line 11433 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_LOG; } break; case 1721: /* Line 1455 of yacc.c */ #line 11435 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_STATUS; } break; case 1722: /* Line 1455 of yacc.c */ #line 11437 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_SLAVE; Lex->reset_slave_info.all= false; } break; case 1723: /* Line 1455 of yacc.c */ #line 11442 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_MASTER; } break; case 1724: /* Line 1455 of yacc.c */ #line 11444 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_DES_KEY_FILE; } break; case 1725: /* Line 1455 of yacc.c */ #line 11446 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_USER_RESOURCES; } break; case 1726: /* Line 1455 of yacc.c */ #line 11450 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1727: /* Line 1455 of yacc.c */ #line 11451 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1728: /* Line 1455 of yacc.c */ #line 11456 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_RESET; lex->type=0; } break; case 1729: /* Line 1455 of yacc.c */ #line 11461 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1732: /* Line 1455 of yacc.c */ #line 11470 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_SLAVE; } break; case 1733: /* Line 1455 of yacc.c */ #line 11471 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { } break; case 1734: /* Line 1455 of yacc.c */ #line 11472 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_MASTER; } break; case 1735: /* Line 1455 of yacc.c */ #line 11473 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type|= REFRESH_QUERY_CACHE;} break; case 1736: /* Line 1455 of yacc.c */ #line 11477 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->reset_slave_info.all= false; } break; case 1737: /* Line 1455 of yacc.c */ #line 11478 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->reset_slave_info.all= true; } break; case 1738: /* Line 1455 of yacc.c */ #line 11483 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->type=0; lex->sql_command = SQLCOM_PURGE; } break; case 1739: /* Line 1455 of yacc.c */ #line 11489 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1741: /* Line 1455 of yacc.c */ #line 11498 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->to_log = (yyvsp[(2) - (2)].lex_str).str; } break; case 1742: /* Line 1455 of yacc.c */ #line 11502 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->value_list.empty(); lex->value_list.push_front((yyvsp[(2) - (2)].item)); lex->sql_command= SQLCOM_PURGE_BEFORE; } break; case 1743: /* Line 1455 of yacc.c */ #line 11514 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->value_list.empty(); lex->value_list.push_front((yyvsp[(3) - (3)].item)); lex->sql_command= SQLCOM_KILL; } break; case 1744: /* Line 1455 of yacc.c */ #line 11523 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type= 0; } break; case 1745: /* Line 1455 of yacc.c */ #line 11524 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type= 0; } break; case 1746: /* Line 1455 of yacc.c */ #line 11525 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->type= ONLY_KILL_QUERY; } break; case 1747: /* Line 1455 of yacc.c */ #line 11532 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command=SQLCOM_CHANGE_DB; lex->select_lex.db= (yyvsp[(2) - (2)].lex_str).str; } break; case 1748: /* Line 1455 of yacc.c */ #line 11543 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; if (lex->sphead) { my_error(ER_SP_BADSTATEMENT, MYF(0), (yyvsp[(2) - (2)].filetype) == FILETYPE_CSV ? "LOAD DATA" : "LOAD XML"); MYSQL_YYABORT; } } break; case 1749: /* Line 1455 of yacc.c */ #line 11555 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_LOAD; lex->local_file= (yyvsp[(5) - (7)].num); lex->duplicates= DUP_ERROR; lex->ignore= 0; if (!(lex->exchange= new sql_exchange((yyvsp[(7) - (7)].lex_str).str, 0, (yyvsp[(2) - (7)].filetype)))) MYSQL_YYABORT; } break; case 1750: /* Line 1455 of yacc.c */ #line 11565 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (!Select->add_table_to_list(YYTHD, (yyvsp[(12) - (12)].table), NULL, TL_OPTION_UPDATING, (yyvsp[(4) - (12)].lock_type), MDL_SHARED_WRITE)) MYSQL_YYABORT; lex->field_list.empty(); lex->update_list.empty(); lex->value_list.empty(); } break; case 1751: /* Line 1455 of yacc.c */ #line 11575 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->exchange->cs= (yyvsp[(14) - (14)].charset); } break; case 1752: /* Line 1455 of yacc.c */ #line 11579 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1753: /* Line 1455 of yacc.c */ #line 11583 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.filetype)= FILETYPE_CSV; } break; case 1754: /* Line 1455 of yacc.c */ #line 11584 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.filetype)= FILETYPE_XML; } break; case 1755: /* Line 1455 of yacc.c */ #line 11588 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=0;} break; case 1756: /* Line 1455 of yacc.c */ #line 11589 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=1;} break; case 1757: /* Line 1455 of yacc.c */ #line 11593 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_DEFAULT; } break; case 1758: /* Line 1455 of yacc.c */ #line 11595 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { #ifdef HAVE_QUERY_CACHE /* Ignore this option in SP to avoid problem with query cache */ if (Lex->sphead != 0) (yyval.lock_type)= TL_WRITE_DEFAULT; else #endif (yyval.lock_type)= TL_WRITE_CONCURRENT_INSERT; } break; case 1759: /* Line 1455 of yacc.c */ #line 11606 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lock_type)= TL_WRITE_LOW_PRIORITY; } break; case 1760: /* Line 1455 of yacc.c */ #line 11610 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->duplicates=DUP_ERROR; } break; case 1761: /* Line 1455 of yacc.c */ #line 11611 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->duplicates=DUP_REPLACE; } break; case 1762: /* Line 1455 of yacc.c */ #line 11612 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->ignore= 1; } break; case 1767: /* Line 1455 of yacc.c */ #line 11627 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->field_term= (yyvsp[(3) - (3)].string); } break; case 1768: /* Line 1455 of yacc.c */ #line 11632 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; DBUG_ASSERT(lex->exchange != 0); lex->exchange->enclosed= (yyvsp[(4) - (4)].string); lex->exchange->opt_enclosed= 1; } break; case 1769: /* Line 1455 of yacc.c */ #line 11639 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->enclosed= (yyvsp[(3) - (3)].string); } break; case 1770: /* Line 1455 of yacc.c */ #line 11644 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->escaped= (yyvsp[(3) - (3)].string); } break; case 1775: /* Line 1455 of yacc.c */ #line 11662 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->line_term= (yyvsp[(3) - (3)].string); } break; case 1776: /* Line 1455 of yacc.c */ #line 11667 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->line_start= (yyvsp[(3) - (3)].string); } break; case 1777: /* Line 1455 of yacc.c */ #line 11674 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { } break; case 1778: /* Line 1455 of yacc.c */ #line 11676 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->exchange->line_term = (yyvsp[(4) - (4)].string); } break; case 1780: /* Line 1455 of yacc.c */ #line 11681 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { DBUG_ASSERT(Lex->exchange != 0); Lex->exchange->skip_lines= atol((yyvsp[(2) - (3)].lex_str).str); } break; case 1781: /* Line 1455 of yacc.c */ #line 11688 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { } break; case 1782: /* Line 1455 of yacc.c */ #line 11690 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { } break; case 1783: /* Line 1455 of yacc.c */ #line 11694 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1784: /* Line 1455 of yacc.c */ #line 11695 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1785: /* Line 1455 of yacc.c */ #line 11696 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1786: /* Line 1455 of yacc.c */ #line 11701 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->field_list.push_back((yyvsp[(3) - (3)].item)); } break; case 1787: /* Line 1455 of yacc.c */ #line 11703 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->field_list.push_back((yyvsp[(1) - (1)].item)); } break; case 1788: /* Line 1455 of yacc.c */ #line 11707 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {(yyval.item)= (yyvsp[(1) - (1)].item);} break; case 1789: /* Line 1455 of yacc.c */ #line 11709 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_user_var_as_out_param((yyvsp[(2) - (2)].lex_str)); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1790: /* Line 1455 of yacc.c */ #line 11717 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1791: /* Line 1455 of yacc.c */ #line 11718 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1794: /* Line 1455 of yacc.c */ #line 11728 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; uint length= (uint) ((yyvsp[(5) - (5)].simple_string) - (yyvsp[(3) - (5)].simple_string)); String *val= new (YYTHD->mem_root) String((yyvsp[(3) - (5)].simple_string), length, YYTHD->charset()); if (val == NULL) MYSQL_YYABORT; if (lex->update_list.push_back((yyvsp[(1) - (5)].item)) || lex->value_list.push_back((yyvsp[(4) - (5)].item)) || lex->load_set_str_list.push_back(val)) MYSQL_YYABORT; (yyvsp[(4) - (5)].item)->set_name((yyvsp[(3) - (5)].simple_string), length, YYTHD->charset()); } break; case 1795: /* Line 1455 of yacc.c */ #line 11748 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX_STRING tmp; THD *thd= YYTHD; CHARSET_INFO *cs_con= thd->variables.collation_connection; CHARSET_INFO *cs_cli= thd->variables.character_set_client; uint repertoire= thd->lex->text_string_is_7bit && my_charset_is_ascii_based(cs_cli) ? MY_REPERTOIRE_ASCII : MY_REPERTOIRE_UNICODE30; if (thd->charset_is_collation_connection || (repertoire == MY_REPERTOIRE_ASCII && my_charset_is_ascii_based(cs_con))) tmp= (yyvsp[(1) - (1)].lex_str); else { if (thd->convert_string(&tmp, cs_con, (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, cs_cli)) MYSQL_YYABORT; } (yyval.item)= new (thd->mem_root) Item_string(tmp.str, tmp.length, cs_con, DERIVATION_COERCIBLE, repertoire); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1796: /* Line 1455 of yacc.c */ #line 11772 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { uint repertoire= Lex->text_string_is_7bit ? MY_REPERTOIRE_ASCII : MY_REPERTOIRE_UNICODE30; DBUG_ASSERT(my_charset_is_ascii_based(national_charset_info)); (yyval.item)= new (YYTHD->mem_root) Item_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, national_charset_info, DERIVATION_COERCIBLE, repertoire); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1797: /* Line 1455 of yacc.c */ #line 11784 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Item_string *str= new (YYTHD->mem_root) Item_string((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length, (yyvsp[(1) - (2)].charset)); if (str == NULL) MYSQL_YYABORT; str->set_repertoire_from_value(); str->set_cs_specified(TRUE); (yyval.item)= str; } break; case 1798: /* Line 1455 of yacc.c */ #line 11795 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Item_string* item= (Item_string*) (yyvsp[(1) - (2)].item); item->append((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length); if (!(item->collation.repertoire & MY_REPERTOIRE_EXTENDED)) { /* If the string has been pure ASCII so far, check the new part. */ CHARSET_INFO *cs= YYTHD->variables.collation_connection; item->collation.repertoire|= my_string_repertoire(cs, (yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length); } } break; case 1799: /* Line 1455 of yacc.c */ #line 11814 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.string)= new (YYTHD->mem_root) String((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, YYTHD->variables.collation_connection); if ((yyval.string) == NULL) MYSQL_YYABORT; } break; case 1800: /* Line 1455 of yacc.c */ #line 11822 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Item *tmp= new (YYTHD->mem_root) Item_hex_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if (tmp == NULL) MYSQL_YYABORT; /* it is OK only emulate fix_fields, because we need only value of constant */ tmp->quick_fix_field(); (yyval.string)= tmp->val_str((String*) 0); } break; case 1801: /* Line 1455 of yacc.c */ #line 11834 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Item *tmp= new (YYTHD->mem_root) Item_bin_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if (tmp == NULL) MYSQL_YYABORT; /* it is OK only emulate fix_fields, because we need only value of constant */ tmp->quick_fix_field(); (yyval.string)= tmp->val_str((String*) 0); } break; case 1802: /* Line 1455 of yacc.c */ #line 11849 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; Lex_input_stream *lip= YYLIP; Item_param *item; if (! lex->parsing_options.allows_variable) { my_error(ER_VIEW_SELECT_VARIABLE, MYF(0)); MYSQL_YYABORT; } item= new (thd->mem_root) Item_param((uint) (lip->get_tok_start() - thd->query())); if (!((yyval.item)= item) || lex->param_list.push_back(item)) { my_message(ER_OUT_OF_RESOURCES, ER(ER_OUT_OF_RESOURCES), MYF(0)); MYSQL_YYABORT; } } break; case 1803: /* Line 1455 of yacc.c */ #line 11869 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[(1) - (1)].item); } break; case 1804: /* Line 1455 of yacc.c */ #line 11870 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[(2) - (2)].item_num); } break; case 1805: /* Line 1455 of yacc.c */ #line 11872 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyvsp[(2) - (2)].item_num)->max_length++; (yyval.item)= (yyvsp[(2) - (2)].item_num)->neg(); } break; case 1806: /* Line 1455 of yacc.c */ #line 11879 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[(1) - (1)].item); } break; case 1807: /* Line 1455 of yacc.c */ #line 11880 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[(1) - (1)].item_num); } break; case 1808: /* Line 1455 of yacc.c */ #line 11882 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item) = new (YYTHD->mem_root) Item_null(); if ((yyval.item) == NULL) MYSQL_YYABORT; YYLIP->next_state= MY_LEX_OPERATOR_OR_IDENT; } break; case 1809: /* Line 1455 of yacc.c */ #line 11889 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_int((char*) "FALSE",0,1); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1810: /* Line 1455 of yacc.c */ #line 11895 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_int((char*) "TRUE",1,1); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1811: /* Line 1455 of yacc.c */ #line 11901 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item) = new (YYTHD->mem_root) Item_hex_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1812: /* Line 1455 of yacc.c */ #line 11907 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= new (YYTHD->mem_root) Item_bin_string((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1813: /* Line 1455 of yacc.c */ #line 11913 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Item *tmp= new (YYTHD->mem_root) Item_hex_string((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length); if (tmp == NULL) MYSQL_YYABORT; /* it is OK only emulate fix_fieds, because we need only value of constant */ tmp->quick_fix_field(); String *str= tmp->val_str((String*) 0); Item_string *item_str; item_str= new (YYTHD->mem_root) Item_string(NULL, /* name will be set in select_item */ str ? str->ptr() : "", str ? str->length() : 0, (yyvsp[(1) - (2)].charset)); if (!item_str || !item_str->check_well_formed_result(&item_str->str_value, TRUE)) { MYSQL_YYABORT; } item_str->set_repertoire_from_value(); item_str->set_cs_specified(TRUE); (yyval.item)= item_str; } break; case 1814: /* Line 1455 of yacc.c */ #line 11942 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Item *tmp= new (YYTHD->mem_root) Item_bin_string((yyvsp[(2) - (2)].lex_str).str, (yyvsp[(2) - (2)].lex_str).length); if (tmp == NULL) MYSQL_YYABORT; /* it is OK only emulate fix_fieds, because we need only value of constant */ tmp->quick_fix_field(); String *str= tmp->val_str((String*) 0); Item_string *item_str; item_str= new (YYTHD->mem_root) Item_string(NULL, /* name will be set in select_item */ str ? str->ptr() : "", str ? str->length() : 0, (yyvsp[(1) - (2)].charset)); if (!item_str || !item_str->check_well_formed_result(&item_str->str_value, TRUE)) { MYSQL_YYABORT; } item_str->set_cs_specified(TRUE); (yyval.item)= item_str; } break; case 1815: /* Line 1455 of yacc.c */ #line 11969 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[(2) - (2)].item); } break; case 1816: /* Line 1455 of yacc.c */ #line 11970 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[(2) - (2)].item); } break; case 1817: /* Line 1455 of yacc.c */ #line 11971 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item) = (yyvsp[(2) - (2)].item); } break; case 1818: /* Line 1455 of yacc.c */ #line 11976 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.item_num)= new (YYTHD->mem_root) Item_int((yyvsp[(1) - (1)].lex_str).str, (longlong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, NULL, &error), (yyvsp[(1) - (1)].lex_str).length); if ((yyval.item_num) == NULL) MYSQL_YYABORT; } break; case 1819: /* Line 1455 of yacc.c */ #line 11986 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { int error; (yyval.item_num)= new (YYTHD->mem_root) Item_int((yyvsp[(1) - (1)].lex_str).str, (longlong) my_strtoll10((yyvsp[(1) - (1)].lex_str).str, NULL, &error), (yyvsp[(1) - (1)].lex_str).length); if ((yyval.item_num) == NULL) MYSQL_YYABORT; } break; case 1820: /* Line 1455 of yacc.c */ #line 11996 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item_num)= new (YYTHD->mem_root) Item_uint((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if ((yyval.item_num) == NULL) MYSQL_YYABORT; } break; case 1821: /* Line 1455 of yacc.c */ #line 12002 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item_num)= new (YYTHD->mem_root) Item_decimal((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, YYTHD->charset()); if (((yyval.item_num) == NULL) || (YYTHD->is_error())) { MYSQL_YYABORT; } } break; case 1822: /* Line 1455 of yacc.c */ #line 12011 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item_num)= new (YYTHD->mem_root) Item_float((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length); if (((yyval.item_num) == NULL) || (YYTHD->is_error())) { MYSQL_YYABORT; } } break; case 1823: /* Line 1455 of yacc.c */ #line 12025 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[(1) - (1)].item); } break; case 1824: /* Line 1455 of yacc.c */ #line 12026 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[(1) - (1)].item); } break; case 1825: /* Line 1455 of yacc.c */ #line 12031 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { SELECT_LEX *sel= Select; (yyval.item)= new (YYTHD->mem_root) Item_field(Lex->current_context(), NullS, (yyvsp[(1) - (3)].lex_str).str, "*"); if ((yyval.item) == NULL) MYSQL_YYABORT; sel->with_wild++; } break; case 1826: /* Line 1455 of yacc.c */ #line 12040 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; SELECT_LEX *sel= Select; const char* schema= thd->client_capabilities & CLIENT_NO_SCHEMA ? NullS : (yyvsp[(1) - (5)].lex_str).str; (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(), schema, (yyvsp[(3) - (5)].lex_str).str,"*"); if ((yyval.item) == NULL) MYSQL_YYABORT; sel->with_wild++; } break; case 1827: /* Line 1455 of yacc.c */ #line 12055 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[(1) - (1)].item); } break; case 1828: /* Line 1455 of yacc.c */ #line 12060 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; Lex_input_stream *lip= YYLIP; sp_variable_t *spv; sp_pcontext *spc = lex->spcont; if (spc && (spv = spc->find_variable(&(yyvsp[(1) - (1)].lex_str)))) { /* We're compiling a stored procedure and found a variable */ if (! lex->parsing_options.allows_variable) { my_error(ER_VIEW_SELECT_VARIABLE, MYF(0)); MYSQL_YYABORT; } Item_splocal *splocal; splocal= new (thd->mem_root) Item_splocal((yyvsp[(1) - (1)].lex_str), spv->offset, spv->type, lip->get_tok_start_prev() - lex->sphead->m_tmp_query, lip->get_tok_end() - lip->get_tok_start_prev()); if (splocal == NULL) MYSQL_YYABORT; #ifndef DBUG_OFF splocal->m_sp= lex->sphead; #endif (yyval.item)= splocal; lex->safe_to_cache_query=0; } else { SELECT_LEX *sel=Select; if ((sel->parsing_place != IN_HAVING) || (sel->get_in_sum_expr() > 0)) { (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(), NullS, NullS, (yyvsp[(1) - (1)].lex_str).str); } else { (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(), NullS, NullS, (yyvsp[(1) - (1)].lex_str).str); } if ((yyval.item) == NULL) MYSQL_YYABORT; } } break; case 1829: /* Line 1455 of yacc.c */ #line 12106 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(1) - (1)].item); } break; case 1830: /* Line 1455 of yacc.c */ #line 12111 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; SELECT_LEX *sel=Select; if ((sel->parsing_place != IN_HAVING) || (sel->get_in_sum_expr() > 0)) { (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(), NullS, NullS, (yyvsp[(1) - (1)].lex_str).str); } else { (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(), NullS, NullS, (yyvsp[(1) - (1)].lex_str).str); } if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1831: /* Line 1455 of yacc.c */ #line 12128 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)= (yyvsp[(1) - (1)].item); } break; case 1832: /* Line 1455 of yacc.c */ #line 12133 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; /* FIXME This will work ok in simple_ident_nospvar case because we can't meet simple_ident_nospvar in trigger now. But it should be changed in future. */ if (lex->sphead && lex->sphead->m_type == TYPE_ENUM_TRIGGER && (!my_strcasecmp(system_charset_info, (yyvsp[(1) - (3)].lex_str).str, "NEW") || !my_strcasecmp(system_charset_info, (yyvsp[(1) - (3)].lex_str).str, "OLD"))) { Item_trigger_field *trg_fld; bool new_row= ((yyvsp[(1) - (3)].lex_str).str[0]=='N' || (yyvsp[(1) - (3)].lex_str).str[0]=='n'); if (lex->trg_chistics.event == TRG_EVENT_INSERT && !new_row) { my_error(ER_TRG_NO_SUCH_ROW_IN_TRG, MYF(0), "OLD", "on INSERT"); MYSQL_YYABORT; } if (lex->trg_chistics.event == TRG_EVENT_DELETE && new_row) { my_error(ER_TRG_NO_SUCH_ROW_IN_TRG, MYF(0), "NEW", "on DELETE"); MYSQL_YYABORT; } DBUG_ASSERT(!new_row || (lex->trg_chistics.event == TRG_EVENT_INSERT || lex->trg_chistics.event == TRG_EVENT_UPDATE)); const bool read_only= !(new_row && lex->trg_chistics.action_time == TRG_ACTION_BEFORE); trg_fld= new (thd->mem_root) Item_trigger_field(Lex->current_context(), new_row ? Item_trigger_field::NEW_ROW: Item_trigger_field::OLD_ROW, (yyvsp[(3) - (3)].lex_str).str, SELECT_ACL, read_only); if (trg_fld == NULL) MYSQL_YYABORT; /* Let us add this item to list of all Item_trigger_field objects in trigger. */ lex->trg_table_fields.link_in_list(trg_fld, &trg_fld->next_trg_field); (yyval.item)= trg_fld; } else { SELECT_LEX *sel= lex->current_select; if (sel->no_table_names_allowed) { my_error(ER_TABLENAME_NOT_ALLOWED_HERE, MYF(0), (yyvsp[(1) - (3)].lex_str).str, thd->where); } if ((sel->parsing_place != IN_HAVING) || (sel->get_in_sum_expr() > 0)) { (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(), NullS, (yyvsp[(1) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).str); } else { (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(), NullS, (yyvsp[(1) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).str); } if ((yyval.item) == NULL) MYSQL_YYABORT; } } break; case 1833: /* Line 1455 of yacc.c */ #line 12212 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; SELECT_LEX *sel= lex->current_select; if (sel->no_table_names_allowed) { my_error(ER_TABLENAME_NOT_ALLOWED_HERE, MYF(0), (yyvsp[(2) - (4)].lex_str).str, thd->where); } if ((sel->parsing_place != IN_HAVING) || (sel->get_in_sum_expr() > 0)) { (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(), NullS, (yyvsp[(2) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).str); } else { (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(), NullS, (yyvsp[(2) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).str); } if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1834: /* Line 1455 of yacc.c */ #line 12237 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; SELECT_LEX *sel= lex->current_select; const char* schema= (thd->client_capabilities & CLIENT_NO_SCHEMA ? NullS : (yyvsp[(1) - (5)].lex_str).str); if (sel->no_table_names_allowed) { my_error(ER_TABLENAME_NOT_ALLOWED_HERE, MYF(0), (yyvsp[(3) - (5)].lex_str).str, thd->where); } if ((sel->parsing_place != IN_HAVING) || (sel->get_in_sum_expr() > 0)) { (yyval.item)= new (thd->mem_root) Item_field(Lex->current_context(), schema, (yyvsp[(3) - (5)].lex_str).str, (yyvsp[(5) - (5)].lex_str).str); } else { (yyval.item)= new (thd->mem_root) Item_ref(Lex->current_context(), schema, (yyvsp[(3) - (5)].lex_str).str, (yyvsp[(5) - (5)].lex_str).str); } if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 1835: /* Line 1455 of yacc.c */ #line 12267 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);} break; case 1836: /* Line 1455 of yacc.c */ #line 12269 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { TABLE_LIST *table= Select->table_list.first; if (my_strcasecmp(table_alias_charset, (yyvsp[(1) - (5)].lex_str).str, table->db)) { my_error(ER_WRONG_DB_NAME, MYF(0), (yyvsp[(1) - (5)].lex_str).str); MYSQL_YYABORT; } if (my_strcasecmp(table_alias_charset, (yyvsp[(3) - (5)].lex_str).str, table->table_name)) { my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[(3) - (5)].lex_str).str); MYSQL_YYABORT; } (yyval.lex_str)=(yyvsp[(5) - (5)].lex_str); } break; case 1837: /* Line 1455 of yacc.c */ #line 12285 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { TABLE_LIST *table= Select->table_list.first; if (my_strcasecmp(table_alias_charset, (yyvsp[(1) - (3)].lex_str).str, table->alias)) { my_error(ER_WRONG_TABLE_NAME, MYF(0), (yyvsp[(1) - (3)].lex_str).str); MYSQL_YYABORT; } (yyval.lex_str)=(yyvsp[(3) - (3)].lex_str); } break; case 1838: /* Line 1455 of yacc.c */ #line 12294 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(2) - (2)].lex_str);} break; case 1839: /* Line 1455 of yacc.c */ #line 12299 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.table)= new Table_ident((yyvsp[(1) - (1)].lex_str)); if ((yyval.table) == NULL) MYSQL_YYABORT; } break; case 1840: /* Line 1455 of yacc.c */ #line 12305 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.table)= new Table_ident(YYTHD, (yyvsp[(1) - (3)].lex_str),(yyvsp[(3) - (3)].lex_str),0); if ((yyval.table) == NULL) MYSQL_YYABORT; } break; case 1841: /* Line 1455 of yacc.c */ #line 12311 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* For Delphi */ (yyval.table)= new Table_ident((yyvsp[(2) - (2)].lex_str)); if ((yyval.table) == NULL) MYSQL_YYABORT; } break; case 1842: /* Line 1455 of yacc.c */ #line 12321 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.table)= new Table_ident((yyvsp[(1) - (2)].lex_str)); if ((yyval.table) == NULL) MYSQL_YYABORT; } break; case 1843: /* Line 1455 of yacc.c */ #line 12327 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.table)= new Table_ident(YYTHD, (yyvsp[(1) - (4)].lex_str),(yyvsp[(3) - (4)].lex_str),0); if ((yyval.table) == NULL) MYSQL_YYABORT; } break; case 1844: /* Line 1455 of yacc.c */ #line 12336 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX_STRING db={(char*) any_db,3}; (yyval.table)= new Table_ident(YYTHD, db,(yyvsp[(1) - (1)].lex_str),0); if ((yyval.table) == NULL) MYSQL_YYABORT; } break; case 1845: /* Line 1455 of yacc.c */ #line 12345 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); } break; case 1846: /* Line 1455 of yacc.c */ #line 12347 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; if (thd->charset_is_system_charset) { CHARSET_INFO *cs= system_charset_info; int dummy_error; uint wlen= cs->cset->well_formed_len(cs, (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).str+(yyvsp[(1) - (1)].lex_str).length, (yyvsp[(1) - (1)].lex_str).length, &dummy_error); if (wlen < (yyvsp[(1) - (1)].lex_str).length) { ErrConvString err((yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, &my_charset_bin); my_error(ER_INVALID_CHARACTER_STRING, MYF(0), cs->csname, err.ptr()); MYSQL_YYABORT; } (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); } else { if (thd->convert_string(&(yyval.lex_str), system_charset_info, (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, thd->charset())) MYSQL_YYABORT; } } break; case 1847: /* Line 1455 of yacc.c */ #line 12377 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; if (thd->charset_is_system_charset) (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); else { if (thd->convert_string(&(yyval.lex_str), system_charset_info, (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, thd->charset())) MYSQL_YYABORT; } } break; case 1848: /* Line 1455 of yacc.c */ #line 12393 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; if (thd->charset_is_collation_connection) (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); else { if (thd->convert_string(&(yyval.lex_str), thd->variables.collation_connection, (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, thd->charset())) MYSQL_YYABORT; } } break; case 1849: /* Line 1455 of yacc.c */ #line 12409 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; if (thd->charset_is_character_set_filesystem) (yyval.lex_str)= (yyvsp[(1) - (1)].lex_str); else { if (thd->convert_string(&(yyval.lex_str), thd->variables.character_set_filesystem, (yyvsp[(1) - (1)].lex_str).str, (yyvsp[(1) - (1)].lex_str).length, thd->charset())) MYSQL_YYABORT; } } break; case 1850: /* Line 1455 of yacc.c */ #line 12425 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); } break; case 1851: /* Line 1455 of yacc.c */ #line 12427 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; (yyval.lex_str).str= thd->strmake((yyvsp[(1) - (1)].symbol).str, (yyvsp[(1) - (1)].symbol).length); if ((yyval.lex_str).str == NULL) MYSQL_YYABORT; (yyval.lex_str).length= (yyvsp[(1) - (1)].symbol).length; } break; case 1852: /* Line 1455 of yacc.c */ #line 12437 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str); } break; case 1853: /* Line 1455 of yacc.c */ #line 12439 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; (yyval.lex_str).str= thd->strmake((yyvsp[(1) - (1)].symbol).str, (yyvsp[(1) - (1)].symbol).length); if ((yyval.lex_str).str == NULL) MYSQL_YYABORT; (yyval.lex_str).length= (yyvsp[(1) - (1)].symbol).length; } break; case 1854: /* Line 1455 of yacc.c */ #line 12449 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);} break; case 1855: /* Line 1455 of yacc.c */ #line 12450 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);} break; case 1856: /* Line 1455 of yacc.c */ #line 12451 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_str)=(yyvsp[(1) - (1)].lex_str);} break; case 1857: /* Line 1455 of yacc.c */ #line 12456 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user)))) MYSQL_YYABORT; (yyval.lex_user)->user = (yyvsp[(1) - (1)].lex_str); (yyval.lex_user)->host.str= (char *) "%"; (yyval.lex_user)->host.length= 1; (yyval.lex_user)->password= null_lex_str; (yyval.lex_user)->plugin= empty_lex_str; (yyval.lex_user)->auth= empty_lex_str; if (check_string_char_length(&(yyval.lex_user)->user, ER(ER_USERNAME), USERNAME_CHAR_LENGTH, system_charset_info, 0)) MYSQL_YYABORT; } break; case 1858: /* Line 1455 of yacc.c */ #line 12473 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; if (!((yyval.lex_user)=(LEX_USER*) thd->alloc(sizeof(st_lex_user)))) MYSQL_YYABORT; (yyval.lex_user)->user = (yyvsp[(1) - (3)].lex_str); (yyval.lex_user)->host=(yyvsp[(3) - (3)].lex_str); (yyval.lex_user)->password= null_lex_str; (yyval.lex_user)->plugin= empty_lex_str; (yyval.lex_user)->auth= empty_lex_str; if (check_string_char_length(&(yyval.lex_user)->user, ER(ER_USERNAME), USERNAME_CHAR_LENGTH, system_charset_info, 0) || check_host_name(&(yyval.lex_user)->host)) MYSQL_YYABORT; /* Convert hostname part of username to lowercase. It's OK to use in-place lowercase as long as the character set is utf8. */ my_casedn_str(system_charset_info, (yyval.lex_user)->host.str); } break; case 1859: /* Line 1455 of yacc.c */ #line 12495 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (!((yyval.lex_user)=(LEX_USER*) YYTHD->alloc(sizeof(st_lex_user)))) MYSQL_YYABORT; /* empty LEX_USER means current_user and will be handled in the get_current_user() function later */ bzero((yyval.lex_user), sizeof(LEX_USER)); } break; case 1860: /* Line 1455 of yacc.c */ #line 12509 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1861: /* Line 1455 of yacc.c */ #line 12510 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1862: /* Line 1455 of yacc.c */ #line 12511 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1863: /* Line 1455 of yacc.c */ #line 12512 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1864: /* Line 1455 of yacc.c */ #line 12513 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1865: /* Line 1455 of yacc.c */ #line 12514 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1866: /* Line 1455 of yacc.c */ #line 12515 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1867: /* Line 1455 of yacc.c */ #line 12516 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1868: /* Line 1455 of yacc.c */ #line 12517 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1869: /* Line 1455 of yacc.c */ #line 12518 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1870: /* Line 1455 of yacc.c */ #line 12519 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1871: /* Line 1455 of yacc.c */ #line 12520 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1872: /* Line 1455 of yacc.c */ #line 12521 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1873: /* Line 1455 of yacc.c */ #line 12522 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1874: /* Line 1455 of yacc.c */ #line 12523 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1875: /* Line 1455 of yacc.c */ #line 12524 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1876: /* Line 1455 of yacc.c */ #line 12525 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1877: /* Line 1455 of yacc.c */ #line 12526 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1878: /* Line 1455 of yacc.c */ #line 12527 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1879: /* Line 1455 of yacc.c */ #line 12528 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1880: /* Line 1455 of yacc.c */ #line 12529 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1881: /* Line 1455 of yacc.c */ #line 12530 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1882: /* Line 1455 of yacc.c */ #line 12531 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1883: /* Line 1455 of yacc.c */ #line 12532 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1884: /* Line 1455 of yacc.c */ #line 12533 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1885: /* Line 1455 of yacc.c */ #line 12534 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1886: /* Line 1455 of yacc.c */ #line 12535 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1887: /* Line 1455 of yacc.c */ #line 12536 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1888: /* Line 1455 of yacc.c */ #line 12537 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1889: /* Line 1455 of yacc.c */ #line 12538 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1890: /* Line 1455 of yacc.c */ #line 12539 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1891: /* Line 1455 of yacc.c */ #line 12540 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1892: /* Line 1455 of yacc.c */ #line 12541 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1893: /* Line 1455 of yacc.c */ #line 12542 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1894: /* Line 1455 of yacc.c */ #line 12543 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1895: /* Line 1455 of yacc.c */ #line 12544 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1896: /* Line 1455 of yacc.c */ #line 12545 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1897: /* Line 1455 of yacc.c */ #line 12546 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1898: /* Line 1455 of yacc.c */ #line 12547 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1899: /* Line 1455 of yacc.c */ #line 12548 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1900: /* Line 1455 of yacc.c */ #line 12549 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1901: /* Line 1455 of yacc.c */ #line 12550 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1902: /* Line 1455 of yacc.c */ #line 12551 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1903: /* Line 1455 of yacc.c */ #line 12552 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1904: /* Line 1455 of yacc.c */ #line 12553 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1905: /* Line 1455 of yacc.c */ #line 12554 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1906: /* Line 1455 of yacc.c */ #line 12555 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1907: /* Line 1455 of yacc.c */ #line 12556 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1908: /* Line 1455 of yacc.c */ #line 12557 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1909: /* Line 1455 of yacc.c */ #line 12558 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1910: /* Line 1455 of yacc.c */ #line 12568 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1911: /* Line 1455 of yacc.c */ #line 12569 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1912: /* Line 1455 of yacc.c */ #line 12570 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1913: /* Line 1455 of yacc.c */ #line 12571 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1914: /* Line 1455 of yacc.c */ #line 12572 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1915: /* Line 1455 of yacc.c */ #line 12573 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1916: /* Line 1455 of yacc.c */ #line 12574 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1917: /* Line 1455 of yacc.c */ #line 12575 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1918: /* Line 1455 of yacc.c */ #line 12576 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1919: /* Line 1455 of yacc.c */ #line 12577 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1920: /* Line 1455 of yacc.c */ #line 12578 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1921: /* Line 1455 of yacc.c */ #line 12579 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1922: /* Line 1455 of yacc.c */ #line 12580 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1923: /* Line 1455 of yacc.c */ #line 12581 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1924: /* Line 1455 of yacc.c */ #line 12582 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1925: /* Line 1455 of yacc.c */ #line 12583 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1926: /* Line 1455 of yacc.c */ #line 12584 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1927: /* Line 1455 of yacc.c */ #line 12585 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1928: /* Line 1455 of yacc.c */ #line 12586 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1929: /* Line 1455 of yacc.c */ #line 12587 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1930: /* Line 1455 of yacc.c */ #line 12588 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1931: /* Line 1455 of yacc.c */ #line 12589 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1932: /* Line 1455 of yacc.c */ #line 12590 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1933: /* Line 1455 of yacc.c */ #line 12591 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1934: /* Line 1455 of yacc.c */ #line 12592 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1935: /* Line 1455 of yacc.c */ #line 12593 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1936: /* Line 1455 of yacc.c */ #line 12594 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1937: /* Line 1455 of yacc.c */ #line 12595 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1938: /* Line 1455 of yacc.c */ #line 12596 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1939: /* Line 1455 of yacc.c */ #line 12597 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1940: /* Line 1455 of yacc.c */ #line 12598 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1941: /* Line 1455 of yacc.c */ #line 12599 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1942: /* Line 1455 of yacc.c */ #line 12600 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1943: /* Line 1455 of yacc.c */ #line 12601 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1944: /* Line 1455 of yacc.c */ #line 12602 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1945: /* Line 1455 of yacc.c */ #line 12603 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1946: /* Line 1455 of yacc.c */ #line 12604 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1947: /* Line 1455 of yacc.c */ #line 12605 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1948: /* Line 1455 of yacc.c */ #line 12606 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1949: /* Line 1455 of yacc.c */ #line 12607 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1950: /* Line 1455 of yacc.c */ #line 12608 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1951: /* Line 1455 of yacc.c */ #line 12609 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1952: /* Line 1455 of yacc.c */ #line 12610 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1953: /* Line 1455 of yacc.c */ #line 12611 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1954: /* Line 1455 of yacc.c */ #line 12612 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1955: /* Line 1455 of yacc.c */ #line 12613 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1956: /* Line 1455 of yacc.c */ #line 12614 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1957: /* Line 1455 of yacc.c */ #line 12615 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1958: /* Line 1455 of yacc.c */ #line 12616 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1959: /* Line 1455 of yacc.c */ #line 12617 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1960: /* Line 1455 of yacc.c */ #line 12618 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1961: /* Line 1455 of yacc.c */ #line 12619 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1962: /* Line 1455 of yacc.c */ #line 12620 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1963: /* Line 1455 of yacc.c */ #line 12621 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1964: /* Line 1455 of yacc.c */ #line 12622 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1965: /* Line 1455 of yacc.c */ #line 12623 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1966: /* Line 1455 of yacc.c */ #line 12624 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1967: /* Line 1455 of yacc.c */ #line 12625 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1968: /* Line 1455 of yacc.c */ #line 12626 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1969: /* Line 1455 of yacc.c */ #line 12627 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1970: /* Line 1455 of yacc.c */ #line 12628 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1971: /* Line 1455 of yacc.c */ #line 12629 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1972: /* Line 1455 of yacc.c */ #line 12630 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1973: /* Line 1455 of yacc.c */ #line 12631 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1974: /* Line 1455 of yacc.c */ #line 12632 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1975: /* Line 1455 of yacc.c */ #line 12633 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1976: /* Line 1455 of yacc.c */ #line 12634 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1977: /* Line 1455 of yacc.c */ #line 12635 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1978: /* Line 1455 of yacc.c */ #line 12636 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1979: /* Line 1455 of yacc.c */ #line 12637 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1980: /* Line 1455 of yacc.c */ #line 12638 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1981: /* Line 1455 of yacc.c */ #line 12639 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1982: /* Line 1455 of yacc.c */ #line 12640 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1983: /* Line 1455 of yacc.c */ #line 12641 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1984: /* Line 1455 of yacc.c */ #line 12642 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1985: /* Line 1455 of yacc.c */ #line 12643 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1986: /* Line 1455 of yacc.c */ #line 12644 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1987: /* Line 1455 of yacc.c */ #line 12645 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1988: /* Line 1455 of yacc.c */ #line 12646 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1989: /* Line 1455 of yacc.c */ #line 12647 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1990: /* Line 1455 of yacc.c */ #line 12648 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1991: /* Line 1455 of yacc.c */ #line 12649 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1992: /* Line 1455 of yacc.c */ #line 12650 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1993: /* Line 1455 of yacc.c */ #line 12651 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1994: /* Line 1455 of yacc.c */ #line 12652 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1995: /* Line 1455 of yacc.c */ #line 12653 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1996: /* Line 1455 of yacc.c */ #line 12654 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1997: /* Line 1455 of yacc.c */ #line 12655 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1998: /* Line 1455 of yacc.c */ #line 12656 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 1999: /* Line 1455 of yacc.c */ #line 12657 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2000: /* Line 1455 of yacc.c */ #line 12658 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2001: /* Line 1455 of yacc.c */ #line 12659 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2002: /* Line 1455 of yacc.c */ #line 12660 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2003: /* Line 1455 of yacc.c */ #line 12661 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2004: /* Line 1455 of yacc.c */ #line 12662 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2005: /* Line 1455 of yacc.c */ #line 12663 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2006: /* Line 1455 of yacc.c */ #line 12664 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2007: /* Line 1455 of yacc.c */ #line 12665 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2008: /* Line 1455 of yacc.c */ #line 12666 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2009: /* Line 1455 of yacc.c */ #line 12667 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2010: /* Line 1455 of yacc.c */ #line 12668 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2011: /* Line 1455 of yacc.c */ #line 12669 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2012: /* Line 1455 of yacc.c */ #line 12670 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2013: /* Line 1455 of yacc.c */ #line 12671 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2014: /* Line 1455 of yacc.c */ #line 12672 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2015: /* Line 1455 of yacc.c */ #line 12673 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2016: /* Line 1455 of yacc.c */ #line 12674 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2017: /* Line 1455 of yacc.c */ #line 12675 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2018: /* Line 1455 of yacc.c */ #line 12676 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2019: /* Line 1455 of yacc.c */ #line 12677 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2020: /* Line 1455 of yacc.c */ #line 12678 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2021: /* Line 1455 of yacc.c */ #line 12679 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2022: /* Line 1455 of yacc.c */ #line 12680 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2023: /* Line 1455 of yacc.c */ #line 12681 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2024: /* Line 1455 of yacc.c */ #line 12682 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2025: /* Line 1455 of yacc.c */ #line 12683 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2026: /* Line 1455 of yacc.c */ #line 12684 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2027: /* Line 1455 of yacc.c */ #line 12685 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2028: /* Line 1455 of yacc.c */ #line 12686 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2029: /* Line 1455 of yacc.c */ #line 12687 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2030: /* Line 1455 of yacc.c */ #line 12688 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2031: /* Line 1455 of yacc.c */ #line 12689 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2032: /* Line 1455 of yacc.c */ #line 12690 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2033: /* Line 1455 of yacc.c */ #line 12691 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2034: /* Line 1455 of yacc.c */ #line 12692 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2035: /* Line 1455 of yacc.c */ #line 12693 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2036: /* Line 1455 of yacc.c */ #line 12694 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2037: /* Line 1455 of yacc.c */ #line 12695 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2038: /* Line 1455 of yacc.c */ #line 12696 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2039: /* Line 1455 of yacc.c */ #line 12697 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2040: /* Line 1455 of yacc.c */ #line 12698 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2041: /* Line 1455 of yacc.c */ #line 12699 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2042: /* Line 1455 of yacc.c */ #line 12700 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2043: /* Line 1455 of yacc.c */ #line 12701 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2044: /* Line 1455 of yacc.c */ #line 12702 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2045: /* Line 1455 of yacc.c */ #line 12703 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2046: /* Line 1455 of yacc.c */ #line 12704 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2047: /* Line 1455 of yacc.c */ #line 12705 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2048: /* Line 1455 of yacc.c */ #line 12706 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2049: /* Line 1455 of yacc.c */ #line 12707 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2050: /* Line 1455 of yacc.c */ #line 12708 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2051: /* Line 1455 of yacc.c */ #line 12709 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2052: /* Line 1455 of yacc.c */ #line 12710 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2053: /* Line 1455 of yacc.c */ #line 12711 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2054: /* Line 1455 of yacc.c */ #line 12712 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2055: /* Line 1455 of yacc.c */ #line 12713 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2056: /* Line 1455 of yacc.c */ #line 12714 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2057: /* Line 1455 of yacc.c */ #line 12715 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2058: /* Line 1455 of yacc.c */ #line 12716 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2059: /* Line 1455 of yacc.c */ #line 12717 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2060: /* Line 1455 of yacc.c */ #line 12718 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2061: /* Line 1455 of yacc.c */ #line 12719 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2062: /* Line 1455 of yacc.c */ #line 12720 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2063: /* Line 1455 of yacc.c */ #line 12721 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2064: /* Line 1455 of yacc.c */ #line 12722 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2065: /* Line 1455 of yacc.c */ #line 12723 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2066: /* Line 1455 of yacc.c */ #line 12724 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2067: /* Line 1455 of yacc.c */ #line 12725 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2068: /* Line 1455 of yacc.c */ #line 12726 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2069: /* Line 1455 of yacc.c */ #line 12727 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2070: /* Line 1455 of yacc.c */ #line 12728 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2071: /* Line 1455 of yacc.c */ #line 12729 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2072: /* Line 1455 of yacc.c */ #line 12730 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2073: /* Line 1455 of yacc.c */ #line 12731 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2074: /* Line 1455 of yacc.c */ #line 12732 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2075: /* Line 1455 of yacc.c */ #line 12733 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2076: /* Line 1455 of yacc.c */ #line 12734 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2077: /* Line 1455 of yacc.c */ #line 12735 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2078: /* Line 1455 of yacc.c */ #line 12736 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2079: /* Line 1455 of yacc.c */ #line 12737 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2080: /* Line 1455 of yacc.c */ #line 12738 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2081: /* Line 1455 of yacc.c */ #line 12739 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2082: /* Line 1455 of yacc.c */ #line 12740 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2083: /* Line 1455 of yacc.c */ #line 12741 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2084: /* Line 1455 of yacc.c */ #line 12742 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2085: /* Line 1455 of yacc.c */ #line 12743 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2086: /* Line 1455 of yacc.c */ #line 12744 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2087: /* Line 1455 of yacc.c */ #line 12745 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2088: /* Line 1455 of yacc.c */ #line 12746 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2089: /* Line 1455 of yacc.c */ #line 12747 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2090: /* Line 1455 of yacc.c */ #line 12748 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2091: /* Line 1455 of yacc.c */ #line 12749 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2092: /* Line 1455 of yacc.c */ #line 12750 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2093: /* Line 1455 of yacc.c */ #line 12751 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2094: /* Line 1455 of yacc.c */ #line 12752 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2095: /* Line 1455 of yacc.c */ #line 12753 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2096: /* Line 1455 of yacc.c */ #line 12754 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2097: /* Line 1455 of yacc.c */ #line 12755 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2098: /* Line 1455 of yacc.c */ #line 12756 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2099: /* Line 1455 of yacc.c */ #line 12757 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2100: /* Line 1455 of yacc.c */ #line 12758 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2101: /* Line 1455 of yacc.c */ #line 12759 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2102: /* Line 1455 of yacc.c */ #line 12760 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2103: /* Line 1455 of yacc.c */ #line 12761 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2104: /* Line 1455 of yacc.c */ #line 12762 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2105: /* Line 1455 of yacc.c */ #line 12763 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2106: /* Line 1455 of yacc.c */ #line 12764 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2107: /* Line 1455 of yacc.c */ #line 12765 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2108: /* Line 1455 of yacc.c */ #line 12766 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2109: /* Line 1455 of yacc.c */ #line 12767 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2110: /* Line 1455 of yacc.c */ #line 12768 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2111: /* Line 1455 of yacc.c */ #line 12769 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2112: /* Line 1455 of yacc.c */ #line 12770 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2113: /* Line 1455 of yacc.c */ #line 12771 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2114: /* Line 1455 of yacc.c */ #line 12772 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2115: /* Line 1455 of yacc.c */ #line 12773 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2116: /* Line 1455 of yacc.c */ #line 12774 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2117: /* Line 1455 of yacc.c */ #line 12775 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2118: /* Line 1455 of yacc.c */ #line 12776 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2119: /* Line 1455 of yacc.c */ #line 12777 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2120: /* Line 1455 of yacc.c */ #line 12778 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2121: /* Line 1455 of yacc.c */ #line 12779 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2122: /* Line 1455 of yacc.c */ #line 12780 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2123: /* Line 1455 of yacc.c */ #line 12781 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2124: /* Line 1455 of yacc.c */ #line 12782 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2125: /* Line 1455 of yacc.c */ #line 12783 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2126: /* Line 1455 of yacc.c */ #line 12784 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2127: /* Line 1455 of yacc.c */ #line 12785 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2128: /* Line 1455 of yacc.c */ #line 12786 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2129: /* Line 1455 of yacc.c */ #line 12787 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2130: /* Line 1455 of yacc.c */ #line 12788 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2131: /* Line 1455 of yacc.c */ #line 12789 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2132: /* Line 1455 of yacc.c */ #line 12790 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2133: /* Line 1455 of yacc.c */ #line 12791 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2134: /* Line 1455 of yacc.c */ #line 12792 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2135: /* Line 1455 of yacc.c */ #line 12793 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2136: /* Line 1455 of yacc.c */ #line 12794 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2137: /* Line 1455 of yacc.c */ #line 12795 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2138: /* Line 1455 of yacc.c */ #line 12796 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2139: /* Line 1455 of yacc.c */ #line 12797 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2140: /* Line 1455 of yacc.c */ #line 12798 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2141: /* Line 1455 of yacc.c */ #line 12799 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2142: /* Line 1455 of yacc.c */ #line 12800 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2143: /* Line 1455 of yacc.c */ #line 12801 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2144: /* Line 1455 of yacc.c */ #line 12802 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2145: /* Line 1455 of yacc.c */ #line 12803 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2146: /* Line 1455 of yacc.c */ #line 12804 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2147: /* Line 1455 of yacc.c */ #line 12805 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2148: /* Line 1455 of yacc.c */ #line 12806 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2149: /* Line 1455 of yacc.c */ #line 12807 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2150: /* Line 1455 of yacc.c */ #line 12808 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2151: /* Line 1455 of yacc.c */ #line 12809 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2152: /* Line 1455 of yacc.c */ #line 12810 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2153: /* Line 1455 of yacc.c */ #line 12811 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2154: /* Line 1455 of yacc.c */ #line 12812 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2155: /* Line 1455 of yacc.c */ #line 12813 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2156: /* Line 1455 of yacc.c */ #line 12814 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2157: /* Line 1455 of yacc.c */ #line 12815 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2158: /* Line 1455 of yacc.c */ #line 12816 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2159: /* Line 1455 of yacc.c */ #line 12817 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2160: /* Line 1455 of yacc.c */ #line 12818 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2161: /* Line 1455 of yacc.c */ #line 12819 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2162: /* Line 1455 of yacc.c */ #line 12820 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2163: /* Line 1455 of yacc.c */ #line 12821 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2164: /* Line 1455 of yacc.c */ #line 12822 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2165: /* Line 1455 of yacc.c */ #line 12823 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2166: /* Line 1455 of yacc.c */ #line 12824 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2167: /* Line 1455 of yacc.c */ #line 12825 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2168: /* Line 1455 of yacc.c */ #line 12826 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2169: /* Line 1455 of yacc.c */ #line 12827 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2170: /* Line 1455 of yacc.c */ #line 12828 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2171: /* Line 1455 of yacc.c */ #line 12829 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2172: /* Line 1455 of yacc.c */ #line 12830 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2173: /* Line 1455 of yacc.c */ #line 12831 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2174: /* Line 1455 of yacc.c */ #line 12832 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2175: /* Line 1455 of yacc.c */ #line 12833 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2176: /* Line 1455 of yacc.c */ #line 12834 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2177: /* Line 1455 of yacc.c */ #line 12835 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2178: /* Line 1455 of yacc.c */ #line 12836 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2179: /* Line 1455 of yacc.c */ #line 12837 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2180: /* Line 1455 of yacc.c */ #line 12838 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2181: /* Line 1455 of yacc.c */ #line 12839 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2182: /* Line 1455 of yacc.c */ #line 12840 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2183: /* Line 1455 of yacc.c */ #line 12841 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2184: /* Line 1455 of yacc.c */ #line 12842 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2185: /* Line 1455 of yacc.c */ #line 12843 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2186: /* Line 1455 of yacc.c */ #line 12844 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2187: /* Line 1455 of yacc.c */ #line 12845 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2188: /* Line 1455 of yacc.c */ #line 12852 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SET_OPTION; mysql_init_select(lex); lex->option_type=OPT_SESSION; lex->var_list.empty(); lex->one_shot_set= 0; lex->autocommit= 0; } break; case 2189: /* Line 1455 of yacc.c */ #line 12862 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2190: /* Line 1455 of yacc.c */ #line 12866 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2191: /* Line 1455 of yacc.c */ #line 12867 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2194: /* Line 1455 of yacc.c */ #line 12876 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; Lex_input_stream *lip= YYLIP; if (lex->sphead) { /* If we are in SP we want have own LEX for each assignment. This is mostly because it is hard for several sp_instr_set and sp_instr_set_trigger instructions share one LEX. (Well, it is theoretically possible but adds some extra overhead on preparation for execution stage and IMO less robust). QQ: May be we should simply prohibit group assignments in SP? */ lex->sphead->reset_lex(thd); lex= thd->lex; /* Set new LEX as if we at start of set rule. */ lex->sql_command= SQLCOM_SET_OPTION; mysql_init_select(lex); lex->option_type=OPT_SESSION; lex->var_list.empty(); lex->one_shot_set= 0; lex->autocommit= 0; lex->sphead->m_tmp_query= lip->get_tok_start(); } } break; case 2195: /* Line 1455 of yacc.c */ #line 12907 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; Lex_input_stream *lip= YYLIP; if (lex->sphead) { sp_head *sp= lex->sphead; if (!lex->var_list.is_empty()) { /* We have assignment to user or system variable or option setting, so we should construct sp_instr_stmt for it. */ LEX_STRING qbuff; sp_instr_stmt *i; if (!(i= new sp_instr_stmt(sp->instructions(), lex->spcont, lex))) MYSQL_YYABORT; /* Extract the query statement from the tokenizer. The end is either lip->ptr, if there was no lookahead, lip->tok_end otherwise. */ if (yychar == YYEMPTY) qbuff.length= lip->get_ptr() - sp->m_tmp_query; else qbuff.length= lip->get_tok_end() - sp->m_tmp_query; if (!(qbuff.str= (char*) alloc_root(thd->mem_root, qbuff.length + 5))) MYSQL_YYABORT; strmake(strmake(qbuff.str, "SET ", 4), sp->m_tmp_query, qbuff.length); qbuff.length+= 4; i->m_query= qbuff; if (sp->add_instr(i)) MYSQL_YYABORT; } if (lex->sphead->restore_lex(thd)) MYSQL_YYABORT; } } break; case 2196: /* Line 1455 of yacc.c */ #line 12958 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2197: /* Line 1455 of yacc.c */ #line 12959 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_GLOBAL; } break; case 2198: /* Line 1455 of yacc.c */ #line 12960 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } break; case 2199: /* Line 1455 of yacc.c */ #line 12961 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } break; case 2200: /* Line 1455 of yacc.c */ #line 12965 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= OPT_DEFAULT; } break; case 2201: /* Line 1455 of yacc.c */ #line 12966 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->one_shot_set= 1; (yyval.num)= OPT_SESSION; } break; case 2202: /* Line 1455 of yacc.c */ #line 12970 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } break; case 2203: /* Line 1455 of yacc.c */ #line 12971 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_GLOBAL; } break; case 2204: /* Line 1455 of yacc.c */ #line 12972 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } break; case 2205: /* Line 1455 of yacc.c */ #line 12973 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } break; case 2206: /* Line 1455 of yacc.c */ #line 12977 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_DEFAULT; } break; case 2207: /* Line 1455 of yacc.c */ #line 12978 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_GLOBAL; } break; case 2208: /* Line 1455 of yacc.c */ #line 12979 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } break; case 2209: /* Line 1455 of yacc.c */ #line 12980 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.var_type)=OPT_SESSION; } break; case 2212: /* Line 1455 of yacc.c */ #line 12990 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= Lex; LEX_STRING *name= &(yyvsp[(2) - (4)].variable).base_name; if ((yyvsp[(2) - (4)].variable).var == trg_new_row_fake_var) { /* We are in trigger and assigning value to field of new row */ if ((yyvsp[(1) - (4)].var_type)) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } if (set_trigger_new_row(YYTHD, name, (yyvsp[(4) - (4)].item))) MYSQL_YYABORT; } else if ((yyvsp[(2) - (4)].variable).var) { if ((yyvsp[(1) - (4)].var_type)) lex->option_type= (yyvsp[(1) - (4)].var_type); /* It is a system variable. */ if (set_system_variable(thd, &(yyvsp[(2) - (4)].variable), lex->option_type, (yyvsp[(4) - (4)].item))) MYSQL_YYABORT; } else { sp_pcontext *spc= lex->spcont; sp_variable_t *spv= spc->find_variable(name); if ((yyvsp[(1) - (4)].var_type)) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } /* It is a local variable. */ if (set_local_variable(thd, spv, (yyvsp[(4) - (4)].item))) MYSQL_YYABORT; } } break; case 2213: /* Line 1455 of yacc.c */ #line 13032 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex=Lex; lex->option_type= (yyvsp[(1) - (5)].var_type); Item *item= new (thd->mem_root) Item_int((int32) (yyvsp[(5) - (5)].tx_isolation)); if (item == NULL) MYSQL_YYABORT; set_var *var= new set_var(lex->option_type, find_sys_var(thd, "tx_isolation"), &null_lex_str, item); if (var == NULL) MYSQL_YYABORT; lex->var_list.push_back(var); } break; case 2214: /* Line 1455 of yacc.c */ #line 13051 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Item_func_set_user_var *item; item= new (YYTHD->mem_root) Item_func_set_user_var((yyvsp[(2) - (4)].lex_str), (yyvsp[(4) - (4)].item), false); if (item == NULL) MYSQL_YYABORT; set_var_user *var= new set_var_user(item); if (var == NULL) MYSQL_YYABORT; Lex->var_list.push_back(var); } break; case 2215: /* Line 1455 of yacc.c */ #line 13062 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; struct sys_var_with_base tmp= (yyvsp[(4) - (6)].variable); /* Lookup if necessary: must be a system variable. */ if (tmp.var == NULL) { if (find_sys_var_null_base(thd, &tmp)) MYSQL_YYABORT; } if (set_system_variable(thd, &tmp, (yyvsp[(3) - (6)].var_type), (yyvsp[(6) - (6)].item))) MYSQL_YYABORT; } break; case 2216: /* Line 1455 of yacc.c */ #line 13075 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; CHARSET_INFO *cs2; cs2= (yyvsp[(2) - (2)].charset) ? (yyvsp[(2) - (2)].charset): global_system_variables.character_set_client; set_var_collation_client *var; var= new set_var_collation_client(cs2, thd->variables.collation_database, cs2); if (var == NULL) MYSQL_YYABORT; lex->var_list.push_back(var); } break; case 2217: /* Line 1455 of yacc.c */ #line 13089 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_pcontext *spc= lex->spcont; LEX_STRING names; names.str= (char *)"names"; names.length= 5; if (spc && spc->find_variable(&names)) my_error(ER_SP_BAD_VAR_SHADOW, MYF(0), names.str); else my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } break; case 2218: /* Line 1455 of yacc.c */ #line 13104 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; CHARSET_INFO *cs2; CHARSET_INFO *cs3; cs2= (yyvsp[(2) - (3)].charset) ? (yyvsp[(2) - (3)].charset) : global_system_variables.character_set_client; cs3= (yyvsp[(3) - (3)].charset) ? (yyvsp[(3) - (3)].charset) : cs2; if (!my_charset_same(cs2, cs3)) { my_error(ER_COLLATION_CHARSET_MISMATCH, MYF(0), cs3->name, cs2->csname); MYSQL_YYABORT; } set_var_collation_client *var; var= new set_var_collation_client(cs3, cs3, cs3); if (var == NULL) MYSQL_YYABORT; lex->var_list.push_back(var); } break; case 2219: /* Line 1455 of yacc.c */ #line 13123 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; LEX_USER *user; sp_pcontext *spc= lex->spcont; LEX_STRING pw; pw.str= (char *)"password"; pw.length= 8; if (spc && spc->find_variable(&pw)) { my_error(ER_SP_BAD_VAR_SHADOW, MYF(0), pw.str); MYSQL_YYABORT; } if (!(user=(LEX_USER*) thd->alloc(sizeof(LEX_USER)))) MYSQL_YYABORT; user->host=null_lex_str; user->user.str=thd->security_ctx->user; set_var_password *var= new set_var_password(user, (yyvsp[(3) - (3)].simple_string)); if (var == NULL) MYSQL_YYABORT; thd->lex->var_list.push_back(var); thd->lex->autocommit= TRUE; if (lex->sphead) lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT; } break; case 2220: /* Line 1455 of yacc.c */ #line 13150 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { set_var_password *var= new set_var_password((yyvsp[(3) - (5)].lex_user),(yyvsp[(5) - (5)].simple_string)); if (var == NULL) MYSQL_YYABORT; Lex->var_list.push_back(var); Lex->autocommit= TRUE; if (Lex->sphead) Lex->sphead->m_flags|= sp_head::HAS_SET_AUTOCOMMIT_STMT; } break; case 2221: /* Line 1455 of yacc.c */ #line 13163 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; sp_pcontext *spc= thd->lex->spcont; sp_variable_t *spv; /* Best effort lookup for system variable. */ if (!spc || !(spv = spc->find_variable(&(yyvsp[(1) - (1)].lex_str)))) { struct sys_var_with_base tmp= {NULL, (yyvsp[(1) - (1)].lex_str)}; /* Not an SP local variable */ if (find_sys_var_null_base(thd, &tmp)) MYSQL_YYABORT; (yyval.variable)= tmp; } else { /* Possibly an SP local variable (or a shadowed sysvar). Will depend on the context of the SET statement. */ (yyval.variable).var= NULL; (yyval.variable).base_name= (yyvsp[(1) - (1)].lex_str); } } break; case 2222: /* Line 1455 of yacc.c */ #line 13190 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (check_reserved_words(&(yyvsp[(1) - (3)].lex_str))) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } if (lex->sphead && lex->sphead->m_type == TYPE_ENUM_TRIGGER && (!my_strcasecmp(system_charset_info, (yyvsp[(1) - (3)].lex_str).str, "NEW") || !my_strcasecmp(system_charset_info, (yyvsp[(1) - (3)].lex_str).str, "OLD"))) { if ((yyvsp[(1) - (3)].lex_str).str[0]=='O' || (yyvsp[(1) - (3)].lex_str).str[0]=='o') { my_error(ER_TRG_CANT_CHANGE_ROW, MYF(0), "OLD", ""); MYSQL_YYABORT; } if (lex->trg_chistics.event == TRG_EVENT_DELETE) { my_error(ER_TRG_NO_SUCH_ROW_IN_TRG, MYF(0), "NEW", "on DELETE"); MYSQL_YYABORT; } if (lex->trg_chistics.action_time == TRG_ACTION_AFTER) { my_error(ER_TRG_CANT_CHANGE_ROW, MYF(0), "NEW", "after "); MYSQL_YYABORT; } /* This special combination will denote field of NEW row */ (yyval.variable).var= trg_new_row_fake_var; (yyval.variable).base_name= (yyvsp[(3) - (3)].lex_str); } else { sys_var *tmp=find_sys_var(YYTHD, (yyvsp[(3) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).length); if (!tmp) MYSQL_YYABORT; if (!tmp->is_struct()) my_error(ER_VARIABLE_IS_NOT_STRUCT, MYF(0), (yyvsp[(3) - (3)].lex_str).str); (yyval.variable).var= tmp; (yyval.variable).base_name= (yyvsp[(1) - (3)].lex_str); } } break; case 2223: /* Line 1455 of yacc.c */ #line 13233 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { sys_var *tmp=find_sys_var(YYTHD, (yyvsp[(3) - (3)].lex_str).str, (yyvsp[(3) - (3)].lex_str).length); if (!tmp) MYSQL_YYABORT; if (!tmp->is_struct()) my_error(ER_VARIABLE_IS_NOT_STRUCT, MYF(0), (yyvsp[(3) - (3)].lex_str).str); (yyval.variable).var= tmp; (yyval.variable).base_name.str= (char*) "default"; (yyval.variable).base_name.length= 7; } break; case 2224: /* Line 1455 of yacc.c */ #line 13246 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.tx_isolation)= ISO_READ_UNCOMMITTED; } break; case 2225: /* Line 1455 of yacc.c */ #line 13247 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.tx_isolation)= ISO_READ_COMMITTED; } break; case 2226: /* Line 1455 of yacc.c */ #line 13248 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.tx_isolation)= ISO_REPEATABLE_READ; } break; case 2227: /* Line 1455 of yacc.c */ #line 13249 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.tx_isolation)= ISO_SERIALIZABLE; } break; case 2228: /* Line 1455 of yacc.c */ #line 13253 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.simple_string)=(yyvsp[(1) - (1)].lex_str).str;} break; case 2229: /* Line 1455 of yacc.c */ #line 13255 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.simple_string)= (yyvsp[(3) - (4)].lex_str).length ? YYTHD->variables.old_passwords ? Item_func_old_password::alloc(YYTHD, (yyvsp[(3) - (4)].lex_str).str, (yyvsp[(3) - (4)].lex_str).length) : Item_func_password::alloc(YYTHD, (yyvsp[(3) - (4)].lex_str).str, (yyvsp[(3) - (4)].lex_str).length) : (yyvsp[(3) - (4)].lex_str).str; if ((yyval.simple_string) == NULL) MYSQL_YYABORT; } break; case 2230: /* Line 1455 of yacc.c */ #line 13264 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.simple_string)= (yyvsp[(3) - (4)].lex_str).length ? Item_func_old_password::alloc(YYTHD, (yyvsp[(3) - (4)].lex_str).str, (yyvsp[(3) - (4)].lex_str).length) : (yyvsp[(3) - (4)].lex_str).str; if ((yyval.simple_string) == NULL) MYSQL_YYABORT; } break; case 2231: /* Line 1455 of yacc.c */ #line 13275 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)=(yyvsp[(1) - (1)].item); } break; case 2232: /* Line 1455 of yacc.c */ #line 13276 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)=0; } break; case 2233: /* Line 1455 of yacc.c */ #line 13278 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)=new (YYTHD->mem_root) Item_string("ON", 2, system_charset_info); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 2234: /* Line 1455 of yacc.c */ #line 13284 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)=new (YYTHD->mem_root) Item_string("ALL", 3, system_charset_info); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 2235: /* Line 1455 of yacc.c */ #line 13290 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.item)=new (YYTHD->mem_root) Item_string("binary", 6, system_charset_info); if ((yyval.item) == NULL) MYSQL_YYABORT; } break; case 2236: /* Line 1455 of yacc.c */ #line 13301 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->sphead) { my_error(ER_SP_BADSTATEMENT, MYF(0), "LOCK"); MYSQL_YYABORT; } lex->sql_command= SQLCOM_LOCK_TABLES; } break; case 2237: /* Line 1455 of yacc.c */ #line 13312 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2242: /* Line 1455 of yacc.c */ #line 13327 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { thr_lock_type lock_type= (thr_lock_type) (yyvsp[(3) - (3)].num); bool lock_for_write= (lock_type >= TL_WRITE_ALLOW_WRITE); if (!Select->add_table_to_list(YYTHD, (yyvsp[(1) - (3)].table), (yyvsp[(2) - (3)].lex_str_ptr), 0, lock_type, (lock_for_write ? MDL_SHARED_NO_READ_WRITE : MDL_SHARED_READ))) MYSQL_YYABORT; } break; case 2243: /* Line 1455 of yacc.c */ #line 13339 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= TL_READ_NO_INSERT; } break; case 2244: /* Line 1455 of yacc.c */ #line 13340 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= TL_WRITE_DEFAULT; } break; case 2245: /* Line 1455 of yacc.c */ #line 13341 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= TL_WRITE_LOW_PRIORITY; } break; case 2246: /* Line 1455 of yacc.c */ #line 13342 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= TL_READ; } break; case 2247: /* Line 1455 of yacc.c */ #line 13347 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->sphead) { my_error(ER_SP_BADSTATEMENT, MYF(0), "UNLOCK"); MYSQL_YYABORT; } lex->sql_command= SQLCOM_UNLOCK_TABLES; } break; case 2248: /* Line 1455 of yacc.c */ #line 13358 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2249: /* Line 1455 of yacc.c */ #line 13367 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->sphead) { my_error(ER_SP_BADSTATEMENT, MYF(0), "HANDLER"); MYSQL_YYABORT; } lex->sql_command = SQLCOM_HA_OPEN; if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[(2) - (4)].table), (yyvsp[(4) - (4)].lex_str_ptr), 0)) MYSQL_YYABORT; } break; case 2250: /* Line 1455 of yacc.c */ #line 13379 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->sphead) { my_error(ER_SP_BADSTATEMENT, MYF(0), "HANDLER"); MYSQL_YYABORT; } lex->sql_command = SQLCOM_HA_CLOSE; if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[(2) - (3)].table), 0, 0)) MYSQL_YYABORT; } break; case 2251: /* Line 1455 of yacc.c */ #line 13391 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->sphead) { my_error(ER_SP_BADSTATEMENT, MYF(0), "HANDLER"); MYSQL_YYABORT; } lex->expr_allows_subselect= FALSE; lex->sql_command = SQLCOM_HA_READ; lex->ha_rkey_mode= HA_READ_KEY_EXACT; /* Avoid purify warnings */ Item *one= new (YYTHD->mem_root) Item_int((int32) 1); if (one == NULL) MYSQL_YYABORT; lex->current_select->select_limit= one; lex->current_select->offset_limit= 0; if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[(2) - (3)].table), 0, 0)) MYSQL_YYABORT; } break; case 2252: /* Line 1455 of yacc.c */ #line 13410 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->expr_allows_subselect= TRUE; /* Stored functions are not supported for HANDLER READ. */ if (Lex->uses_stored_routines()) { my_error(ER_NOT_SUPPORTED_YET, MYF(0), "stored functions in HANDLER ... READ"); MYSQL_YYABORT; } } break; case 2253: /* Line 1455 of yacc.c */ #line 13423 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->ident= null_lex_str; } break; case 2254: /* Line 1455 of yacc.c */ #line 13424 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->ident= (yyvsp[(1) - (2)].lex_str); } break; case 2255: /* Line 1455 of yacc.c */ #line 13428 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->ha_read_mode = RFIRST; } break; case 2256: /* Line 1455 of yacc.c */ #line 13429 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->ha_read_mode = RNEXT; } break; case 2257: /* Line 1455 of yacc.c */ #line 13433 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->ha_read_mode = RFIRST; } break; case 2258: /* Line 1455 of yacc.c */ #line 13434 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->ha_read_mode = RNEXT; } break; case 2259: /* Line 1455 of yacc.c */ #line 13435 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->ha_read_mode = RPREV; } break; case 2260: /* Line 1455 of yacc.c */ #line 13436 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->ha_read_mode = RLAST; } break; case 2261: /* Line 1455 of yacc.c */ #line 13438 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->ha_read_mode = RKEY; lex->ha_rkey_mode=(yyvsp[(1) - (1)].ha_rkey_mode); if (!(lex->insert_list = new List_item)) MYSQL_YYABORT; } break; case 2262: /* Line 1455 of yacc.c */ #line 13446 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2263: /* Line 1455 of yacc.c */ #line 13450 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_KEY_EXACT; } break; case 2264: /* Line 1455 of yacc.c */ #line 13451 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_NEXT; } break; case 2265: /* Line 1455 of yacc.c */ #line 13452 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_KEY_OR_PREV; } break; case 2266: /* Line 1455 of yacc.c */ #line 13453 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_AFTER_KEY; } break; case 2267: /* Line 1455 of yacc.c */ #line 13454 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.ha_rkey_mode)=HA_READ_BEFORE_KEY; } break; case 2268: /* Line 1455 of yacc.c */ #line 13461 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2269: /* Line 1455 of yacc.c */ #line 13466 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_REVOKE; lex->type= 0; } break; case 2270: /* Line 1455 of yacc.c */ #line 13472 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->columns.elements) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } lex->sql_command= SQLCOM_REVOKE; lex->type= TYPE_ENUM_FUNCTION; } break; case 2271: /* Line 1455 of yacc.c */ #line 13483 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->columns.elements) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } lex->sql_command= SQLCOM_REVOKE; lex->type= TYPE_ENUM_PROCEDURE; } break; case 2272: /* Line 1455 of yacc.c */ #line 13494 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_REVOKE_ALL; } break; case 2273: /* Line 1455 of yacc.c */ #line 13498 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->users_list.push_front ((yyvsp[(3) - (5)].lex_user)); lex->sql_command= SQLCOM_REVOKE; lex->type= TYPE_ENUM_PROXY; } break; case 2274: /* Line 1455 of yacc.c */ #line 13508 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2275: /* Line 1455 of yacc.c */ #line 13514 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_GRANT; lex->type= 0; } break; case 2276: /* Line 1455 of yacc.c */ #line 13521 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->columns.elements) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } lex->sql_command= SQLCOM_GRANT; lex->type= TYPE_ENUM_FUNCTION; } break; case 2277: /* Line 1455 of yacc.c */ #line 13533 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; if (lex->columns.elements) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } lex->sql_command= SQLCOM_GRANT; lex->type= TYPE_ENUM_PROCEDURE; } break; case 2278: /* Line 1455 of yacc.c */ #line 13544 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->users_list.push_front ((yyvsp[(3) - (6)].lex_user)); lex->sql_command= SQLCOM_GRANT; lex->type= TYPE_ENUM_PROXY; } break; case 2281: /* Line 1455 of yacc.c */ #line 13558 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2282: /* Line 1455 of yacc.c */ #line 13560 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->all_privileges= 1; Lex->grant= GLOBAL_ACLS; } break; case 2287: /* Line 1455 of yacc.c */ #line 13578 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->which_columns = SELECT_ACL;} break; case 2288: /* Line 1455 of yacc.c */ #line 13579 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2289: /* Line 1455 of yacc.c */ #line 13581 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->which_columns = INSERT_ACL;} break; case 2290: /* Line 1455 of yacc.c */ #line 13582 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2291: /* Line 1455 of yacc.c */ #line 13584 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->which_columns = UPDATE_ACL; } break; case 2292: /* Line 1455 of yacc.c */ #line 13585 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2293: /* Line 1455 of yacc.c */ #line 13587 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->which_columns = REFERENCES_ACL;} break; case 2294: /* Line 1455 of yacc.c */ #line 13588 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2295: /* Line 1455 of yacc.c */ #line 13589 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= DELETE_ACL;} break; case 2296: /* Line 1455 of yacc.c */ #line 13590 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2297: /* Line 1455 of yacc.c */ #line 13591 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= INDEX_ACL;} break; case 2298: /* Line 1455 of yacc.c */ #line 13592 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= ALTER_ACL;} break; case 2299: /* Line 1455 of yacc.c */ #line 13593 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= CREATE_ACL;} break; case 2300: /* Line 1455 of yacc.c */ #line 13594 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= DROP_ACL;} break; case 2301: /* Line 1455 of yacc.c */ #line 13595 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= EXECUTE_ACL;} break; case 2302: /* Line 1455 of yacc.c */ #line 13596 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= RELOAD_ACL;} break; case 2303: /* Line 1455 of yacc.c */ #line 13597 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= SHUTDOWN_ACL;} break; case 2304: /* Line 1455 of yacc.c */ #line 13598 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= PROCESS_ACL;} break; case 2305: /* Line 1455 of yacc.c */ #line 13599 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= FILE_ACL;} break; case 2306: /* Line 1455 of yacc.c */ #line 13600 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= GRANT_ACL;} break; case 2307: /* Line 1455 of yacc.c */ #line 13601 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= SHOW_DB_ACL;} break; case 2308: /* Line 1455 of yacc.c */ #line 13602 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= SUPER_ACL;} break; case 2309: /* Line 1455 of yacc.c */ #line 13603 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= CREATE_TMP_ACL;} break; case 2310: /* Line 1455 of yacc.c */ #line 13604 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= LOCK_TABLES_ACL; } break; case 2311: /* Line 1455 of yacc.c */ #line 13605 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= REPL_SLAVE_ACL; } break; case 2312: /* Line 1455 of yacc.c */ #line 13606 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= REPL_CLIENT_ACL; } break; case 2313: /* Line 1455 of yacc.c */ #line 13607 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= CREATE_VIEW_ACL; } break; case 2314: /* Line 1455 of yacc.c */ #line 13608 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= SHOW_VIEW_ACL; } break; case 2315: /* Line 1455 of yacc.c */ #line 13609 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= CREATE_PROC_ACL; } break; case 2316: /* Line 1455 of yacc.c */ #line 13610 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= ALTER_PROC_ACL; } break; case 2317: /* Line 1455 of yacc.c */ #line 13611 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= CREATE_USER_ACL; } break; case 2318: /* Line 1455 of yacc.c */ #line 13612 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= EVENT_ACL;} break; case 2319: /* Line 1455 of yacc.c */ #line 13613 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= TRIGGER_ACL; } break; case 2320: /* Line 1455 of yacc.c */ #line 13614 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= CREATE_TABLESPACE_ACL; } break; case 2321: /* Line 1455 of yacc.c */ #line 13618 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2322: /* Line 1455 of yacc.c */ #line 13619 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2325: /* Line 1455 of yacc.c */ #line 13629 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->x509_subject) { my_error(ER_DUP_ARGUMENT, MYF(0), "SUBJECT"); MYSQL_YYABORT; } lex->x509_subject=(yyvsp[(2) - (2)].lex_str).str; } break; case 2326: /* Line 1455 of yacc.c */ #line 13639 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->x509_issuer) { my_error(ER_DUP_ARGUMENT, MYF(0), "ISSUER"); MYSQL_YYABORT; } lex->x509_issuer=(yyvsp[(2) - (2)].lex_str).str; } break; case 2327: /* Line 1455 of yacc.c */ #line 13649 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (lex->ssl_cipher) { my_error(ER_DUP_ARGUMENT, MYF(0), "CIPHER"); MYSQL_YYABORT; } lex->ssl_cipher=(yyvsp[(2) - (2)].lex_str).str; } break; case 2328: /* Line 1455 of yacc.c */ #line 13662 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; size_t dummy; if (lex->copy_db_to(&lex->current_select->db, &dummy)) MYSQL_YYABORT; if (lex->grant == GLOBAL_ACLS) lex->grant = DB_ACLS & ~GRANT_ACL; else if (lex->columns.elements) { my_message(ER_ILLEGAL_GRANT_FOR_TABLE, ER(ER_ILLEGAL_GRANT_FOR_TABLE), MYF(0)); MYSQL_YYABORT; } } break; case 2329: /* Line 1455 of yacc.c */ #line 13677 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->current_select->db = (yyvsp[(1) - (3)].lex_str).str; if (lex->grant == GLOBAL_ACLS) lex->grant = DB_ACLS & ~GRANT_ACL; else if (lex->columns.elements) { my_message(ER_ILLEGAL_GRANT_FOR_TABLE, ER(ER_ILLEGAL_GRANT_FOR_TABLE), MYF(0)); MYSQL_YYABORT; } } break; case 2330: /* Line 1455 of yacc.c */ #line 13690 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->current_select->db = NULL; if (lex->grant == GLOBAL_ACLS) lex->grant= GLOBAL_ACLS & ~GRANT_ACL; else if (lex->columns.elements) { my_message(ER_ILLEGAL_GRANT_FOR_TABLE, ER(ER_ILLEGAL_GRANT_FOR_TABLE), MYF(0)); MYSQL_YYABORT; } } break; case 2331: /* Line 1455 of yacc.c */ #line 13703 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (!lex->current_select->add_table_to_list(lex->thd, (yyvsp[(1) - (1)].table),NULL, TL_OPTION_UPDATING)) MYSQL_YYABORT; if (lex->grant == GLOBAL_ACLS) lex->grant = TABLE_ACLS & ~GRANT_ACL; } break; case 2332: /* Line 1455 of yacc.c */ #line 13715 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Lex->users_list.push_back((yyvsp[(1) - (1)].lex_user))) MYSQL_YYABORT; } break; case 2333: /* Line 1455 of yacc.c */ #line 13720 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Lex->users_list.push_back((yyvsp[(3) - (3)].lex_user))) MYSQL_YYABORT; } break; case 2334: /* Line 1455 of yacc.c */ #line 13728 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Lex->users_list.push_back((yyvsp[(1) - (1)].lex_user))) MYSQL_YYABORT; } break; case 2335: /* Line 1455 of yacc.c */ #line 13733 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Lex->users_list.push_back((yyvsp[(3) - (3)].lex_user))) MYSQL_YYABORT; } break; case 2336: /* Line 1455 of yacc.c */ #line 13741 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_user)=(yyvsp[(1) - (4)].lex_user); (yyvsp[(1) - (4)].lex_user)->password=(yyvsp[(4) - (4)].lex_str); if (Lex->sql_command == SQLCOM_REVOKE) MYSQL_YYABORT; if ((yyvsp[(4) - (4)].lex_str).length) { if (YYTHD->variables.old_passwords) { char *buff= (char *) YYTHD->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH_323+1); if (buff == NULL) MYSQL_YYABORT; my_make_scrambled_password_323(buff, (yyvsp[(4) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).length); (yyvsp[(1) - (4)].lex_user)->password.str= buff; (yyvsp[(1) - (4)].lex_user)->password.length= SCRAMBLED_PASSWORD_CHAR_LENGTH_323; } else { char *buff= (char *) YYTHD->alloc(SCRAMBLED_PASSWORD_CHAR_LENGTH+1); if (buff == NULL) MYSQL_YYABORT; my_make_scrambled_password(buff, (yyvsp[(4) - (4)].lex_str).str, (yyvsp[(4) - (4)].lex_str).length); (yyvsp[(1) - (4)].lex_user)->password.str= buff; (yyvsp[(1) - (4)].lex_user)->password.length= SCRAMBLED_PASSWORD_CHAR_LENGTH; } } } break; case 2337: /* Line 1455 of yacc.c */ #line 13770 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Lex->sql_command == SQLCOM_REVOKE) MYSQL_YYABORT; (yyval.lex_user)= (yyvsp[(1) - (5)].lex_user); (yyvsp[(1) - (5)].lex_user)->password= (yyvsp[(5) - (5)].lex_str); } break; case 2338: /* Line 1455 of yacc.c */ #line 13777 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Lex->sql_command == SQLCOM_REVOKE) MYSQL_YYABORT; (yyval.lex_user)= (yyvsp[(1) - (4)].lex_user); (yyvsp[(1) - (4)].lex_user)->plugin= (yyvsp[(4) - (4)].lex_str); (yyvsp[(1) - (4)].lex_user)->auth= empty_lex_str; } break; case 2339: /* Line 1455 of yacc.c */ #line 13785 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (Lex->sql_command == SQLCOM_REVOKE) MYSQL_YYABORT; (yyval.lex_user)= (yyvsp[(1) - (6)].lex_user); (yyvsp[(1) - (6)].lex_user)->plugin= (yyvsp[(4) - (6)].lex_str); (yyvsp[(1) - (6)].lex_user)->auth= (yyvsp[(6) - (6)].lex_str); } break; case 2340: /* Line 1455 of yacc.c */ #line 13793 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.lex_user)= (yyvsp[(1) - (1)].lex_user); (yyvsp[(1) - (1)].lex_user)->password= null_lex_str; } break; case 2341: /* Line 1455 of yacc.c */ #line 13798 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->grant |= lex->which_columns; } break; case 2345: /* Line 1455 of yacc.c */ #line 13812 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { String *new_str = new (YYTHD->mem_root) String((const char*) (yyvsp[(1) - (1)].lex_str).str,(yyvsp[(1) - (1)].lex_str).length,system_charset_info); if (new_str == NULL) MYSQL_YYABORT; List_iterator iter(Lex->columns); class LEX_COLUMN *point; LEX *lex=Lex; while ((point=iter++)) { if (!my_strcasecmp(system_charset_info, point->column.ptr(), new_str->ptr())) break; } lex->grant_tot_col|= lex->which_columns; if (point) point->rights |= lex->which_columns; else { LEX_COLUMN *col= new LEX_COLUMN (*new_str,lex->which_columns); if (col == NULL) MYSQL_YYABORT; lex->columns.push_back(col); } } break; case 2347: /* Line 1455 of yacc.c */ #line 13841 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->ssl_type=SSL_TYPE_SPECIFIED; } break; case 2348: /* Line 1455 of yacc.c */ #line 13845 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->ssl_type=SSL_TYPE_ANY; } break; case 2349: /* Line 1455 of yacc.c */ #line 13849 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->ssl_type=SSL_TYPE_X509; } break; case 2350: /* Line 1455 of yacc.c */ #line 13853 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->ssl_type=SSL_TYPE_NONE; } break; case 2351: /* Line 1455 of yacc.c */ #line 13859 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2353: /* Line 1455 of yacc.c */ #line 13864 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2354: /* Line 1455 of yacc.c */ #line 13865 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= GRANT_ACL;} break; case 2355: /* Line 1455 of yacc.c */ #line 13869 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2356: /* Line 1455 of yacc.c */ #line 13870 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2357: /* Line 1455 of yacc.c */ #line 13874 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->grant |= GRANT_ACL;} break; case 2358: /* Line 1455 of yacc.c */ #line 13876 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->mqh.questions=(yyvsp[(2) - (2)].ulong_num); lex->mqh.specified_limits|= USER_RESOURCES::QUERIES_PER_HOUR; } break; case 2359: /* Line 1455 of yacc.c */ #line 13882 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->mqh.updates=(yyvsp[(2) - (2)].ulong_num); lex->mqh.specified_limits|= USER_RESOURCES::UPDATES_PER_HOUR; } break; case 2360: /* Line 1455 of yacc.c */ #line 13888 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->mqh.conn_per_hour= (yyvsp[(2) - (2)].ulong_num); lex->mqh.specified_limits|= USER_RESOURCES::CONNECTIONS_PER_HOUR; } break; case 2361: /* Line 1455 of yacc.c */ #line 13894 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->mqh.user_conn= (yyvsp[(2) - (2)].ulong_num); lex->mqh.specified_limits|= USER_RESOURCES::USER_CONNECTIONS; } break; case 2362: /* Line 1455 of yacc.c */ #line 13903 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command = SQLCOM_BEGIN; lex->start_transaction_opt= 0; } break; case 2363: /* Line 1455 of yacc.c */ #line 13908 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2364: /* Line 1455 of yacc.c */ #line 13912 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2365: /* Line 1455 of yacc.c */ #line 13913 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2366: /* Line 1455 of yacc.c */ #line 13918 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_UNKNOWN; } break; case 2367: /* Line 1455 of yacc.c */ #line 13919 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_NO; } break; case 2368: /* Line 1455 of yacc.c */ #line 13920 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_YES; } break; case 2369: /* Line 1455 of yacc.c */ #line 13925 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_UNKNOWN; } break; case 2370: /* Line 1455 of yacc.c */ #line 13926 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_YES; } break; case 2371: /* Line 1455 of yacc.c */ #line 13927 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.m_yes_no_unk)= TVL_NO; } break; case 2372: /* Line 1455 of yacc.c */ #line 13931 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2373: /* Line 1455 of yacc.c */ #line 13932 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2374: /* Line 1455 of yacc.c */ #line 13937 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_COMMIT; /* Don't allow AND CHAIN RELEASE. */ MYSQL_YYABORT_UNLESS((yyvsp[(3) - (4)].m_yes_no_unk) != TVL_YES || (yyvsp[(4) - (4)].m_yes_no_unk) != TVL_YES); lex->tx_chain= (yyvsp[(3) - (4)].m_yes_no_unk); lex->tx_release= (yyvsp[(4) - (4)].m_yes_no_unk); } break; case 2375: /* Line 1455 of yacc.c */ #line 13949 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_ROLLBACK; /* Don't allow AND CHAIN RELEASE. */ MYSQL_YYABORT_UNLESS((yyvsp[(3) - (4)].m_yes_no_unk) != TVL_YES || (yyvsp[(4) - (4)].m_yes_no_unk) != TVL_YES); lex->tx_chain= (yyvsp[(3) - (4)].m_yes_no_unk); lex->tx_release= (yyvsp[(4) - (4)].m_yes_no_unk); } break; case 2376: /* Line 1455 of yacc.c */ #line 13959 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_ROLLBACK_TO_SAVEPOINT; lex->ident= (yyvsp[(5) - (5)].lex_str); } break; case 2377: /* Line 1455 of yacc.c */ #line 13968 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_SAVEPOINT; lex->ident= (yyvsp[(2) - (2)].lex_str); } break; case 2378: /* Line 1455 of yacc.c */ #line 13977 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->sql_command= SQLCOM_RELEASE_SAVEPOINT; lex->ident= (yyvsp[(3) - (3)].lex_str); } break; case 2379: /* Line 1455 of yacc.c */ #line 13990 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2381: /* Line 1455 of yacc.c */ #line 13996 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_select_to_union_list(Lex, (bool)(yyvsp[(2) - (2)].num), TRUE)) MYSQL_YYABORT; } break; case 2382: /* Line 1455 of yacc.c */ #line 14001 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* Remove from the name resolution context stack the context of the last select in the union. */ Lex->pop_context(); } break; case 2383: /* Line 1455 of yacc.c */ #line 14011 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 0; } break; case 2384: /* Line 1455 of yacc.c */ #line 14012 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 2385: /* Line 1455 of yacc.c */ #line 14013 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)= 1; } break; case 2386: /* Line 1455 of yacc.c */ #line 14017 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.is_not_empty)= false; } break; case 2387: /* Line 1455 of yacc.c */ #line 14018 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.is_not_empty)= true; } break; case 2388: /* Line 1455 of yacc.c */ #line 14022 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; DBUG_ASSERT(lex->current_select->linkage != GLOBAL_OPTIONS_TYPE); SELECT_LEX *sel= lex->current_select; SELECT_LEX_UNIT *unit= sel->master_unit(); SELECT_LEX *fake= unit->fake_select_lex; if (fake) { unit->global_parameters= fake; fake->no_table_names_allowed= 1; lex->current_select= fake; } thd->where= "global ORDER clause"; } break; case 2389: /* Line 1455 of yacc.c */ #line 14038 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; thd->lex->current_select->no_table_names_allowed= 0; thd->where= ""; } break; case 2392: /* Line 1455 of yacc.c */ #line 14051 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=1; } break; case 2393: /* Line 1455 of yacc.c */ #line 14052 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=1; } break; case 2394: /* Line 1455 of yacc.c */ #line 14053 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.num)=0; } break; case 2395: /* Line 1455 of yacc.c */ #line 14058 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.select_lex)= Lex->current_select->master_unit()->first_select(); } break; case 2396: /* Line 1455 of yacc.c */ #line 14062 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.select_lex)= Lex->current_select->master_unit()->first_select(); } break; case 2398: /* Line 1455 of yacc.c */ #line 14071 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (add_select_to_union_list(Lex, (bool)(yyvsp[(3) - (3)].num), FALSE)) MYSQL_YYABORT; } break; case 2399: /* Line 1455 of yacc.c */ #line 14077 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->pop_context(); (yyval.select_lex)= (yyvsp[(1) - (6)].select_lex); } break; case 2400: /* Line 1455 of yacc.c */ #line 14086 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { (yyval.select_lex)= (yyvsp[(2) - (3)].select_lex); } break; case 2401: /* Line 1455 of yacc.c */ #line 14092 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; if (!lex->expr_allows_subselect || lex->sql_command == (int)SQLCOM_PURGE) { my_parse_error(ER(ER_SYNTAX_ERROR)); MYSQL_YYABORT; } /* we are making a "derived table" for the parenthesis as we need to have a lex level to fit the union after the parenthesis, e.g. (SELECT .. ) UNION ... becomes SELECT * FROM ((SELECT ...) UNION ...) */ if (mysql_new_select(Lex, 1)) MYSQL_YYABORT; } break; case 2402: /* Line 1455 of yacc.c */ #line 14113 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex=Lex; lex->pop_context(); SELECT_LEX *child= lex->current_select; lex->current_select = lex->current_select->return_after_parsing(); lex->nest_level--; lex->current_select->n_child_sum_items += child->n_sum_items; /* A subselect can add fields to an outer select. Reserve space for them. */ lex->current_select->select_n_where_fields+= child->select_n_where_fields; } break; case 2407: /* Line 1455 of yacc.c */ #line 14141 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->options|= SELECT_STRAIGHT_JOIN; } break; case 2408: /* Line 1455 of yacc.c */ #line 14143 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (check_simple_select()) MYSQL_YYABORT; YYPS->m_lock_type= TL_READ_HIGH_PRIORITY; YYPS->m_mdl_type= MDL_SHARED_READ; Select->options|= SELECT_HIGH_PRIORITY; } break; case 2409: /* Line 1455 of yacc.c */ #line 14150 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->options|= SELECT_DISTINCT; } break; case 2410: /* Line 1455 of yacc.c */ #line 14151 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->options|= SELECT_SMALL_RESULT; } break; case 2411: /* Line 1455 of yacc.c */ #line 14152 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->options|= SELECT_BIG_RESULT; } break; case 2412: /* Line 1455 of yacc.c */ #line 14154 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (check_simple_select()) MYSQL_YYABORT; Select->options|= OPTION_BUFFER_RESULT; } break; case 2413: /* Line 1455 of yacc.c */ #line 14160 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { if (check_simple_select()) MYSQL_YYABORT; Select->options|= OPTION_FOUND_ROWS; } break; case 2414: /* Line 1455 of yacc.c */ #line 14165 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Select->options|= SELECT_ALL; } break; case 2415: /* Line 1455 of yacc.c */ #line 14176 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2416: /* Line 1455 of yacc.c */ #line 14178 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2417: /* Line 1455 of yacc.c */ #line 14180 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2431: /* Line 1455 of yacc.c */ #line 14213 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* We have to distinguish missing DEFINER-clause from case when CURRENT_USER specified as definer explicitly in order to properly handle CREATE TRIGGER statements which come to replication thread from older master servers (i.e. to create non-suid trigger in this case). */ YYTHD->lex->definer= 0; } break; case 2432: /* Line 1455 of yacc.c */ #line 14227 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { YYTHD->lex->definer= get_current_user(YYTHD, (yyvsp[(3) - (3)].lex_user)); } break; case 2433: /* Line 1455 of yacc.c */ #line 14240 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2434: /* Line 1455 of yacc.c */ #line 14242 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2435: /* Line 1455 of yacc.c */ #line 14244 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2436: /* Line 1455 of yacc.c */ #line 14249 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_view_mode= VIEW_CREATE_OR_REPLACE; } break; case 2437: /* Line 1455 of yacc.c */ #line 14254 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_view_algorithm= VIEW_ALGORITHM_UNDEFINED; } break; case 2438: /* Line 1455 of yacc.c */ #line 14256 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_view_algorithm= VIEW_ALGORITHM_MERGE; } break; case 2439: /* Line 1455 of yacc.c */ #line 14258 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_view_algorithm= VIEW_ALGORITHM_TMPTABLE; } break; case 2440: /* Line 1455 of yacc.c */ #line 14263 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_view_suid= VIEW_SUID_DEFAULT; } break; case 2441: /* Line 1455 of yacc.c */ #line 14265 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_view_suid= VIEW_SUID_DEFINER; } break; case 2442: /* Line 1455 of yacc.c */ #line 14267 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_view_suid= VIEW_SUID_INVOKER; } break; case 2443: /* Line 1455 of yacc.c */ #line 14272 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; lex->sql_command= SQLCOM_CREATE_VIEW; /* first table in list is target VIEW name */ if (!lex->select_lex.add_table_to_list(thd, (yyvsp[(3) - (3)].table), NULL, TL_OPTION_UPDATING, TL_IGNORE, MDL_EXCLUSIVE)) MYSQL_YYABORT; lex->query_tables->open_strategy= TABLE_LIST::OPEN_STUB; } break; case 2445: /* Line 1455 of yacc.c */ #line 14289 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2447: /* Line 1455 of yacc.c */ #line 14295 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->view_list.push_back((LEX_STRING*) sql_memdup(&(yyvsp[(1) - (1)].lex_str), sizeof(LEX_STRING))); } break; case 2448: /* Line 1455 of yacc.c */ #line 14300 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->view_list.push_back((LEX_STRING*) sql_memdup(&(yyvsp[(3) - (3)].lex_str), sizeof(LEX_STRING))); } break; case 2449: /* Line 1455 of yacc.c */ #line 14307 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->parsing_options.allows_variable= FALSE; lex->parsing_options.allows_select_into= FALSE; lex->parsing_options.allows_select_procedure= FALSE; lex->parsing_options.allows_derived= FALSE; lex->create_view_select.str= (char *) YYLIP->get_cpp_ptr(); } break; case 2450: /* Line 1455 of yacc.c */ #line 14316 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= Lex; uint len= YYLIP->get_cpp_ptr() - lex->create_view_select.str; void *create_view_select= thd->memdup(lex->create_view_select.str, len); lex->create_view_select.length= len; lex->create_view_select.str= (char *) create_view_select; trim_whitespace(thd->charset(), &lex->create_view_select); lex->parsing_options.allows_variable= TRUE; lex->parsing_options.allows_select_into= TRUE; lex->parsing_options.allows_select_procedure= TRUE; lex->parsing_options.allows_derived= TRUE; } break; case 2453: /* Line 1455 of yacc.c */ #line 14338 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_view_check= VIEW_CHECK_NONE; } break; case 2454: /* Line 1455 of yacc.c */ #line 14340 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_view_check= VIEW_CHECK_CASCADED; } break; case 2455: /* Line 1455 of yacc.c */ #line 14342 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_view_check= VIEW_CHECK_CASCADED; } break; case 2456: /* Line 1455 of yacc.c */ #line 14344 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->create_view_check= VIEW_CHECK_LOCAL; } break; case 2457: /* Line 1455 of yacc.c */ #line 14361 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* $8 */ Lex->raw_trg_on_table_name_begin= YYLIP->get_tok_start(); } break; case 2458: /* Line 1455 of yacc.c */ #line 14367 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* $12 */ Lex->raw_trg_on_table_name_end= YYLIP->get_tok_start(); } break; case 2459: /* Line 1455 of yacc.c */ #line 14372 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* $15 */ THD *thd= YYTHD; LEX *lex= thd->lex; Lex_input_stream *lip= YYLIP; sp_head *sp; if (lex->sphead) { my_error(ER_SP_NO_RECURSIVE_CREATE, MYF(0), "TRIGGER"); MYSQL_YYABORT; } if (!(sp= new sp_head())) MYSQL_YYABORT; sp->reset_thd_mem_root(thd); sp->init(lex); sp->m_type= TYPE_ENUM_TRIGGER; sp->init_sp_name(thd, (yyvsp[(3) - (14)].spname)); lex->stmt_definition_begin= (yyvsp[(2) - (14)].simple_string); lex->ident.str= (yyvsp[(7) - (14)].simple_string); lex->ident.length= (yyvsp[(11) - (14)].simple_string) - (yyvsp[(7) - (14)].simple_string); lex->sphead= sp; lex->spname= (yyvsp[(3) - (14)].spname); bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics)); lex->sphead->m_chistics= &lex->sp_chistics; lex->sphead->set_body_start(thd, lip->get_cpp_ptr()); } break; case 2460: /* Line 1455 of yacc.c */ #line 14402 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* $17 */ LEX *lex= Lex; sp_head *sp= lex->sphead; lex->sql_command= SQLCOM_CREATE_TRIGGER; sp->set_stmt_end(YYTHD); sp->restore_thd_mem_root(YYTHD); if (sp->is_not_allowed_in_function("trigger")) MYSQL_YYABORT; /* We have to do it after parsing trigger body, because some of sp_proc_stmt alternatives are not saving/restoring LEX, so lex->query_tables can be wiped out. */ if (!lex->select_lex.add_table_to_list(YYTHD, (yyvsp[(9) - (16)].table), (LEX_STRING*) 0, TL_OPTION_UPDATING, TL_READ_NO_INSERT, MDL_SHARED_NO_WRITE)) MYSQL_YYABORT; } break; case 2461: /* Line 1455 of yacc.c */ #line 14436 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; if (is_native_function(thd, & (yyvsp[(4) - (8)].lex_str))) { my_error(ER_NATIVE_FCT_NAME_COLLISION, MYF(0), (yyvsp[(4) - (8)].lex_str).str); MYSQL_YYABORT; } lex->sql_command = SQLCOM_CREATE_FUNCTION; lex->udf.type= UDFTYPE_AGGREGATE; lex->stmt_definition_begin= (yyvsp[(2) - (8)].simple_string); lex->udf.name = (yyvsp[(4) - (8)].lex_str); lex->udf.returns=(Item_result) (yyvsp[(6) - (8)].num); lex->udf.dl=(yyvsp[(8) - (8)].lex_str).str; } break; case 2462: /* Line 1455 of yacc.c */ #line 14454 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; if (is_native_function(thd, & (yyvsp[(3) - (7)].lex_str))) { my_error(ER_NATIVE_FCT_NAME_COLLISION, MYF(0), (yyvsp[(3) - (7)].lex_str).str); MYSQL_YYABORT; } lex->sql_command = SQLCOM_CREATE_FUNCTION; lex->udf.type= UDFTYPE_FUNCTION; lex->stmt_definition_begin= (yyvsp[(1) - (7)].simple_string); lex->udf.name = (yyvsp[(3) - (7)].lex_str); lex->udf.returns=(Item_result) (yyvsp[(5) - (7)].num); lex->udf.dl=(yyvsp[(7) - (7)].lex_str).str; } break; case 2463: /* Line 1455 of yacc.c */ #line 14477 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* $5 */ THD *thd= YYTHD; LEX *lex= thd->lex; Lex_input_stream *lip= YYLIP; sp_head *sp; const char* tmp_param_begin; lex->stmt_definition_begin= (yyvsp[(1) - (4)].simple_string); lex->spname= (yyvsp[(3) - (4)].spname); if (lex->sphead) { my_error(ER_SP_NO_RECURSIVE_CREATE, MYF(0), "FUNCTION"); MYSQL_YYABORT; } /* Order is important here: new - reset - init */ sp= new sp_head(); if (sp == NULL) MYSQL_YYABORT; sp->reset_thd_mem_root(thd); sp->init(lex); sp->init_sp_name(thd, lex->spname); sp->m_type= TYPE_ENUM_FUNCTION; lex->sphead= sp; tmp_param_begin= lip->get_cpp_tok_start(); tmp_param_begin++; lex->sphead->m_param_begin= tmp_param_begin; } break; case 2464: /* Line 1455 of yacc.c */ #line 14509 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* $8 */ Lex->sphead->m_param_end= YYLIP->get_cpp_tok_start(); } break; case 2465: /* Line 1455 of yacc.c */ #line 14513 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* $10 */ LEX *lex= Lex; lex->charset= NULL; lex->length= lex->dec= NULL; lex->interval_list.empty(); lex->type= 0; } break; case 2466: /* Line 1455 of yacc.c */ #line 14521 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* $12 */ LEX *lex= Lex; sp_head *sp= lex->sphead; /* This was disabled in 5.1.12. See bug #20701 When collation support in SP is implemented, then this test should be removed. */ if (((yyvsp[(11) - (11)].num) == MYSQL_TYPE_STRING || (yyvsp[(11) - (11)].num) == MYSQL_TYPE_VARCHAR) && (lex->type & BINCMP_FLAG)) { my_error(ER_NOT_SUPPORTED_YET, MYF(0), "return value collation"); MYSQL_YYABORT; } if (sp->fill_field_definition(YYTHD, lex, (enum enum_field_types) (yyvsp[(11) - (11)].num), &sp->m_return_field_def)) MYSQL_YYABORT; bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics)); } break; case 2467: /* Line 1455 of yacc.c */ #line 14544 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { /* $14 */ THD *thd= YYTHD; LEX *lex= thd->lex; Lex_input_stream *lip= YYLIP; lex->sphead->m_chistics= &lex->sp_chistics; lex->sphead->set_body_start(thd, lip->get_cpp_tok_start()); } break; case 2468: /* Line 1455 of yacc.c */ #line 14553 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; sp_head *sp= lex->sphead; if (sp->is_not_allowed_in_function("function")) MYSQL_YYABORT; lex->sql_command= SQLCOM_CREATE_SPFUNCTION; sp->set_stmt_end(thd); if (!(sp->m_flags & sp_head::HAS_RETURN)) { my_error(ER_SP_NORETURN, MYF(0), sp->m_qname.str); MYSQL_YYABORT; } if (is_native_function(thd, & sp->m_name)) { /* This warning will be printed when [1] A client query is parsed, [2] A stored function is loaded by db_load_routine. Printing the warning for [2] is intentional, to cover the following scenario: - A user define a SF 'foo' using MySQL 5.N - An application uses select foo(), and works. - MySQL 5.{N+1} defines a new native function 'foo', as part of a new feature. - MySQL 5.{N+1} documentation is updated, and should mention that there is a potential incompatible change in case of existing stored function named 'foo'. - The user deploys 5.{N+1}. At this point, 'select foo()' means something different, and the user code is most likely broken (it's only safe if the code is 'select db.foo()'). With a warning printed when the SF is loaded (which has to occur before the call), the warning will provide a hint explaining the root cause of a later failure of 'select foo()'. With no warning printed, the user code will fail with no apparent reason. Printing a warning each time db_load_routine is executed for an ambiguous function is annoying, since that can happen a lot, but in practice should not happen unless there *are* name collisions. If a collision exists, it should not be silenced but fixed. */ push_warning_printf(thd, MYSQL_ERROR::WARN_LEVEL_NOTE, ER_NATIVE_FCT_NAME_COLLISION, ER(ER_NATIVE_FCT_NAME_COLLISION), sp->m_name.str); } sp->restore_thd_mem_root(thd); } break; case 2469: /* Line 1455 of yacc.c */ #line 14609 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp; if (lex->sphead) { my_error(ER_SP_NO_RECURSIVE_CREATE, MYF(0), "PROCEDURE"); MYSQL_YYABORT; } lex->stmt_definition_begin= (yyvsp[(2) - (3)].simple_string); /* Order is important here: new - reset - init */ sp= new sp_head(); if (sp == NULL) MYSQL_YYABORT; sp->reset_thd_mem_root(YYTHD); sp->init(lex); sp->m_type= TYPE_ENUM_PROCEDURE; sp->init_sp_name(YYTHD, (yyvsp[(3) - (3)].spname)); lex->sphead= sp; } break; case 2470: /* Line 1455 of yacc.c */ #line 14633 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { const char* tmp_param_begin; tmp_param_begin= YYLIP->get_cpp_tok_start(); tmp_param_begin++; Lex->sphead->m_param_begin= tmp_param_begin; } break; case 2471: /* Line 1455 of yacc.c */ #line 14642 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; lex->sphead->m_param_end= YYLIP->get_cpp_tok_start(); bzero((char *)&lex->sp_chistics, sizeof(st_sp_chistics)); } break; case 2472: /* Line 1455 of yacc.c */ #line 14650 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { THD *thd= YYTHD; LEX *lex= thd->lex; lex->sphead->m_chistics= &lex->sp_chistics; lex->sphead->set_body_start(thd, YYLIP->get_cpp_tok_start()); } break; case 2473: /* Line 1455 of yacc.c */ #line 14658 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; sp_head *sp= lex->sphead; sp->set_stmt_end(YYTHD); lex->sql_command= SQLCOM_CREATE_PROCEDURE; sp->restore_thd_mem_root(YYTHD); } break; case 2474: /* Line 1455 of yacc.c */ #line 14672 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_START; } break; case 2475: /* Line 1455 of yacc.c */ #line 14676 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_END; } break; case 2476: /* Line 1455 of yacc.c */ #line 14680 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_PREPARE; } break; case 2477: /* Line 1455 of yacc.c */ #line 14684 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_COMMIT; } break; case 2478: /* Line 1455 of yacc.c */ #line 14688 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_ROLLBACK; } break; case 2479: /* Line 1455 of yacc.c */ #line 14692 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->sql_command = SQLCOM_XA_RECOVER; } break; case 2480: /* Line 1455 of yacc.c */ #line 14699 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (1)].string)->length() <= MAXGTRIDSIZE); if (!(Lex->xid=(XID *)YYTHD->alloc(sizeof(XID)))) MYSQL_YYABORT; Lex->xid->set(1L, (yyvsp[(1) - (1)].string)->ptr(), (yyvsp[(1) - (1)].string)->length(), 0, 0); } break; case 2481: /* Line 1455 of yacc.c */ #line 14706 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (3)].string)->length() <= MAXGTRIDSIZE && (yyvsp[(3) - (3)].string)->length() <= MAXBQUALSIZE); if (!(Lex->xid=(XID *)YYTHD->alloc(sizeof(XID)))) MYSQL_YYABORT; Lex->xid->set(1L, (yyvsp[(1) - (3)].string)->ptr(), (yyvsp[(1) - (3)].string)->length(), (yyvsp[(3) - (3)].string)->ptr(), (yyvsp[(3) - (3)].string)->length()); } break; case 2482: /* Line 1455 of yacc.c */ #line 14713 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { MYSQL_YYABORT_UNLESS((yyvsp[(1) - (5)].string)->length() <= MAXGTRIDSIZE && (yyvsp[(3) - (5)].string)->length() <= MAXBQUALSIZE); if (!(Lex->xid=(XID *)YYTHD->alloc(sizeof(XID)))) MYSQL_YYABORT; Lex->xid->set((yyvsp[(5) - (5)].ulong_num), (yyvsp[(1) - (5)].string)->ptr(), (yyvsp[(1) - (5)].string)->length(), (yyvsp[(3) - (5)].string)->ptr(), (yyvsp[(3) - (5)].string)->length()); } break; case 2483: /* Line 1455 of yacc.c */ #line 14722 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2484: /* Line 1455 of yacc.c */ #line 14723 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2485: /* Line 1455 of yacc.c */ #line 14727 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->xa_opt=XA_NONE; } break; case 2486: /* Line 1455 of yacc.c */ #line 14728 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->xa_opt=XA_JOIN; } break; case 2487: /* Line 1455 of yacc.c */ #line 14729 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->xa_opt=XA_RESUME; } break; case 2488: /* Line 1455 of yacc.c */ #line 14733 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->xa_opt=XA_NONE; } break; case 2489: /* Line 1455 of yacc.c */ #line 14734 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->xa_opt=XA_ONE_PHASE; } break; case 2490: /* Line 1455 of yacc.c */ #line 14739 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->xa_opt=XA_NONE; } break; case 2491: /* Line 1455 of yacc.c */ #line 14741 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->xa_opt=XA_SUSPEND; } break; case 2493: /* Line 1455 of yacc.c */ #line 14746 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" {} break; case 2494: /* Line 1455 of yacc.c */ #line 14747 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { Lex->xa_opt=XA_FOR_MIGRATE; } break; case 2495: /* Line 1455 of yacc.c */ #line 14752 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_INSTALL_PLUGIN; lex->comment= (yyvsp[(3) - (5)].lex_str); lex->ident= (yyvsp[(5) - (5)].lex_str); } break; case 2496: /* Line 1455 of yacc.c */ #line 14762 "/export/home/pb2/build/sb_0-11244933-1389687031.98/mysql-5.5.36-release-export-6192947_gpl/sql/sql_yacc.yy" { LEX *lex= Lex; lex->sql_command= SQLCOM_UNINSTALL_PLUGIN; lex->comment= (yyvsp[(3) - (3)].lex_str); } break; /* Line 1455 of yacc.c */ #line 38343 "/export/home/pb2/build/sb_0-11244933-1389687031.98/dist_GPL/sql/sql_yacc.cc" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); *++yyvsp = yyval; /* Now `shift' the result of the reduction. Determine what state that goes to, based on the state we popped back to and the rule number reduced by. */ yyn = yyr1[yyn]; yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) yystate = yytable[yystate]; else yystate = yydefgoto[yyn - YYNTOKENS]; goto yynewstate; /*------------------------------------. | yyerrlab -- here on detecting error | `------------------------------------*/ yyerrlab: /* If not already recovering from an error, report this error. */ if (!yyerrstatus) { ++yynerrs; #if ! YYERROR_VERBOSE yyerror (YY_("syntax error")); #else { YYSIZE_T yysize = yysyntax_error (0, yystate, yychar); if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM) { YYSIZE_T yyalloc = 2 * yysize; if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM)) yyalloc = YYSTACK_ALLOC_MAXIMUM; if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); yymsg = (char *) YYSTACK_ALLOC (yyalloc); if (yymsg) yymsg_alloc = yyalloc; else { yymsg = yymsgbuf; yymsg_alloc = sizeof yymsgbuf; } } if (0 < yysize && yysize <= yymsg_alloc) { (void) yysyntax_error (yymsg, yystate, yychar); yyerror (yymsg); } else { yyerror (YY_("syntax error")); if (yysize != 0) goto yyexhaustedlab; } } #endif } if (yyerrstatus == 3) { /* If just tried and failed to reuse lookahead token after an error, discard it. */ if (yychar <= YYEOF) { /* Return failure if at end of input. */ if (yychar == YYEOF) YYABORT; } else { yydestruct ("Error: discarding", yytoken, &yylval); yychar = YYEMPTY; } } /* Else will try to reuse lookahead token after shifting the error token. */ goto yyerrlab1; /*---------------------------------------------------. | yyerrorlab -- error raised explicitly by YYERROR. | `---------------------------------------------------*/ yyerrorlab: /* Pacify compilers like GCC when the user code never invokes YYERROR and the label yyerrorlab therefore never appears in user code. */ if (/*CONSTCOND*/ 0) goto yyerrorlab; /* Do not reclaim the symbols of the rule which action triggered this YYERROR. */ YYPOPSTACK (yylen); yylen = 0; YY_STACK_PRINT (yyss, yyssp); yystate = *yyssp; goto yyerrlab1; /*-------------------------------------------------------------. | yyerrlab1 -- common code for both syntax error and YYERROR. | `-------------------------------------------------------------*/ yyerrlab1: yyerrstatus = 3; /* Each real token shifted decrements this. */ for (;;) { yyn = yypact[yystate]; if (yyn != YYPACT_NINF) { yyn += YYTERROR; if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) { yyn = yytable[yyn]; if (0 < yyn) break; } } /* Pop the current state because it cannot handle the error token. */ if (yyssp == yyss) YYABORT; yydestruct ("Error: popping", yystos[yystate], yyvsp); YYPOPSTACK (1); yystate = *yyssp; YY_STACK_PRINT (yyss, yyssp); } *++yyvsp = yylval; /* Shift the error token. */ YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp); yystate = yyn; goto yynewstate; /*-------------------------------------. | yyacceptlab -- YYACCEPT comes here. | `-------------------------------------*/ yyacceptlab: yyresult = 0; goto yyreturn; /*-----------------------------------. | yyabortlab -- YYABORT comes here. | `-----------------------------------*/ yyabortlab: yyresult = 1; goto yyreturn; #if !defined(yyoverflow) || YYERROR_VERBOSE /*-------------------------------------------------. | yyexhaustedlab -- memory exhaustion comes here. | `-------------------------------------------------*/ yyexhaustedlab: yyerror (YY_("memory exhausted")); yyresult = 2; /* Fall through. */ #endif yyreturn: if (yychar != YYEMPTY) yydestruct ("Cleanup: discarding lookahead", yytoken, &yylval); /* Do not reclaim the symbols of the rule which action triggered this YYABORT or YYACCEPT. */ YYPOPSTACK (yylen); YY_STACK_PRINT (yyss, yyssp); while (yyssp != yyss) { yydestruct ("Cleanup: popping", yystos[*yyssp], yyvsp); YYPOPSTACK (1); } #ifndef yyoverflow if (yyss != yyssa) YYSTACK_FREE (yyss); #endif #if YYERROR_VERBOSE if (yymsg != yymsgbuf) YYSTACK_FREE (yymsg); #endif /* Make sure YYID is used. */ return YYID (yyresult); }