From 1de6340f1bc81564274890660f66444e48d660b0 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Wed, 17 Dec 2025 13:42:22 +0900 Subject: [PATCH] mruby-compiler: add pin operator to pattern matching Add pin operator `^var` that matches against existing variable values instead of creating new bindings. Also add bracket-less array pattern syntax at top level: `in 1, 2, x` is equivalent to `in [1, 2, x]`. Co-authored-by: Claude --- mrbgems/mruby-compiler/core/codegen.c | 24 + mrbgems/mruby-compiler/core/parse.y | 65 +- mrbgems/mruby-compiler/core/y.tab.c | 9320 +++++++++++++------------ 3 files changed, 4827 insertions(+), 4582 deletions(-) diff --git a/mrbgems/mruby-compiler/core/codegen.c b/mrbgems/mruby-compiler/core/codegen.c index 09a797663..5418a9e5a 100644 --- a/mrbgems/mruby-compiler/core/codegen.c +++ b/mrbgems/mruby-compiler/core/codegen.c @@ -4410,6 +4410,30 @@ codegen_pattern(codegen_scope *s, node *pattern, int target, uint32_t *fail_pos) } break; + case NODE_PAT_PIN: + { + struct mrb_ast_pat_pin_node *pat_pin = pat_pin_node(pattern); + /* Get the current value of the pinned variable */ + int idx = lv_idx(s, pat_pin->name); + if (idx > 0) { + /* Compare: pinned_value === target */ + gen_move(s, cursp(), idx, 0); /* Load pinned variable */ + push(); + gen_move(s, cursp(), target, 0); /* Load target */ + push(); push(); pop(); pop(); pop(); + genop_3(s, OP_SEND, cursp(), new_sym(s, MRB_OPSYM_2(s->mrb, eqq)), 1); + /* Jump to fail if not matched */ + tmp = genjmp2(s, OP_JMPNOT, cursp(), *fail_pos, 1); + *fail_pos = tmp; + } + else { + /* Variable not found - this is an error case, but for robustness fail the match */ + tmp = genjmp(s, OP_JMP, *fail_pos); + *fail_pos = tmp; + } + } + break; + case NODE_PAT_ARRAY: { struct mrb_ast_pat_array_node *pat_arr = pat_array_node(pattern); diff --git a/mrbgems/mruby-compiler/core/parse.y b/mrbgems/mruby-compiler/core/parse.y index 2e5d971f7..7d7b992b5 100644 --- a/mrbgems/mruby-compiler/core/parse.y +++ b/mrbgems/mruby-compiler/core/parse.y @@ -632,6 +632,16 @@ new_pat_var(parser_state *p, mrb_sym name) return (node*)n; } +/* Create pin pattern node (^var) */ +static node* +new_pat_pin(parser_state *p, mrb_sym name) +{ + struct mrb_ast_pat_pin_node *n = NEW_NODE(pat_pin, NODE_PAT_PIN); + n->name = name; + /* Pin operator references existing variable, does not create new binding */ + return (node*)n; +} + /* Create as pattern node (pattern => var) */ static node* new_pat_as(parser_state *p, node *pattern, mrb_sym name) @@ -2074,7 +2084,7 @@ prohibit_literals(parser_state *p, node *n) %type f_label f_kwrest /* pattern matching */ -%type in_clauses p_expr p_alt p_value p_var p_as p_array p_array_body p_array_elems p_rest p_hash p_hash_body p_hash_elems p_hash_elem p_kwrest +%type in_clauses p_expr p_alt p_value p_var p_as p_array p_array_body p_array_elems p_rest p_hash p_hash_body p_hash_elems p_hash_elem p_kwrest p_args_head p_args_post %token tUPLUS "unary plus" %token tUMINUS "unary minus" @@ -3860,7 +3870,50 @@ in_clauses : opt_else ; /* Pattern expressions for case/in */ +/* Bracket-less array patterns: in 1, 2, x is same as in [1, 2, x] */ p_expr : p_as + | p_args_head p_as + { + $$ = new_pat_array(p, push($1, $2), 0, 0); + } + | p_args_head p_rest + { + $$ = new_pat_array(p, $1, $2, 0); + } + | p_args_head p_rest ',' p_args_post + { + $$ = new_pat_array(p, $1, $2, $4); + } + | p_rest + { + $$ = new_pat_array(p, 0, $1, 0); + } + | p_rest ',' p_args_post + { + $$ = new_pat_array(p, 0, $1, $3); + } + ; + +/* Comma-separated pattern list (prefix) */ +p_args_head : p_as ',' + { + $$ = list1($1); + } + | p_args_head p_as ',' + { + $$ = push($1, $2); + } + ; + +/* Comma-separated pattern list (suffix, no trailing comma) */ +p_args_post : p_as + { + $$ = list1($1); + } + | p_args_post ',' p_as + { + $$ = push($1, $3); + } ; p_as : p_alt @@ -3916,6 +3969,10 @@ p_value : p_var } | p_array | p_hash + | '^' tIDENTIFIER + { + $$ = new_pat_pin(p, $2); + } ; /* Array pattern: [a, b, *rest, c] */ @@ -3957,12 +4014,12 @@ p_array_body : p_array_elems } ; -/* Non-rest array pattern elements */ -p_array_elems : p_expr +/* Non-rest array pattern elements - use p_as, not p_expr to avoid bracket-less recursion */ +p_array_elems : p_as { $$ = list1($1); } - | p_array_elems ',' p_expr + | p_array_elems ',' p_as { $$ = push($1, $3); } diff --git a/mrbgems/mruby-compiler/core/y.tab.c b/mrbgems/mruby-compiler/core/y.tab.c index c64af9af1..2b612f80f 100644 --- a/mrbgems/mruby-compiler/core/y.tab.c +++ b/mrbgems/mruby-compiler/core/y.tab.c @@ -694,6 +694,16 @@ new_pat_var(parser_state *p, mrb_sym name) return (node*)n; } +/* Create pin pattern node (^var) */ +static node* +new_pat_pin(parser_state *p, mrb_sym name) +{ + struct mrb_ast_pat_pin_node *n = NEW_NODE(pat_pin, NODE_PAT_PIN); + n->name = name; + /* Pin operator references existing variable, does not create new binding */ + return (node*)n; +} + /* Create as pattern node (pattern => var) */ static node* new_pat_as(parser_state *p, node *pattern, mrb_sym name) @@ -2026,7 +2036,7 @@ prohibit_literals(parser_state *p, node *n) /* xxx ----------------------------- */ -#line 2030 "mrbgems/mruby-compiler/core/y.tab.c" +#line 2040 "mrbgems/mruby-compiler/core/y.tab.c" # ifndef YY_CAST # ifdef __cplusplus @@ -2197,7 +2207,7 @@ extern int yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { -#line 1973 "mrbgems/mruby-compiler/core/parse.y" +#line 1983 "mrbgems/mruby-compiler/core/parse.y" node *nd; mrb_sym id; @@ -2205,7 +2215,7 @@ union YYSTYPE stack_type stack; const struct vtable *vars; -#line 2209 "mrbgems/mruby-compiler/core/y.tab.c" +#line 2219 "mrbgems/mruby-compiler/core/y.tab.c" }; typedef union YYSTYPE YYSTYPE; @@ -2489,96 +2499,98 @@ enum yysymbol_kind_t YYSYMBOL_cases = 247, /* cases */ YYSYMBOL_in_clauses = 248, /* in_clauses */ YYSYMBOL_p_expr = 249, /* p_expr */ - YYSYMBOL_p_as = 250, /* p_as */ - YYSYMBOL_p_alt = 251, /* p_alt */ - YYSYMBOL_p_value = 252, /* p_value */ - YYSYMBOL_p_array = 253, /* p_array */ - YYSYMBOL_p_array_body = 254, /* p_array_body */ - YYSYMBOL_p_array_elems = 255, /* p_array_elems */ - YYSYMBOL_p_rest = 256, /* p_rest */ - YYSYMBOL_p_hash = 257, /* p_hash */ - YYSYMBOL_p_hash_body = 258, /* p_hash_body */ - YYSYMBOL_p_hash_elems = 259, /* p_hash_elems */ - YYSYMBOL_p_hash_elem = 260, /* p_hash_elem */ - YYSYMBOL_p_kwrest = 261, /* p_kwrest */ - YYSYMBOL_p_var = 262, /* p_var */ - YYSYMBOL_opt_rescue = 263, /* opt_rescue */ - YYSYMBOL_exc_list = 264, /* exc_list */ - YYSYMBOL_exc_var = 265, /* exc_var */ - YYSYMBOL_opt_ensure = 266, /* opt_ensure */ - YYSYMBOL_literal = 267, /* literal */ - YYSYMBOL_string = 268, /* string */ - YYSYMBOL_string_fragment = 269, /* string_fragment */ - YYSYMBOL_string_rep = 270, /* string_rep */ - YYSYMBOL_string_interp = 271, /* string_interp */ - YYSYMBOL_272_29 = 272, /* @29 */ - YYSYMBOL_xstring = 273, /* xstring */ - YYSYMBOL_regexp = 274, /* regexp */ - YYSYMBOL_heredoc = 275, /* heredoc */ - YYSYMBOL_heredoc_bodies = 276, /* heredoc_bodies */ - YYSYMBOL_heredoc_body = 277, /* heredoc_body */ - YYSYMBOL_heredoc_string_rep = 278, /* heredoc_string_rep */ - YYSYMBOL_heredoc_string_interp = 279, /* heredoc_string_interp */ - YYSYMBOL_280_30 = 280, /* @30 */ - YYSYMBOL_words = 281, /* words */ - YYSYMBOL_symbol = 282, /* symbol */ - YYSYMBOL_basic_symbol = 283, /* basic_symbol */ - YYSYMBOL_sym = 284, /* sym */ - YYSYMBOL_symbols = 285, /* symbols */ - YYSYMBOL_numeric = 286, /* numeric */ - YYSYMBOL_variable = 287, /* variable */ - YYSYMBOL_var_lhs = 288, /* var_lhs */ - YYSYMBOL_var_ref = 289, /* var_ref */ - YYSYMBOL_backref = 290, /* backref */ - YYSYMBOL_superclass = 291, /* superclass */ - YYSYMBOL_292_31 = 292, /* $@31 */ - YYSYMBOL_f_opt_arglist_paren = 293, /* f_opt_arglist_paren */ - YYSYMBOL_f_arglist_paren = 294, /* f_arglist_paren */ - YYSYMBOL_f_arglist = 295, /* f_arglist */ - YYSYMBOL_f_label = 296, /* f_label */ - YYSYMBOL_f_kw = 297, /* f_kw */ - YYSYMBOL_f_block_kw = 298, /* f_block_kw */ - YYSYMBOL_f_block_kwarg = 299, /* f_block_kwarg */ - YYSYMBOL_f_kwarg = 300, /* f_kwarg */ - YYSYMBOL_kwrest_mark = 301, /* kwrest_mark */ - YYSYMBOL_f_kwrest = 302, /* f_kwrest */ - YYSYMBOL_args_tail = 303, /* args_tail */ - YYSYMBOL_opt_args_tail = 304, /* opt_args_tail */ - YYSYMBOL_f_args = 305, /* f_args */ - YYSYMBOL_f_bad_arg = 306, /* f_bad_arg */ - YYSYMBOL_f_norm_arg = 307, /* f_norm_arg */ - YYSYMBOL_f_arg_item = 308, /* f_arg_item */ - YYSYMBOL_309_32 = 309, /* @32 */ - YYSYMBOL_f_arg = 310, /* f_arg */ - YYSYMBOL_f_opt_asgn = 311, /* f_opt_asgn */ - YYSYMBOL_f_opt = 312, /* f_opt */ - YYSYMBOL_f_block_opt = 313, /* f_block_opt */ - YYSYMBOL_f_block_optarg = 314, /* f_block_optarg */ - YYSYMBOL_f_optarg = 315, /* f_optarg */ - YYSYMBOL_restarg_mark = 316, /* restarg_mark */ - YYSYMBOL_f_rest_arg = 317, /* f_rest_arg */ - YYSYMBOL_blkarg_mark = 318, /* blkarg_mark */ - YYSYMBOL_f_block_arg = 319, /* f_block_arg */ - YYSYMBOL_opt_f_block_arg = 320, /* opt_f_block_arg */ - YYSYMBOL_singleton = 321, /* singleton */ - YYSYMBOL_322_33 = 322, /* $@33 */ - YYSYMBOL_assoc_list = 323, /* assoc_list */ - YYSYMBOL_assocs = 324, /* assocs */ - YYSYMBOL_assoc = 325, /* assoc */ - YYSYMBOL_operation = 326, /* operation */ - YYSYMBOL_operation2 = 327, /* operation2 */ - YYSYMBOL_operation3 = 328, /* operation3 */ - YYSYMBOL_dot_or_colon = 329, /* dot_or_colon */ - YYSYMBOL_call_op = 330, /* call_op */ - YYSYMBOL_call_op2 = 331, /* call_op2 */ - YYSYMBOL_opt_terms = 332, /* opt_terms */ - YYSYMBOL_opt_nl = 333, /* opt_nl */ - YYSYMBOL_rparen = 334, /* rparen */ - YYSYMBOL_trailer = 335, /* trailer */ - YYSYMBOL_term = 336, /* term */ - YYSYMBOL_nl = 337, /* nl */ - YYSYMBOL_terms = 338, /* terms */ - YYSYMBOL_none = 339 /* none */ + YYSYMBOL_p_args_head = 250, /* p_args_head */ + YYSYMBOL_p_args_post = 251, /* p_args_post */ + YYSYMBOL_p_as = 252, /* p_as */ + YYSYMBOL_p_alt = 253, /* p_alt */ + YYSYMBOL_p_value = 254, /* p_value */ + YYSYMBOL_p_array = 255, /* p_array */ + YYSYMBOL_p_array_body = 256, /* p_array_body */ + YYSYMBOL_p_array_elems = 257, /* p_array_elems */ + YYSYMBOL_p_rest = 258, /* p_rest */ + YYSYMBOL_p_hash = 259, /* p_hash */ + YYSYMBOL_p_hash_body = 260, /* p_hash_body */ + YYSYMBOL_p_hash_elems = 261, /* p_hash_elems */ + YYSYMBOL_p_hash_elem = 262, /* p_hash_elem */ + YYSYMBOL_p_kwrest = 263, /* p_kwrest */ + YYSYMBOL_p_var = 264, /* p_var */ + YYSYMBOL_opt_rescue = 265, /* opt_rescue */ + YYSYMBOL_exc_list = 266, /* exc_list */ + YYSYMBOL_exc_var = 267, /* exc_var */ + YYSYMBOL_opt_ensure = 268, /* opt_ensure */ + YYSYMBOL_literal = 269, /* literal */ + YYSYMBOL_string = 270, /* string */ + YYSYMBOL_string_fragment = 271, /* string_fragment */ + YYSYMBOL_string_rep = 272, /* string_rep */ + YYSYMBOL_string_interp = 273, /* string_interp */ + YYSYMBOL_274_29 = 274, /* @29 */ + YYSYMBOL_xstring = 275, /* xstring */ + YYSYMBOL_regexp = 276, /* regexp */ + YYSYMBOL_heredoc = 277, /* heredoc */ + YYSYMBOL_heredoc_bodies = 278, /* heredoc_bodies */ + YYSYMBOL_heredoc_body = 279, /* heredoc_body */ + YYSYMBOL_heredoc_string_rep = 280, /* heredoc_string_rep */ + YYSYMBOL_heredoc_string_interp = 281, /* heredoc_string_interp */ + YYSYMBOL_282_30 = 282, /* @30 */ + YYSYMBOL_words = 283, /* words */ + YYSYMBOL_symbol = 284, /* symbol */ + YYSYMBOL_basic_symbol = 285, /* basic_symbol */ + YYSYMBOL_sym = 286, /* sym */ + YYSYMBOL_symbols = 287, /* symbols */ + YYSYMBOL_numeric = 288, /* numeric */ + YYSYMBOL_variable = 289, /* variable */ + YYSYMBOL_var_lhs = 290, /* var_lhs */ + YYSYMBOL_var_ref = 291, /* var_ref */ + YYSYMBOL_backref = 292, /* backref */ + YYSYMBOL_superclass = 293, /* superclass */ + YYSYMBOL_294_31 = 294, /* $@31 */ + YYSYMBOL_f_opt_arglist_paren = 295, /* f_opt_arglist_paren */ + YYSYMBOL_f_arglist_paren = 296, /* f_arglist_paren */ + YYSYMBOL_f_arglist = 297, /* f_arglist */ + YYSYMBOL_f_label = 298, /* f_label */ + YYSYMBOL_f_kw = 299, /* f_kw */ + YYSYMBOL_f_block_kw = 300, /* f_block_kw */ + YYSYMBOL_f_block_kwarg = 301, /* f_block_kwarg */ + YYSYMBOL_f_kwarg = 302, /* f_kwarg */ + YYSYMBOL_kwrest_mark = 303, /* kwrest_mark */ + YYSYMBOL_f_kwrest = 304, /* f_kwrest */ + YYSYMBOL_args_tail = 305, /* args_tail */ + YYSYMBOL_opt_args_tail = 306, /* opt_args_tail */ + YYSYMBOL_f_args = 307, /* f_args */ + YYSYMBOL_f_bad_arg = 308, /* f_bad_arg */ + YYSYMBOL_f_norm_arg = 309, /* f_norm_arg */ + YYSYMBOL_f_arg_item = 310, /* f_arg_item */ + YYSYMBOL_311_32 = 311, /* @32 */ + YYSYMBOL_f_arg = 312, /* f_arg */ + YYSYMBOL_f_opt_asgn = 313, /* f_opt_asgn */ + YYSYMBOL_f_opt = 314, /* f_opt */ + YYSYMBOL_f_block_opt = 315, /* f_block_opt */ + YYSYMBOL_f_block_optarg = 316, /* f_block_optarg */ + YYSYMBOL_f_optarg = 317, /* f_optarg */ + YYSYMBOL_restarg_mark = 318, /* restarg_mark */ + YYSYMBOL_f_rest_arg = 319, /* f_rest_arg */ + YYSYMBOL_blkarg_mark = 320, /* blkarg_mark */ + YYSYMBOL_f_block_arg = 321, /* f_block_arg */ + YYSYMBOL_opt_f_block_arg = 322, /* opt_f_block_arg */ + YYSYMBOL_singleton = 323, /* singleton */ + YYSYMBOL_324_33 = 324, /* $@33 */ + YYSYMBOL_assoc_list = 325, /* assoc_list */ + YYSYMBOL_assocs = 326, /* assocs */ + YYSYMBOL_assoc = 327, /* assoc */ + YYSYMBOL_operation = 328, /* operation */ + YYSYMBOL_operation2 = 329, /* operation2 */ + YYSYMBOL_operation3 = 330, /* operation3 */ + YYSYMBOL_dot_or_colon = 331, /* dot_or_colon */ + YYSYMBOL_call_op = 332, /* call_op */ + YYSYMBOL_call_op2 = 333, /* call_op2 */ + YYSYMBOL_opt_terms = 334, /* opt_terms */ + YYSYMBOL_opt_nl = 335, /* opt_nl */ + YYSYMBOL_rparen = 336, /* rparen */ + YYSYMBOL_trailer = 337, /* trailer */ + YYSYMBOL_term = 338, /* term */ + YYSYMBOL_nl = 339, /* nl */ + YYSYMBOL_terms = 340, /* terms */ + YYSYMBOL_none = 341 /* none */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -2909,16 +2921,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 106 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 16001 +#define YYLAST 16338 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 149 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 191 +#define YYNNTS 193 /* YYNRULES -- Number of rules. */ -#define YYNRULES 669 +#define YYNRULES 679 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1192 +#define YYNSTATES 1207 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 377 @@ -2979,73 +2991,74 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 2147, 2147, 2147, 2157, 2163, 2167, 2171, 2175, 2181, - 2183, 2182, 2196, 2222, 2228, 2232, 2236, 2240, 2246, 2246, - 2250, 2254, 2258, 2262, 2271, 2280, 2284, 2289, 2290, 2294, - 2298, 2302, 2306, 2312, 2315, 2319, 2323, 2327, 2331, 2335, - 2340, 2344, 2353, 2362, 2371, 2380, 2387, 2388, 2392, 2395, - 2396, 2400, 2404, 2408, 2412, 2415, 2425, 2424, 2439, 2448, - 2449, 2452, 2453, 2460, 2459, 2474, 2478, 2483, 2487, 2492, - 2496, 2501, 2505, 2509, 2513, 2517, 2523, 2527, 2533, 2534, - 2540, 2544, 2548, 2552, 2556, 2560, 2564, 2568, 2572, 2576, - 2582, 2583, 2589, 2593, 2599, 2603, 2609, 2613, 2617, 2621, - 2625, 2629, 2635, 2641, 2648, 2652, 2656, 2660, 2664, 2668, - 2674, 2680, 2685, 2691, 2695, 2698, 2702, 2706, 2713, 2714, - 2715, 2716, 2721, 2728, 2729, 2732, 2736, 2736, 2742, 2743, - 2744, 2745, 2746, 2747, 2748, 2749, 2750, 2751, 2752, 2753, + 0, 2157, 2157, 2157, 2167, 2173, 2177, 2181, 2185, 2191, + 2193, 2192, 2206, 2232, 2238, 2242, 2246, 2250, 2256, 2256, + 2260, 2264, 2268, 2272, 2281, 2290, 2294, 2299, 2300, 2304, + 2308, 2312, 2316, 2322, 2325, 2329, 2333, 2337, 2341, 2345, + 2350, 2354, 2363, 2372, 2381, 2390, 2397, 2398, 2402, 2405, + 2406, 2410, 2414, 2418, 2422, 2425, 2435, 2434, 2449, 2458, + 2459, 2462, 2463, 2470, 2469, 2484, 2488, 2493, 2497, 2502, + 2506, 2511, 2515, 2519, 2523, 2527, 2533, 2537, 2543, 2544, + 2550, 2554, 2558, 2562, 2566, 2570, 2574, 2578, 2582, 2586, + 2592, 2593, 2599, 2603, 2609, 2613, 2619, 2623, 2627, 2631, + 2635, 2639, 2645, 2651, 2658, 2662, 2666, 2670, 2674, 2678, + 2684, 2690, 2695, 2701, 2705, 2708, 2712, 2716, 2723, 2724, + 2725, 2726, 2731, 2738, 2739, 2742, 2746, 2746, 2752, 2753, 2754, 2755, 2756, 2757, 2758, 2759, 2760, 2761, 2762, 2763, - 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2774, 2774, - 2774, 2775, 2775, 2776, 2776, 2776, 2777, 2777, 2777, 2777, - 2778, 2778, 2778, 2779, 2779, 2779, 2780, 2780, 2780, 2780, - 2781, 2781, 2781, 2781, 2782, 2782, 2782, 2782, 2783, 2783, - 2783, 2783, 2784, 2784, 2784, 2784, 2785, 2785, 2788, 2792, - 2796, 2800, 2804, 2808, 2812, 2817, 2822, 2827, 2831, 2835, - 2839, 2843, 2847, 2851, 2855, 2859, 2863, 2867, 2871, 2875, - 2879, 2883, 2887, 2891, 2895, 2899, 2903, 2907, 2911, 2915, - 2919, 2923, 2927, 2931, 2935, 2939, 2943, 2947, 2951, 2955, - 2959, 2963, 2967, 2971, 2975, 2984, 2993, 3002, 3011, 3017, - 3018, 3022, 3026, 3032, 3036, 3043, 3047, 3056, 3073, 3074, - 3077, 3078, 3079, 3083, 3087, 3093, 3098, 3102, 3106, 3110, - 3116, 3116, 3127, 3131, 3137, 3141, 3147, 3150, 3155, 3159, - 3163, 3168, 3172, 3178, 3183, 3187, 3193, 3194, 3198, 3202, - 3203, 3204, 3205, 3206, 3211, 3210, 3222, 3226, 3221, 3231, - 3231, 3235, 3239, 3243, 3247, 3251, 3255, 3259, 3263, 3267, - 3271, 3275, 3276, 3282, 3289, 3281, 3302, 3310, 3318, 3318, - 3318, 3325, 3325, 3325, 3332, 3338, 3342, 3351, 3360, 3370, - 3372, 3369, 3381, 3379, 3397, 3402, 3395, 3419, 3417, 3433, - 3443, 3454, 3458, 3462, 3466, 3472, 3479, 3480, 3481, 3484, - 3485, 3488, 3489, 3497, 3498, 3504, 3508, 3511, 3515, 3519, - 3523, 3528, 3532, 3536, 3540, 3546, 3545, 3555, 3559, 3563, - 3567, 3573, 3578, 3583, 3587, 3591, 3595, 3599, 3603, 3607, - 3611, 3615, 3619, 3623, 3627, 3631, 3635, 3639, 3645, 3650, - 3657, 3657, 3661, 3666, 3672, 3676, 3682, 3683, 3686, 3691, - 3694, 3698, 3704, 3708, 3715, 3714, 3731, 3736, 3740, 3745, - 3752, 3756, 3760, 3764, 3768, 3772, 3776, 3780, 3784, 3791, - 3790, 3805, 3804, 3820, 3828, 3837, 3841, 3845, 3850, 3855, - 3863, 3866, 3867, 3873, 3874, 3880, 3881, 3885, 3889, 3893, - 3897, 3901, 3905, 3909, 3913, 3917, 3918, 3922, 3926, 3933, - 3938, 3943, 3948, 3953, 3961, 3965, 3972, 3976, 3984, 3988, - 3995, 3999, 4003, 4010, 4014, 4021, 4026, 4031, 4039, 4043, - 4048, 4055, 4061, 4068, 4071, 4075, 4076, 4079, 4083, 4086, - 4090, 4093, 4094, 4095, 4096, 4099, 4100, 4106, 4111, 4116, - 4121, 4127, 4128, 4134, 4140, 4139, 4151, 4155, 4161, 4165, - 4171, 4180, 4191, 4194, 4195, 4198, 4204, 4210, 4211, 4214, - 4221, 4220, 4235, 4239, 4247, 4251, 4263, 4270, 4277, 4278, - 4279, 4280, 4281, 4285, 4291, 4295, 4303, 4304, 4305, 4309, - 4315, 4319, 4323, 4327, 4331, 4337, 4341, 4347, 4351, 4355, - 4359, 4363, 4367, 4371, 4379, 4386, 4392, 4393, 4397, 4401, - 4400, 4417, 4418, 4421, 4427, 4431, 4437, 4438, 4442, 4446, - 4452, 4456, 4462, 4468, 4475, 4481, 4488, 4492, 4498, 4502, - 4508, 4509, 4512, 4516, 4522, 4526, 4530, 4534, 4540, 4545, - 4550, 4554, 4558, 4562, 4566, 4570, 4574, 4578, 4582, 4586, - 4590, 4594, 4598, 4602, 4607, 4613, 4618, 4623, 4628, 4633, - 4640, 4644, 4651, 4656, 4655, 4667, 4671, 4677, 4685, 4693, - 4701, 4705, 4711, 4715, 4721, 4722, 4725, 4730, 4737, 4738, - 4741, 4745, 4751, 4755, 4761, 4767, 4767, 4774, 4775, 4781, - 4785, 4791, 4797, 4802, 4806, 4811, 4816, 4832, 4837, 4843, - 4844, 4845, 4848, 4849, 4850, 4851, 4854, 4855, 4856, 4859, - 4860, 4863, 4867, 4873, 4874, 4880, 4881, 4884, 4885, 4888, - 4891, 4892, 4893, 4896, 4897, 4900, 4905, 4908, 4909, 4913 + 2764, 2765, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, + 2774, 2775, 2776, 2777, 2778, 2779, 2780, 2781, 2784, 2784, + 2784, 2785, 2785, 2786, 2786, 2786, 2787, 2787, 2787, 2787, + 2788, 2788, 2788, 2789, 2789, 2789, 2790, 2790, 2790, 2790, + 2791, 2791, 2791, 2791, 2792, 2792, 2792, 2792, 2793, 2793, + 2793, 2793, 2794, 2794, 2794, 2794, 2795, 2795, 2798, 2802, + 2806, 2810, 2814, 2818, 2822, 2827, 2832, 2837, 2841, 2845, + 2849, 2853, 2857, 2861, 2865, 2869, 2873, 2877, 2881, 2885, + 2889, 2893, 2897, 2901, 2905, 2909, 2913, 2917, 2921, 2925, + 2929, 2933, 2937, 2941, 2945, 2949, 2953, 2957, 2961, 2965, + 2969, 2973, 2977, 2981, 2985, 2994, 3003, 3012, 3021, 3027, + 3028, 3032, 3036, 3042, 3046, 3053, 3057, 3066, 3083, 3084, + 3087, 3088, 3089, 3093, 3097, 3103, 3108, 3112, 3116, 3120, + 3126, 3126, 3137, 3141, 3147, 3151, 3157, 3160, 3165, 3169, + 3173, 3178, 3182, 3188, 3193, 3197, 3203, 3204, 3208, 3212, + 3213, 3214, 3215, 3216, 3221, 3220, 3232, 3236, 3231, 3241, + 3241, 3245, 3249, 3253, 3257, 3261, 3265, 3269, 3273, 3277, + 3281, 3285, 3286, 3292, 3299, 3291, 3312, 3320, 3328, 3328, + 3328, 3335, 3335, 3335, 3342, 3348, 3352, 3361, 3370, 3380, + 3382, 3379, 3391, 3389, 3407, 3412, 3405, 3429, 3427, 3443, + 3453, 3464, 3468, 3472, 3476, 3482, 3489, 3490, 3491, 3494, + 3495, 3498, 3499, 3507, 3508, 3514, 3518, 3521, 3525, 3529, + 3533, 3538, 3542, 3546, 3550, 3556, 3555, 3565, 3569, 3573, + 3577, 3583, 3588, 3593, 3597, 3601, 3605, 3609, 3613, 3617, + 3621, 3625, 3629, 3633, 3637, 3641, 3645, 3649, 3655, 3660, + 3667, 3667, 3671, 3676, 3682, 3686, 3692, 3693, 3696, 3701, + 3704, 3708, 3714, 3718, 3725, 3724, 3741, 3746, 3750, 3755, + 3762, 3766, 3770, 3774, 3778, 3782, 3786, 3790, 3794, 3801, + 3800, 3815, 3814, 3830, 3838, 3847, 3851, 3855, 3860, 3865, + 3874, 3875, 3879, 3883, 3887, 3891, 3898, 3902, 3909, 3913, + 3919, 3920, 3926, 3927, 3933, 3934, 3938, 3942, 3946, 3950, + 3954, 3958, 3962, 3966, 3970, 3971, 3972, 3979, 3983, 3990, + 3995, 4000, 4005, 4010, 4018, 4022, 4029, 4033, 4041, 4045, + 4052, 4056, 4060, 4067, 4071, 4078, 4083, 4088, 4096, 4100, + 4105, 4112, 4118, 4125, 4128, 4132, 4133, 4136, 4140, 4143, + 4147, 4150, 4151, 4152, 4153, 4156, 4157, 4163, 4168, 4173, + 4178, 4184, 4185, 4191, 4197, 4196, 4208, 4212, 4218, 4222, + 4228, 4237, 4248, 4251, 4252, 4255, 4261, 4267, 4268, 4271, + 4278, 4277, 4292, 4296, 4304, 4308, 4320, 4327, 4334, 4335, + 4336, 4337, 4338, 4342, 4348, 4352, 4360, 4361, 4362, 4366, + 4372, 4376, 4380, 4384, 4388, 4394, 4398, 4404, 4408, 4412, + 4416, 4420, 4424, 4428, 4436, 4443, 4449, 4450, 4454, 4458, + 4457, 4474, 4475, 4478, 4484, 4488, 4494, 4495, 4499, 4503, + 4509, 4513, 4519, 4525, 4532, 4538, 4545, 4549, 4555, 4559, + 4565, 4566, 4569, 4573, 4579, 4583, 4587, 4591, 4597, 4602, + 4607, 4611, 4615, 4619, 4623, 4627, 4631, 4635, 4639, 4643, + 4647, 4651, 4655, 4659, 4664, 4670, 4675, 4680, 4685, 4690, + 4697, 4701, 4708, 4713, 4712, 4724, 4728, 4734, 4742, 4750, + 4758, 4762, 4768, 4772, 4778, 4779, 4782, 4787, 4794, 4795, + 4798, 4802, 4808, 4812, 4818, 4824, 4824, 4831, 4832, 4838, + 4842, 4848, 4854, 4859, 4863, 4868, 4873, 4889, 4894, 4900, + 4901, 4902, 4905, 4906, 4907, 4908, 4911, 4912, 4913, 4916, + 4917, 4920, 4924, 4930, 4931, 4937, 4938, 4941, 4942, 4945, + 4948, 4949, 4950, 4953, 4954, 4957, 4962, 4965, 4966, 4970 }; #endif @@ -3107,12 +3120,12 @@ static const char *const yytname[] = "opt_block_param", "$@25", "block_param_def", "opt_bv_decl", "bv_decls", "bvar", "f_larglist", "lambda_body", "@26", "do_block", "block_call", "method_call", "@27", "brace_block", "@28", "case_body", "cases", - "in_clauses", "p_expr", "p_as", "p_alt", "p_value", "p_array", - "p_array_body", "p_array_elems", "p_rest", "p_hash", "p_hash_body", - "p_hash_elems", "p_hash_elem", "p_kwrest", "p_var", "opt_rescue", - "exc_list", "exc_var", "opt_ensure", "literal", "string", - "string_fragment", "string_rep", "string_interp", "@29", "xstring", - "regexp", "heredoc", "heredoc_bodies", "heredoc_body", + "in_clauses", "p_expr", "p_args_head", "p_args_post", "p_as", "p_alt", + "p_value", "p_array", "p_array_body", "p_array_elems", "p_rest", + "p_hash", "p_hash_body", "p_hash_elems", "p_hash_elem", "p_kwrest", + "p_var", "opt_rescue", "exc_list", "exc_var", "opt_ensure", "literal", + "string", "string_fragment", "string_rep", "string_interp", "@29", + "xstring", "regexp", "heredoc", "heredoc_bodies", "heredoc_body", "heredoc_string_rep", "heredoc_string_interp", "@30", "words", "symbol", "basic_symbol", "sym", "symbols", "numeric", "variable", "var_lhs", "var_ref", "backref", "superclass", "$@31", "f_opt_arglist_paren", @@ -3134,12 +3147,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-984) +#define YYPACT_NINF (-948) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-670) +#define YYTABLE_NINF (-680) #define yytable_value_is_error(Yyn) \ ((Yyn) == YYTABLE_NINF) @@ -3148,126 +3161,127 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - -984, 4661, 137, 9967, 12756, 13212, 8405, -984, 11737, 11737, - -984, -984, 12870, 9445, 8021, 10203, 10203, -984, -984, 10203, - 5182, 4774, -984, -984, -984, -984, -68, 9445, -984, 23, - -984, -984, -984, 3462, 4152, -984, -984, 8547, -984, -984, - -984, -984, -984, -984, -984, 76, 11855, 11855, 11855, 11855, - 119, 6842, 630, 10675, 11029, 1791, -984, 9163, 273, 1052, - 1061, 463, 1258, -984, 183, 11973, 11855, -984, 1520, -984, - 981, -984, 477, 1589, 1589, -984, -984, 149, 124, -984, - 105, 12984, -984, 129, 15592, 321, 648, 172, 63, -984, - 237, -984, -984, -984, -984, -984, -984, -984, -984, -984, - 280, 118, -984, 307, 146, -984, -984, -984, -984, -984, - -984, 164, 164, -68, 91, 497, -984, 11737, 104, 6961, - 481, 1947, 1947, -984, 186, -984, 827, -984, -984, 146, - -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, - -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, - -984, -984, -984, -984, -984, -984, -984, -984, 68, 99, - 154, 168, -984, -984, -984, -984, -984, -984, 170, 215, - 216, 224, -984, 233, -984, -984, -984, -984, -984, -984, - -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, - -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, - -984, -984, -984, -984, -984, -984, -984, -984, -984, 253, - 5874, 275, 477, 1589, 1589, 75, 220, 15716, 886, 135, - 257, 140, 75, 11737, 11737, 972, 301, -984, -984, 974, - 339, 29, 74, -984, -984, -984, -984, -984, -984, -984, - -984, -984, 9304, -984, -984, 240, -984, -984, -984, -984, - -984, -984, 1520, -984, 744, -984, 390, -984, -984, 1520, - 4910, 122, 11855, 11855, 11855, 11855, -984, 15654, -984, -984, - 255, 362, 255, -984, -984, -984, 10321, -984, -984, 10203, - -984, -984, -984, -984, 8021, 8259, -984, 286, 7080, -984, - 1057, 347, 15778, 15778, 482, 10085, 6842, 282, 1520, 981, - 1520, 337, -984, 10085, 1520, 319, 1244, 1244, -984, 15654, - 325, 1244, -984, 411, 13326, 333, 1161, 1192, 1205, 2259, - -984, -984, -984, -984, -984, 1452, -984, -984, -984, -984, - -984, -984, 841, 1530, -984, -984, 1448, -984, 1190, -984, - 1537, -984, 1540, 407, 417, -984, -984, -984, -984, 7345, - 11737, 11737, 11737, 11737, 10085, 11737, 11737, 57, -984, -984, - -984, -984, 434, 1520, -984, -984, -984, -984, -984, -984, - -984, 2078, 373, 408, 5874, 11855, -984, 378, 500, 424, - -984, 1520, -984, -984, -984, 428, 11855, -984, 430, 502, - 451, 545, -984, -984, 485, 5874, -984, -984, 11147, -984, - 6842, 4303, 465, 11147, 11855, 11855, 11855, 11855, 11855, 11855, - 11855, 11855, 11855, 11855, 11855, 11855, 11855, 11855, 558, 11855, - 11855, 11855, 11855, 11855, 11855, 11855, 11855, 11855, 11855, 11855, - 11855, 1453, -984, 10203, -984, 3273, -984, -984, 15000, -984, - -984, -984, -984, 11973, 11973, -984, 530, -984, 477, -984, - 1330, -984, -984, -984, -984, -984, -984, 3753, 10203, 3887, - 5874, 11737, -984, -984, -984, 616, 620, 291, 518, 524, - -984, 6020, 631, 11855, 4479, 10203, 13968, 11855, 11855, 6458, - 34, 34, 110, 14054, 10203, 14140, -984, 585, -984, 7080, - 166, -984, -984, 11265, 638, -984, 11855, 11855, 15716, 15716, - 15716, 11855, -984, -984, 10439, -984, 11855, -984, 10793, 8140, - 515, 1520, 255, 255, -984, -984, 287, 516, -984, -984, - -984, 9445, 6577, 527, 4479, 13968, 11855, 981, 1520, -984, - -984, 7464, 528, 981, -984, -984, 10911, -984, 1520, 11029, - -984, -984, -984, 1330, 105, 13326, -984, 13326, 14226, 10203, - 14312, 1675, -984, -984, 535, -984, 1546, 7080, 841, -984, - -984, -984, -984, -984, -984, -984, 11855, 11855, -984, -984, - -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, - 1567, 1520, 1520, 537, 11973, 657, 15716, 554, -984, -984, - -984, 18, -984, -984, 2190, -984, 15716, 1675, -984, -984, - 2373, -984, -984, 11973, 678, 16, 11855, -984, 2446, 255, - -984, 1520, 13326, 562, -984, -984, -984, 656, 588, 2557, - -984, -984, 1333, 315, 15858, 15858, 15858, 15858, 1780, 1780, - 15868, 15796, 15858, 15858, 15778, 15778, 1633, 1633, -984, 347, - 15716, 1780, 1780, 1703, 1703, 1786, 227, 227, 347, 347, - 347, 5318, 8903, 5590, 9021, -984, 164, -984, 578, 255, - 602, -984, 650, -984, -984, 5046, -984, -984, 2236, 16, - 16, -984, 2876, -984, -984, -984, -984, -984, 1520, 11737, - 5874, 808, 573, -984, 164, 587, 164, 699, 287, 9586, - -984, 11383, 708, -984, 11855, 11855, 559, -984, 8665, 8784, - 589, 326, 377, 708, -984, -984, -984, -984, 109, 126, - 592, 132, 139, 11737, 9445, 596, 13440, 721, 15716, 466, - -984, 15716, 15716, 15716, 805, 11855, 15654, -984, 255, 15716, - -984, -984, -984, -984, 10557, 10793, -984, -984, -984, 601, - -984, -984, 292, 981, 1520, 1244, 465, -984, 808, 573, - 609, 911, 952, -984, 127, 1675, -984, 613, -984, 347, - 347, -984, -984, 942, 1520, 614, -984, -984, 2316, 716, - 3096, -984, 709, 434, -984, 424, -984, 1520, -984, -984, - 623, 625, 628, -984, 635, 709, 628, 737, 4346, -984, - -984, 1675, 5874, -984, -984, 15379, 11501, -984, -984, 13326, - 10085, 11973, 11855, 14398, 10203, 14484, 1009, 11973, 11973, -984, - 530, 651, 10439, 11973, 11973, -984, 530, 63, 149, 5874, - 7080, 16, -984, 1520, 769, -984, -984, -984, -984, 2446, - -984, 697, -984, 6723, 780, -984, 11737, 784, -984, 11855, - 11855, 389, 11855, 11855, 792, 7226, 7226, 162, 34, -984, - -984, 12290, 12370, 12450, 12022, 12116, 12210, 755, 9727, 9848, - 1335, 888, -984, 69, -984, -984, -984, -984, 12530, 12610, - -984, 11619, 6166, 15716, -984, 8140, 255, -984, -984, -984, - 617, 669, 1744, 5874, 7080, -984, -984, -984, 674, -984, - 1653, 1520, 11855, 11855, -984, -984, 1675, -984, 2373, -984, - 2373, -984, 2373, -984, -984, 11855, 11855, -984, -984, -984, - 13554, -984, 679, 424, 683, 13554, -984, 693, 701, -984, - 824, 11855, 15450, -984, -984, 15716, 5454, 5726, 700, 438, - 469, 11855, 11855, -984, -984, -984, -984, -984, 11973, -984, - -984, -984, -984, -984, -984, -984, 829, 707, 7080, 5874, - -984, -984, 13668, 75, -984, -984, 7226, -984, -984, 75, - -984, 11855, -984, 839, 840, -984, 1330, 13716, 801, 7583, - -984, 1341, -984, 720, 723, 730, 61, 7729, -984, 739, - 738, -984, -984, 15303, 14570, 11737, 11737, 6312, 828, 13440, - 15716, 202, -984, 10793, -984, 1017, 870, 756, 1643, 1643, - 1129, -984, 15716, 15716, 628, 757, 628, 628, 15716, 15716, - 774, 779, 860, 1343, 554, -984, -984, 1225, -984, 1343, - 1675, -984, 2373, -984, -984, 15521, 473, 15716, 15716, -984, - -984, -984, -984, 782, 915, 871, -984, 1359, 1192, 1205, - 5874, -984, 6020, -984, -984, 7226, 15149, 13793, 14656, -984, - 13098, 13440, 7875, 15226, 13870, -984, 399, 13440, 789, 573, - 75, 75, 184, -984, -984, -984, -984, -984, -984, 797, - -984, -984, -984, -984, 800, 800, 1643, 815, -984, 2373, - -984, -984, -984, -984, -984, -984, 14742, -984, 424, 554, - -984, -984, 821, 823, 842, -984, 847, 842, -984, -984, - 1330, 14828, 10203, 14914, 620, 559, 951, 15072, 919, -984, - 850, 852, -984, 914, 374, -984, -984, 889, -984, 6312, - 6312, 13440, -984, 990, 1017, 805, 1643, 800, 1643, 628, - 868, -984, 1675, -984, 2373, -984, 2373, -984, 2373, -984, - -984, 808, 573, 876, 643, 694, -984, -984, -984, -984, - 13440, 13440, 13440, -984, -984, 184, 184, 900, -984, -984, - 800, -984, 842, 893, 842, 842, 617, 852, 1013, 1015, - 11737, 11737, 6312, -984, 2373, -984, -984, -984, -984, -984, - 75, 75, 184, 842, 6312, 6312, -984, -984, 184, 184, - -984, -984 + -948, 4465, 180, 10159, 12968, 13424, 8209, -948, 11929, 11929, + -948, -948, 13082, 9391, 7825, 10395, 10395, -948, -948, 10395, + 4986, 4578, -948, -948, -948, -948, 46, 9391, -948, -26, + -948, -948, -948, 8351, 4072, -948, -948, 8493, -948, -948, + -948, -948, -948, -948, -948, 424, 12047, 12047, 12047, 12047, + 187, 6646, 814, 10867, 11221, 9673, -948, 9109, 1428, 1058, + 1155, 1544, 1557, -948, 222, 12165, 12047, -948, 1226, -948, + 1669, -948, 363, 1936, 1936, -948, -948, 227, 132, -948, + 145, 13196, -948, 183, 16081, 321, 451, 58, 80, -948, + 436, -948, -948, -948, -948, -948, -948, -948, -948, -948, + 47, 197, -948, 237, 40, -948, -948, -948, -948, -948, + -948, 170, 170, 46, 618, 885, -948, 11929, 251, 6765, + 269, 2216, 2216, -948, 200, -948, 484, -948, -948, 40, + -948, -948, -948, -948, -948, -948, -948, -948, -948, -948, + -948, -948, -948, -948, -948, -948, -948, -948, -948, -948, + -948, -948, -948, -948, -948, -948, -948, -948, 60, 63, + 87, 151, -948, -948, -948, -948, -948, -948, 172, 219, + 225, 228, -948, 240, -948, -948, -948, -948, -948, -948, + -948, -948, -948, -948, -948, -948, -948, -948, -948, -948, + -948, -948, -948, -948, -948, -948, -948, -948, -948, -948, + -948, -948, -948, -948, -948, -948, -948, -948, -948, 243, + 5678, 262, 363, 1936, 1936, 419, 229, 16205, 571, 433, + 263, 489, 419, 11929, 11929, 631, 314, -948, -948, 729, + 364, 104, 109, -948, -948, -948, -948, -948, -948, -948, + -948, -948, 9250, -948, -948, 252, -948, -948, -948, -948, + -948, -948, 1226, -948, 597, -948, 376, -948, -948, 1226, + 4714, 128, 12047, 12047, 12047, 12047, -948, 16143, -948, -948, + 266, 358, 266, -948, -948, -948, 10513, -948, -948, 10395, + -948, -948, -948, -948, 7825, 8063, -948, 289, 6884, -948, + 770, 335, 3072, 3072, 291, 10277, 6646, 306, 1226, 1669, + 1226, 334, -948, 10277, 1226, 323, 753, 753, -948, 16143, + 327, 753, -948, 427, 13538, 343, 849, 896, 897, 1991, + -948, -948, -948, -948, -948, 1565, -948, -948, -948, -948, + -948, -948, 657, 1588, -948, -948, 1218, -948, 1240, -948, + 1620, -948, 1667, 390, 397, -948, -948, -948, -948, 7149, + 11929, 11929, 11929, 11929, 10277, 11929, 11929, 112, -948, -948, + -948, -948, 460, 1226, -948, -948, -948, -948, -948, -948, + -948, 2206, 418, 423, 5678, 12047, -948, 394, 500, 413, + -948, 1226, -948, -948, -948, 435, 12047, -948, 445, 548, + 450, 564, -948, -948, 481, 5678, -948, -948, 11339, -948, + 6646, 9787, 476, 11339, 12047, 12047, 12047, 12047, 12047, 12047, + 12047, 12047, 12047, 12047, 12047, 12047, 12047, 12047, 572, 12047, + 12047, 12047, 12047, 12047, 12047, 12047, 12047, 12047, 12047, 12047, + 12047, 3547, -948, 10395, -948, 4276, -948, -948, 15356, -948, + -948, -948, -948, 12165, 12165, -948, 557, -948, 363, -948, + 957, -948, -948, -948, -948, -948, -948, 14066, 10395, 14152, + 5678, 11929, -948, -948, -948, 635, 644, 496, 542, 553, + -948, 5824, 665, 12047, 14238, 10395, 14324, 12047, 12047, 6262, + 192, 192, 110, 14410, 10395, 14496, -948, 630, -948, 6884, + 239, -948, -948, 11457, 679, -948, 12047, 12047, 16205, 16205, + 16205, 12047, -948, -948, 10631, -948, 12047, -948, 10985, 7944, + 552, 1226, 266, 266, -948, -948, 1207, 555, -948, -948, + -948, 9391, 6381, 565, 14238, 14324, 12047, 1669, 1226, -948, + -948, 7268, 578, 1669, -948, -948, 11103, -948, 1226, 11221, + -948, -948, -948, 957, 145, 13538, -948, 13538, 14582, 10395, + 14668, 1809, -948, -948, 582, -948, 1684, 6884, 657, -948, + -948, -948, -948, -948, -948, -948, 12047, 12047, -948, -948, + -948, -948, -948, -948, -948, -948, -948, -948, -948, -948, + 1757, 1226, 1226, 583, 12165, 717, 16205, 347, -948, -948, + -948, 69, -948, -948, 2227, -948, 16205, 1809, -948, -948, + 2398, -948, -948, 12165, 725, 83, 12047, -948, 15797, 266, + -948, 1226, 13538, 599, -948, -948, -948, 700, 628, 1871, + -948, -948, 980, 511, 3174, 3174, 3174, 3174, 1741, 1741, + 3678, 2700, 3174, 3174, 3072, 3072, 1657, 1657, -948, 335, + 16205, 1741, 1741, 1801, 1801, 1885, 292, 292, 335, 335, + 335, 5122, 8849, 5394, 8967, -948, 170, -948, 613, 266, + 389, -948, 480, -948, -948, 4850, -948, -948, 2367, 83, + 83, -948, 2870, -948, -948, -948, -948, -948, 1226, 11929, + 5678, 1343, 495, -948, 170, 614, 170, 748, 1207, 9532, + -948, 11575, 752, -948, 12047, 12047, 490, -948, 8611, 8730, + 625, 533, 538, 752, -948, -948, -948, -948, 59, 95, + 632, 130, 134, 11929, 9391, 642, 12854, 768, 16205, 1419, + -948, 16205, 16205, 16205, 920, 12047, 16143, -948, 266, 16205, + -948, -948, -948, -948, 10749, 10985, -948, -948, -948, 646, + -948, -948, 45, 1669, 1226, 753, 476, -948, 1343, 495, + 647, 1408, 1436, -948, 86, 1809, -948, 648, -948, 335, + 335, -948, -948, 351, 1226, 656, -948, -948, 2478, 755, + 3659, -948, 747, 460, -948, 413, -948, 1226, -948, -948, + 668, 669, 675, -948, 681, 747, 675, 785, 15428, -948, + -948, 1809, 5678, -948, -948, 15868, 11693, -948, -948, 13538, + 10277, 12165, 12047, 14754, 10395, 14840, 522, 12165, 12165, -948, + 557, 541, 10631, 12165, 12165, -948, 557, 80, 227, 5678, + 6884, 83, -948, 1226, 816, -948, -948, -948, -948, 15797, + -948, 742, -948, 6527, 828, -948, 11929, 829, -948, 12047, + 12047, 551, 12047, 12047, 834, 7030, 7030, 136, 192, -948, + -948, 12388, 12468, 12548, 3252, 12214, 12308, 795, 9901, 10040, + 808, 810, 1103, 142, 12854, 155, 53, -948, -948, 611, + -948, -948, 12628, 12708, -948, 11811, 5970, 16205, -948, 7944, + 266, -948, -948, -948, 290, 728, 1336, 5678, 6884, -948, + -948, -948, 720, -948, 1955, 1226, 12047, 12047, -948, -948, + 1809, -948, 2398, -948, 2398, -948, 2398, -948, -948, 12047, + 12047, -948, -948, -948, 13652, -948, 735, 413, 736, 13652, + -948, 740, 741, -948, 872, 12047, 15939, -948, -948, 16205, + 5258, 5530, 750, 568, 585, 12047, 12047, -948, -948, -948, + -948, -948, 12165, -948, -948, -948, -948, -948, -948, -948, + 879, 765, 6884, 5678, -948, -948, 13766, 419, -948, -948, + 7030, -948, -948, 419, -948, 12047, -948, 890, 892, -948, + 957, 13814, 859, 7533, -948, 1126, -948, 777, 784, 786, + 50, 7679, -948, 788, 794, -948, -948, 15721, -948, -948, + 14926, 11929, 11929, 6116, 697, 825, -948, 886, 13310, 13310, + 16205, 182, -948, 10985, -948, 1666, 915, 799, 2017, 2017, + 965, -948, 16205, 16205, 675, 800, 675, 675, 16205, 16205, + 815, 819, 891, 1173, 347, -948, -948, 2101, -948, 1173, + 1809, -948, 2398, -948, -948, 16010, 607, 16205, 16205, -948, + -948, -948, -948, 809, 934, 900, -948, 1228, 896, 897, + 5678, -948, 5824, -948, -948, 7030, 15567, 13891, 15012, -948, + 12854, 13310, 7387, 15644, 13968, -948, 194, 12854, 807, 495, + 419, 419, 168, -948, 13310, -948, -948, 1370, -948, -948, + -948, -948, -948, 821, -948, -948, -948, -948, 827, 827, + 2017, 830, -948, 2398, -948, -948, -948, -948, -948, -948, + 15098, -948, 413, 347, -948, -948, 832, 837, 840, -948, + 843, 840, -948, -948, 957, 15184, 10395, 15270, 644, 490, + 946, 15490, -948, 846, 855, -948, 913, 140, -948, -948, + 906, -948, 6116, 6116, 12854, -948, 991, 1381, 13310, 1666, + 920, 2017, 827, 2017, 675, 865, -948, 1809, -948, 2398, + -948, 2398, -948, 2398, -948, -948, 1343, 495, 870, 706, + 1487, -948, -948, -948, 13310, 13310, 12854, -948, -948, 168, + 168, 1245, -948, -948, -948, 827, -948, 840, 871, 840, + 840, 290, 855, 999, 1007, 11929, 11929, 6116, -948, 2398, + -948, -948, -948, -948, -948, 419, 419, 168, 840, 6116, + 6116, -948, -948, 168, 168, -948, -948 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -3276,18 +3290,18 @@ static const yytype_int16 yypact[] = static const yytype_int16 yydefact[] = { 2, 0, 0, 0, 0, 0, 0, 294, 0, 0, - 318, 321, 0, 0, 655, 341, 342, 343, 344, 306, - 270, 270, 540, 539, 541, 542, 657, 0, 10, 0, - 544, 543, 545, 530, 641, 532, 531, 534, 533, 526, - 527, 487, 488, 546, 547, 538, 0, 0, 0, 0, - 0, 0, 296, 669, 669, 88, 313, 0, 0, 0, - 0, 0, 0, 502, 0, 0, 0, 3, 655, 6, - 9, 27, 33, 594, 594, 49, 60, 59, 0, 76, + 318, 321, 0, 0, 665, 341, 342, 343, 344, 306, + 270, 270, 550, 549, 551, 552, 667, 0, 10, 0, + 554, 553, 555, 540, 651, 542, 541, 544, 543, 536, + 537, 497, 498, 556, 557, 548, 0, 0, 0, 0, + 0, 0, 296, 679, 679, 88, 313, 0, 0, 0, + 0, 0, 0, 512, 0, 0, 0, 3, 665, 6, + 9, 27, 33, 604, 604, 49, 60, 59, 0, 76, 0, 80, 90, 0, 54, 248, 0, 61, 311, 286, - 287, 485, 288, 289, 290, 483, 482, 514, 484, 481, - 537, 0, 291, 292, 270, 5, 1, 8, 341, 342, - 306, 669, 417, 0, 113, 114, 538, 0, 0, 0, - 0, 594, 594, 116, 548, 345, 0, 537, 292, 0, + 287, 495, 288, 289, 290, 493, 492, 524, 494, 491, + 547, 0, 291, 292, 270, 5, 1, 8, 341, 342, + 306, 679, 417, 0, 113, 114, 548, 0, 0, 0, + 0, 604, 604, 116, 558, 345, 0, 547, 292, 0, 337, 168, 178, 169, 165, 194, 195, 196, 197, 176, 191, 184, 174, 173, 189, 172, 171, 167, 192, 166, 179, 183, 185, 177, 170, 186, 193, 188, 187, 180, @@ -3295,131 +3309,132 @@ static const yytype_int16 yydefact[] = 160, 118, 120, 119, 153, 154, 131, 132, 133, 140, 137, 139, 134, 135, 155, 156, 141, 142, 146, 149, 150, 136, 138, 128, 129, 130, 143, 144, 145, 147, - 148, 151, 152, 157, 625, 55, 121, 122, 624, 0, - 0, 0, 58, 594, 594, 0, 0, 54, 0, 537, + 148, 151, 152, 157, 635, 55, 121, 122, 634, 0, + 0, 0, 58, 604, 604, 0, 0, 54, 0, 547, 0, 292, 0, 0, 0, 112, 0, 356, 355, 0, - 0, 537, 292, 187, 180, 190, 175, 158, 159, 160, - 118, 119, 0, 123, 125, 20, 124, 505, 510, 509, - 663, 665, 655, 666, 0, 507, 0, 667, 664, 656, - 639, 538, 278, 638, 273, 0, 265, 277, 74, 269, - 669, 485, 669, 629, 75, 73, 669, 259, 307, 0, - 72, 258, 416, 71, 655, 0, 18, 0, 0, 221, - 0, 222, 209, 212, 303, 0, 0, 0, 655, 15, - 655, 78, 14, 0, 655, 0, 660, 660, 249, 0, - 0, 660, 627, 0, 0, 86, 0, 96, 103, 594, - 520, 519, 521, 522, 516, 0, 518, 517, 489, 494, - 493, 496, 0, 0, 491, 498, 0, 500, 0, 512, - 0, 524, 0, 528, 529, 53, 236, 237, 4, 656, - 0, 0, 0, 0, 0, 0, 0, 601, 597, 596, - 595, 598, 599, 0, 603, 615, 570, 571, 619, 618, - 614, 594, 0, 556, 0, 563, 568, 669, 573, 669, - 593, 0, 600, 602, 605, 579, 0, 612, 579, 617, - 579, 621, 577, 552, 0, 0, 404, 406, 0, 92, + 0, 547, 292, 187, 180, 190, 175, 158, 159, 160, + 118, 119, 0, 123, 125, 20, 124, 515, 520, 519, + 673, 675, 665, 676, 0, 517, 0, 677, 674, 666, + 649, 548, 278, 648, 273, 0, 265, 277, 74, 269, + 679, 495, 679, 639, 75, 73, 679, 259, 307, 0, + 72, 258, 416, 71, 665, 0, 18, 0, 0, 221, + 0, 222, 209, 212, 303, 0, 0, 0, 665, 15, + 665, 78, 14, 0, 665, 0, 670, 670, 249, 0, + 0, 670, 637, 0, 0, 86, 0, 96, 103, 604, + 530, 529, 531, 532, 526, 0, 528, 527, 499, 504, + 503, 506, 0, 0, 501, 508, 0, 510, 0, 522, + 0, 534, 0, 538, 539, 53, 236, 237, 4, 666, + 0, 0, 0, 0, 0, 0, 0, 611, 607, 606, + 605, 608, 609, 0, 613, 625, 580, 581, 629, 628, + 624, 604, 0, 566, 0, 573, 578, 679, 583, 679, + 603, 0, 610, 612, 615, 589, 0, 622, 589, 627, + 589, 631, 587, 562, 0, 0, 404, 406, 0, 92, 0, 84, 81, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 211, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 652, 669, 651, 0, 654, 653, 0, 421, - 419, 312, 486, 0, 0, 410, 65, 310, 334, 113, - 114, 115, 528, 529, 556, 549, 332, 0, 669, 0, - 0, 0, 650, 649, 56, 0, 669, 303, 0, 0, - 347, 0, 346, 0, 0, 669, 0, 0, 0, 0, - 0, 0, 303, 0, 669, 0, 329, 0, 126, 0, - 0, 506, 508, 0, 0, 668, 633, 634, 279, 637, - 272, 0, 657, 266, 0, 275, 0, 267, 0, 655, - 0, 655, 669, 669, 260, 271, 655, 0, 309, 52, - 658, 0, 0, 0, 0, 0, 0, 17, 655, 301, - 13, 656, 77, 297, 300, 304, 662, 250, 661, 662, - 252, 305, 628, 102, 94, 0, 89, 0, 0, 669, - 0, 594, 314, 401, 579, 523, 0, 0, 497, 503, - 490, 492, 499, 501, 513, 525, 0, 0, 7, 21, - 22, 23, 24, 25, 50, 51, 560, 607, 561, 559, - 0, 655, 655, 579, 0, 0, 562, 0, 575, 623, - 572, 0, 576, 557, 0, 586, 608, 0, 589, 616, - 0, 591, 620, 0, 0, 669, 278, 28, 30, 0, - 31, 655, 0, 82, 93, 48, 34, 46, 0, 253, + 0, 0, 662, 679, 661, 0, 664, 663, 0, 421, + 419, 312, 496, 0, 0, 410, 65, 310, 334, 113, + 114, 115, 538, 539, 566, 559, 332, 0, 679, 0, + 0, 0, 660, 659, 56, 0, 679, 303, 0, 0, + 347, 0, 346, 0, 0, 679, 0, 0, 0, 0, + 0, 0, 303, 0, 679, 0, 329, 0, 126, 0, + 0, 516, 518, 0, 0, 678, 643, 644, 279, 647, + 272, 0, 667, 266, 0, 275, 0, 267, 0, 665, + 0, 665, 679, 679, 260, 271, 665, 0, 309, 52, + 668, 0, 0, 0, 0, 0, 0, 17, 665, 301, + 13, 666, 77, 297, 300, 304, 672, 250, 671, 672, + 252, 305, 638, 102, 94, 0, 89, 0, 0, 679, + 0, 604, 314, 401, 589, 533, 0, 0, 507, 513, + 500, 502, 509, 511, 523, 535, 0, 0, 7, 21, + 22, 23, 24, 25, 50, 51, 570, 617, 571, 569, + 0, 665, 665, 589, 0, 0, 572, 0, 585, 633, + 582, 0, 586, 567, 0, 596, 618, 0, 599, 626, + 0, 601, 630, 0, 0, 679, 278, 28, 30, 0, + 31, 665, 0, 82, 93, 48, 34, 46, 0, 253, 198, 29, 0, 292, 226, 231, 232, 233, 228, 230, 240, 241, 234, 235, 207, 210, 238, 239, 32, 218, - 657, 227, 229, 223, 224, 225, 213, 214, 215, 216, - 217, 642, 647, 643, 648, 415, 270, 413, 0, 669, - 642, 644, 643, 645, 414, 270, 642, 643, 270, 669, - 669, 35, 253, 199, 45, 206, 63, 66, 0, 0, - 0, 113, 114, 117, 0, 0, 669, 0, 655, 0, - 295, 669, 669, 473, 0, 0, 669, 348, 646, 302, - 0, 642, 643, 669, 350, 319, 349, 322, 646, 302, - 0, 642, 643, 0, 0, 0, 0, 0, 277, 0, - 325, 632, 635, 631, 276, 281, 280, 274, 669, 636, - 630, 257, 255, 261, 262, 264, 308, 659, 19, 0, - 26, 205, 79, 16, 655, 660, 95, 87, 99, 101, - 0, 98, 100, 657, 0, 0, 515, 0, 504, 219, - 220, 601, 599, 364, 655, 357, 555, 553, 0, 41, - 244, 339, 0, 0, 569, 669, 622, 0, 578, 606, - 579, 579, 579, 613, 579, 601, 579, 43, 246, 340, + 667, 227, 229, 223, 224, 225, 213, 214, 215, 216, + 217, 652, 657, 653, 658, 415, 270, 413, 0, 679, + 652, 654, 653, 655, 414, 270, 652, 653, 270, 679, + 679, 35, 253, 199, 45, 206, 63, 66, 0, 0, + 0, 113, 114, 117, 0, 0, 679, 0, 665, 0, + 295, 679, 679, 483, 0, 0, 679, 348, 656, 302, + 0, 652, 653, 679, 350, 319, 349, 322, 656, 302, + 0, 652, 653, 0, 0, 0, 0, 0, 277, 0, + 325, 642, 645, 641, 276, 281, 280, 274, 679, 646, + 640, 257, 255, 261, 262, 264, 308, 669, 19, 0, + 26, 205, 79, 16, 665, 670, 95, 87, 99, 101, + 0, 98, 100, 667, 0, 0, 525, 0, 514, 219, + 220, 611, 609, 364, 665, 357, 565, 563, 0, 41, + 244, 339, 0, 0, 579, 679, 632, 0, 588, 616, + 589, 589, 589, 623, 589, 611, 589, 43, 246, 340, 392, 390, 0, 389, 388, 285, 0, 91, 85, 0, - 0, 0, 0, 0, 669, 0, 0, 0, 0, 412, + 0, 0, 0, 0, 679, 0, 0, 0, 0, 412, 69, 418, 262, 0, 0, 411, 67, 407, 62, 0, - 0, 669, 335, 0, 0, 418, 338, 626, 57, 474, - 475, 669, 476, 0, 669, 353, 0, 0, 351, 0, + 0, 679, 335, 0, 0, 418, 338, 636, 57, 484, + 485, 679, 486, 0, 679, 353, 0, 0, 351, 0, 0, 418, 0, 0, 0, 0, 0, 418, 0, 127, - 511, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 430, 431, 433, 445, 446, 435, 0, 0, - 324, 0, 0, 282, 268, 655, 669, 11, 298, 251, - 97, 0, 394, 0, 0, 315, 495, 365, 362, 604, - 0, 655, 0, 0, 574, 558, 0, 582, 0, 584, - 0, 590, 0, 587, 592, 0, 0, 387, 657, 657, - 565, 566, 669, 669, 372, 0, 610, 372, 372, 370, - 0, 281, 283, 83, 47, 254, 642, 643, 0, 642, - 643, 0, 0, 40, 203, 39, 204, 70, 0, 37, - 201, 38, 202, 68, 408, 409, 0, 0, 0, 0, - 550, 333, 0, 0, 478, 354, 0, 12, 480, 0, - 316, 0, 317, 0, 0, 330, 444, 0, 0, 0, - 448, 0, 454, 0, 449, 452, 530, 0, 459, 0, - 460, 463, 462, 0, 0, 0, 0, 0, 0, 0, - 280, 669, 256, 263, 400, 0, 0, 0, 0, 0, - 360, 554, 42, 245, 579, 579, 579, 579, 44, 247, - 0, 0, 0, 564, 0, 368, 369, 372, 380, 609, + 521, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 467, 0, 0, 0, 0, 0, 440, 442, 454, 0, + 455, 444, 0, 0, 324, 0, 0, 282, 268, 665, + 679, 11, 298, 251, 97, 0, 394, 0, 0, 315, + 505, 365, 362, 614, 0, 665, 0, 0, 584, 568, + 0, 592, 0, 594, 0, 600, 0, 597, 602, 0, + 0, 387, 667, 667, 575, 576, 679, 679, 372, 0, + 620, 372, 372, 370, 0, 281, 283, 83, 47, 254, + 652, 653, 0, 652, 653, 0, 0, 40, 203, 39, + 204, 70, 0, 37, 201, 38, 202, 68, 408, 409, + 0, 0, 0, 0, 560, 333, 0, 0, 488, 354, + 0, 12, 490, 0, 316, 0, 317, 0, 0, 330, + 453, 0, 0, 0, 458, 0, 464, 0, 459, 462, + 540, 0, 469, 0, 470, 473, 472, 0, 466, 456, + 0, 0, 0, 0, 0, 0, 436, 0, 0, 0, + 280, 679, 256, 263, 400, 0, 0, 0, 0, 0, + 360, 564, 42, 245, 589, 589, 589, 589, 44, 247, + 0, 0, 0, 574, 0, 368, 369, 372, 380, 619, 0, 383, 0, 385, 405, 284, 418, 243, 242, 36, - 200, 422, 420, 0, 0, 0, 477, 0, 104, 111, - 0, 479, 0, 320, 323, 0, 0, 0, 0, 447, - 0, 0, 0, 0, 0, 458, 0, 0, 646, 443, - 0, 0, 669, 432, 434, 424, 425, 423, 398, 657, - 396, 399, 403, 402, 366, 363, 0, 358, 583, 0, - 580, 585, 588, 393, 391, 303, 0, 567, 669, 0, - 371, 378, 372, 372, 372, 611, 372, 372, 64, 336, - 110, 0, 669, 0, 669, 669, 0, 0, 457, 455, - 450, 453, 465, 0, 470, 464, 461, 0, 467, 0, - 0, 0, 426, 0, 0, 395, 0, 361, 0, 579, - 302, 367, 0, 375, 0, 377, 0, 384, 0, 381, - 386, 107, 109, 0, 642, 643, 472, 352, 331, 456, - 0, 0, 466, 469, 468, 669, 669, 0, 326, 397, - 359, 581, 372, 372, 372, 372, 105, 451, 0, 0, - 0, 0, 0, 376, 0, 373, 379, 382, 327, 328, - 0, 0, 669, 372, 0, 0, 427, 374, 669, 669, - 428, 429 + 200, 422, 420, 0, 0, 0, 487, 0, 104, 111, + 0, 489, 0, 320, 323, 0, 0, 0, 0, 457, + 0, 0, 0, 0, 0, 468, 0, 0, 656, 452, + 0, 0, 679, 437, 0, 441, 443, 0, 438, 424, + 425, 423, 398, 667, 396, 399, 403, 402, 366, 363, + 0, 358, 593, 0, 590, 595, 598, 393, 391, 303, + 0, 577, 679, 0, 371, 378, 372, 372, 372, 621, + 372, 372, 64, 336, 110, 0, 679, 0, 679, 679, + 0, 0, 465, 460, 463, 475, 0, 480, 474, 471, + 0, 477, 0, 0, 0, 426, 0, 0, 0, 0, + 395, 0, 361, 0, 589, 302, 367, 0, 375, 0, + 377, 0, 384, 0, 381, 386, 107, 109, 0, 652, + 653, 482, 352, 331, 0, 0, 476, 479, 478, 679, + 679, 0, 326, 439, 397, 359, 591, 372, 372, 372, + 372, 105, 461, 0, 0, 0, 0, 0, 376, 0, + 373, 379, 382, 327, 328, 0, 0, 679, 372, 0, + 0, 427, 374, 679, 679, 428, 429 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -984, -984, -984, 521, -984, 38, -984, -167, 531, -984, - -984, 32, -328, -393, -5, 1148, -984, 1670, 2, -28, - -984, -984, -710, 13, 1028, -200, -33, -75, -290, -492, - -13, 2807, -61, 1042, 7, -15, -984, -984, 17, -984, - 3652, -984, 393, 19, 161, -373, 50, -984, 15, -395, - -225, 370, 6, -360, 261, -984, -984, -984, -984, -984, - -984, -984, -984, -984, -984, -984, -984, -984, -984, -984, - -984, 89, -212, -455, -55, -625, -984, -984, -984, 262, - -296, -984, -588, -984, -984, -317, -984, -59, -984, -984, - -984, 245, -984, -984, -984, -83, -984, -475, -984, -46, - -533, -984, -984, 78, -984, -984, -983, 30, -984, -984, - -984, 25, 26, -984, -7, -984, -984, -984, -984, -984, - 279, 66, -195, -984, -984, -984, -984, -984, -262, -984, - 848, -984, -984, 248, 4, -984, -984, 43, 2592, 2863, - 1099, 1934, -984, -984, -29, 479, 10, 425, 543, 94, - -984, -984, -984, 320, 181, -154, -242, -932, -717, -580, - -984, 294, -753, -570, -884, 116, -538, -984, -434, -984, - 327, -377, -984, -984, -984, 150, -459, 935, -352, -984, - -984, -79, -984, 20, -25, 295, -249, 208, -265, -20, - -1 + -948, -948, -948, 502, -948, 11, -948, -222, 207, -948, + -948, 64, -287, -313, 1, 1296, -948, 1674, -8, -62, + -948, -948, -635, 44, 1018, -132, -29, -32, -264, -491, + -31, 2637, -93, 1028, 14, -16, -948, -948, 21, -948, + 3445, -948, 952, 342, -60, -407, 67, -948, 19, -413, + -259, -40, 16, -367, 405, -948, -948, -948, -948, -948, + -948, -948, -948, -948, -948, -948, -948, -948, -948, -948, + -948, 89, -215, -460, -73, -579, -948, -948, -948, 257, + 221, -948, -537, -948, -948, -330, -948, -89, -948, -948, + -948, 233, -948, -948, -948, -84, -948, -478, -948, -390, + -646, -948, -20, -252, -948, 57, -948, -948, -942, -783, + -948, -948, -948, -5, -2, -948, -51, -948, -948, -948, + -948, -948, 904, 66, -195, -948, -948, -948, -948, -948, + -293, -948, 820, -948, -948, 580, 3, -948, -948, 754, + 2222, 2763, 1067, 1844, -948, -948, 13, 492, 0, 322, + 491, 55, -948, -948, -948, 79, 15, -223, -272, -947, + -719, -557, -948, 415, -695, -569, -916, 71, -532, -948, + -551, -948, 62, -341, -948, -948, -948, 26, -485, 781, + -374, -948, -948, -69, -948, 41, -24, 547, -278, 709, + -277, -63, -1 }; /* YYDEFGOTO[NTERM-NUM]. */ @@ -3431,20 +3446,20 @@ static const yytype_int16 yydefgoto[] = 82, 216, 123, 124, 243, 244, 245, 714, 654, 207, 84, 305, 620, 655, 278, 510, 511, 279, 280, 269, 503, 539, 659, 610, 85, 210, 303, 744, 304, 319, - 754, 223, 845, 224, 846, 713, 1045, 680, 678, 949, - 460, 290, 471, 705, 837, 1122, 230, 764, 998, 1090, - 1018, 908, 792, 909, 793, 881, 1069, 1070, 552, 885, - 605, 397, 87, 88, 670, 447, 669, 494, 1067, 1123, - 972, 862, 863, 864, 865, 973, 974, 975, 866, 979, - 980, 981, 982, 867, 692, 831, 953, 957, 89, 90, - 91, 333, 334, 557, 92, 93, 94, 558, 253, 254, - 255, 489, 95, 96, 97, 327, 98, 99, 219, 220, - 102, 221, 456, 679, 372, 373, 374, 375, 376, 911, - 912, 377, 378, 379, 778, 595, 381, 382, 383, 384, - 580, 385, 386, 387, 916, 917, 388, 389, 390, 391, - 392, 588, 209, 461, 310, 513, 273, 129, 684, 657, - 464, 459, 438, 517, 882, 518, 537, 257, 258, 259, - 302 + 754, 223, 845, 224, 846, 713, 1055, 680, 678, 953, + 460, 290, 471, 705, 837, 1135, 230, 764, 1008, 1104, + 1028, 912, 792, 913, 793, 885, 1083, 1084, 552, 889, + 605, 397, 87, 88, 670, 447, 669, 494, 1081, 1136, + 1125, 864, 1077, 865, 866, 867, 868, 977, 978, 869, + 870, 983, 984, 985, 986, 871, 692, 831, 957, 961, + 89, 90, 91, 333, 334, 557, 92, 93, 94, 558, + 253, 254, 255, 489, 95, 96, 97, 327, 98, 99, + 219, 220, 102, 221, 456, 679, 372, 373, 374, 375, + 376, 915, 916, 377, 378, 379, 778, 595, 381, 382, + 383, 384, 580, 385, 386, 387, 920, 921, 388, 389, + 390, 391, 392, 588, 209, 461, 310, 513, 273, 129, + 684, 657, 464, 459, 438, 517, 886, 518, 537, 257, + 258, 259, 302 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -3452,567 +3467,561 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 105, 285, 592, 212, 212, 441, 402, 435, 437, 212, - 479, 222, 286, 205, 779, 717, 252, 246, 301, 281, - 520, 270, 270, 206, 545, 270, 707, 783, 266, 266, - 206, 246, 266, 70, 256, 70, 283, 345, 915, 277, - 282, 107, 315, 621, 206, 394, 888, 507, 349, 730, - 671, 674, 308, 312, -104, 747, 780, 451, 540, 306, - 658, 704, 542, 1071, 326, 268, 274, 834, 1111, 275, - 559, 838, 393, 393, 206, 615, 284, 553, 844, 656, - 730, 819, 820, 665, 395, 685, 668, -639, 348, 439, - 86, 470, 86, 126, 126, 790, 528, 218, 218, -111, - 937, 229, 700, 218, 218, 218, 943, 686, 218, 727, - 281, 710, 448, 727, 576, 615, 615, -639, 1052, 446, - 798, 368, 656, 445, 665, 336, 338, 340, 342, 582, - 277, 282, 395, 686, -107, -110, 1095, 106, 561, 476, - 86, 561, 791, 561, 316, 561, 369, 561, 445, 247, - 485, -109, 248, 249, 218, 449, 883, -106, -540, 450, - 781, 288, 988, 784, -108, 272, 272, 1167, -536, 272, - 316, -96, 439, 686, 294, 779, 750, 396, 577, 497, - 250, -530, 251, 861, 468, 469, 493, -105, 779, -539, - 247, 716, 1071, 248, 249, 989, -530, -112, 686, -639, - 611, 440, 833, 307, 311, -639, 218, 585, 86, 1121, - 443, 525, 393, 393, -536, -540, -103, 780, 212, 212, - 833, 250, 493, 251, 395, 480, 481, -535, 604, -639, - 780, -530, 478, 948, 598, -639, 601, 550, -530, 544, - 884, 343, 344, -112, -541, 398, -539, 399, 1095, 326, - 403, -99, -102, -642, 380, 380, -104, 545, -542, 206, - -544, -111, 436, 301, 915, 125, 125, 915, -101, 505, - -643, 505, 490, 125, -98, 514, 730, 432, 531, 516, - 519, -100, 512, 1077, 440, 270, 538, 538, 507, 266, - 276, 538, 266, 687, 271, 271, 758, 41, 271, 86, - 42, -541, 380, 380, -97, -543, -545, 923, 276, 753, - 779, 455, 218, 218, -530, -542, 125, -544, 530, 434, - 779, 781, 545, -534, 355, 356, 783, 527, 419, 515, - 467, 830, 271, 271, 781, 533, 328, 329, 330, 727, - 727, 473, 125, 462, 58, 212, 212, 212, 212, 477, - 574, 575, 569, 570, 571, 572, 482, 918, 428, 429, - 430, 561, -543, -545, 486, 218, 1065, 301, 218, 442, - 607, -530, -535, 218, 218, 617, 589, 86, 589, 915, - -534, 70, 488, 526, 86, 86, 573, 568, 613, 331, - 332, 556, 86, 965, 380, 380, 683, 502, 894, 444, - 463, -104, 247, 316, 609, 248, 249, 444, 1153, 609, - 493, -345, -110, -77, 933, 617, 617, 727, 842, 506, - 939, 941, -96, 472, 522, 1154, -345, 529, -111, 272, - 472, 928, 514, 250, -91, 251, -111, 779, 86, 218, - 218, 218, 218, 86, 218, 218, 266, -106, 419, -103, - 1113, 656, 663, 665, 664, 663, 688, 514, -76, 520, - 535, -345, 1005, 86, 541, 693, 543, 495, -345, 843, - 746, 266, 544, 615, 514, 547, 663, 724, 664, 615, - 838, 961, 470, 514, 86, 615, 615, 218, 266, 86, - 316, 578, 622, 663, 584, 664, 879, 266, -108, 719, - 380, 1114, 663, 874, 664, 57, 738, 872, 566, 545, - -105, 505, 505, 824, 355, 356, 1066, 1109, 567, 1112, - 587, 105, 218, -640, 1118, 246, 339, 329, 330, -551, - 813, 733, 622, 622, 730, 1015, 1016, 544, 206, 452, - 453, 520, 663, 805, 664, 1029, 779, 218, 514, 86, - 218, 590, 380, 599, 70, 271, 779, 495, 271, -106, - 86, 814, 266, 743, 218, 938, 591, 663, 86, 664, - 594, 579, 597, 218, 526, 125, 836, 833, 86, 331, - 332, 247, 297, 1093, 248, 249, 1096, -534, 1157, 593, - -108, 1010, 1011, 600, -105, 532, 602, 769, 727, 534, - 454, 454, -534, -110, 794, 772, 603, 614, 502, 638, - 615, 86, 250, 554, 251, 806, 787, 520, 1109, 1112, - 86, 1021, 1023, 773, -102, 920, 897, 899, 901, 676, - 903, 690, 904, 691, 316, -640, 316, -534, 218, 694, - 504, -640, 508, -418, -534, 695, 86, 697, 555, 987, - 297, 874, 946, 720, 728, 366, 367, 368, 505, -106, - 732, 737, 125, -302, 281, 583, 740, 281, 794, 794, - -91, 810, 771, 218, 212, 809, 536, 755, -302, 768, - 816, 823, 369, 818, 277, 281, 745, 277, 706, 706, - 832, 835, 218, 789, 813, 835, 828, 609, 1163, 849, - 800, 316, 835, 809, 799, 277, 206, -418, 212, 801, - -108, 1131, 271, -302, 826, 848, 996, -643, 246, 811, - -302, 1091, -418, -106, 544, 538, 833, 505, 825, 1143, - 841, 206, 380, 847, 944, 850, 870, 271, 431, 495, - 877, 1040, 814, 938, -98, -299, 495, 1042, -299, -299, - 880, 686, 886, 432, 271, -418, 890, -418, -106, 869, - 892, -106, -106, 271, -418, 896, 576, 898, 218, 86, - 900, -108, -105, 617, 589, -299, -299, 902, -299, 617, - 935, 905, 1034, 271, 951, 617, 617, 271, 433, -106, - 952, -106, -100, -97, 956, 434, 1133, 1135, 1137, 960, - 1139, 1140, 218, 514, 731, 860, 125, 962, 125, -108, - 966, 736, -108, -108, 994, 271, 999, 266, 271, 523, - 794, 1014, 663, 742, 664, 1017, 815, 297, 271, 817, - 954, 212, 924, 958, -646, 1020, 673, 675, 959, 1024, - -108, 1026, -108, 1022, 1031, 554, 1032, 815, 1119, 1120, - 1078, 1080, 1081, 1082, 1043, 1044, 1046, 308, 312, 491, - 520, 1049, 248, 249, 306, 1050, 1173, 1175, 1176, 1177, - 673, 675, 1051, 125, 765, 505, 766, 767, 1055, 1063, - 1056, 86, 734, 735, 876, 1072, 822, 1187, 316, 86, - 622, 782, 525, 218, 786, 1073, 622, 218, -646, 1079, - 1083, 869, 622, 622, 470, 1084, 797, 775, 86, 86, - 617, 589, 589, -646, 776, 1085, 470, 457, 776, 741, - 247, 1098, 86, 248, 249, 218, 1100, 472, 985, 986, - 1099, 297, 432, -642, 86, 86, 104, -642, 104, 1124, - 1170, 1171, 1126, 104, 104, 1172, -646, 971, -646, 104, - 104, 104, -642, 251, 104, -646, 247, 1128, 1103, 248, - 249, 86, 876, 1132, 868, 1134, 1148, 458, 1184, 1185, - 1149, 1152, 86, 86, 434, 1161, 474, 125, -643, 796, - 212, 212, 1057, 827, 1136, 895, 104, 1060, 1061, 1138, - 835, 432, 1150, 761, 1151, 358, 359, 360, 361, 1013, - 104, -642, 696, 247, 1019, 1158, 248, 249, 307, 311, - 703, 762, -643, 271, 271, 247, -642, 1166, 248, 249, - 715, 350, 351, 352, 353, 354, 475, 622, 1178, 812, - 1179, 950, 869, 434, 250, 1174, 251, 86, 86, 878, - 227, 1037, -643, 739, 1125, 86, 250, 130, 251, -642, - 1147, -642, 104, 907, 104, -642, 706, -643, -642, 889, - 125, 835, -538, 945, 483, 1159, 931, 1064, 1068, 472, - 358, 359, 360, 361, 218, 218, 86, -538, 860, 432, - 1110, 1115, 1116, 271, 887, 914, 762, 589, 757, 871, - -643, 271, -643, 869, 869, 869, -643, 1146, 508, -643, - 869, 514, 492, 693, 835, 208, 868, 983, 1087, 1168, - 1169, 913, -538, 335, 484, 266, 329, 330, 919, -538, - 663, 434, 664, 337, 247, 329, 330, 248, 249, 86, - 774, 86, 932, 1092, 86, 0, 1186, 271, 271, 860, - 860, 971, 1190, 1191, 0, 104, 860, 524, 0, 73, - 0, 73, 121, 121, 835, 835, 0, 251, 104, 104, - 121, 472, 432, 0, 869, 212, 212, 472, 331, 332, - 992, 125, 1180, 1181, 0, 0, 125, 331, 332, 0, - 761, 835, 358, 359, 360, 361, 1001, 835, 835, 0, - 1004, 218, 1006, 869, 869, 869, 1007, 475, 762, 73, - 934, 936, 0, 121, 434, 0, 940, 942, 86, 86, - 860, 104, 0, 125, 104, 0, 910, 0, 0, 104, - 104, 0, 0, 104, 0, 0, 0, 0, 0, 121, - 104, 104, 934, 936, 0, 940, 942, 868, 104, 860, - 860, 860, 0, 0, 0, 0, 993, 0, 0, 0, - 125, 548, 563, 0, 329, 330, 0, 0, 0, 218, - 218, 86, 0, 0, 0, 0, 432, 73, 472, 472, - 0, 1076, 271, 86, 86, 0, 357, 0, 358, 359, - 360, 361, -537, 0, 104, 104, 104, 104, 104, 104, - 104, 104, 1074, 1075, 362, -292, 0, -537, 868, 868, - 868, 549, 0, 0, 1117, 868, 331, 332, 434, 104, - -292, 125, 125, 0, 1094, 0, 1097, 0, 125, 364, - 0, 341, 329, 330, 0, 365, 366, 367, 368, 0, - 104, 1030, -537, 104, 1088, 104, 0, 913, 104, -537, - 913, 776, 913, 0, 919, -292, 0, 919, 0, 919, - 0, 947, -292, 369, 1030, 0, 370, 0, 73, 247, - 0, 0, 248, 249, 955, 472, 0, 1089, 104, 868, - 1127, 0, 0, 1129, 331, 332, 963, 964, 104, 104, - 0, 271, 125, 0, 0, 0, 502, 0, 472, 472, - 250, 0, 251, 104, 0, 104, 104, 0, 868, 868, - 868, 0, 0, 991, 0, 0, 104, 0, 0, 913, - 104, 125, 125, 125, 104, 997, 919, 0, 0, 104, - -303, 0, 1160, 803, 104, 984, 1162, 0, 1164, 0, - 0, 1048, 1165, 1086, 0, -303, 73, 0, 432, 910, - 432, 0, 910, 73, 73, 910, 432, 910, 432, 1101, - 0, 73, 913, 0, 913, 0, 913, 104, 913, 919, - 0, 919, 121, 919, 432, 919, 104, 0, 1183, 0, - -303, 0, 0, 804, 0, 458, 0, -303, 0, 1033, - 434, 475, 434, 458, 104, 0, 0, 1041, 434, 0, - 434, 0, 104, 0, 913, 0, 0, 73, 0, 1102, - 0, 919, 73, 0, 651, 652, 434, 0, 653, 562, - 0, 0, 329, 330, 910, 555, 329, 330, 1062, 104, - 0, 0, 73, 174, 175, 176, 177, 178, 179, 180, - 181, 0, 0, 182, 183, 0, 0, 0, 104, 184, - 185, 186, 187, 73, 0, 0, 0, 0, 73, 121, - 0, 73, 0, 188, 189, 190, 0, 910, 0, 910, - 0, 910, 0, 910, 331, 332, 0, 0, 331, 332, - 0, 1104, 0, 1105, 0, 0, 1106, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, - 0, 73, 73, 560, 329, 330, 203, 276, 0, 910, - 564, 329, 330, 565, 329, 330, 0, 0, 73, 756, - 329, 330, 0, 0, 104, 104, 0, 0, 761, 73, - 358, 359, 360, 361, 0, 0, 0, 73, 0, 0, - 0, 0, 0, 0, 0, 247, 762, 73, 248, 249, - 357, 0, 358, 359, 360, 361, 331, 332, 104, 0, - 1155, 1156, 0, 331, 332, 0, 331, 332, 362, 0, - 0, 364, 331, 332, 0, 0, 250, 763, 251, 0, - 73, 74, 363, 74, 122, 122, 0, 0, 0, 73, - 0, 0, 122, 364, 0, 0, 0, 0, 0, 365, - 366, 367, 368, 121, 761, 121, 358, 359, 360, 361, - 0, 0, 0, 1182, 761, 73, 358, 359, 360, 361, - -669, 0, 762, 0, 0, 1188, 1189, 369, 0, 0, - 370, 74, 762, 0, 0, 122, 357, 104, 358, 359, - 360, 361, 0, 371, 419, 104, 104, 364, 0, 104, - 0, 0, 104, 104, 362, 0, 0, 364, 104, 104, - 0, 122, 0, 1000, 104, 104, 0, 0, 0, 0, - 121, 0, 426, 427, 428, 429, 430, 0, 104, 364, - 0, 104, 0, 0, 0, 365, 366, 367, 368, 0, - 104, 104, 0, 0, 0, 0, 0, 0, 0, 74, - 0, 416, 417, 0, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 369, 419, 0, 370, 104, 0, 0, - 14, 0, 108, 109, 17, 18, 0, 0, 104, 104, - 0, 110, 111, 112, 22, 23, 24, 25, 73, 0, - 113, 425, 426, 427, 428, 429, 430, 0, 0, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, - 40, 41, 0, 0, 42, 0, 0, 43, 44, 247, - 116, 0, 248, 249, 121, 0, 0, 0, 416, 417, - 0, 0, 0, 104, 416, 417, 0, 0, 0, 0, - 74, 419, 313, 104, 104, 119, 52, 419, 53, 54, - 995, 104, 251, 0, 0, 56, 0, 57, 58, 59, - 0, 60, 61, 62, 0, 63, 423, 424, 425, 426, - 427, 428, 429, 430, 0, 426, 427, 428, 429, 430, - 104, 104, 104, 0, 0, 120, 0, 0, 0, 0, - 0, 0, 0, 314, 0, 103, 0, 103, 128, 128, - 73, 0, 0, 0, 0, 0, 232, 121, 73, 73, - 0, 0, 0, 0, 0, 73, 0, 0, 74, 0, - 0, 73, 73, 0, 0, 74, 74, 73, 73, 0, - 0, 0, 0, 74, 0, 104, 0, 104, 0, 0, - 104, 73, 0, 0, 122, 103, 0, 0, 0, 318, - 0, 0, 0, 73, 73, 0, 0, 0, 357, 0, - 358, 359, 360, 361, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 318, 362, 0, 0, 74, - 73, 0, 0, 0, 74, 0, 0, 0, 0, 0, - 363, 73, 73, 0, 0, 0, 0, 104, 0, 0, - 0, 364, 0, 0, 74, 0, 0, 365, 366, 367, - 368, 0, 0, 103, 104, 104, 0, 0, 121, 0, - 0, 0, 0, 121, 0, 74, 0, 0, 0, 0, - 74, 122, 0, 74, 0, 369, 0, 0, 370, 0, - 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, - 0, 371, 0, 0, 0, 0, 73, 73, 0, 0, - 121, 0, 0, 0, 73, 104, 104, 104, 0, 0, - 0, 0, 0, 74, 74, 0, 0, 0, 0, 104, - 104, 0, 0, 0, 0, 0, 0, 0, 0, 357, - 74, 358, 359, 360, 361, 73, 0, 121, 0, 0, - 0, 74, 0, 0, 103, 0, 0, 362, 0, 74, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, - 0, 0, 0, 581, 0, 0, 0, 0, 0, 0, - 0, 0, 364, 0, 0, 0, 0, 0, 365, 366, - 367, 368, 0, 0, 0, 0, 0, 0, 73, 0, - 73, 0, 74, 73, 0, 0, 0, 0, 121, 121, - 0, 74, 0, 0, 0, 121, 369, 0, 0, 370, - 0, 0, 0, 0, 0, 122, 0, 122, 0, 0, - 0, 0, 103, 0, 0, 0, 0, 74, 0, 103, - 103, 0, 0, 0, 0, 0, -669, 103, 0, 0, - 0, 357, 0, 358, 359, 360, 361, 0, 318, -669, - -669, -669, -669, -669, -669, 0, -669, 0, 0, 362, - 0, -669, -669, -669, 0, 0, 0, 73, 73, 121, - 0, 0, 0, -669, -669, 777, -669, -669, -669, -669, - -669, 0, 122, 103, 364, 0, 0, 0, 103, 0, - 365, 366, 367, 368, 0, 0, 0, 0, 121, 121, - 121, 0, 0, 0, 0, 0, 0, 0, 103, 0, - 357, 0, 358, 359, 360, 361, 0, 0, 369, 0, - 73, 370, 0, 0, 0, 0, -669, 0, 362, 103, - 0, 0, 73, 73, 103, 318, 0, 623, 0, 0, - 0, -669, 0, 0, 0, 0, 0, 0, 0, 0, - 74, -669, 0, 364, -669, -669, 0, 0, 0, 365, - 366, 367, 368, 0, 0, 0, 0, 357, 0, 358, - 359, 360, 361, 0, -669, -669, 0, 623, 623, 0, - 276, -669, -669, -669, -669, 362, 122, 369, 0, 0, - 370, 0, 0, 0, 103, 0, 0, 0, 0, 0, - 0, 891, 0, 551, 0, 103, 0, 0, 0, 0, - 364, 0, 0, 103, 0, 0, 365, 366, 367, 368, - 0, 0, 0, 103, 785, 0, 358, 359, 360, 361, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 362, 0, 369, 0, 0, 370, 0, 0, - 0, 0, 0, 0, 0, 0, 103, 0, 0, 0, - 0, 0, 74, 0, 0, 103, 0, 364, 0, 122, - 74, 74, 0, 0, 366, 367, 368, 74, 0, 318, - 0, 318, 0, 74, 74, 0, 0, 0, 0, 74, - 74, 103, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 369, 0, 74, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 74, 74, 0, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, - 0, 0, 74, 0, 0, 0, 318, 419, 0, 0, - 0, 0, 0, 74, 74, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 122, 0, 0, 0, 0, 122, 0, 0, -277, 0, - 0, 0, 0, 100, 0, 100, 127, 127, 127, 0, - 0, 802, 0, 0, 231, 0, 0, 0, 74, 0, - 0, 0, 0, 0, 103, 0, 0, 0, 74, 74, - 0, 0, 122, 0, 0, 0, 74, 0, 0, 404, - 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, - 415, 0, 0, 100, 0, 416, 417, 317, 0, 0, - 128, 0, 0, 0, 0, 0, 0, 74, 419, 122, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 317, 0, 0, 0, 0, 0, 420, - 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, - 430, 0, 0, 0, 0, 0, 0, 0, 0, -277, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 74, 100, 74, 0, 0, 74, 0, 0, 0, 0, - 122, 122, 0, 0, 0, 0, 103, 122, 0, 0, - 0, 0, 0, 318, 103, 623, 0, 0, 0, 0, + 105, 222, 285, 345, 441, 349, 252, 479, 520, 212, + 212, 286, 717, 507, 107, 212, 246, 435, 437, 281, + 205, 707, 301, 730, 315, 451, 658, 206, 783, 540, + 246, 270, 270, 542, 206, 270, 621, 779, 592, 559, + 283, 272, 272, 781, 892, 272, 784, 553, 206, 402, + 545, 685, 308, 312, 730, 256, 747, 656, 1085, 266, + 266, 665, 780, 266, 668, 70, 439, 70, 700, 306, + 863, 326, 393, 393, 395, 979, -649, 710, 206, 307, + 311, 995, 268, 274, -107, 686, 275, 394, 380, 380, + 86, 727, 86, 126, 126, 727, 919, 218, 218, 582, + 656, 229, 665, 218, 218, 218, 439, 1062, 218, 348, + 281, 686, 288, 834, 1109, 887, 615, 838, 448, 1124, + -109, 798, 395, 446, 844, 336, 338, 340, 342, -104, + 671, 674, 819, 820, -111, -110, 380, 380, 561, -545, + 86, 561, 750, 561, 316, 561, 997, 561, 436, 476, + -550, 686, 585, -549, 218, -106, 615, 615, 470, -108, + 485, -105, 790, 432, 528, 598, -77, 601, -104, 576, + 316, -430, 368, 604, 1167, 941, 686, -551, 440, 998, + 106, 947, 991, 992, 276, 497, 833, -91, -649, -96, + 284, 1168, 1085, 1134, -649, -430, -430, 369, 779, 888, + 833, -99, 493, -652, 781, 434, 218, -550, 86, 791, + -549, 779, 393, 393, 395, 480, 481, 781, 440, 704, + -546, 525, 1182, 780, 212, 212, 468, 469, 380, 380, + 504, 1109, 508, 577, -551, 531, 780, -101, 687, -653, + 922, -552, 294, 538, 538, 1126, -96, 550, 538, -112, + 730, -103, -102, 398, 507, 396, 326, 247, 297, 493, + 248, 249, -554, 206, 716, 758, 536, 301, 611, 505, + -430, 505, -98, -430, -430, 514, -100, 1123, -97, 753, + 343, 344, 544, 545, 952, 516, 519, 399, 250, 443, + 251, 1091, 512, 490, -430, 270, 1127, 996, -552, 86, + 57, -430, 449, -430, 403, 272, 450, 247, 927, -553, + 248, 249, 218, 218, 276, -555, -418, 467, -540, -554, + 266, 727, 727, 266, 830, 455, 297, 452, 453, 444, + -544, 783, 919, 462, 380, 919, 607, 779, 250, 530, + 251, 617, 569, 570, 571, 572, 515, 779, 545, 1015, + 473, 212, 212, 212, 212, 477, 574, 575, -111, 527, + 568, 561, 277, 282, 683, 218, -553, 533, 218, 482, + 613, 301, -555, 218, 218, -540, 589, 86, 589, -103, + -418, 617, 617, 526, 86, 86, 380, -544, 969, 486, + 463, 556, 86, 419, 488, -418, 493, 932, 772, 727, + 355, 356, 761, 316, 358, 359, 360, 361, 502, 125, + 125, -345, -110, 70, 609, 506, 773, 125, 573, 609, + 762, 1131, 1079, 428, 429, 430, -345, 522, -418, 656, + -418, 665, 514, -102, 898, 470, 419, -418, 86, 218, + 218, 218, 218, 86, 218, 218, 445, 520, 366, 367, + 368, 529, 919, 277, 282, -76, 663, 514, 824, 663, + 125, -345, 688, 86, 535, 693, 541, 883, -345, 878, + 779, 445, 734, 735, 514, 369, 1107, 266, 724, 1110, + 663, 813, 543, 514, 86, 547, 125, 218, 1171, 86, + 316, 566, 622, 891, 937, 523, 41, 663, 567, 42, + 943, 945, 266, 297, 876, 738, 663, 836, 833, 719, + -106, 505, 505, 746, 615, 544, -546, 578, 730, 266, + 615, 105, 218, 1080, 246, -545, 615, 615, 266, 520, + 728, -98, 622, 622, 247, 545, 587, 248, 249, 584, + 838, 431, 206, 58, -561, -112, 663, 218, 514, 86, + 218, 590, 733, 805, -104, 591, 432, 901, 903, 905, + 86, 907, 745, 908, 218, 250, 380, 251, 86, 796, + 924, 663, 814, 218, 457, 1025, 1026, 594, 86, 935, + 544, 478, 1020, 1021, 779, -302, 70, 597, 526, 432, + 727, 433, 600, 266, 779, 743, 1178, 950, 434, 599, + -302, -108, 603, 444, 794, 815, 976, 297, 817, 520, + -111, 86, 994, 454, 454, 602, 806, -110, 614, 812, + 86, 878, -100, 638, 458, 842, 815, -434, 769, 1039, + 843, 434, -111, 942, 316, -302, 316, 247, 218, -653, + 248, 249, -302, 965, -649, 936, 86, 787, 993, 776, + 690, -434, -434, 776, -106, 615, 676, 691, 505, -108, + 813, 474, -105, 694, 281, 1006, 775, 281, 794, 794, + 251, 823, -105, 218, 695, 810, 432, 814, 696, 875, + 212, 697, 538, -97, 816, 281, 703, 818, 508, -106, + 832, 835, 218, 555, 720, 835, 715, 732, 849, 942, + 737, 316, 835, 828, 740, 848, -108, 609, -540, 1158, + 206, 475, 491, -431, 212, 248, 249, 246, 434, 125, + -91, -548, -106, -540, 755, 768, -434, 505, -105, -434, + -434, 1044, 771, 948, 554, 206, -548, -431, -431, 617, + 789, 799, 1050, 686, 800, 617, 939, 1078, 1052, 801, + -434, 617, 617, 999, 811, 825, -649, -434, -540, -434, + 880, 1146, -649, 826, 757, -540, 841, 544, 218, 86, + 833, -548, 247, 847, 589, 248, 249, 664, -548, 1183, + 1184, 850, 104, 874, 104, 881, 583, 890, 884, 104, + 104, 1092, 1094, 1095, 1096, 104, 104, 104, 894, 896, + 104, 664, 218, 514, 576, 862, 125, 1201, 1122, 976, + 900, 902, -431, 1205, 1206, -431, -431, 904, 664, 483, + 794, -106, 1078, 906, -106, -106, 663, 664, 963, 909, + 958, 955, 104, 962, 432, 956, -431, 212, 880, 1073, + 1003, -432, 960, -431, 964, -431, 104, 532, 266, 966, + 970, 534, -106, 923, -106, 1132, 1133, 308, 312, 988, + 524, 989, 1009, 520, 928, -432, -432, 664, 247, 484, + 917, 248, 249, 1004, 306, 432, 434, 1024, 1027, 505, + 617, 86, 1030, 1032, 307, 311, 1173, 1034, 316, 86, + 622, 1036, 664, 218, 1041, 502, 622, 218, 104, 250, + 104, 251, 622, 622, 1042, 1053, 525, 1054, 86, 86, + 475, -650, 976, 1122, 1056, 589, 589, 434, 1059, 271, + 271, 1176, 86, 271, 472, 218, 1060, 1065, 1061, -299, + 1086, 472, -299, -299, 86, 86, 1066, 1075, 1087, 548, + -432, 1097, 1093, -432, -432, 1098, 1099, 975, 1112, 1113, + 125, -652, 125, 862, 432, 1114, 1187, 271, 271, -299, + -299, 1163, -299, 1139, -432, 86, 554, 1074, 495, 1141, + 1166, -432, 1143, -432, 1147, -544, 86, 86, 1117, 1149, + 1199, 1200, 1151, 1070, 1071, 1153, -547, -292, 1164, 549, + -544, 104, 212, 212, 442, 765, 434, 1165, 809, 1067, + 835, -547, -292, 1023, 104, 104, 1172, 277, 1029, -653, + 277, 1181, 782, 1189, 1193, 786, 761, 125, 358, 359, + 360, 361, 1194, -650, 739, -544, 809, 951, 277, -650, + 227, 622, -544, 130, 762, 247, -547, -292, 248, 249, + 959, 86, 86, -547, -292, 1047, 1162, -303, 911, 86, + 1174, 949, 967, 968, 1137, 1076, 731, 104, 495, 1140, + 104, 1128, -303, 736, 1129, 104, 104, 1161, 251, 104, + 803, 835, 579, 208, 492, 742, 104, 104, 774, 1101, + 218, 218, 86, 1001, 104, 432, 776, 862, 862, 923, + 593, 0, 923, 0, 923, 1007, 0, -303, 1106, 0, + 0, 589, 0, 1102, -303, 0, 917, 1090, 0, 917, + 0, 917, 0, 914, 0, 514, 0, 693, 835, 335, + 804, 125, 329, 330, 0, 0, 0, 434, 766, 767, + 104, 104, 104, 104, 104, 104, 104, 104, 663, 86, + 0, 86, 1031, 1033, 86, 0, 0, 664, 0, 862, + 862, 975, 0, 0, 0, 104, 862, 0, 797, 1043, + 266, 0, 0, 862, 0, 923, 0, 1051, 835, 835, + 0, 0, 0, 0, 331, 332, 104, 1195, 1196, 104, + 271, 104, 917, 271, 104, 0, 212, 212, 0, 706, + 706, 0, 0, 990, 0, 0, 835, 0, 0, 0, + 1072, 0, 835, 835, 125, 218, 918, 0, 432, 923, + 0, 923, 0, 923, 104, 923, 1058, 337, 0, 329, + 330, 86, 86, 862, 104, 104, 917, 862, 917, 0, + 917, 432, 917, 0, 0, 827, 0, 0, 0, 104, + 495, 104, 104, 458, 355, 356, 0, 495, 1105, 0, + 434, 923, 104, 862, 862, 862, 104, 1118, 0, 1119, + 104, 470, 1120, 1100, 0, 104, 475, 0, 917, 125, + 104, 331, 332, 434, 218, 218, 86, 0, 432, 562, + 0, 0, 329, 330, 0, 1185, 1186, 0, 86, 86, + 0, 882, 0, 0, 0, 0, 872, 73, 0, 73, + 121, 121, 563, 104, 329, 330, 0, 0, 121, 0, + 0, 893, 104, 458, 0, 1014, 0, 1016, 1115, 125, + 434, 1017, 247, 0, 125, 248, 249, 1148, 1150, 1152, + 104, 1154, 1155, 432, 331, 332, 0, 271, 104, 1169, + 1170, 247, 0, 0, 248, 249, 914, 73, 0, 914, + 0, 121, 914, 250, 914, 251, 331, 332, 0, 0, + 247, 125, 271, 248, 249, 104, 0, 0, 1116, -656, + 0, 0, 250, 0, 251, 434, 0, 121, 0, 271, + 0, 0, 0, 0, 104, 0, -435, 822, 271, 0, + 0, 250, 0, 251, 1197, 673, 675, -433, 1188, 1190, + 1191, 1192, 0, 125, 125, 0, 1203, 1204, 271, 0, + -435, -435, 271, 0, 0, 73, 0, 0, 0, 1202, + 0, -433, -433, 1088, 1089, 914, 1002, 0, 472, 673, + 675, 0, 0, -656, -652, 470, 0, 0, 872, 987, + 271, 0, 1011, 271, 872, 1108, 0, 1111, -656, 0, + 0, 247, 0, 271, 248, 249, 0, 0, 0, 664, + 104, 104, -653, 0, 0, 125, 125, 0, 0, 914, + 873, 914, 125, 914, 0, 914, 0, 0, 741, 125, + 0, -656, 1005, -656, 251, -435, 899, -652, -435, -435, + -656, 328, 329, 330, 104, 0, -433, 0, -652, -433, + -433, 0, 0, -108, 0, 1142, 73, 0, 1144, -435, + 0, 914, 1138, -652, 0, 0, -435, 0, -435, 0, + -433, 0, 0, 1138, 0, 0, -653, -433, 0, -433, + 0, 0, 954, 0, 247, 0, 0, 248, 249, 125, + 0, -653, 0, 125, 331, 332, -652, 0, -652, 0, + 0, 0, -652, 0, 0, -652, 0, 706, 1175, 0, + 0, 502, 1177, 0, 1179, 250, 0, 251, 1180, 125, + 125, 125, 472, 104, -653, 0, -653, 0, 872, 872, + -653, 104, 104, -653, 73, 104, 0, 0, 104, 104, + 0, 73, 73, 0, 104, 104, 0, 0, 0, 73, + 104, 104, -108, 0, 1198, -108, -108, 339, 329, 330, + 121, 0, 873, 0, 104, 0, 0, 104, 873, 0, + 341, 329, 330, 0, 0, 0, 104, 104, 555, 329, + 330, 0, 0, -108, 0, -108, 0, 0, 271, 271, + 872, 872, 872, 0, 0, 73, 1130, 872, 0, 0, + 73, 560, 329, 330, 872, 0, 0, 104, 0, 0, + 331, 332, 0, 0, 0, 0, 472, 0, 104, 104, + 73, 0, 472, 331, 332, 74, 0, 74, 122, 122, + 0, 331, 332, 564, 329, 330, 122, 0, 0, 0, + 0, 73, 0, 0, 0, 0, 73, 121, 0, 73, + 0, 0, 0, 0, 331, 332, 0, 0, 271, 350, + 351, 352, 353, 354, 872, 0, 271, 1082, 872, 358, + 359, 360, 361, 104, 0, 74, 0, 0, 0, 122, + 565, 329, 330, 104, 104, 762, 331, 332, 0, 73, + 73, 104, 0, 0, 872, 872, 872, 756, 329, 330, + 0, 0, 873, 873, 0, 122, 73, 0, 419, 938, + 940, 0, 271, 271, 0, 944, 946, 73, 0, 0, + 0, 0, 104, 104, 104, 73, 0, 0, 0, 472, + 472, 0, 0, 331, 332, 73, 426, 427, 428, 429, + 430, 938, 940, 74, 944, 946, 0, 0, 0, 0, + 331, 332, 0, 0, 0, 0, 0, 0, 761, 0, + 358, 359, 360, 361, 873, 873, 873, 0, 73, 0, + 0, 873, 0, 0, 0, 0, 762, 73, 873, 416, + 417, 104, 0, 104, 0, 0, 104, 0, 0, 0, + 0, 121, 419, 121, 0, 103, 0, 103, 128, 128, + 0, 364, 0, 73, 0, 0, 232, 763, 0, 0, + 357, 0, 358, 359, 360, 361, 0, 423, 424, 425, + 426, 427, 428, 429, 430, 0, 0, 0, 362, 0, + 472, 0, 0, 0, 74, 0, 0, 0, 873, 416, + 417, 0, 873, 0, 1040, 103, 0, 104, 0, 318, + 0, 0, 419, 364, 472, 472, 0, 271, 121, 365, + 366, 367, 368, 104, 104, 802, 0, 1040, 873, 873, + 873, 0, 0, 0, 0, 318, 0, 0, 0, 425, + 426, 427, 428, 429, 430, 0, 0, 369, 0, 0, + 370, 0, 0, 404, 405, 406, 407, 408, 409, 410, + 411, 412, 413, 414, 415, 0, 0, 0, 0, 416, + 417, 0, 74, 103, 0, 0, 104, 104, 104, 74, + 74, 0, 419, 416, 417, 0, 73, 74, 0, 0, + 104, 104, 0, 0, 0, 0, 419, 357, 122, 358, + 359, 360, 361, 420, 0, 421, 422, 423, 424, 425, + 426, 427, 428, 429, 430, 362, 761, 0, 358, 359, + 360, 361, 121, -277, 426, 427, 428, 429, 430, 363, + 271, 0, 0, 74, 762, 0, 0, 0, 74, 0, + 364, 0, 0, 0, 0, 0, 365, 366, 367, 368, + 0, 0, 357, 0, 358, 359, 360, 361, 74, 364, + 0, 0, 0, 0, 103, 1010, 0, -679, 0, 0, + 362, 0, 0, 0, 369, 0, 0, 370, 761, 74, + 358, 359, 360, 361, 74, 122, 0, 74, 0, 0, + 371, 0, 0, 0, 0, 364, 762, 0, 73, 0, + 0, 365, 366, 367, 368, 121, 73, 73, 0, 0, + 0, 0, 0, 73, 0, 0, 0, 0, 0, 73, + 73, 364, 0, 0, 0, 73, 73, 74, 74, 369, + 0, 0, 370, 0, 0, 0, 0, 0, 0, 73, + 0, 0, 103, 0, 74, 551, 0, 0, 0, 103, + 103, 73, 73, 0, 0, 74, 0, 103, 0, 0, + 0, 0, 357, 74, 358, 359, 360, 361, 318, 0, + 121, 0, 0, 74, 0, 0, 0, 0, 0, 0, + 362, 0, 73, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 73, 73, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 0, 364, 74, 0, 103, 0, + 0, 365, 366, 367, 368, 74, 0, 0, 0, 0, + 121, 0, 0, 0, 0, 121, 0, 0, 103, 122, + 0, 122, 0, 100, 0, 100, 127, 127, 127, 369, + 0, 74, 370, 0, 231, 0, 0, 0, 73, 103, + 0, 0, 0, 1103, 103, 318, 0, 623, 73, 73, + 0, 0, 121, 0, 0, 0, 73, 357, 0, 358, + 359, 360, 361, 0, 0, 0, 0, 357, 0, 358, + 359, 360, 361, 100, 0, 362, 0, 317, 357, 0, + 358, 359, 360, 361, 0, 362, 122, 623, 623, 73, + 0, 581, 0, 0, 121, 121, 362, 0, 0, 363, + 364, 0, 0, 317, 103, 0, 365, 366, 367, 368, + 364, 0, 777, 0, 0, 103, 365, 366, 367, 368, + 0, 364, 0, 103, 0, 0, 0, 365, 366, 367, + 368, 0, 0, 103, 369, 0, 0, 370, 0, 0, + 0, 100, 0, 0, 369, 0, 73, 370, 73, 0, + 0, 73, 0, 0, 74, 369, 121, 121, 370, 0, + 371, 0, 0, 121, 0, 0, 103, -679, 0, 0, + 121, 0, 0, 0, 0, 103, 0, 0, 0, 0, + -679, -679, -679, -679, -679, -679, 0, -679, 0, 318, + 122, 318, -679, -679, -679, 0, 0, 0, 0, 0, + 0, 103, 0, 0, -679, -679, 0, -679, -679, -679, + -679, -679, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 73, 73, + 121, 0, 100, 0, 121, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 785, + 0, 358, 359, 360, 361, 0, 318, -679, 0, 0, + 121, 121, 121, 0, 0, 0, 74, 362, 0, 0, + 0, 0, -679, 122, 74, 74, 0, 0, 0, 0, + 0, 74, -679, 73, 0, -679, -679, 74, 74, 0, + 0, 0, 364, 74, 74, 73, 73, 0, 0, 366, + 367, 368, 0, 0, 0, -679, -679, 74, 0, 0, + 100, 276, -679, -679, -679, -679, 0, 100, 100, 74, + 74, 0, 0, 0, 103, 100, 369, 0, 0, 357, + 0, 358, 359, 360, 361, 0, 317, 0, 122, 0, + 0, 0, 0, 0, 0, 0, 0, 362, 0, 0, + 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 128, 74, 74, 895, 0, 0, 0, 0, 0, 0, + 0, 100, 364, 0, 0, 0, 100, 0, 365, 366, + 367, 368, 0, 0, 0, 0, 0, 0, 122, 0, + 0, 0, 0, 122, 0, 0, 100, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 369, 0, 0, 370, + 0, 0, 0, 0, 0, 0, 74, 100, 0, 0, + 0, 0, 100, 317, 0, 0, 74, 74, 0, 0, + 122, 0, 0, 0, 74, 0, 103, 0, 83, 0, + 83, 0, 0, 318, 103, 623, 0, 0, 0, 228, 0, 623, 0, 0, 0, 0, 0, 623, 623, 0, - 0, 0, 0, 103, 103, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, - 103, 0, 0, 0, 0, 0, 0, 0, 0, 74, - 74, 122, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 100, 0, 0, 0, 103, 0, 83, 0, - 83, 0, 0, 0, 0, 0, 0, 103, 103, 228, - 122, 122, 122, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 103, 103, 0, 0, 74, 0, 0, + 0, 0, 122, 122, 0, 0, 0, 103, 0, 0, + 0, 0, 100, 0, 0, 0, 0, 0, 83, 103, + 103, 0, 0, 100, 0, 0, 0, 0, 0, 0, + 0, 100, 0, 0, 0, 0, 0, 0, 128, 0, + 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, + 103, 0, 0, 0, 74, 0, 74, 0, 0, 74, + 0, 103, 103, 0, 122, 122, 0, 0, 0, 0, + 0, 122, 0, 0, 100, 0, 0, 0, 122, 0, + 0, 0, 0, 100, 0, 0, 83, 0, 128, 0, + 0, 0, 0, 128, 101, 0, 101, 317, 0, 317, + 0, 0, 404, 405, 406, 407, 408, 409, 410, 100, + 412, 413, 0, 0, 0, 0, 623, 0, 416, 417, + 0, 0, 0, 0, 0, 0, 103, 103, 0, 0, + 1049, 419, 0, 0, 103, 0, 74, 74, 122, 0, + 0, 0, 122, 0, 101, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 317, 0, 0, 103, 122, 122, + 122, 0, 128, 128, 0, 0, 0, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 74, 0, 128, 0, 0, 0, 0, 128, - 0, 0, 0, 0, 74, 74, 0, 0, 83, 0, - 0, 0, 0, 0, 101, 0, 101, 0, 0, 0, - 0, 0, 623, 0, 0, 0, 0, 0, 0, 0, - 100, 0, 103, 103, 0, 0, 1039, 100, 100, 0, - 103, 0, 0, 0, 0, 100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 317, 0, 0, 0, - 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, - 802, 103, 0, 128, 0, 0, 83, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 100, 0, 0, 0, 0, 100, 0, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 0, 0, 0, 0, 416, 417, 100, 0, 0, 0, - 0, 0, 0, 0, 103, 0, 103, 419, 0, 103, - 0, 0, 101, 0, 128, 128, 0, 100, 0, 0, - 0, 128, 100, 317, 0, 0, 0, 0, 420, 0, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 100, 103, 103, 128, 0, 0, 0, 0, - 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, - 0, 100, 0, 101, 0, 0, 0, 0, 0, 0, - 0, 100, 0, 0, 128, 128, 128, 0, 0, 0, + 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 74, 74, 0, 0, 0, 0, 0, + 0, 0, 101, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 103, 0, 103, 0, 0, 103, + 0, 0, 100, 0, 128, 128, 0, 0, 0, 0, + 0, 128, 0, 0, 802, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, 0, - 0, 0, 83, 83, 0, 0, 103, 0, 0, 0, - 83, 0, 0, 0, 100, 0, 0, 0, 103, 103, - 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 317, 0, 317, - 893, 0, 0, 0, 0, 0, 0, 0, 0, 100, - 0, 101, 0, 0, 0, 0, 83, 0, 101, 101, - 0, 83, 0, 0, 0, 0, 101, 0, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 0, 83, 0, 0, 416, 417, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, - 0, 0, 83, 0, 317, 0, 0, 83, 0, 0, - 618, 0, 101, 0, 0, 0, 0, 101, 420, 0, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, + 0, 0, 83, 83, 0, 0, 0, 0, 127, 0, + 83, 0, 404, 405, 406, 407, 408, 409, 410, 411, + 412, 413, 414, 415, 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 618, 618, 0, 0, 0, 0, 0, 0, 101, 0, - 0, 0, 0, 101, 0, 0, 101, 83, 0, 0, - 0, 0, 100, 0, 0, 0, 0, 0, 83, 0, + 0, 419, 0, 101, 0, 0, 103, 103, 128, 0, + 0, 0, 128, 0, 0, 0, 83, 0, 0, 0, + 0, 83, 420, 0, 421, 422, 423, 424, 425, 426, + 427, 428, 429, 430, 0, 0, 0, 0, 128, 128, + 128, 83, 0, 0, 100, 0, 0, 0, 0, 0, + 0, 317, 100, 0, 0, 0, 0, 0, 0, 0, + 0, 103, 83, 0, 0, 0, 0, 83, 0, 0, + 618, 100, 100, 103, 103, 0, 0, 0, 0, 0, + 0, 101, 0, 0, 0, 100, 0, 0, 101, 101, + 0, 0, 0, 0, 0, 0, 101, 100, 100, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 618, 618, 0, 0, 0, 0, 127, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 83, 100, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 83, 100, + 100, 0, 101, 0, 0, 0, 83, 101, 0, 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 101, 101, 127, 0, + 0, 0, 0, 0, 0, 0, 127, 101, 0, 0, + 0, 127, 0, 0, 404, 405, 406, 407, 408, 409, + 410, 411, 412, 413, -680, -680, 0, 0, 101, 83, + 416, 417, 0, 101, 0, 0, 101, 0, 83, 0, + 0, 0, 0, 419, 100, 100, 0, 0, 1048, 0, + 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 83, 0, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, 101, 101, 0, 0, + 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, + 127, 127, 0, 101, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 101, 0, 0, 0, 0, 0, + 0, 0, 101, 0, 0, 0, -680, -680, -680, -680, + 408, 409, 101, 0, -680, -680, 0, 0, 0, 0, + 0, 0, 416, 417, 0, 0, 0, 0, -481, 0, + 0, 0, 100, 0, 100, 419, 0, 100, -649, 0, + 0, 0, 127, 127, 0, 101, 0, 0, 0, 127, + 0, 0, -481, -481, 101, 0, 127, 0, 421, 422, + 423, 424, 425, 426, 427, 428, 429, 430, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 83, 0, 0, + 101, 0, 0, 0, -540, -540, -540, -540, -540, -540, + -540, -540, -540, -540, -540, -540, 0, 0, 0, 0, + -540, -540, -540, 0, -540, -481, 0, 0, 0, 0, + 0, 0, 0, -540, 100, 100, 127, -540, 0, 0, + 127, 0, 0, 0, 0, 0, 0, -481, 0, 0, + -481, -481, 0, -540, -540, 0, -540, -540, -481, -540, + -540, -540, -540, -540, -540, -540, 127, 127, 127, 0, + -649, -481, -540, -481, -481, 0, -649, 0, -481, -540, + -481, 0, 0, 0, 0, 0, 0, 0, 0, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 101, 660, 661, 0, 0, 662, 83, - 0, 0, 0, 0, 101, 0, 0, 0, 83, 0, - 0, 0, 101, 174, 175, 176, 177, 178, 179, 180, - 181, 0, 101, 182, 183, 0, 0, 0, 0, 184, - 185, 186, 187, 0, 83, 0, 0, 0, 0, 0, - 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 100, 101, 0, 0, 0, 0, - 0, 317, 100, 0, 101, 0, 0, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, - 0, 100, 100, 0, 0, 0, 203, 276, 0, 0, - 101, 0, 0, 0, 0, 100, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 100, 100, 0, + 0, 100, 100, 0, 0, 0, 0, 0, 0, 83, + 0, 0, 0, 0, 0, 0, 0, 83, 618, 0, + 0, 0, 0, 101, 618, 0, 0, 0, 0, 0, + 618, 618, 0, 217, 217, 0, 83, 83, 0, 217, + 267, 267, 0, 0, 267, 0, 0, 0, 0, 0, + 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 83, 83, 0, 0, 0, 0, 0, 0, + 0, 289, 291, 292, 293, 0, 0, 0, 267, 309, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 346, 347, 0, 83, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 83, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 100, -639, -639, -639, -639, -639, - -639, -639, -639, -639, 0, 100, 100, 0, 0, 0, - 0, -639, 0, -639, -639, -639, -639, 83, -639, 0, - 0, 0, -639, -639, -639, -639, -639, -639, -639, 0, - 0, -639, 127, 0, 0, 0, 0, 127, 0, 0, - -639, -639, -639, -639, -639, -639, -639, -639, -639, 0, - -639, -639, -639, 0, 0, -639, 0, 0, -639, -639, - 0, -639, -639, -639, 0, 0, 0, 0, 0, 0, - 100, 100, 0, 101, 1038, 0, -639, -639, 100, 0, - 0, 0, 0, -639, 0, 0, -639, -639, 0, -639, - -639, 0, -639, 0, -639, -639, -639, 0, -639, -639, - -639, 0, -639, -639, -639, 0, -639, 0, 0, 100, - 0, 127, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -639, -639, -639, 83, - -639, 0, 0, 0, 0, 0, -639, 83, 618, 0, - 0, 0, 0, 0, 618, 0, 0, 0, 0, 0, - 618, 618, 0, 0, 0, 0, 83, 83, 0, 0, - 0, 0, 100, 0, 100, 0, 0, 100, 0, 0, - 83, 0, 127, 127, 0, 0, 0, 0, 0, 127, - 0, 0, 83, 83, 0, 101, 0, 0, 0, 0, - 217, 217, 0, 101, 101, 0, 217, 267, 267, 0, - 101, 267, 0, 0, 0, 0, 101, 101, 0, 83, - 0, 0, 101, 101, 0, 0, 0, 0, 0, 0, - 83, 83, 0, 0, 0, 0, 101, 0, 289, 291, - 292, 293, 0, 0, 0, 267, 309, 0, 101, 101, - 0, 100, 100, 127, 0, 0, 0, 346, 347, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 0, 0, 0, - 0, 0, 127, 127, 127, 618, 101, 101, 0, 0, - 0, 0, 0, 0, 0, 83, 83, 0, 0, 1036, - 0, 0, 0, 83, 100, 0, 0, 0, 0, 217, - 0, 0, 0, 0, 0, 0, 100, 100, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, - 0, 101, 0, 0, 681, 652, 0, 0, 682, 0, - 0, 101, 101, 0, 0, 0, 0, 0, 0, 101, - 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, - 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, - 185, 186, 187, 0, 0, 0, 0, 83, 0, 83, - 101, 0, 83, 188, 189, 190, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 217, 217, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, - 0, 0, 0, 0, 0, 0, 203, 276, 0, 0, - 0, 0, 0, 101, 0, 101, 0, 0, 101, 0, - 0, 0, 0, 0, 498, 499, 500, 346, 0, 0, - 0, 0, 0, 0, 0, 0, 83, 83, 267, 0, - 0, 267, 0, 0, 0, 0, 217, 217, 666, 661, - 0, 0, 667, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 217, 101, 101, 0, 0, 0, 0, 0, + 101, 0, 0, 0, 0, 0, 101, 101, 0, 618, + 0, 0, 101, 101, 0, 0, 0, 0, 0, 83, + 83, 0, 0, 1046, 0, 0, 101, 83, 651, 652, + 0, 0, 653, 0, 0, 0, 0, 0, 101, 101, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, - 0, 0, 0, 184, 185, 186, 187, 0, 0, 83, - 0, 0, 101, 101, 0, 0, 0, 188, 189, 190, - 0, 83, 83, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 217, 217, 217, 217, 0, 217, 217, 0, + 83, 0, 0, 184, 185, 186, 187, 0, 0, 101, + 0, 0, 0, 0, 0, 0, 0, 188, 189, 190, + 101, 101, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 217, 217, 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, - 200, 0, 201, 202, 0, 0, 0, 586, 0, 0, - 203, 276, 0, 0, 0, 101, 0, 0, 596, 0, - 0, 0, 0, 0, 0, 0, 0, 101, 101, 0, - 608, 0, 0, 0, 0, 619, 624, 625, 626, 627, - 628, 629, 630, 631, 632, 633, 634, 635, 636, 637, - 0, 639, 640, 641, 642, 643, 644, 645, 646, 647, - 648, 649, 650, 0, 0, 267, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 672, 672, 0, 0, 0, + 200, 0, 201, 202, 0, 0, 0, 83, 0, 83, + 203, 276, 83, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 897, 0, 101, 0, 498, 499, 500, + 346, 0, 0, 0, 0, 101, 101, 0, 0, 0, + 0, 267, 0, 101, 267, 0, 0, 0, 0, 217, + 217, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 413, 414, 415, 0, 0, 0, 0, 416, 417, 0, + 404, 405, 406, 407, 408, 409, 101, 0, 412, 413, + 419, 0, 0, 0, 0, 0, 416, 417, 0, 83, + 83, 0, 0, 0, 0, 0, 0, 0, 0, 419, + 0, 420, 0, 421, 422, 423, 424, 425, 426, 427, + 428, 429, 430, 0, 0, 217, 217, 217, 217, 0, + 217, 217, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 0, 101, 0, 101, 0, 0, 101, 0, + 586, 0, 0, 0, 83, 0, 0, 0, 0, 0, + 0, 596, 0, 0, 0, 0, 83, 83, 0, 0, + 0, 0, 0, 608, 0, 0, 0, 0, 619, 624, + 625, 626, 627, 628, 629, 630, 631, 632, 633, 634, + 635, 636, 637, 0, 639, 640, 641, 642, 643, 644, + 645, 646, 647, 648, 649, 650, 0, 0, 267, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 672, 672, + 0, 0, 0, 0, 0, 101, 101, 0, 0, 0, + 0, 0, 0, 267, 0, 0, 217, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 672, 0, + 267, 0, 672, 672, 0, 0, 0, 0, 0, 267, + 0, 0, 0, 0, 0, 0, 0, 0, 718, 0, + 0, 721, 722, 0, 0, 0, 723, 0, 0, 726, + 101, 729, 0, 309, 293, 0, 0, 0, 0, 0, + 0, 0, 101, 101, 0, 0, 0, 0, 0, 0, + 0, 672, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 726, 0, 0, 309, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 267, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 267, 0, 0, 217, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 672, 0, 267, 0, 672, - 672, 0, 0, 0, 0, 0, 267, 0, 0, 0, - 0, 0, 0, 0, 0, 718, 0, 0, 721, 722, - 0, 0, -293, 723, 0, 0, 726, 0, 729, 0, - 309, 293, 0, 0, 0, -293, -293, -293, -293, -293, - -293, 0, -293, 0, 0, 0, 0, -293, 672, -293, - -293, -293, 0, 0, 0, 0, 0, 0, 726, -293, - -293, 309, -293, -293, -293, -293, -293, 0, 0, 0, - 0, 267, 0, 0, 0, 0, 0, 0, 0, -293, - 0, 0, 0, 0, 0, 0, 0, 0, 759, 760, - 0, 0, 0, 0, -293, -293, -293, -293, -293, -293, - -293, -293, -293, -293, -293, -293, 770, 0, 0, 0, + 0, 759, 760, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 770, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 788, 0, + 0, 795, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -293, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -293, -293, -293, -293, -293, + -293, 0, -293, 0, 0, 0, 0, -293, 0, -293, + -293, -293, 0, 0, 0, 0, 0, 0, 0, -293, + -293, 0, -293, -293, -293, -293, -293, 0, 0, 0, + 0, 0, 0, 0, 217, 0, 0, 0, 0, -293, + 0, 0, 0, 0, 0, 0, 829, 0, 0, 770, + 788, 0, 0, 0, -293, -293, -293, -293, -293, -293, + -293, -293, -293, -293, -293, -293, 0, 0, 217, 0, -293, -293, -293, 0, 0, -293, 0, 0, 0, 0, - 0, -293, 0, -293, 0, 788, 0, -293, 795, 0, - 0, 0, 0, 0, 0, -293, 0, -293, 0, 0, + 877, -293, 0, -293, 0, 0, 0, -293, 0, 726, + 309, 0, 0, 0, 0, -293, 0, -293, 0, 0, -293, -293, 0, 0, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, -293, 0, 0, 0, 0, 0, -293, -293, -293, -293, 0, 0, -293, -293, -293, - -293, 0, 0, 0, 0, 0, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, - 0, 0, 14, 0, 108, 109, 17, 18, 0, 0, - 0, 217, 0, 110, 111, 112, 22, 23, 24, 25, - 0, 0, 113, 829, 0, 0, 770, 788, 0, 0, - 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 0, 39, 40, 41, 0, 217, 42, 0, 0, 43, - 44, 0, 116, 0, 0, 0, 0, 873, 0, 0, - 0, 0, 0, 0, 0, 0, 726, 309, 0, 0, - 906, 0, 0, 0, 313, 0, 0, 119, 52, 0, - 53, 54, 0, 0, 0, 0, 0, 56, 0, 57, - 58, 59, 0, 60, 61, 62, 0, 63, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 0, 0, 0, 0, 416, 417, 0, 120, 0, 0, - 0, 0, 0, 0, 0, 612, 0, 419, 922, 0, - 0, 0, 0, 672, 925, 0, 267, 0, 0, 672, - 672, 0, 0, 0, 726, 672, 672, 0, 420, 0, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 0, 0, 0, 0, 0, 0, 0, 0, 217, 0, - 0, 672, 672, 0, 672, 672, 0, 0, 0, 0, + -293, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 267, 309, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 990, 0, 0, 0, 293, 0, 0, - 698, 652, 0, 0, 699, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1002, 1003, 0, 0, 0, 174, - 175, 176, 177, 178, 179, 180, 181, 1008, 1009, 182, - 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, - 0, 0, 0, 1025, 0, 0, 0, 0, 0, 188, - 189, 190, 0, 1027, 1028, 0, 0, 0, 0, 0, - 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, - 198, 199, 200, 672, 201, 202, 0, 0, 0, 0, - 0, 498, 203, 276, 0, 0, 0, 0, 0, 499, - 0, 0, 0, 0, 0, 0, 0, 217, 217, 0, - 0, 0, 0, 0, 0, 309, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -669, 3, 0, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 0, 0, 0, 0, 0, 0, - 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, - 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, - 26, 0, 0, 0, 721, 0, 27, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, - 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, - 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, - 0, 0, 50, 0, 267, 51, 52, 0, 53, 54, - 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, - 0, 60, 61, 62, -417, 63, -669, 0, 0, -669, - -669, 0, 0, 0, 0, 0, 0, -417, -417, -417, - -417, -417, -417, 0, -417, 64, 65, 66, 0, -417, - -417, -417, -417, 0, 0, 0, 0, -669, 0, -669, - 0, -417, -417, 0, -417, -417, -417, -417, -417, 0, - 0, 0, 217, 217, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -417, -417, -417, -417, - -417, -417, -417, -417, -417, -417, -417, -417, 0, 0, - 0, 0, -417, -417, -417, 0, 0, -417, 0, 0, - 0, 0, 0, -417, 0, -417, 0, 0, 0, -417, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -417, - 0, 0, -417, -417, 0, 0, -417, 0, -417, -417, - -417, -417, -417, -417, -417, -417, -417, -417, 0, 0, - -530, 0, -417, -417, -417, -417, -417, 0, 276, -417, - -417, -417, -417, -530, -530, -530, -530, -530, -530, 0, - -530, 0, 0, 0, 0, -530, 0, -530, -530, 0, - 0, 0, 0, 0, 0, 0, 0, -530, -530, 0, - -530, -530, -530, -530, -530, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 496, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -530, -530, -530, -530, -530, -530, -530, -530, - -530, -530, -530, -530, 0, 0, 0, 0, -530, -530, - -530, 0, -530, -530, 0, 0, 0, 0, 0, -530, - 0, -530, 0, 0, 0, -530, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -530, 0, 0, -530, -530, - 0, -530, -530, 0, -530, -530, -530, -530, -530, -530, - -530, -530, -530, -530, 0, 0, -669, 0, 0, -530, - -530, -530, -530, 0, 0, -530, -530, -530, -530, -669, - -669, -669, -669, -669, -669, 0, -669, 0, 0, 0, - 0, -669, -669, -669, -669, 0, 0, 0, 0, 0, - 0, 0, 0, -669, -669, 0, -669, -669, -669, -669, - -669, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -669, -669, - -669, -669, -669, -669, -669, -669, -669, -669, -669, -669, - 0, 0, 0, 0, -669, -669, -669, 0, 0, -669, - 0, 0, 0, 0, 0, -669, 0, -669, 0, 0, - 0, -669, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -669, 0, 0, -669, -669, 0, 0, -669, 0, - -669, -669, -669, -669, -669, -669, -669, -669, -669, -669, - 0, 0, -669, 0, -669, -669, -669, -669, -669, 0, - 276, -669, -669, -669, -669, -669, -669, -669, -669, -669, - -669, 0, -669, 0, 0, 0, 0, -669, 0, -669, - -669, 0, 0, 0, 0, 0, 0, 0, 0, -669, - -669, 0, -669, -669, -669, -669, -669, 0, 0, 0, + 0, 926, 0, 0, 0, 0, 672, 929, 0, 267, + 0, 0, 672, 672, 0, 0, 0, 726, 672, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -669, -669, -669, -669, -669, -669, - -669, -669, -669, -669, -669, -669, 0, 0, 0, 0, - -669, -669, -669, 0, 0, -669, 0, 0, 0, 0, - 0, -669, 0, -669, 0, 0, 0, -669, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -669, 0, 0, - -669, -669, 0, 0, -669, 0, -669, -669, -669, -669, - -669, -669, -669, -669, -669, -669, 0, 0, -646, 0, - 0, -669, -669, -669, -669, 0, 276, -669, -669, -669, - -669, -646, -646, -646, 0, -646, -646, 0, -646, 0, - 0, 0, 0, -646, -646, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -646, -646, 0, -646, -646, - -646, -646, -646, 0, 0, 0, 0, 0, 0, 0, + 0, 217, 0, 0, 672, 672, 0, 672, 672, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 267, 309, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1000, 0, 0, 0, 293, 0, 0, 660, 661, 0, + 0, 662, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 1012, 1013, 0, 0, 0, 174, 175, 176, 177, + 178, 179, 180, 181, 1018, 1019, 182, 183, 0, 0, + 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, + 1035, 0, 0, 0, 0, 0, 188, 189, 190, 0, + 1037, 1038, 0, 0, 0, 0, 0, 672, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 672, 201, 202, 0, 0, 0, 0, 0, 498, 203, + 276, 0, 0, 0, 0, 0, 499, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 217, 217, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 309, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -679, 3, 0, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, + 0, 0, 0, 0, 14, 0, 15, 16, 17, 18, + 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, + 24, 25, 0, 0, 26, 0, 0, 721, 0, 0, + 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, + 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, + 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, + 52, 267, 53, 54, 0, 55, 0, 0, 0, 56, + 0, 57, 58, 59, 0, 60, 61, 62, -417, 63, + -679, 0, 0, -679, -679, 0, 0, 0, 0, 0, + 0, -417, -417, -417, -417, -417, -417, 0, -417, 64, + 65, 66, 0, -417, -417, -417, -417, 0, 0, 0, + 0, -679, 0, -679, 0, -417, -417, 0, -417, -417, + -417, -417, -417, 0, 0, 0, 0, 0, 0, 0, + 217, 217, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -417, -417, -417, -417, -417, -417, -417, -417, -417, -417, + -417, -417, 0, 0, 0, 0, -417, -417, -417, 0, + 0, -417, 0, 0, 0, 0, 0, -417, 0, -417, + 0, 0, 0, -417, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -417, 0, 0, -417, -417, 0, 0, + -417, 0, -417, -417, -417, -417, -417, -417, -417, -417, + -417, -417, 0, 0, -540, 0, -417, -417, -417, -417, + -417, 0, 276, -417, -417, -417, -417, -540, -540, -540, + -540, -540, -540, 0, -540, 0, 0, 0, 0, -540, + 0, -540, -540, 0, 0, 0, 0, 0, 0, 0, + 0, -540, -540, 0, -540, -540, -540, -540, -540, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 496, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -540, -540, -540, -540, + -540, -540, -540, -540, -540, -540, -540, -540, 0, 0, + 0, 0, -540, -540, -540, 0, -540, -540, 0, 0, + 0, 0, 0, -540, 0, -540, 0, 0, 0, -540, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -540, + 0, 0, -540, -540, 0, -540, -540, 0, -540, -540, + -540, -540, -540, -540, -540, -540, -540, -540, 0, 0, + -679, 0, 0, -540, -540, -540, -540, 0, 0, -540, + -540, -540, -540, -679, -679, -679, -679, -679, -679, 0, + -679, 0, 0, 0, 0, -679, -679, -679, -679, 0, + 0, 0, 0, 0, 0, 0, 0, -679, -679, 0, + -679, -679, -679, -679, -679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -646, -646, -646, -646, -646, -646, -646, -646, -646, -646, - -646, -646, 0, 0, 0, 0, -646, -646, -646, 0, - 807, -646, 0, 0, 0, 0, 0, 0, 0, -646, - 0, 0, 0, -646, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -646, 0, 0, -646, -646, 0, -107, - -646, 0, -646, -646, -646, -646, -646, -646, -646, -646, - -646, -646, 0, 0, -646, 0, -646, -646, -646, 0, - -99, 0, 0, -646, -646, -646, -646, -646, -646, -646, - 0, -646, -646, 0, -646, 0, 0, 0, 0, -646, - -646, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -646, -646, 0, -646, -646, -646, -646, -646, 0, + 0, 0, -679, -679, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, 0, 0, 0, 0, -679, -679, + -679, 0, 0, -679, 0, 0, 0, 0, 0, -679, + 0, -679, 0, 0, 0, -679, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -679, 0, 0, -679, -679, + 0, 0, -679, 0, -679, -679, -679, -679, -679, -679, + -679, -679, -679, -679, 0, 0, -679, 0, -679, -679, + -679, -679, -679, 0, 276, -679, -679, -679, -679, -679, + -679, -679, -679, -679, -679, 0, -679, 0, 0, 0, + 0, -679, 0, -679, -679, 0, 0, 0, 0, 0, + 0, 0, 0, -679, -679, 0, -679, -679, -679, -679, + -679, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, -679, -679, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + 0, 0, 0, 0, -679, -679, -679, 0, 0, -679, + 0, 0, 0, 0, 0, -679, 0, -679, 0, 0, + 0, -679, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -679, 0, 0, -679, -679, 0, 0, -679, 0, + -679, -679, -679, -679, -679, -679, -679, -679, -679, -679, + 0, 0, -656, 0, 0, -679, -679, -679, -679, 0, + 276, -679, -679, -679, -679, -656, -656, -656, 0, -656, + -656, 0, -656, 0, 0, 0, 0, -656, -656, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -656, + -656, 0, -656, -656, -656, -656, -656, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -646, -646, -646, -646, - -646, -646, -646, -646, -646, -646, -646, -646, 0, 0, - 0, 0, -646, -646, -646, 0, 807, -646, 0, 0, - 0, 0, 0, 0, 0, -646, 0, 0, 0, -646, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -646, - 0, 0, -646, -646, 0, -107, -646, 0, -646, -646, - -646, -646, -646, -646, -646, -646, -646, -646, 0, 0, - -302, 0, -646, -646, -646, 0, -646, 0, 0, -646, - -646, -646, -646, -302, -302, -302, 0, -302, -302, 0, + 0, 0, 0, 0, -656, -656, -656, -656, -656, -656, + -656, -656, -656, -656, -656, -656, 0, 0, 0, 0, + -656, -656, -656, 0, 807, -656, 0, 0, 0, 0, + 0, 0, 0, -656, 0, 0, 0, -656, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -656, 0, 0, + -656, -656, 0, -107, -656, 0, -656, -656, -656, -656, + -656, -656, -656, -656, -656, -656, 0, 0, -656, 0, + -656, -656, -656, 0, -99, 0, 0, -656, -656, -656, + -656, -656, -656, -656, 0, -656, -656, 0, -656, 0, + 0, 0, 0, -656, -656, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -656, -656, 0, -656, -656, + -656, -656, -656, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -656, -656, -656, -656, -656, -656, -656, -656, -656, -656, + -656, -656, 0, 0, 0, 0, -656, -656, -656, 0, + 807, -656, 0, 0, 0, 0, 0, 0, 0, -656, + 0, 0, 0, -656, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -656, 0, 0, -656, -656, 0, -107, + -656, 0, -656, -656, -656, -656, -656, -656, -656, -656, + -656, -656, 0, 0, -302, 0, -656, -656, -656, 0, + -656, 0, 0, -656, -656, -656, -656, -302, -302, -302, + 0, -302, -302, 0, -302, 0, 0, 0, 0, -302, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -302, -302, 0, -302, -302, -302, -302, -302, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -302, -302, -302, -302, + -302, -302, -302, -302, -302, -302, -302, -302, 0, 0, + 0, 0, -302, -302, -302, 0, 808, -302, 0, 0, + 0, 0, 0, 0, 0, -302, 0, 0, 0, -302, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -302, + 0, 0, -302, -302, 0, -109, -302, 0, -302, -302, + -302, -302, -302, -302, -302, -302, -302, -302, 0, 0, + -302, 0, 0, -302, -302, 0, -101, 0, 0, -302, + -302, -302, -302, -302, -302, -302, 0, -302, -302, 0, -302, 0, 0, 0, 0, -302, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -302, -302, 0, -302, -302, -302, -302, -302, 0, 0, 0, 0, 0, @@ -4024,82 +4033,10 @@ static const yytype_int16 yytable[] = 0, -302, 0, 0, 0, -302, 0, 0, 0, 0, 0, 0, 0, 0, 0, -302, 0, 0, -302, -302, 0, -109, -302, 0, -302, -302, -302, -302, -302, -302, - -302, -302, -302, -302, 0, 0, -302, 0, 0, -302, - -302, 0, -101, 0, 0, -302, -302, -302, -302, -302, - -302, -302, 0, -302, -302, 0, -302, 0, 0, 0, - 0, -302, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, -302, -302, 0, -302, -302, -302, -302, - -302, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -302, -302, - -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, - 0, 0, 0, 0, -302, -302, -302, 0, 808, -302, - 0, 0, 0, 0, 0, 0, 0, -302, 0, 0, - 0, -302, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -302, 0, 0, -302, -302, 0, -109, -302, 0, - -302, -302, -302, -302, -302, -302, -302, -302, -302, -302, - 0, 0, 0, 0, 0, -302, -302, 0, -302, 0, - 0, -302, -302, -302, -302, 295, 0, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, -669, -669, -669, - 0, 0, -669, 14, 0, 15, 16, 17, 18, 0, - 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, - 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, - 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, - 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, - 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, - 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, - 57, 58, 59, 0, 60, 61, 62, 0, 63, -669, - 0, 0, -669, -669, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, - 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, - -669, 295, -669, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 0, 0, -669, 0, -669, -669, 14, - 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, - 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, - 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, - 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, - 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, - 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, - 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, - 60, 61, 62, 0, 63, -669, 0, 0, -669, -669, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 64, 65, 66, 0, 0, 0, - 0, 0, 0, 0, 0, 0, -669, 295, -669, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, - 0, -669, 0, 0, -669, 14, -669, 15, 16, 17, - 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, - 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, - 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, - 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, - 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, - 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, - 63, -669, 0, 0, -669, -669, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 64, 65, 66, 0, 0, 0, 0, 0, 0, 0, - 0, 0, -669, 295, -669, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 0, 0, -669, 0, 0, - -669, 14, 0, 15, 16, 17, 18, -669, 0, 0, - 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, - 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, - 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, - 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, - 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, - 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, - 59, 0, 60, 61, 62, 0, 63, -669, 0, 0, - -669, -669, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 64, 65, 66, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -669, 295, - -669, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 13, 0, 0, -669, 0, 0, -669, 14, 0, 15, + -302, -302, -302, -302, 0, 0, 0, 0, 0, -302, + -302, 0, -302, 0, 0, -302, -302, -302, -302, 295, + 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, -679, -679, -679, 0, 0, -679, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, @@ -4109,60 +4046,27 @@ static const yytype_int16 yytable[] = 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, - 62, 0, 63, -669, 0, 0, -669, -669, 3, 0, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 0, 0, 64, 65, 66, 0, 14, 0, 15, 16, - 17, 18, 0, 0, -669, 0, -669, 19, 20, 21, - 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, - 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, - 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, + 62, 0, 63, -679, 0, 0, -679, -679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, - 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, - 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, - 0, 63, -669, 0, 0, -669, -669, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 64, 65, 66, 0, 0, -669, 0, 0, 0, - 0, 0, 0, -669, 295, -669, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 13, 0, -669, -669, 0, - 0, 0, 14, 0, 15, 16, 17, 18, 0, 0, - 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, - 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, - 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, - 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, - 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, - 58, 59, 0, 60, 61, 62, 0, 63, -669, 0, - 0, -669, -669, 295, 0, 4, 5, 6, 7, 8, - 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, - 0, 14, 0, 15, 16, 17, 18, 0, 0, -669, - 0, -669, 19, 20, 21, 22, 23, 24, 25, 0, - 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, - 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, - 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, - 0, 0, 0, 50, 0, 0, 296, 52, 0, 53, - 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, - 59, 0, 60, 61, 62, 0, 63, -669, 0, 0, - -669, -669, 295, 0, 4, 5, 6, 7, 8, 9, - 10, 11, 12, 13, 0, 0, 64, 65, 66, 0, - 14, 0, 15, 16, 17, 18, 0, -669, -669, 0, - -669, 19, 20, 21, 22, 23, 24, 25, 0, 0, - 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, - 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, - 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, - 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, - 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, - 0, 60, 61, 62, 0, 63, -669, 0, 0, -669, - -669, 295, 0, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 13, 0, 0, 64, 65, 66, 0, 14, - 0, 15, 16, 17, 18, 0, -669, -669, 0, -669, + 0, 0, 64, 65, 66, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -679, 295, -679, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 0, 0, -679, + 0, -679, -679, 14, 0, 15, 16, 17, 18, 0, + 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, + 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, + 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, + 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, + 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, + 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, + 57, 58, 59, 0, 60, 61, 62, 0, 63, -679, + 0, 0, -679, -679, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, + 66, 0, 0, 0, 0, 0, 0, 0, 0, 0, + -679, 295, -679, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, -679, 0, 0, -679, 14, + -679, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, @@ -4171,13 +4075,13 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, - 60, 61, 62, 0, 63, -669, 0, 0, -669, -669, + 60, 61, 62, 0, 63, -679, 0, 0, -679, -679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 64, 65, 66, 0, 0, -669, - 0, 0, 0, 0, 0, 0, -669, 295, -669, 4, + 0, 0, 0, 0, 64, 65, 66, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -679, 295, -679, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, - 0, -669, 0, 0, 0, 14, 0, 15, 16, 17, - 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, + 0, -679, 0, 0, -679, 14, 0, 15, 16, 17, + 18, -679, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, @@ -4186,22 +4090,75 @@ static const yytype_int16 yytable[] = 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, - 63, -669, 0, 0, -669, -669, 0, 0, 4, 5, + 63, -679, 0, 0, -679, -679, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 64, 65, 66, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -679, 295, -679, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 0, 0, -679, 0, 0, + -679, 14, 0, 15, 16, 17, 18, 0, 0, 0, + 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, + 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, + 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, + 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, + 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, + 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, + 59, 0, 60, 61, 62, 0, 63, -679, 0, 0, + -679, -679, 3, 0, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 0, 0, 64, 65, 66, 0, + 14, 0, 15, 16, 17, 18, 0, 0, -679, 0, + -679, 19, 20, 21, 22, 23, 24, 25, 0, 0, + 26, 0, 0, 0, 0, 0, 27, 28, 29, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, + 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, + 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, + 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, + 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, + 0, 60, 61, 62, 0, 63, -679, 0, 0, -679, + -679, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 64, 65, 66, 0, 0, + -679, 0, 0, 0, 0, 0, 0, -679, 295, -679, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 0, -679, -679, 0, 0, 0, 14, 0, 15, 16, + 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, + 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, + 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, + 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, + 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, + 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, + 0, 63, -679, 0, 0, -679, -679, 295, 0, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, + 0, 64, 65, 66, 0, 14, 0, 15, 16, 17, + 18, 0, 0, -679, 0, -679, 19, 20, 21, 22, + 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, + 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, + 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, + 296, 52, 0, 53, 54, 0, 55, 0, 0, 0, + 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, + 63, -679, 0, 0, -679, -679, 295, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, 0, 14, 0, 15, 16, 17, 18, - 0, 0, -669, 0, -669, 19, 20, 21, 22, 23, + 0, -679, -679, 0, -679, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, - 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, + 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, - 247, 0, 0, 248, 249, 0, 0, 4, 5, 6, + -679, 0, 0, -679, -679, 295, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, 64, 65, 66, 0, 14, 0, 15, 16, 17, 18, 0, - 0, 250, 0, 251, 19, 20, 21, 22, 23, 24, + -679, -679, 0, -679, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, @@ -4209,13 +4166,66 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, - 57, 58, 59, 0, 60, 61, 62, 0, 63, 247, - 0, 0, 248, 249, 0, 0, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 0, 0, 0, 64, 65, - 66, 0, 14, 0, 108, 109, 17, 18, 0, 0, - 250, 0, 251, 110, 111, 112, 22, 23, 24, 25, + 57, 58, 59, 0, 60, 61, 62, 0, 63, -679, + 0, 0, -679, -679, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 64, 65, + 66, 0, 0, -679, 0, 0, 0, 0, 0, 0, + -679, 295, -679, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 0, 0, -679, 0, 0, 0, 14, + 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, + 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, + 0, 0, 0, 0, 0, 27, 0, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, + 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, + 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, + 0, 50, 0, 0, 51, 52, 0, 53, 54, 0, + 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, + 60, 61, 62, 0, 63, -679, 0, 0, -679, -679, + 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 0, 0, 64, 65, 66, 0, 14, 0, + 15, 16, 17, 18, 0, 0, -679, 0, -679, 19, + 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, + 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, + 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, + 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, + 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, + 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, + 61, 62, 0, 63, 247, 0, 0, 248, 249, 0, + 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, + 13, 0, 0, 64, 65, 66, 0, 14, 0, 15, + 16, 17, 18, 0, 0, 250, 0, 251, 19, 20, + 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, + 0, 0, 0, 27, 0, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, + 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 48, 49, 0, 0, 0, 0, 0, 50, + 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, + 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, + 62, 0, 63, 247, 0, 0, 248, 249, 0, 0, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, + 0, 0, 64, 65, 66, 0, 14, 0, 108, 109, + 17, 18, 0, 0, 250, 0, 251, 110, 111, 112, + 22, 851, 852, 853, 0, 0, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 30, 31, 32, 854, 34, + 35, 36, 855, 38, 0, 39, 40, 41, 0, 0, + 856, 0, 0, 43, 44, 0, 45, 46, 47, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 48, 49, 0, 0, 0, 0, 0, 972, 0, + 0, 119, 52, 0, 858, 859, 0, 860, 0, 0, + 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, + 0, 63, -643, 0, 0, -643, -643, 0, 0, 0, + 0, 0, 0, 0, 861, 0, 0, 0, 0, 0, + 0, 64, 265, 66, 0, 0, -476, 0, 0, -476, + 0, 0, 0, -643, 0, -643, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, + 0, 0, 14, 0, 108, 109, 17, 18, 0, 0, + 0, 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, - 0, 30, 31, 32, 1047, 34, 35, 36, 37, 38, + 0, 30, 31, 32, 1057, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, @@ -4228,232 +4238,268 @@ static const yytype_int16 yytable[] = 0, -278, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 14, 0, 108, 109, 17, 18, 0, 0, 0, 0, 0, 110, - 111, 112, 22, 1053, 24, 25, 0, 0, 113, 0, + 111, 112, 22, 1063, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, - 1054, 34, 35, 36, 37, 38, 0, 39, 40, 41, + 1064, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, 54, 0, 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, - 61, 62, 0, 63, -638, 0, 0, -638, -638, 0, + 61, 62, 0, 63, -648, 0, 0, -648, -648, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 64, 265, 66, 0, 0, -470, 0, - 0, -638, 0, 0, 0, -638, 0, -638, 4, 5, + 0, 0, 0, 64, 265, 66, 0, 0, -480, 0, + 0, -648, 0, 0, 0, -648, 0, -648, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, - 0, 0, 0, 0, 14, 0, 108, 109, 17, 18, - 0, 0, 0, 0, 0, 110, 111, 112, 22, 851, - 852, 853, 0, 0, 113, 0, 0, 0, 0, 0, - 0, 0, 0, 30, 31, 32, 854, 34, 35, 36, - 855, 38, 0, 39, 40, 41, 0, 0, 856, 0, + 0, 0, 0, 0, 14, 0, 15, 16, 17, 18, + 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, + 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, + 0, 0, 0, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, - 49, 0, 0, 0, 0, 0, 968, 0, 0, 119, - 52, 0, 858, 859, 0, 0, 0, 0, 0, 56, + 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, + 52, 0, 53, 54, 0, 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, - -633, 0, 0, -633, -633, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, - 265, 66, 0, 0, -466, 0, 0, -466, 0, 0, - 0, -633, 0, -633, 4, 5, 6, 7, 8, 9, + 247, 0, 0, 248, 249, 0, 0, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 0, 0, 0, 64, + 65, 66, 0, 14, 0, 108, 109, 17, 18, 0, + 0, 250, 0, 251, 110, 111, 112, 22, 23, 24, + 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, + 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, + 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, + 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, + 0, 53, 54, 0, 0, 0, 0, 0, 56, 0, + 57, 58, 59, 0, 60, 61, 62, 0, 63, 247, + 0, 0, 248, 249, 0, 0, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 0, 0, 0, 64, 265, + 66, 0, 14, 0, 15, 16, 17, 18, 0, 0, + 250, 0, 251, 19, 20, 21, 22, 23, 24, 25, + 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, + 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, + 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, + 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, + 53, 54, 0, 0, 0, 0, 0, 56, 0, 57, + 58, 59, 0, 60, 61, 62, 0, 63, 247, 0, + 0, 248, 249, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 64, 65, 66, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 251, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 0, 0, 0, 155, + 156, 157, 158, 159, 160, 161, 162, 163, 164, 0, + 0, 0, 0, 0, 165, 166, 167, 168, 169, 170, + 171, 172, 35, 36, 173, 38, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 116, 174, + 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, + 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 0, 201, 202, 0, 0, 0, 0, + 0, 0, 203, 204, -649, -649, -649, -649, -649, -649, + -649, -649, -649, 0, 0, 0, 0, 0, 0, 0, + -649, 0, -649, -649, -649, -649, 0, -649, 0, 0, + 0, -649, -649, -649, -649, -649, -649, -649, 0, 0, + -649, 0, 0, 0, 0, 0, 0, 0, 0, -649, + -649, -649, -649, -649, -649, -649, -649, -649, 0, -649, + -649, -649, 0, 0, -649, 0, 0, -649, -649, 0, + -649, -649, -649, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -649, -649, 0, 0, 0, + 0, 0, -649, 0, 0, -649, -649, 0, -649, -649, + 0, -649, 0, -649, -649, -649, 0, -649, -649, -649, + 0, -649, -649, -649, 0, -649, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -649, -649, -649, 0, -649, + 0, 0, 0, 0, 0, -649, -650, -650, -650, -650, + -650, -650, -650, -650, -650, 0, 0, 0, 0, 0, + 0, 0, -650, 0, -650, -650, -650, -650, 0, -650, + 0, 0, 0, -650, -650, -650, -650, -650, -650, -650, + 0, 0, -650, 0, 0, 0, 0, 0, 0, 0, + 0, -650, -650, -650, -650, -650, -650, -650, -650, -650, + 0, -650, -650, -650, 0, 0, -650, 0, 0, -650, + -650, 0, -650, -650, -650, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, -650, -650, 0, + 0, 0, 0, 0, -650, 0, 0, -650, -650, 0, + -650, -650, 0, -650, 0, -650, -650, -650, 0, -650, + -650, -650, 0, -650, -650, -650, 0, -650, 0, 0, + 0, 0, 0, 0, -652, -652, -652, -652, -652, -652, + -652, -652, -652, 0, 0, 0, 0, -650, -650, -650, + -652, -650, -652, -652, -652, -652, 0, -650, 0, 0, + 0, -652, -652, -652, -652, -652, -652, -652, 0, 0, + -652, 0, 0, 0, 0, 0, 0, 0, 0, -652, + -652, -652, -652, -652, -652, -652, -652, -652, 0, -652, + -652, -652, 0, 0, -652, 0, 0, -652, -652, 0, + -652, -652, -652, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -652, -652, 0, 0, 0, + 0, 0, -652, 839, 0, -652, -652, 0, -652, -652, + 0, -652, 0, -652, -652, -652, 0, -652, -652, -652, + 0, -652, -652, -652, 0, -652, 0, 0, 0, 0, + 0, 0, -107, -653, -653, -653, -653, -653, -653, -653, + -653, -653, 0, 0, 0, -652, -652, -652, 0, -653, + 0, -653, -653, -653, -653, -652, 0, 0, 0, 0, + -653, -653, -653, -653, -653, -653, -653, 0, 0, -653, + 0, 0, 0, 0, 0, 0, 0, 0, -653, -653, + -653, -653, -653, -653, -653, -653, -653, 0, -653, -653, + -653, 0, 0, -653, 0, 0, -653, -653, 0, -653, + -653, -653, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, -653, -653, 0, 0, 0, 0, + 0, -653, 840, 0, -653, -653, 0, -653, -653, 0, + -653, 0, -653, -653, -653, 0, -653, -653, -653, 0, + -653, -653, -653, 0, -653, 0, 0, 0, 0, 0, + 0, -109, -654, -654, -654, -654, -654, -654, -654, -654, + -654, 0, 0, 0, -653, -653, -653, 0, -654, 0, + -654, -654, -654, -654, -653, 0, 0, 0, 0, -654, + -654, -654, -654, -654, -654, -654, 0, 0, -654, 0, + 0, 0, 0, 0, 0, 0, 0, -654, -654, -654, + -654, -654, -654, -654, -654, -654, 0, -654, -654, -654, + 0, 0, -654, 0, 0, -654, -654, 0, -654, -654, + -654, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -654, -654, 0, 0, 0, 0, 0, + -654, 0, 0, -654, -654, 0, -654, -654, 0, -654, + 0, -654, -654, -654, 0, -654, -654, -654, 0, -654, + -654, -654, 0, -654, 0, 0, 0, 0, 0, 0, + -655, -655, -655, -655, -655, -655, -655, -655, -655, 0, + 0, 0, 0, -654, -654, -654, -655, 0, -655, -655, + -655, -655, 0, -654, 0, 0, 0, -655, -655, -655, + -655, -655, -655, -655, 0, 0, -655, 0, 0, 0, + 0, 0, 0, 0, 0, -655, -655, -655, -655, -655, + -655, -655, -655, -655, 0, -655, -655, -655, 0, 0, + -655, 0, 0, -655, -655, 0, -655, -655, -655, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -655, -655, 0, 0, 0, 0, 0, -655, 0, + 0, -655, -655, 0, -655, -655, 0, -655, 0, -655, + -655, -655, 0, -655, -655, -655, 0, -655, -655, -655, + 0, -655, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, -655, -655, -655, 0, 0, 0, 0, 0, 0, + 0, -655, 131, 132, 133, 134, 135, 136, 137, 138, + 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, + 149, 150, 151, 152, 153, 154, 0, 0, 0, 155, + 156, 157, 233, 234, 235, 236, 162, 163, 164, 0, + 0, 0, 0, 0, 165, 166, 167, 237, 238, 239, + 240, 172, 320, 321, 241, 322, 0, 0, 0, 0, + 0, 0, 323, 0, 0, 0, 0, 0, 324, 174, + 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, + 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 188, + 189, 190, 0, 0, 0, 0, 325, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, + 198, 199, 200, 0, 201, 202, 0, 0, 0, 0, + 0, 0, 203, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 151, 152, 153, 154, 0, 0, 0, + 155, 156, 157, 233, 234, 235, 236, 162, 163, 164, + 0, 0, 0, 0, 0, 165, 166, 167, 237, 238, + 239, 240, 172, 320, 321, 241, 322, 0, 0, 0, + 0, 0, 0, 323, 0, 0, 0, 0, 0, 0, + 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, + 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 487, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 0, 201, 202, 0, 0, 0, + 0, 0, 0, 203, 131, 132, 133, 134, 135, 136, + 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, + 147, 148, 149, 150, 151, 152, 153, 154, 0, 0, + 0, 155, 156, 157, 233, 234, 235, 236, 162, 163, + 164, 0, 0, 0, 0, 0, 165, 166, 167, 237, + 238, 239, 240, 172, 0, 0, 241, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, + 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, + 187, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 188, 189, 190, 0, 0, 0, 242, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, + 196, 197, 198, 199, 200, 0, 201, 202, 0, 0, + 0, 0, 0, 0, 203, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, + 146, 147, 148, 149, 150, 151, 152, 153, 154, 0, + 0, 0, 155, 156, 157, 233, 234, 235, 236, 162, + 163, 164, 0, 0, 0, 0, 0, 165, 166, 167, + 237, 238, 239, 240, 172, 0, 0, 241, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, + 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, + 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 0, 201, 202, 0, + 0, 0, 0, 0, 0, 203, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, + 0, 0, 14, 0, 108, 109, 17, 18, 0, 0, + 0, 0, 0, 110, 111, 112, 22, 23, 24, 25, + 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, + 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, + 44, 0, 116, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 313, 0, 0, 119, 52, 0, + 53, 54, 0, 0, 0, 0, 0, 56, 0, 57, + 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, + 0, 0, 0, 0, 0, 0, 14, 120, 108, 109, + 17, 18, 0, 0, 0, 314, 0, 110, 111, 112, + 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, + 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, + 42, 0, 0, 43, 44, 0, 116, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, + 0, 119, 52, 0, 53, 54, 0, 0, 0, 0, + 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, + 0, 63, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, - 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, - 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, - 26, 0, 0, 0, 0, 0, 0, 0, 0, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, - 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, - 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, + 14, 120, 108, 109, 17, 18, 0, 0, 0, 612, + 0, 110, 111, 112, 22, 851, 852, 853, 0, 0, + 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, + 31, 32, 971, 34, 35, 36, 855, 38, 0, 39, + 40, 41, 0, 0, 856, 0, 0, 43, 44, 0, + 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, - 0, 0, 211, 0, 0, 119, 52, 0, 53, 54, - 0, 0, 0, 0, 0, 56, 0, 57, 58, 59, - 0, 60, 61, 62, 0, 63, 247, 0, 0, 248, - 249, 0, 0, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 0, 0, 0, 64, 65, 66, 0, 14, - 0, 108, 109, 17, 18, 0, 0, 250, 0, 251, + 0, 0, 972, 0, 0, 119, 52, 0, 858, 859, + 0, 973, 0, 263, 0, 56, 0, 57, 58, 59, + 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 861, 0, + 0, 0, 0, 0, 0, 64, 265, 66, 0, 0, + 0, 0, 974, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 0, 0, 0, 0, 0, 0, 0, 14, + 0, 108, 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, - 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, + 32, 980, 34, 35, 36, 37, 38, 0, 39, 40, + 41, 0, 0, 42, 0, 0, 43, 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, 54, 0, - 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, - 60, 61, 62, 0, 63, 247, 0, 0, 248, 249, + 0, 0, 981, 0, 56, 0, 57, 58, 59, 0, + 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 0, 0, 0, 64, 265, 66, 0, 14, 0, - 15, 16, 17, 18, 0, 0, 250, 0, 251, 19, + 12, 13, 0, 0, 64, 265, 66, 0, 14, 982, + 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, - 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, + 0, 0, 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, - 211, 0, 0, 119, 52, 0, 53, 54, 0, 0, + 50, 0, 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, - 61, 62, 0, 63, 247, 0, 0, 248, 249, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 64, 65, 66, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 251, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 0, 0, 0, 155, 156, 157, 158, 159, - 160, 161, 162, 163, 164, 0, 0, 0, 0, 0, - 165, 166, 167, 168, 169, 170, 171, 172, 35, 36, - 173, 38, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 116, 174, 175, 176, 177, 178, - 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, - 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, - 201, 202, 0, 0, 0, 0, 0, 0, 203, 204, - -640, -640, -640, -640, -640, -640, -640, -640, -640, 0, - 0, 0, 0, 0, 0, 0, -640, 0, -640, -640, - -640, -640, 0, -640, 0, 0, 0, -640, -640, -640, - -640, -640, -640, -640, 0, 0, -640, 0, 0, 0, - 0, 0, 0, 0, 0, -640, -640, -640, -640, -640, - -640, -640, -640, -640, 0, -640, -640, -640, 0, 0, - -640, 0, 0, -640, -640, 0, -640, -640, -640, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -640, -640, 0, 0, 0, 0, 0, -640, 0, - 0, -640, -640, 0, -640, -640, 0, -640, 0, -640, - -640, -640, 0, -640, -640, -640, 0, -640, -640, -640, - 0, -640, 0, 0, 0, 0, 0, 0, -642, -642, - -642, -642, -642, -642, -642, -642, -642, 0, 0, 0, - 0, -640, -640, -640, -642, -640, -642, -642, -642, -642, - 0, -640, 0, 0, 0, -642, -642, -642, -642, -642, - -642, -642, 0, 0, -642, 0, 0, 0, 0, 0, - 0, 0, 0, -642, -642, -642, -642, -642, -642, -642, - -642, -642, 0, -642, -642, -642, 0, 0, -642, 0, - 0, -642, -642, 0, -642, -642, -642, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, -642, - -642, 0, 0, 0, 0, 0, -642, 839, 0, -642, - -642, 0, -642, -642, 0, -642, 0, -642, -642, -642, - 0, -642, -642, -642, 0, -642, -642, -642, 0, -642, - 0, 0, 0, 0, 0, 0, -107, -643, -643, -643, - -643, -643, -643, -643, -643, -643, 0, 0, 0, -642, - -642, -642, 0, -643, 0, -643, -643, -643, -643, -642, - 0, 0, 0, 0, -643, -643, -643, -643, -643, -643, - -643, 0, 0, -643, 0, 0, 0, 0, 0, 0, - 0, 0, -643, -643, -643, -643, -643, -643, -643, -643, - -643, 0, -643, -643, -643, 0, 0, -643, 0, 0, - -643, -643, 0, -643, -643, -643, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -643, -643, - 0, 0, 0, 0, 0, -643, 840, 0, -643, -643, - 0, -643, -643, 0, -643, 0, -643, -643, -643, 0, - -643, -643, -643, 0, -643, -643, -643, 0, -643, 0, - 0, 0, 0, 0, 0, -109, -644, -644, -644, -644, - -644, -644, -644, -644, -644, 0, 0, 0, -643, -643, - -643, 0, -644, 0, -644, -644, -644, -644, -643, 0, - 0, 0, 0, -644, -644, -644, -644, -644, -644, -644, - 0, 0, -644, 0, 0, 0, 0, 0, 0, 0, - 0, -644, -644, -644, -644, -644, -644, -644, -644, -644, - 0, -644, -644, -644, 0, 0, -644, 0, 0, -644, - -644, 0, -644, -644, -644, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -644, -644, 0, - 0, 0, 0, 0, -644, 0, 0, -644, -644, 0, - -644, -644, 0, -644, 0, -644, -644, -644, 0, -644, - -644, -644, 0, -644, -644, -644, 0, -644, 0, 0, - 0, 0, 0, 0, -645, -645, -645, -645, -645, -645, - -645, -645, -645, 0, 0, 0, 0, -644, -644, -644, - -645, 0, -645, -645, -645, -645, 0, -644, 0, 0, - 0, -645, -645, -645, -645, -645, -645, -645, 0, 0, - -645, 0, 0, 0, 0, 0, 0, 0, 0, -645, - -645, -645, -645, -645, -645, -645, -645, -645, 0, -645, - -645, -645, 0, 0, -645, 0, 0, -645, -645, 0, - -645, -645, -645, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -645, -645, 0, 0, 0, - 0, 0, -645, 0, 0, -645, -645, 0, -645, -645, - 0, -645, 0, -645, -645, -645, 0, -645, -645, -645, - 0, -645, -645, -645, 0, -645, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -645, -645, -645, 0, 0, - 0, 0, 0, 0, 0, -645, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, - 0, 0, 0, 155, 156, 157, 233, 234, 235, 236, - 162, 163, 164, 0, 0, 0, 0, 0, 165, 166, - 167, 237, 238, 239, 240, 172, 320, 321, 241, 322, - 0, 0, 0, 0, 0, 0, 323, 0, 0, 0, - 0, 0, 324, 174, 175, 176, 177, 178, 179, 180, - 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, - 185, 186, 187, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, - 325, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, - 194, 195, 196, 197, 198, 199, 200, 0, 201, 202, - 0, 0, 0, 0, 0, 0, 203, 131, 132, 133, - 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, - 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, - 154, 0, 0, 0, 155, 156, 157, 233, 234, 235, - 236, 162, 163, 164, 0, 0, 0, 0, 0, 165, - 166, 167, 237, 238, 239, 240, 172, 320, 321, 241, - 322, 0, 0, 0, 0, 0, 0, 323, 0, 0, - 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, - 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, - 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, - 0, 487, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, - 202, 0, 0, 0, 0, 0, 0, 203, 131, 132, - 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, - 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, - 153, 154, 0, 0, 0, 155, 156, 157, 233, 234, - 235, 236, 162, 163, 164, 0, 0, 0, 0, 0, - 165, 166, 167, 237, 238, 239, 240, 172, 0, 0, - 241, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, - 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, - 0, 184, 185, 186, 187, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, - 0, 242, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, - 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, - 201, 202, 0, 0, 0, 0, 0, 0, 203, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, - 152, 153, 154, 0, 0, 0, 155, 156, 157, 233, - 234, 235, 236, 162, 163, 164, 0, 0, 0, 0, - 0, 165, 166, 167, 237, 238, 239, 240, 172, 0, - 0, 241, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, - 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, - 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 0, 201, 202, 0, 0, 0, 0, 0, 0, 203, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, - 0, 0, 0, 0, 0, 0, 14, 0, 108, 109, - 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, - 22, 851, 852, 853, 0, 0, 113, 0, 0, 0, - 0, 0, 0, 0, 0, 30, 31, 32, 967, 34, - 35, 36, 855, 38, 0, 39, 40, 41, 0, 0, - 856, 0, 0, 43, 44, 0, 261, 46, 47, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 49, 0, 0, 0, 0, 0, 968, 0, - 0, 119, 52, 0, 858, 859, 0, 969, 0, 263, - 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, - 0, 63, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 0, 64, 265, 66, 0, 0, 0, 14, 970, 108, - 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, - 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, - 0, 0, 0, 0, 0, 0, 30, 31, 32, 976, - 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, - 0, 42, 0, 0, 43, 44, 0, 261, 46, 47, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, - 0, 0, 119, 52, 0, 53, 54, 0, 0, 0, - 977, 0, 56, 0, 57, 58, 59, 0, 60, 61, - 62, 0, 63, 0, 0, 0, 0, 0, 0, 0, + 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 0, 0, 64, 265, 66, 0, 14, 978, 15, 16, + 0, 0, 0, 64, 65, 66, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, - 0, 0, 27, 28, 29, 30, 31, 32, 33, 34, + 0, 0, 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -4461,40 +4507,40 @@ static const yytype_int16 yytable[] = 0, 51, 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 0, 0, + 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, 65, 66, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, - 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, - 27, 0, 29, 30, 31, 32, 33, 34, 35, 36, + 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, + 0, 0, 0, 30, 31, 32, 260, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, - 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, + 0, 43, 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, - 49, 0, 0, 0, 0, 0, 50, 0, 0, 51, - 52, 0, 53, 54, 0, 55, 0, 0, 0, 56, + 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, + 52, 0, 53, 54, 0, 262, 0, 263, 264, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, - 65, 66, 14, 0, 15, 16, 17, 18, 0, 0, + 265, 66, 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, 260, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, + 0, 0, 0, 0, 0, 0, 0, 48, 509, 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, 54, 0, 262, 0, 263, 264, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, 265, 66, - 14, 0, 15, 16, 17, 18, 0, 0, 0, 0, - 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, + 14, 0, 108, 109, 17, 18, 0, 0, 0, 0, + 0, 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, 260, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 48, 509, 0, 0, 0, + 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, 54, - 0, 262, 0, 263, 264, 56, 0, 57, 58, 59, + 0, 725, 0, 263, 264, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, 265, 66, 14, 0, @@ -4504,7 +4550,7 @@ static const yytype_int16 yytable[] = 260, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, + 0, 0, 0, 48, 879, 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, 54, 0, 725, 0, 263, 264, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, @@ -4516,9 +4562,9 @@ static const yytype_int16 yytable[] = 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 875, 0, 0, 0, 0, 0, 211, 0, - 0, 119, 52, 0, 53, 54, 0, 725, 0, 263, - 264, 56, 0, 57, 58, 59, 0, 60, 61, 62, + 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, + 0, 119, 52, 0, 53, 54, 0, 262, 0, 263, + 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, 265, 66, 14, 0, 108, 109, 17, 18, @@ -4529,7 +4575,7 @@ static const yytype_int16 yytable[] = 0, 43, 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, - 52, 0, 53, 54, 0, 262, 0, 263, 0, 56, + 52, 0, 53, 54, 0, 0, 0, 263, 264, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, @@ -4541,7 +4587,7 @@ static const yytype_int16 yytable[] = 44, 0, 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, - 53, 54, 0, 0, 0, 263, 264, 56, 0, 57, + 53, 54, 0, 725, 0, 263, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, 265, 66, @@ -4553,30 +4599,30 @@ static const yytype_int16 yytable[] = 261, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, 54, - 0, 725, 0, 263, 0, 56, 0, 57, 58, 59, + 0, 0, 0, 263, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, 265, 66, 14, 0, - 108, 109, 17, 18, 0, 0, 0, 0, 0, 110, - 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, + 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, + 20, 21, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, - 260, 34, 35, 36, 37, 38, 0, 39, 40, 41, - 0, 0, 42, 0, 0, 43, 44, 0, 261, 46, + 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, + 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, - 211, 0, 0, 119, 52, 0, 53, 54, 0, 0, - 0, 263, 0, 56, 0, 57, 58, 59, 0, 60, + 211, 0, 0, 119, 52, 0, 53, 54, 0, 606, + 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, - 0, 0, 0, 64, 265, 66, 14, 0, 15, 16, - 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, + 0, 0, 0, 64, 265, 66, 14, 0, 108, 109, + 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, - 0, 119, 52, 0, 53, 54, 0, 606, 0, 0, + 0, 119, 52, 0, 53, 54, 0, 262, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, @@ -4588,7 +4634,7 @@ static const yytype_int16 yytable[] = 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, - 52, 0, 53, 54, 0, 262, 0, 0, 0, 56, + 52, 0, 53, 54, 0, 606, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, @@ -4600,7 +4646,7 @@ static const yytype_int16 yytable[] = 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, - 53, 54, 0, 606, 0, 0, 0, 56, 0, 57, + 53, 54, 0, 925, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, 265, 66, @@ -4612,24 +4658,24 @@ static const yytype_int16 yytable[] = 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, 52, 0, 53, 54, - 0, 921, 0, 0, 0, 56, 0, 57, 58, 59, + 0, 725, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, 265, 66, 14, 0, - 108, 109, 17, 18, 0, 0, 0, 0, 0, 110, - 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, + 15, 16, 17, 18, 0, 0, 0, 0, 0, 19, + 20, 21, 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, 0, 0, 0, 0, - 211, 0, 0, 119, 52, 0, 53, 54, 0, 725, + 211, 0, 0, 119, 52, 0, 53, 54, 0, 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, - 0, 0, 0, 64, 265, 66, 14, 0, 15, 16, - 17, 18, 0, 0, 0, 0, 0, 19, 20, 21, - 22, 23, 24, 25, 0, 0, 26, 0, 0, 0, + 0, 0, 0, 64, 65, 66, 14, 0, 108, 109, + 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, + 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 45, 46, 47, 0, @@ -4639,151 +4685,107 @@ static const yytype_int16 yytable[] = 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, - 0, 64, 65, 66, 14, 0, 108, 109, 17, 18, - 0, 0, 0, 0, 0, 110, 111, 112, 22, 23, + 0, 64, 265, 66, 14, 0, 15, 16, 17, 18, + 0, 0, 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, - 0, 43, 44, 0, 45, 46, 47, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, - 49, 0, 0, 0, 0, 0, 211, 0, 0, 119, + -451, 43, 44, 0, 45, 46, 47, 0, 0, 0, + -650, 0, 0, 0, 0, 0, 0, 0, 0, 48, + 49, 0, 0, 0, -451, -451, 211, 0, 0, 119, 52, 0, 53, 54, 0, 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, - 0, 0, 0, 0, 0, 0, 4, 5, 6, 7, - 8, 9, 10, 11, 12, 0, 0, 0, 0, 64, - 265, 66, 14, 0, 15, 16, 17, 18, 0, 0, - 0, 0, 0, 19, 20, 21, 22, 23, 24, 25, - 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, - 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 0, 39, 40, 41, 0, 0, 42, 0, -471, 43, - 44, 0, 45, 46, 47, 0, 0, 0, -639, 0, - 0, 0, 0, 0, 0, 0, 0, 48, 49, 0, - 0, 0, -471, -471, 211, 0, 0, 119, 52, 0, - 53, 54, 0, 0, 0, 0, 0, 56, 0, 57, - 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, - 0, 0, 0, 0, -530, -530, -530, -530, -530, -530, - -530, -530, -530, -530, -530, -530, 0, 64, 265, 66, - -530, -530, -530, 0, -530, -471, 0, 0, 0, 0, - 0, 0, 0, -530, 0, 0, 0, -530, 0, 0, - 0, 0, -442, 0, 0, 0, 0, -471, 0, 0, - -471, -471, -640, -530, -530, 0, -530, -530, -471, -530, - -530, -530, -530, -530, -530, -530, -442, -442, 0, 0, - -639, -471, -530, -471, -471, 0, -639, 0, -471, -530, - -471, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -534, -534, - -534, -534, -534, -534, -534, -534, -534, -534, -534, -534, - 0, 0, 0, 0, -534, -534, -534, 0, -534, -442, - 0, 0, 0, 0, 0, 0, 0, -534, 0, 0, - 0, -534, 0, 0, 0, 0, -438, 0, 0, 0, - 0, -442, 0, 0, -442, -442, 0, -534, -534, 0, - -534, -534, -442, -534, -534, -534, -534, -534, -534, -534, - -438, -438, 0, 0, -640, -442, -534, -442, -442, 0, - -640, 0, -442, -534, -442, 0, 0, -488, 0, 0, - -488, 0, 0, -488, 0, 0, 0, 0, 0, 0, - 0, 0, -488, -488, -488, -488, -488, -488, -488, -488, - -488, -488, -488, -488, 0, 0, 0, 0, -488, -488, - -488, 0, 0, -438, 0, 0, -439, 0, 0, 0, - 0, -488, 0, 0, 0, -488, 0, -488, 0, 0, - 0, 0, 0, 0, 0, -438, 0, 0, -438, -438, - -439, -439, -488, 0, -488, -488, -438, -488, -488, -488, - -488, -488, -488, -488, 0, 0, 0, 0, 0, -438, - -488, -438, -438, 0, 0, 0, -438, -488, -438, 0, - 0, 0, -539, -539, -539, -539, -539, -539, -539, -539, - -539, -539, -539, -539, 0, 0, 0, 0, -539, -539, - -539, 0, 0, -439, 0, 0, -440, 0, 0, 0, - 0, -539, 0, 0, 0, -539, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -439, 0, 0, -439, -439, - -440, -440, -539, 0, -539, -539, -439, -539, -539, -539, - -539, -539, -539, -539, 0, 0, 0, 0, 0, -439, - -539, -439, -439, 0, 0, 0, -439, -539, -439, 0, - 0, 0, -541, -541, -541, -541, -541, -541, -541, -541, - -541, -541, -541, -541, 0, 0, 0, 0, -541, -541, - -541, 0, 0, -440, 0, 0, -441, 0, 0, 0, - 0, -541, 0, 0, 0, -541, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -440, 0, 0, -440, -440, - -441, -441, -541, 0, -541, -541, -440, -541, -541, -541, - -541, -541, -541, -541, 0, 0, 0, 0, 0, -440, - -541, -440, -440, 0, 0, 0, -440, -541, -440, 0, - 0, 0, -542, -542, -542, -542, -542, -542, -542, -542, - -542, -542, -542, -542, 0, 0, 0, 0, -542, -542, - -542, 0, 0, -441, 0, 0, -437, 0, 0, 0, - 0, -542, 0, 0, 0, -542, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -441, 0, 0, -441, -441, - -437, -437, -542, 0, -542, -542, -441, -542, -542, -542, - -542, -542, -542, -542, 0, 0, 0, 0, 0, -441, - -542, -441, -441, 0, 0, 0, -441, -542, -441, 0, - 0, 0, -482, -482, -482, -482, -482, -482, -482, -482, - -482, -482, -482, -482, 0, 0, 0, 0, -482, -482, - -482, 0, 0, -437, 0, 0, -436, 0, 0, 0, - 0, -482, 0, 0, 0, -482, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -437, 0, 0, -437, -437, - -436, -436, -482, 0, -482, -482, -437, -482, -482, -482, - -482, -482, -482, -482, 0, 0, 0, 0, 0, -437, - -482, -437, -437, 0, 0, 0, -437, -482, -437, 0, - 0, 0, -481, -481, -481, -481, -481, -481, -481, -481, - -481, -481, -481, -481, 0, 0, 0, 0, -481, -481, - -481, 0, 0, -436, 0, 0, 0, 0, 0, 0, - 0, -481, 0, 0, 0, -481, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -436, 0, 0, -436, -436, - 0, 0, -481, 0, -481, -481, -436, -481, -481, -481, - -481, -481, -481, -481, 0, 0, 0, 0, 0, -436, - -481, -436, -436, 0, 0, 0, -436, -481, -436, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, - 0, 0, 0, 0, 0, 14, 0, 108, 109, 17, - 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, - 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, - 0, 0, 0, 0, 30, 31, 32, 114, 34, 35, - 36, 115, 38, 0, 39, 40, 41, 0, 0, 42, - 0, 0, 43, 44, 0, 116, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 117, 0, 0, 118, 0, 0, - 119, 52, 0, 53, 54, 0, 0, 0, 0, 0, - 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, - 63, 0, 0, 4, 5, 6, 7, 8, 9, 10, - 11, 12, 0, 0, 0, 0, 0, 0, 0, 14, - 120, 108, 109, 17, 18, 0, 0, 0, 0, 0, - 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, - 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, - 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, - 41, 0, 0, 42, 0, 0, 43, 44, 0, 225, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 226, 0, 0, 51, 52, 0, 53, 54, 0, - 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, - 60, 61, 62, 0, 63, 0, 0, 4, 5, 6, + 0, 0, 0, 0, 0, 0, -544, -544, -544, -544, + -544, -544, -544, -544, -544, -544, -544, -544, 0, 64, + 265, 66, -544, -544, -544, 0, -544, -451, 0, 0, + 0, 0, 0, 0, 0, -544, 0, 0, 0, -544, + 0, 0, 0, 0, -447, 0, 0, 0, 0, -451, + 0, 0, -451, -451, 0, -544, -544, 0, -544, -544, + -451, -544, -544, -544, -544, -544, -544, -544, -447, -447, + 0, 0, -650, -451, -544, -451, -451, 0, -650, 0, + -451, -544, -451, 0, 0, -498, 0, 0, -498, 0, + 0, -498, 0, 0, 0, 0, 0, 0, 0, 0, + -498, -498, -498, -498, -498, -498, -498, -498, -498, -498, + -498, -498, 0, 0, 0, 0, -498, -498, -498, 0, + 0, -447, 0, 0, -448, 0, 0, 0, 0, -498, + 0, 0, 0, -498, 0, -498, 0, 0, 0, 0, + 0, 0, 0, -447, 0, 0, -447, -447, -448, -448, + -498, 0, -498, -498, -447, -498, -498, -498, -498, -498, + -498, -498, 0, 0, 0, 0, 0, -447, -498, -447, + -447, 0, 0, 0, -447, -498, -447, 0, 0, 0, + -549, -549, -549, -549, -549, -549, -549, -549, -549, -549, + -549, -549, 0, 0, 0, 0, -549, -549, -549, 0, + 0, -448, 0, 0, -449, 0, 0, 0, 0, -549, + 0, 0, 0, -549, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -448, 0, 0, -448, -448, -449, -449, + -549, 0, -549, -549, -448, -549, -549, -549, -549, -549, + -549, -549, 0, 0, 0, 0, 0, -448, -549, -448, + -448, 0, 0, 0, -448, -549, -448, 0, 0, 0, + -551, -551, -551, -551, -551, -551, -551, -551, -551, -551, + -551, -551, 0, 0, 0, 0, -551, -551, -551, 0, + 0, -449, 0, 0, -450, 0, 0, 0, 0, -551, + 0, 0, 0, -551, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -449, 0, 0, -449, -449, -450, -450, + -551, 0, -551, -551, -449, -551, -551, -551, -551, -551, + -551, -551, 0, 0, 0, 0, 0, -449, -551, -449, + -449, 0, 0, 0, -449, -551, -449, 0, 0, 0, + -552, -552, -552, -552, -552, -552, -552, -552, -552, -552, + -552, -552, 0, 0, 0, 0, -552, -552, -552, 0, + 0, -450, 0, 0, -446, 0, 0, 0, 0, -552, + 0, 0, 0, -552, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -450, 0, 0, -450, -450, -446, -446, + -552, 0, -552, -552, -450, -552, -552, -552, -552, -552, + -552, -552, 0, 0, 0, 0, 0, -450, -552, -450, + -450, 0, 0, 0, -450, -552, -450, 0, 0, 0, + -492, -492, -492, -492, -492, -492, -492, -492, -492, -492, + -492, -492, 0, 0, 0, 0, -492, -492, -492, 0, + 0, -446, 0, 0, -445, 0, 0, 0, 0, -492, + 0, 0, 0, -492, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -446, 0, 0, -446, -446, -445, -445, + -492, 0, -492, -492, -446, -492, -492, -492, -492, -492, + -492, -492, 0, 0, 0, 0, 0, -446, -492, -446, + -446, 0, 0, 0, -446, -492, -446, 0, 0, 0, + -491, -491, -491, -491, -491, -491, -491, -491, -491, -491, + -491, -491, 0, 0, 0, 0, -491, -491, -491, 0, + 0, -445, 0, 0, 0, 0, 0, 0, 0, -491, + 0, 0, 0, -491, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -445, 0, 0, -445, -445, 0, 0, + -491, 0, -491, -491, -445, -491, -491, -491, -491, -491, + -491, -491, 0, 0, 0, 0, 0, -445, -491, -445, + -445, 0, 0, 0, -445, -491, -445, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, - 0, 0, 0, 14, 120, 108, 109, 17, 18, 0, - 0, 0, 0, 0, 110, 111, 112, 22, 23, 24, - 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, - 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, - 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, + 0, 0, 0, 14, 0, 108, 109, 17, 18, 0, + 0, 0, 0, 0, 110, 111, 112, 22, 851, 852, + 853, 0, 0, 113, 0, 0, 0, 0, 0, 0, + 0, 0, 30, 31, 32, 854, 34, 35, 36, 855, + 38, 0, 39, 40, 41, 0, 0, 856, 0, 0, 43, 44, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 313, 0, 0, 400, 52, - 0, 53, 54, 0, 401, 0, 0, 0, 56, 0, + 0, 0, 0, 0, 0, 857, 0, 0, 119, 52, + 0, 858, 859, 0, 860, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, - 0, 0, 0, 0, 0, 0, 0, 14, 120, 108, + 0, 861, 0, 0, 0, 0, 0, 14, 120, 108, 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, - 112, 22, 851, 852, 853, 0, 0, 113, 0, 0, - 0, 0, 0, 0, 0, 0, 30, 31, 32, 854, - 34, 35, 36, 855, 38, 0, 39, 40, 41, 0, - 0, 856, 0, 0, 43, 44, 0, 116, 0, 0, + 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, + 0, 0, 0, 0, 0, 0, 30, 31, 32, 114, + 34, 35, 36, 115, 38, 0, 39, 40, 41, 0, + 0, 42, 0, 0, 43, 44, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 857, - 0, 0, 119, 52, 0, 858, 859, 0, 1108, 0, + 0, 0, 0, 0, 0, 0, 117, 0, 0, 118, + 0, 0, 119, 52, 0, 53, 54, 0, 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 14, 120, 108, 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, - 30, 31, 32, 114, 34, 35, 36, 115, 38, 0, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, - 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 118, 0, 0, 119, 52, 0, 53, - 54, 0, 0, 0, 0, 0, 56, 0, 57, 58, + 0, 0, 0, 226, 0, 0, 51, 52, 0, 53, + 54, 0, 55, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 14, 120, 108, 109, 17, @@ -4794,7 +4796,7 @@ static const yytype_int16 yytable[] = 0, 0, 43, 44, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, 0, 0, - 400, 52, 0, 53, 54, 0, 0, 0, 0, 0, + 400, 52, 0, 53, 54, 0, 401, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, 0, 14, @@ -4808,15 +4810,15 @@ static const yytype_int16 yytable[] = 0, 857, 0, 0, 119, 52, 0, 858, 859, 0, 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 0, 0, 0, 0, + 7, 8, 9, 10, 11, 12, 0, 861, 0, 0, 0, 0, 0, 14, 120, 108, 109, 17, 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, - 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, + 0, 0, 30, 31, 32, 114, 34, 35, 36, 115, 38, 0, 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1012, 0, 0, 119, 52, + 0, 0, 0, 0, 0, 118, 0, 0, 119, 52, 0, 53, 54, 0, 0, 0, 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, 62, 0, 63, 0, 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, @@ -4825,62 +4827,59 @@ static const yytype_int16 yytable[] = 112, 22, 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, 39, 40, 41, 0, - 0, 42, 0, 0, 43, 44, 0, 225, 0, 0, - 0, 0, -639, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1035, - 0, 0, 119, 52, 0, 53, 54, 0, 0, 0, - 0, 0, 56, 496, 57, 58, 59, 0, 60, 61, - 62, 0, 63, 0, 0, 0, 0, 0, -530, -530, - -530, -530, -530, -530, -530, -530, -530, -530, -530, -530, - 0, 0, 120, 0, -530, -530, -530, 0, -530, -471, - 0, 0, 0, 0, 0, 0, 0, -530, 0, -639, - 0, -530, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -530, 0, 0, -530, -530, 0, -530, -530, 0, - -530, -530, -471, -530, -530, -530, -530, -530, -530, -530, - 0, 0, 0, 0, -639, 0, -530, -471, -471, 0, - -639, 0, -530, -530, -530, -530, -530, -530, -530, -530, - -530, -530, -530, -530, -530, -530, -530, 0, 0, 0, - 0, -530, -530, -530, 0, -530, 0, 0, 0, 0, - 0, 0, 0, 0, -530, 0, -639, 0, -530, 0, - 0, 0, 0, 0, 0, 0, 0, 0, -530, 0, - 0, -530, -530, 0, -530, -530, 0, -530, -530, -530, - -530, -530, -530, -530, -530, -530, -530, 0, 0, 0, - 0, -639, 0, -530, -456, -456, 0, -639, 0, -530, - -530, -530, -530, -530, -530, -530, -530, -530, -530, -530, - -530, -530, -530, -530, 0, 0, 0, 0, -530, -530, - -530, 0, -530, 0, 0, 0, 0, 0, 0, 0, - 0, -530, 0, 0, 0, -530, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -530, 0, 0, -530, -530, - 0, -530, -530, 0, -530, -530, -530, -530, -530, -530, - -530, -530, -530, -530, 0, 0, 0, 0, -639, -468, - -530, 0, -530, 0, -639, 0, -530, -530, -530, 701, - 661, 0, 0, 702, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, - 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, - 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, - 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 42, 0, 0, 43, 44, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 0, 201, 202, 708, 652, 0, 0, 709, - 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, - 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, - 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 313, + 0, 0, 400, 52, 0, 53, 54, 0, 0, 0, + 0, 0, 56, 0, 57, 58, 59, 0, 60, 61, + 62, 0, 63, 0, 0, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 0, 0, 0, 0, 0, 0, + 0, 14, 120, 108, 109, 17, 18, 0, 0, 0, + 0, 0, 110, 111, 112, 22, 23, 24, 25, 0, + 0, 113, 0, 0, 0, 0, 0, 0, 0, 0, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 0, + 39, 40, 41, 0, 0, 42, 0, 0, 43, 44, + 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, - 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, - 202, 711, 661, 0, 0, 712, 0, 203, 276, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, - 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 0, 201, 202, 748, 652, 0, - 0, 749, 0, 203, 276, 0, 0, 0, 0, 0, + 0, 0, 0, 1022, 0, 0, 119, 52, 0, 53, + 54, 0, 0, 0, 0, 0, 56, 0, 57, 58, + 59, 0, 60, 61, 62, 0, 63, 0, 0, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 0, 0, + 0, 0, 0, 0, 0, 14, 120, 108, 109, 17, + 18, 0, 0, 0, 0, 0, 110, 111, 112, 22, + 23, 24, 25, 0, 0, 113, 0, 0, 0, 0, + 0, 0, 0, 0, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 0, 39, 40, 41, 0, 0, 42, + 0, 0, 43, 44, 0, 225, 0, 0, 0, 0, + -649, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1045, 0, 0, + 119, 52, 0, 53, 54, 0, 0, 0, 0, 0, + 56, 496, 57, 58, 59, 0, 60, 61, 62, 0, + 63, 0, 0, 0, 0, 0, -540, -540, -540, -540, + -540, -540, -540, -540, -540, -540, -540, -540, 0, 0, + 120, 0, -540, -540, -540, 0, -540, -481, 0, 0, + 0, 0, 0, 0, 0, -540, 0, -649, 0, -540, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -540, + 0, 0, -540, -540, 0, -540, -540, 0, -540, -540, + -481, -540, -540, -540, -540, -540, -540, -540, 0, 0, + 0, 0, -649, 0, -540, -481, -481, 0, -649, 0, + -540, -540, -540, -540, -540, -540, -540, -540, -540, -540, + -540, -540, -540, -540, -540, 0, 0, 0, 0, -540, + -540, -540, 0, -540, 0, 0, 0, 0, 0, 0, + 0, 0, -540, 0, -649, 0, -540, 0, 0, 0, + 0, 0, 0, 0, 0, 0, -540, 0, 0, -540, + -540, 0, -540, -540, 0, -540, -540, -540, -540, -540, + -540, -540, -540, -540, -540, 0, 0, 0, 0, -649, + 0, -540, -466, -466, 0, -649, 0, -540, -540, -540, + -540, -540, -540, -540, -540, -540, -540, -540, -540, -540, + -540, -540, 0, 0, 0, 0, -540, -540, -540, 0, + -540, 0, 0, 0, 0, 0, 0, 0, 0, -540, + 0, 0, 0, -540, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -540, 0, 0, -540, -540, 0, -540, + -540, 0, -540, -540, -540, -540, -540, -540, -540, -540, + -540, -540, 0, 0, 0, 0, -649, -478, -540, 0, + -540, 0, -649, 0, -540, -540, -540, 681, 652, 0, + 0, 682, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, @@ -4888,7 +4887,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 0, 201, 202, 751, 661, 0, 0, 752, 0, 203, + 0, 201, 202, 666, 661, 0, 0, 667, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, @@ -4896,8 +4895,8 @@ static const yytype_int16 yytable[] = 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 0, 201, 202, 926, - 652, 0, 0, 927, 0, 203, 276, 0, 0, 0, + 195, 196, 197, 198, 199, 200, 0, 201, 202, 698, + 652, 0, 0, 699, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, @@ -4905,7 +4904,7 @@ static const yytype_int16 yytable[] = 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 0, 201, 202, 929, 661, 0, 0, 930, + 199, 200, 0, 201, 202, 701, 661, 0, 0, 702, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, @@ -4914,7 +4913,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, - 202, 1058, 652, 0, 0, 1059, 0, 203, 276, 0, + 202, 708, 652, 0, 0, 709, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, @@ -4922,8 +4921,8 @@ static const yytype_int16 yytable[] = 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 0, 201, 202, 698, 652, 0, - 0, 1107, 0, 203, 276, 0, 0, 0, 0, 0, + 197, 198, 199, 200, 0, 201, 202, 711, 661, 0, + 0, 712, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, @@ -4931,7 +4930,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, - 0, 201, 202, 1058, 652, 0, 0, 1130, 0, 203, + 0, 201, 202, 748, 652, 0, 0, 749, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, @@ -4939,8 +4938,8 @@ static const yytype_int16 yytable[] = 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, - 195, 196, 197, 198, 199, 200, 0, 201, 202, 1141, - 652, 0, 0, 1142, 0, 203, 276, 0, 0, 0, + 195, 196, 197, 198, 199, 200, 0, 201, 202, 751, + 661, 0, 0, 752, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, @@ -4948,7 +4947,7 @@ static const yytype_int16 yytable[] = 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, - 199, 200, 0, 201, 202, 1144, 661, 0, 0, 1145, + 199, 200, 0, 201, 202, 930, 652, 0, 0, 931, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, @@ -4957,7 +4956,7 @@ static const yytype_int16 yytable[] = 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, - 202, 666, 661, 0, 0, 667, 0, 203, 276, 0, + 202, 933, 661, 0, 0, 934, 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, @@ -4965,606 +4964,649 @@ static const yytype_int16 yytable[] = 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, - 197, 198, 199, 200, 0, 201, 202, 0, 0, 0, - 0, 0, 0, 203, -302, -302, -302, -302, -302, -302, - -302, -302, -302, -302, -302, -302, 0, 0, 0, 0, - -302, -302, -302, 0, 840, -302, 0, 0, 0, 0, - 0, 0, 0, -302, 0, 0, 0, -302, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -302, 0, 0, - -302, -302, 0, -109, -302, 0, -302, -302, -302, -302, - -302, -302, -302, -302, -302, -302, 0, 0, 0, 0, - 0, -302, -302, -302, -302, 0, -643, 0, -302, -302, - -302, -303, -303, -303, -303, -303, -303, -303, -303, -303, - -303, -303, -303, 0, 0, 0, 0, -303, -303, -303, - 0, 526, -303, 0, 0, 0, 0, 0, 0, 0, - -303, 0, 0, 0, -303, 0, 0, 0, 0, 0, - 0, 0, 0, 0, -303, 0, 0, -303, -303, 0, - -110, -303, 0, -303, -303, -303, -303, -303, -303, -303, - -303, -303, -303, 0, 0, 0, 0, 0, -303, -303, - -303, -303, 0, 0, 0, -303, -303, -303, -539, -539, - -539, -539, -539, -539, -539, -539, -539, -539, -539, -539, - 0, 0, 0, 0, -539, -539, -539, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, -539, 0, 0, - 0, -539, 0, 0, 0, 0, 0, 0, 0, 0, - 0, -539, 0, 0, -539, -539, 0, 0, -539, 0, - -539, -539, -539, -539, -539, -539, -539, -539, -539, -539, - 0, 0, 0, 0, 0, -469, -539, 0, -539, 0, - 0, 0, -539, -539, -539, -482, -482, -482, -482, -482, - -482, -482, -482, -482, -482, -482, -482, 0, 0, 0, - 0, -482, -482, -482, 0, 0, 1057, 0, 0, 0, - 0, 0, 0, 0, -482, 0, 0, 0, -482, 0, + 197, 198, 199, 200, 0, 201, 202, 1068, 652, 0, + 0, 1069, 0, 203, 276, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, + 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, + 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, -482, 0, -482, -482, -482, - -482, -482, -482, -482, -482, -482, -482, 0, 0, 0, - 0, 0, 0, -482, 0, 0, 0, 0, 0, 0, - -482, 404, 405, 406, 407, 408, 409, 410, 411, 412, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 0, 201, 202, 698, 652, 0, 0, 1121, 0, 203, + 276, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 174, 175, 176, 177, 178, 179, 180, 181, + 0, 0, 182, 183, 0, 0, 0, 0, 184, 185, + 186, 187, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 188, 189, 190, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 0, 201, 202, 1068, + 652, 0, 0, 1145, 0, 203, 276, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 174, 175, + 176, 177, 178, 179, 180, 181, 0, 0, 182, 183, + 0, 0, 0, 0, 184, 185, 186, 187, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 188, 189, + 190, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 191, 192, 193, 194, 195, 196, 197, 198, + 199, 200, 0, 201, 202, 1156, 652, 0, 0, 1157, + 0, 203, 276, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 174, 175, 176, 177, 178, 179, + 180, 181, 0, 0, 182, 183, 0, 0, 0, 0, + 184, 185, 186, 187, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 188, 189, 190, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 191, 192, + 193, 194, 195, 196, 197, 198, 199, 200, 0, 201, + 202, 1159, 661, 0, 0, 1160, 0, 203, 276, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 174, 175, 176, 177, 178, 179, 180, 181, 0, 0, + 182, 183, 0, 0, 0, 0, 184, 185, 186, 187, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 188, 189, 190, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 191, 192, 193, 194, 195, 196, + 197, 198, 199, 200, 0, 201, 202, 666, 661, 0, + 0, 667, 0, 203, 276, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 174, 175, 176, 177, + 178, 179, 180, 181, 0, 0, 182, 183, 0, 0, + 0, 0, 184, 185, 186, 187, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 188, 189, 190, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 910, 0, 0, 0, 0, 0, 0, 0, + 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, + 0, 201, 202, 0, 0, 0, 0, 0, 0, 203, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 0, 0, 0, 0, 416, 417, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 420, 0, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, -302, -302, -302, -302, -302, -302, -302, -302, + -302, -302, -302, -302, 0, 0, 0, 0, -302, -302, + -302, 0, 840, -302, 0, 0, 0, 0, 0, 0, + 0, -302, 0, 0, 0, -302, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -302, 0, 0, -302, -302, + 0, -109, -302, 0, -302, -302, -302, -302, -302, -302, + -302, -302, -302, -302, 0, 0, 0, 0, 0, -302, + -302, -302, -302, 0, -653, 0, -302, -302, -302, -303, + -303, -303, -303, -303, -303, -303, -303, -303, -303, -303, + -303, 0, 0, 0, 0, -303, -303, -303, 0, 526, + -303, 0, 0, 0, 0, 0, 0, 0, -303, 0, + 0, 0, -303, 0, 0, 0, 0, 0, 0, 0, + 0, 0, -303, 0, 0, -303, -303, 0, -110, -303, + 0, -303, -303, -303, -303, -303, -303, -303, -303, -303, + -303, 0, 0, 0, 0, 0, -303, -303, -303, -303, + 0, 0, 0, -303, -303, -303, -549, -549, -549, -549, + -549, -549, -549, -549, -549, -549, -549, -549, 0, 0, + 0, 0, -549, -549, -549, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, -549, 0, 0, 0, -549, + 0, 0, 0, 0, 0, 0, 0, 0, 0, -549, + 0, 0, -549, -549, 0, 0, -549, 0, -549, -549, + -549, -549, -549, -549, -549, -549, -549, -549, 0, 0, + 0, 0, 0, -479, -549, 0, -549, 0, 0, 0, + -549, -549, -549, -492, -492, -492, -492, -492, -492, -492, + -492, -492, -492, -492, -492, 0, 0, 0, 0, -492, + -492, -492, 0, 0, 1067, 0, 0, 0, 0, 0, + 0, 0, -492, 0, 0, 0, -492, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -492, 0, -492, -492, -492, -492, -492, + -492, -492, -492, -492, -492, 0, 0, 0, 0, 0, + 0, -492, 0, 0, 0, 0, 0, 0, -492, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 0, 0, 0, 0, 416, 417, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, + 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, + 430, 0, 0, 0, 0, 0, 0, 0, 0, -277, + 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, + 414, 415, 0, 0, 0, 0, 416, 417, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 420, 0, 421, 422, 423, 424, 425, 426, 427, 428, + 429, 430, 0, 0, 0, 0, 0, 0, 0, 0, + -279, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 0, 0, 0, 0, 0, 0, 0, - 0, -279, 404, 405, 406, 407, 408, 409, 410, 411, + 0, -280, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, 0, 0, 0, 0, 0, 0, - 0, 0, -280, 404, 405, 406, 407, 408, 409, 410, + 0, 0, -282, 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, 0, 0, 0, 416, - 417, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 417, 0, 0, 0, 418, 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, 421, 422, 423, 424, 425, - 426, 427, 428, 429, 430, 0, 0, 0, 0, 0, - 0, 0, 0, -282, 404, 405, 406, 407, 408, 409, - 410, 411, 412, 413, 414, 415, 0, 0, 0, 0, - 416, 417, 0, 0, 0, 418, 0, 0, 0, 0, - 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, + 426, 427, 428, 429, 430, 404, 405, 406, 407, 408, + 409, 410, 411, 412, 413, 414, 415, 0, 0, 0, + 0, 416, 417, 0, 0, 0, 501, 0, 0, 0, + 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 420, 0, 421, 422, 423, 424, - 425, 426, 427, 428, 429, 430, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 0, 0, - 0, 0, 416, 417, 0, 0, 0, 501, 0, 0, - 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 420, 0, 421, 422, 423, + 424, 425, 426, 427, 428, 429, 430, 404, 405, 406, + 407, 408, 409, 410, 411, 412, 413, 414, 415, 0, + 0, 0, 0, 416, 417, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 420, 0, 421, 422, - 423, 424, 425, 426, 427, 428, 429, 430, 404, 405, - 406, 407, 408, 409, 410, 411, 412, 413, 414, 415, - 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 420, 0, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - 404, 405, 406, 407, 408, 409, 410, 411, 412, 413, - -670, -670, 0, 0, 0, 0, 416, 417, 404, 405, - 406, 407, 408, 409, 410, 0, 412, 413, 0, 419, - 0, 0, 0, 0, 416, 417, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 419, 0, 0, - 0, 0, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 0, 0, 0, 0, 0, 0, 0, 0, - 421, 422, 423, 424, 425, 426, 427, 428, 429, 430, - -670, -670, -670, -670, 408, 409, 0, 0, -670, -670, - 404, 405, 406, 407, 408, 409, 416, 417, 412, 413, - 0, 0, 0, 0, 0, 0, 416, 417, 0, 419, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 419, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430, 421, 422, 423, 424, 425, 426, 427, 428, - 429, 430 + 0, 0, 0, 0, 0, 0, 0, 420, 0, 421, + 422, 423, 424, 425, 426, 427, 428, 429, 430 }; static const yytype_int16 yycheck[] = { - 1, 26, 379, 8, 9, 88, 81, 86, 87, 14, - 222, 9, 27, 6, 594, 490, 14, 13, 51, 20, - 285, 15, 16, 6, 314, 19, 481, 597, 15, 16, - 13, 27, 19, 1, 14, 3, 21, 65, 791, 20, - 21, 3, 55, 403, 27, 74, 763, 272, 68, 508, - 443, 444, 53, 54, 25, 547, 594, 118, 307, 53, - 433, 27, 311, 995, 57, 15, 16, 692, 1051, 19, - 332, 696, 73, 74, 57, 403, 144, 319, 703, 431, - 539, 669, 670, 435, 74, 458, 438, 26, 68, 26, - 1, 16, 3, 4, 5, 79, 296, 8, 9, 25, - 810, 12, 475, 14, 15, 16, 816, 459, 19, 504, - 111, 484, 117, 508, 57, 443, 444, 26, 57, 104, - 612, 103, 474, 104, 476, 59, 60, 61, 62, 371, - 111, 112, 122, 485, 25, 25, 1020, 0, 333, 218, - 51, 336, 126, 338, 55, 340, 128, 342, 129, 115, - 229, 25, 118, 119, 65, 51, 29, 25, 90, 55, - 594, 138, 93, 597, 25, 15, 16, 1150, 92, 19, - 81, 142, 26, 525, 55, 755, 549, 28, 121, 57, - 146, 90, 148, 716, 213, 214, 20, 25, 768, 90, - 115, 25, 1124, 118, 119, 126, 105, 121, 550, 138, - 400, 138, 18, 53, 54, 144, 117, 374, 119, 25, - 92, 290, 213, 214, 92, 147, 142, 755, 223, 224, - 18, 146, 20, 148, 214, 223, 224, 92, 395, 138, - 768, 140, 92, 821, 388, 144, 390, 316, 147, 314, - 113, 58, 59, 121, 90, 121, 147, 142, 1132, 242, - 121, 142, 142, 144, 73, 74, 121, 547, 90, 242, - 90, 121, 90, 296, 1017, 4, 5, 1020, 142, 270, - 144, 272, 252, 12, 142, 276, 735, 105, 298, 284, - 285, 142, 276, 1000, 138, 279, 306, 307, 513, 276, - 144, 311, 279, 460, 15, 16, 558, 60, 19, 210, - 63, 147, 121, 122, 142, 90, 90, 799, 144, 551, - 890, 125, 223, 224, 90, 147, 55, 147, 298, 147, - 900, 755, 612, 90, 37, 38, 896, 295, 101, 279, - 55, 691, 53, 54, 768, 303, 63, 64, 65, 734, - 735, 121, 81, 90, 107, 350, 351, 352, 353, 92, - 355, 356, 350, 351, 352, 353, 55, 791, 131, 132, - 133, 556, 147, 147, 25, 276, 991, 400, 279, 90, - 398, 147, 92, 284, 285, 403, 377, 288, 379, 1132, - 147, 349, 142, 92, 295, 296, 354, 349, 401, 116, - 117, 325, 303, 848, 213, 214, 457, 142, 775, 92, - 147, 121, 115, 314, 398, 118, 119, 92, 34, 403, - 20, 90, 121, 121, 807, 443, 444, 812, 92, 57, - 813, 814, 142, 215, 138, 51, 105, 145, 121, 279, - 222, 804, 433, 146, 142, 148, 121, 1017, 349, 350, - 351, 352, 353, 354, 355, 356, 433, 121, 101, 142, - 51, 803, 435, 805, 435, 438, 461, 458, 121, 724, - 141, 140, 896, 374, 139, 466, 55, 259, 147, 92, - 545, 458, 547, 801, 475, 142, 459, 502, 459, 807, - 1105, 92, 16, 484, 395, 813, 814, 398, 475, 400, - 401, 57, 403, 476, 121, 476, 745, 484, 121, 493, - 319, 102, 485, 728, 485, 106, 521, 719, 101, 799, - 121, 512, 513, 680, 37, 38, 991, 1050, 101, 1052, - 142, 522, 433, 26, 1057, 521, 63, 64, 65, 121, - 92, 511, 443, 444, 993, 912, 913, 612, 521, 58, - 59, 806, 525, 622, 525, 938, 1126, 458, 549, 460, - 461, 51, 371, 51, 522, 276, 1136, 349, 279, 121, - 471, 92, 549, 531, 475, 92, 142, 550, 479, 550, - 142, 363, 142, 484, 92, 314, 17, 18, 489, 116, - 117, 115, 51, 1017, 118, 119, 1020, 90, 1121, 381, - 121, 908, 909, 142, 121, 300, 51, 584, 993, 304, - 121, 122, 105, 121, 605, 51, 121, 142, 142, 51, - 938, 522, 146, 319, 148, 640, 603, 882, 1151, 1152, - 531, 917, 918, 69, 142, 792, 780, 781, 782, 99, - 784, 15, 786, 13, 545, 138, 547, 140, 549, 121, - 270, 144, 272, 26, 147, 121, 557, 16, 63, 861, - 119, 876, 819, 15, 504, 101, 102, 103, 659, 16, - 145, 145, 401, 90, 665, 371, 139, 668, 669, 670, - 142, 656, 15, 584, 679, 656, 306, 142, 105, 142, - 665, 679, 128, 668, 665, 686, 536, 668, 480, 481, - 691, 692, 603, 15, 92, 696, 689, 691, 1132, 714, - 44, 612, 703, 684, 142, 686, 689, 90, 713, 121, - 16, 1088, 433, 140, 15, 713, 883, 144, 714, 141, - 147, 1017, 105, 121, 799, 745, 18, 728, 141, 1102, - 141, 714, 551, 141, 817, 139, 15, 458, 90, 531, - 139, 953, 92, 92, 142, 115, 538, 959, 118, 119, - 141, 1103, 139, 105, 475, 138, 142, 140, 115, 716, - 44, 118, 119, 484, 147, 142, 57, 142, 679, 680, - 142, 121, 121, 801, 775, 145, 146, 142, 148, 807, - 808, 44, 949, 504, 15, 813, 814, 508, 140, 146, - 93, 148, 142, 142, 14, 147, 1092, 1093, 1094, 15, - 1096, 1097, 713, 804, 509, 716, 545, 15, 547, 115, - 55, 516, 118, 119, 145, 536, 142, 804, 539, 288, - 821, 142, 805, 528, 805, 142, 665, 296, 549, 668, - 831, 836, 800, 834, 26, 142, 443, 444, 836, 15, - 146, 141, 148, 142, 15, 551, 139, 686, 1060, 1061, - 1004, 1005, 1006, 1007, 15, 15, 55, 858, 859, 115, - 1125, 141, 118, 119, 858, 142, 1162, 1163, 1164, 1165, - 477, 478, 142, 612, 580, 876, 581, 582, 139, 51, - 142, 792, 512, 513, 734, 15, 678, 1183, 799, 800, - 801, 597, 971, 804, 600, 139, 807, 808, 90, 142, - 126, 858, 813, 814, 16, 126, 611, 587, 819, 820, - 938, 912, 913, 105, 587, 55, 16, 90, 591, 526, - 115, 139, 833, 118, 119, 836, 55, 719, 40, 41, - 15, 400, 105, 144, 845, 846, 1, 26, 3, 142, - 40, 41, 142, 8, 9, 1157, 138, 858, 140, 14, - 15, 16, 144, 148, 19, 147, 115, 142, 1037, 118, - 119, 872, 812, 142, 716, 142, 15, 140, 1180, 1181, - 51, 57, 883, 884, 147, 1129, 90, 716, 26, 609, - 985, 986, 93, 688, 142, 777, 51, 985, 986, 142, - 991, 105, 142, 51, 142, 53, 54, 55, 56, 910, - 65, 90, 471, 115, 915, 15, 118, 119, 858, 859, - 479, 69, 144, 734, 735, 115, 105, 141, 118, 119, - 489, 40, 41, 42, 43, 44, 140, 938, 15, 659, - 15, 823, 989, 147, 146, 142, 148, 948, 949, 744, - 12, 952, 90, 522, 1069, 956, 146, 5, 148, 138, - 1105, 140, 117, 791, 119, 144, 848, 105, 147, 764, - 799, 1062, 90, 818, 90, 1124, 57, 989, 51, 861, - 53, 54, 55, 56, 985, 986, 987, 105, 989, 105, - 1050, 1056, 1056, 804, 142, 791, 69, 1088, 557, 719, - 138, 812, 140, 1050, 1051, 1052, 144, 1104, 728, 147, - 1057, 1102, 254, 1104, 1105, 6, 858, 859, 1014, 1155, - 1156, 791, 140, 61, 140, 1102, 64, 65, 791, 147, - 1103, 147, 1103, 62, 115, 64, 65, 118, 119, 1040, - 587, 1042, 123, 1017, 1045, -1, 1182, 858, 859, 1050, - 1051, 1052, 1188, 1189, -1, 210, 1057, 90, -1, 1, - -1, 3, 4, 5, 1155, 1156, -1, 148, 223, 224, - 12, 953, 105, -1, 1121, 1170, 1171, 959, 116, 117, - 875, 910, 1170, 1171, -1, -1, 915, 116, 117, -1, - 51, 1182, 53, 54, 55, 56, 891, 1188, 1189, -1, - 896, 1102, 898, 1150, 1151, 1152, 902, 140, 69, 51, - 807, 808, -1, 55, 147, -1, 813, 814, 1119, 1120, - 1121, 276, -1, 952, 279, -1, 791, -1, -1, 284, - 285, -1, -1, 288, -1, -1, -1, -1, -1, 81, - 295, 296, 839, 840, -1, 842, 843, 989, 303, 1150, - 1151, 1152, -1, -1, -1, -1, 876, -1, -1, -1, - 989, 90, 62, -1, 64, 65, -1, -1, -1, 1170, - 1171, 1172, -1, -1, -1, -1, 105, 119, 1060, 1061, - -1, 142, 993, 1184, 1185, -1, 51, -1, 53, 54, - 55, 56, 90, -1, 349, 350, 351, 352, 353, 354, - 355, 356, 998, 999, 69, 90, -1, 105, 1050, 1051, - 1052, 140, -1, -1, 1056, 1057, 116, 117, 147, 374, - 105, 1050, 1051, -1, 1020, -1, 1022, -1, 1057, 94, - -1, 63, 64, 65, -1, 100, 101, 102, 103, -1, - 395, 938, 140, 398, 1014, 400, -1, 1017, 403, 147, - 1020, 1014, 1022, -1, 1017, 140, -1, 1020, -1, 1022, - -1, 820, 147, 128, 961, -1, 131, -1, 210, 115, - -1, -1, 118, 119, 833, 1157, -1, 142, 433, 1121, - 1076, -1, -1, 1079, 116, 117, 845, 846, 443, 444, - -1, 1102, 1121, -1, -1, -1, 142, -1, 1180, 1181, - 146, -1, 148, 458, -1, 460, 461, -1, 1150, 1151, - 1152, -1, -1, 872, -1, -1, 471, -1, -1, 1089, - 475, 1150, 1151, 1152, 479, 884, 1089, -1, -1, 484, - 90, -1, 1128, 90, 489, 90, 1132, -1, 1134, -1, - -1, 90, 1138, 90, -1, 105, 288, -1, 105, 1014, - 105, -1, 1017, 295, 296, 1020, 105, 1022, 105, 90, - -1, 303, 1132, -1, 1134, -1, 1136, 522, 1138, 1132, - -1, 1134, 314, 1136, 105, 1138, 531, -1, 1174, -1, - 140, -1, -1, 140, -1, 140, -1, 147, -1, 948, - 147, 140, 147, 140, 549, -1, -1, 956, 147, -1, - 147, -1, 557, -1, 1174, -1, -1, 349, -1, 140, - -1, 1174, 354, -1, 51, 52, 147, -1, 55, 61, - -1, -1, 64, 65, 1089, 63, 64, 65, 987, 584, - -1, -1, 374, 70, 71, 72, 73, 74, 75, 76, - 77, -1, -1, 80, 81, -1, -1, -1, 603, 86, - 87, 88, 89, 395, -1, -1, -1, -1, 400, 401, - -1, 403, -1, 100, 101, 102, -1, 1132, -1, 1134, - -1, 1136, -1, 1138, 116, 117, -1, -1, 116, 117, - -1, 1040, -1, 1042, -1, -1, 1045, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, - -1, 443, 444, 63, 64, 65, 143, 144, -1, 1174, - 63, 64, 65, 63, 64, 65, -1, -1, 460, 63, - 64, 65, -1, -1, 679, 680, -1, -1, 51, 471, - 53, 54, 55, 56, -1, -1, -1, 479, -1, -1, - -1, -1, -1, -1, -1, 115, 69, 489, 118, 119, - 51, -1, 53, 54, 55, 56, 116, 117, 713, -1, - 1119, 1120, -1, 116, 117, -1, 116, 117, 69, -1, - -1, 94, 116, 117, -1, -1, 146, 100, 148, -1, - 522, 1, 83, 3, 4, 5, -1, -1, -1, 531, - -1, -1, 12, 94, -1, -1, -1, -1, -1, 100, - 101, 102, 103, 545, 51, 547, 53, 54, 55, 56, - -1, -1, -1, 1172, 51, 557, 53, 54, 55, 56, - 121, -1, 69, -1, -1, 1184, 1185, 128, -1, -1, - 131, 51, 69, -1, -1, 55, 51, 792, 53, 54, - 55, 56, -1, 144, 101, 800, 801, 94, -1, 804, - -1, -1, 807, 808, 69, -1, -1, 94, 813, 814, - -1, 81, -1, 100, 819, 820, -1, -1, -1, -1, - 612, -1, 129, 130, 131, 132, 133, -1, 833, 94, - -1, 836, -1, -1, -1, 100, 101, 102, 103, -1, - 845, 846, -1, -1, -1, -1, -1, -1, -1, 119, - -1, 88, 89, -1, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 128, 101, -1, 131, 872, -1, -1, - 19, -1, 21, 22, 23, 24, -1, -1, 883, 884, - -1, 30, 31, 32, 33, 34, 35, 36, 680, -1, - 39, 128, 129, 130, 131, 132, 133, -1, -1, 48, - 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, - 59, 60, -1, -1, 63, -1, -1, 66, 67, 115, - 69, -1, 118, 119, 716, -1, -1, -1, 88, 89, - -1, -1, -1, 938, 88, 89, -1, -1, -1, -1, - 210, 101, 91, 948, 949, 94, 95, 101, 97, 98, - 146, 956, 148, -1, -1, 104, -1, 106, 107, 108, - -1, 110, 111, 112, -1, 114, 126, 127, 128, 129, - 130, 131, 132, 133, -1, 129, 130, 131, 132, 133, - 985, 986, 987, -1, -1, 134, -1, -1, -1, -1, - -1, -1, -1, 142, -1, 1, -1, 3, 4, 5, - 792, -1, -1, -1, -1, -1, 12, 799, 800, 801, - -1, -1, -1, -1, -1, 807, -1, -1, 288, -1, - -1, 813, 814, -1, -1, 295, 296, 819, 820, -1, - -1, -1, -1, 303, -1, 1040, -1, 1042, -1, -1, - 1045, 833, -1, -1, 314, 51, -1, -1, -1, 55, - -1, -1, -1, 845, 846, -1, -1, -1, 51, -1, - 53, 54, 55, 56, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 81, 69, -1, -1, 349, - 872, -1, -1, -1, 354, -1, -1, -1, -1, -1, - 83, 883, 884, -1, -1, -1, -1, 1102, -1, -1, - -1, 94, -1, -1, 374, -1, -1, 100, 101, 102, - 103, -1, -1, 119, 1119, 1120, -1, -1, 910, -1, - -1, -1, -1, 915, -1, 395, -1, -1, -1, -1, - 400, 401, -1, 403, -1, 128, -1, -1, 131, -1, - -1, -1, -1, -1, -1, -1, 938, -1, -1, -1, - -1, 144, -1, -1, -1, -1, 948, 949, -1, -1, - 952, -1, -1, -1, 956, 1170, 1171, 1172, -1, -1, - -1, -1, -1, 443, 444, -1, -1, -1, -1, 1184, - 1185, -1, -1, -1, -1, -1, -1, -1, -1, 51, - 460, 53, 54, 55, 56, 987, -1, 989, -1, -1, - -1, 471, -1, -1, 210, -1, -1, 69, -1, 479, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 489, - -1, -1, -1, 85, -1, -1, -1, -1, -1, -1, - -1, -1, 94, -1, -1, -1, -1, -1, 100, 101, - 102, 103, -1, -1, -1, -1, -1, -1, 1040, -1, - 1042, -1, 522, 1045, -1, -1, -1, -1, 1050, 1051, - -1, 531, -1, -1, -1, 1057, 128, -1, -1, 131, - -1, -1, -1, -1, -1, 545, -1, 547, -1, -1, - -1, -1, 288, -1, -1, -1, -1, 557, -1, 295, - 296, -1, -1, -1, -1, -1, 0, 303, -1, -1, - -1, 51, -1, 53, 54, 55, 56, -1, 314, 13, - 14, 15, 16, 17, 18, -1, 20, -1, -1, 69, - -1, 25, 26, 27, -1, -1, -1, 1119, 1120, 1121, - -1, -1, -1, 37, 38, 85, 40, 41, 42, 43, - 44, -1, 612, 349, 94, -1, -1, -1, 354, -1, - 100, 101, 102, 103, -1, -1, -1, -1, 1150, 1151, - 1152, -1, -1, -1, -1, -1, -1, -1, 374, -1, - 51, -1, 53, 54, 55, 56, -1, -1, 128, -1, - 1172, 131, -1, -1, -1, -1, 90, -1, 69, 395, - -1, -1, 1184, 1185, 400, 401, -1, 403, -1, -1, - -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, - 680, 115, -1, 94, 118, 119, -1, -1, -1, 100, - 101, 102, 103, -1, -1, -1, -1, 51, -1, 53, - 54, 55, 56, -1, 138, 139, -1, 443, 444, -1, - 144, 145, 146, 147, 148, 69, 716, 128, -1, -1, - 131, -1, -1, -1, 460, -1, -1, -1, -1, -1, - -1, 85, -1, 144, -1, 471, -1, -1, -1, -1, - 94, -1, -1, 479, -1, -1, 100, 101, 102, 103, - -1, -1, -1, 489, 51, -1, 53, 54, 55, 56, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 69, -1, 128, -1, -1, 131, -1, -1, - -1, -1, -1, -1, -1, -1, 522, -1, -1, -1, - -1, -1, 792, -1, -1, 531, -1, 94, -1, 799, - 800, 801, -1, -1, 101, 102, 103, 807, -1, 545, - -1, 547, -1, 813, 814, -1, -1, -1, -1, 819, - 820, 557, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 128, -1, 833, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 845, 846, -1, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, - -1, -1, 872, -1, -1, -1, 612, 101, -1, -1, - -1, -1, -1, 883, 884, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 910, -1, -1, -1, -1, 915, -1, -1, 142, -1, - -1, -1, -1, 1, -1, 3, 4, 5, 6, -1, - -1, 44, -1, -1, 12, -1, -1, -1, 938, -1, - -1, -1, -1, -1, 680, -1, -1, -1, 948, 949, - -1, -1, 952, -1, -1, -1, 956, -1, -1, 72, - 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, - 83, -1, -1, 51, -1, 88, 89, 55, -1, -1, - 716, -1, -1, -1, -1, -1, -1, 987, 101, 989, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 81, -1, -1, -1, -1, -1, 122, - -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, -1, -1, -1, -1, -1, -1, -1, -1, 142, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1040, 119, 1042, -1, -1, 1045, -1, -1, -1, -1, - 1050, 1051, -1, -1, -1, -1, 792, 1057, -1, -1, - -1, -1, -1, 799, 800, 801, -1, -1, -1, -1, + 1, 9, 26, 65, 88, 68, 14, 222, 285, 8, + 9, 27, 490, 272, 3, 14, 13, 86, 87, 20, + 6, 481, 51, 508, 55, 118, 433, 6, 597, 307, + 27, 15, 16, 311, 13, 19, 403, 594, 379, 332, + 21, 15, 16, 594, 763, 19, 597, 319, 27, 81, + 314, 458, 53, 54, 539, 14, 547, 431, 1005, 15, + 16, 435, 594, 19, 438, 1, 26, 3, 475, 53, + 716, 57, 73, 74, 74, 858, 26, 484, 57, 53, + 54, 864, 15, 16, 25, 459, 19, 74, 73, 74, + 1, 504, 3, 4, 5, 508, 791, 8, 9, 371, + 474, 12, 476, 14, 15, 16, 26, 57, 19, 68, + 111, 485, 138, 692, 1030, 29, 403, 696, 117, 1061, + 25, 612, 122, 104, 703, 59, 60, 61, 62, 25, + 443, 444, 669, 670, 25, 25, 121, 122, 333, 92, + 51, 336, 549, 338, 55, 340, 93, 342, 90, 218, + 90, 525, 374, 90, 65, 25, 443, 444, 16, 25, + 229, 25, 79, 105, 296, 388, 121, 390, 121, 57, + 81, 16, 103, 395, 34, 810, 550, 90, 138, 126, + 0, 816, 40, 41, 144, 57, 18, 142, 138, 142, + 144, 51, 1139, 25, 144, 40, 41, 128, 755, 113, + 18, 142, 20, 144, 755, 147, 117, 147, 119, 126, + 147, 768, 213, 214, 214, 223, 224, 768, 138, 27, + 92, 290, 1164, 755, 223, 224, 213, 214, 213, 214, + 270, 1147, 272, 121, 147, 298, 768, 142, 460, 144, + 791, 90, 55, 306, 307, 51, 142, 316, 311, 121, + 735, 142, 142, 121, 513, 28, 242, 115, 51, 20, + 118, 119, 90, 242, 25, 558, 306, 296, 400, 270, + 115, 272, 142, 118, 119, 276, 142, 1060, 142, 551, + 58, 59, 314, 547, 821, 284, 285, 142, 146, 92, + 148, 1010, 276, 252, 139, 279, 102, 142, 147, 210, + 106, 146, 51, 148, 121, 279, 55, 115, 799, 90, + 118, 119, 223, 224, 144, 90, 26, 55, 90, 147, + 276, 734, 735, 279, 691, 125, 119, 58, 59, 92, + 90, 900, 1027, 90, 319, 1030, 398, 894, 146, 298, + 148, 403, 350, 351, 352, 353, 279, 904, 612, 900, + 121, 350, 351, 352, 353, 92, 355, 356, 121, 295, + 349, 556, 20, 21, 457, 276, 147, 303, 279, 55, + 401, 400, 147, 284, 285, 147, 377, 288, 379, 142, + 90, 443, 444, 92, 295, 296, 371, 147, 848, 25, + 147, 325, 303, 101, 142, 105, 20, 804, 51, 812, + 37, 38, 51, 314, 53, 54, 55, 56, 142, 4, + 5, 90, 121, 349, 398, 57, 69, 12, 354, 403, + 69, 1067, 1001, 131, 132, 133, 105, 138, 138, 803, + 140, 805, 433, 142, 775, 16, 101, 147, 349, 350, + 351, 352, 353, 354, 355, 356, 104, 724, 101, 102, + 103, 145, 1147, 111, 112, 121, 435, 458, 680, 438, + 55, 140, 461, 374, 141, 466, 139, 745, 147, 728, + 1027, 129, 512, 513, 475, 128, 1027, 433, 502, 1030, + 459, 92, 55, 484, 395, 142, 81, 398, 1134, 400, + 401, 101, 403, 142, 807, 288, 60, 476, 101, 63, + 813, 814, 458, 296, 719, 521, 485, 17, 18, 493, + 121, 512, 513, 545, 801, 547, 92, 57, 1003, 475, + 807, 522, 433, 1001, 521, 92, 813, 814, 484, 806, + 504, 142, 443, 444, 115, 799, 142, 118, 119, 121, + 1119, 90, 521, 107, 121, 121, 525, 458, 549, 460, + 461, 51, 511, 622, 121, 142, 105, 780, 781, 782, + 471, 784, 536, 786, 475, 146, 551, 148, 479, 609, + 792, 550, 92, 484, 90, 916, 917, 142, 489, 57, + 612, 92, 912, 913, 1141, 90, 522, 142, 92, 105, + 1003, 140, 142, 549, 1151, 531, 1147, 819, 147, 51, + 105, 121, 121, 92, 605, 665, 858, 400, 668, 886, + 121, 522, 864, 121, 122, 51, 640, 121, 142, 659, + 531, 880, 142, 51, 140, 92, 686, 16, 584, 942, + 92, 147, 121, 92, 545, 140, 547, 115, 549, 144, + 118, 119, 147, 92, 26, 123, 557, 603, 863, 587, + 15, 40, 41, 591, 121, 942, 99, 13, 659, 121, + 92, 90, 121, 121, 665, 887, 587, 668, 669, 670, + 148, 679, 121, 584, 121, 656, 105, 92, 471, 719, + 679, 16, 745, 142, 665, 686, 479, 668, 728, 121, + 691, 692, 603, 63, 15, 696, 489, 145, 714, 92, + 145, 612, 703, 689, 139, 713, 121, 691, 90, 1116, + 689, 140, 115, 16, 713, 118, 119, 714, 147, 314, + 142, 90, 16, 105, 142, 142, 115, 728, 121, 118, + 119, 953, 15, 817, 319, 714, 105, 40, 41, 801, + 15, 142, 957, 1117, 44, 807, 808, 999, 963, 121, + 139, 813, 814, 142, 141, 141, 138, 146, 140, 148, + 734, 1102, 144, 15, 557, 147, 141, 799, 679, 680, + 18, 140, 115, 141, 775, 118, 119, 435, 147, 1169, + 1170, 139, 1, 15, 3, 139, 371, 139, 141, 8, + 9, 1014, 1015, 1016, 1017, 14, 15, 16, 142, 44, + 19, 459, 713, 804, 57, 716, 401, 1197, 1060, 1061, + 142, 142, 115, 1203, 1204, 118, 119, 142, 476, 90, + 821, 115, 1074, 142, 118, 119, 805, 485, 836, 44, + 831, 15, 51, 834, 105, 93, 139, 836, 812, 142, + 880, 16, 14, 146, 15, 148, 65, 300, 804, 15, + 55, 304, 146, 791, 148, 1070, 1071, 858, 859, 51, + 90, 51, 142, 1140, 800, 40, 41, 525, 115, 140, + 791, 118, 119, 145, 858, 105, 147, 142, 142, 880, + 942, 792, 142, 142, 858, 859, 1138, 15, 799, 800, + 801, 141, 550, 804, 15, 142, 807, 808, 117, 146, + 119, 148, 813, 814, 139, 15, 975, 15, 819, 820, + 140, 26, 1164, 1165, 55, 916, 917, 147, 141, 15, + 16, 1144, 833, 19, 215, 836, 142, 139, 142, 115, + 15, 222, 118, 119, 845, 846, 142, 51, 139, 90, + 115, 126, 142, 118, 119, 126, 55, 858, 139, 15, + 545, 144, 547, 864, 105, 55, 1171, 53, 54, 145, + 146, 15, 148, 142, 139, 876, 551, 142, 259, 142, + 57, 146, 142, 148, 142, 90, 887, 888, 1047, 142, + 1195, 1196, 142, 991, 992, 142, 90, 90, 142, 140, + 105, 210, 991, 992, 90, 580, 147, 142, 656, 93, + 1001, 105, 105, 914, 223, 224, 15, 665, 919, 144, + 668, 141, 597, 142, 15, 600, 51, 612, 53, 54, + 55, 56, 15, 138, 522, 140, 684, 820, 686, 144, + 12, 942, 147, 5, 69, 115, 140, 140, 118, 119, + 833, 952, 953, 147, 147, 956, 1119, 90, 791, 960, + 1139, 818, 845, 846, 1074, 998, 509, 276, 349, 1083, + 279, 1066, 105, 516, 1066, 284, 285, 1118, 148, 288, + 90, 1072, 363, 6, 254, 528, 295, 296, 587, 1024, + 991, 992, 993, 876, 303, 105, 1024, 998, 999, 1027, + 381, -1, 1030, -1, 1032, 888, -1, 140, 1027, -1, + -1, 1102, -1, 1024, 147, -1, 1027, 142, -1, 1030, + -1, 1032, -1, 791, -1, 1116, -1, 1118, 1119, 61, + 140, 716, 64, 65, -1, -1, -1, 147, 581, 582, + 349, 350, 351, 352, 353, 354, 355, 356, 1117, 1050, + -1, 1052, 921, 922, 1055, -1, -1, 805, -1, 1060, + 1061, 1062, -1, -1, -1, 374, 1067, -1, 611, 952, + 1116, -1, -1, 1074, -1, 1103, -1, 960, 1169, 1170, + -1, -1, -1, -1, 116, 117, 395, 1185, 1186, 398, + 276, 400, 1103, 279, 403, -1, 1185, 1186, -1, 480, + 481, -1, -1, 90, -1, -1, 1197, -1, -1, -1, + 993, -1, 1203, 1204, 799, 1116, 791, -1, 105, 1147, + -1, 1149, -1, 1151, 433, 1153, 90, 62, -1, 64, + 65, 1132, 1133, 1134, 443, 444, 1147, 1138, 1149, -1, + 1151, 105, 1153, -1, -1, 688, -1, -1, -1, 458, + 531, 460, 461, 140, 37, 38, -1, 538, 1027, -1, + 147, 1189, 471, 1164, 1165, 1166, 475, 1050, -1, 1052, + 479, 16, 1055, 90, -1, 484, 140, -1, 1189, 864, + 489, 116, 117, 147, 1185, 1186, 1187, -1, 105, 61, + -1, -1, 64, 65, -1, 40, 41, -1, 1199, 1200, + -1, 744, -1, -1, -1, -1, 716, 1, -1, 3, + 4, 5, 62, 522, 64, 65, -1, -1, 12, -1, + -1, 764, 531, 140, -1, 900, -1, 902, 90, 914, + 147, 906, 115, -1, 919, 118, 119, 1106, 1107, 1108, + 549, 1110, 1111, 105, 116, 117, -1, 433, 557, 1132, + 1133, 115, -1, -1, 118, 119, 1024, 51, -1, 1027, + -1, 55, 1030, 146, 1032, 148, 116, 117, -1, -1, + 115, 956, 458, 118, 119, 584, -1, -1, 140, 26, + -1, -1, 146, -1, 148, 147, -1, 81, -1, 475, + -1, -1, -1, -1, 603, -1, 16, 678, 484, -1, + -1, 146, -1, 148, 1187, 443, 444, 16, 1177, 1178, + 1179, 1180, -1, 998, 999, -1, 1199, 1200, 504, -1, + 40, 41, 508, -1, -1, 119, -1, -1, -1, 1198, + -1, 40, 41, 1008, 1009, 1103, 879, -1, 719, 477, + 478, -1, -1, 90, 26, 16, -1, -1, 858, 859, + 536, -1, 895, 539, 864, 1030, -1, 1032, 105, -1, + -1, 115, -1, 549, 118, 119, -1, -1, -1, 1117, + 679, 680, 26, -1, -1, 1060, 1061, -1, -1, 1147, + 716, 1149, 1067, 1151, -1, 1153, -1, -1, 526, 1074, + -1, 138, 146, 140, 148, 115, 777, 144, 118, 119, + 147, 63, 64, 65, 713, -1, 115, -1, 90, 118, + 119, -1, -1, 16, -1, 1090, 210, -1, 1093, 139, + -1, 1189, 142, 105, -1, -1, 146, -1, 148, -1, + 139, -1, -1, 142, -1, -1, 90, 146, -1, 148, + -1, -1, 823, -1, 115, -1, -1, 118, 119, 1134, + -1, 105, -1, 1138, 116, 117, 138, -1, 140, -1, + -1, -1, 144, -1, -1, 147, -1, 848, 1143, -1, + -1, 142, 1147, -1, 1149, 146, -1, 148, 1153, 1164, + 1165, 1166, 863, 792, 138, -1, 140, -1, 998, 999, + 144, 800, 801, 147, 288, 804, -1, -1, 807, 808, + -1, 295, 296, -1, 813, 814, -1, -1, -1, 303, + 819, 820, 115, -1, 1189, 118, 119, 63, 64, 65, + 314, -1, 858, -1, 833, -1, -1, 836, 864, -1, + 63, 64, 65, -1, -1, -1, 845, 846, 63, 64, + 65, -1, -1, 146, -1, 148, -1, -1, 734, 735, + 1060, 1061, 1062, -1, -1, 349, 1066, 1067, -1, -1, + 354, 63, 64, 65, 1074, -1, -1, 876, -1, -1, + 116, 117, -1, -1, -1, -1, 957, -1, 887, 888, + 374, -1, 963, 116, 117, 1, -1, 3, 4, 5, + -1, 116, 117, 63, 64, 65, 12, -1, -1, -1, + -1, 395, -1, -1, -1, -1, 400, 401, -1, 403, + -1, -1, -1, -1, 116, 117, -1, -1, 804, 40, + 41, 42, 43, 44, 1134, -1, 812, 51, 1138, 53, + 54, 55, 56, 942, -1, 51, -1, -1, -1, 55, + 63, 64, 65, 952, 953, 69, 116, 117, -1, 443, + 444, 960, -1, -1, 1164, 1165, 1166, 63, 64, 65, + -1, -1, 998, 999, -1, 81, 460, -1, 101, 807, + 808, -1, 858, 859, -1, 813, 814, 471, -1, -1, + -1, -1, 991, 992, 993, 479, -1, -1, -1, 1070, + 1071, -1, -1, 116, 117, 489, 129, 130, 131, 132, + 133, 839, 840, 119, 842, 843, -1, -1, -1, -1, + 116, 117, -1, -1, -1, -1, -1, -1, 51, -1, + 53, 54, 55, 56, 1060, 1061, 1062, -1, 522, -1, + -1, 1067, -1, -1, -1, -1, 69, 531, 1074, 88, + 89, 1050, -1, 1052, -1, -1, 1055, -1, -1, -1, + -1, 545, 101, 547, -1, 1, -1, 3, 4, 5, + -1, 94, -1, 557, -1, -1, 12, 100, -1, -1, + 51, -1, 53, 54, 55, 56, -1, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, 69, -1, + 1171, -1, -1, -1, 210, -1, -1, -1, 1134, 88, + 89, -1, 1138, -1, 942, 51, -1, 1116, -1, 55, + -1, -1, 101, 94, 1195, 1196, -1, 1003, 612, 100, + 101, 102, 103, 1132, 1133, 44, -1, 965, 1164, 1165, + 1166, -1, -1, -1, -1, 81, -1, -1, -1, 128, + 129, 130, 131, 132, 133, -1, -1, 128, -1, -1, + 131, -1, -1, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, + 89, -1, 288, 119, -1, -1, 1185, 1186, 1187, 295, + 296, -1, 101, 88, 89, -1, 680, 303, -1, -1, + 1199, 1200, -1, -1, -1, -1, 101, 51, 314, 53, + 54, 55, 56, 122, -1, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, 69, 51, -1, 53, 54, + 55, 56, 716, 142, 129, 130, 131, 132, 133, 83, + 1116, -1, -1, 349, 69, -1, -1, -1, 354, -1, + 94, -1, -1, -1, -1, -1, 100, 101, 102, 103, + -1, -1, 51, -1, 53, 54, 55, 56, 374, 94, + -1, -1, -1, -1, 210, 100, -1, 121, -1, -1, + 69, -1, -1, -1, 128, -1, -1, 131, 51, 395, + 53, 54, 55, 56, 400, 401, -1, 403, -1, -1, + 144, -1, -1, -1, -1, 94, 69, -1, 792, -1, + -1, 100, 101, 102, 103, 799, 800, 801, -1, -1, + -1, -1, -1, 807, -1, -1, -1, -1, -1, 813, + 814, 94, -1, -1, -1, 819, 820, 443, 444, 128, + -1, -1, 131, -1, -1, -1, -1, -1, -1, 833, + -1, -1, 288, -1, 460, 144, -1, -1, -1, 295, + 296, 845, 846, -1, -1, 471, -1, 303, -1, -1, + -1, -1, 51, 479, 53, 54, 55, 56, 314, -1, + 864, -1, -1, 489, -1, -1, -1, -1, -1, -1, + 69, -1, 876, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 887, 888, -1, -1, -1, -1, -1, + -1, -1, -1, 349, -1, 94, 522, -1, 354, -1, + -1, 100, 101, 102, 103, 531, -1, -1, -1, -1, + 914, -1, -1, -1, -1, 919, -1, -1, 374, 545, + -1, 547, -1, 1, -1, 3, 4, 5, 6, 128, + -1, 557, 131, -1, 12, -1, -1, -1, 942, 395, + -1, -1, -1, 142, 400, 401, -1, 403, 952, 953, + -1, -1, 956, -1, -1, -1, 960, 51, -1, 53, + 54, 55, 56, -1, -1, -1, -1, 51, -1, 53, + 54, 55, 56, 51, -1, 69, -1, 55, 51, -1, + 53, 54, 55, 56, -1, 69, 612, 443, 444, 993, + -1, 85, -1, -1, 998, 999, 69, -1, -1, 83, + 94, -1, -1, 81, 460, -1, 100, 101, 102, 103, + 94, -1, 85, -1, -1, 471, 100, 101, 102, 103, + -1, 94, -1, 479, -1, -1, -1, 100, 101, 102, + 103, -1, -1, 489, 128, -1, -1, 131, -1, -1, + -1, 119, -1, -1, 128, -1, 1050, 131, 1052, -1, + -1, 1055, -1, -1, 680, 128, 1060, 1061, 131, -1, + 144, -1, -1, 1067, -1, -1, 522, 0, -1, -1, + 1074, -1, -1, -1, -1, 531, -1, -1, -1, -1, + 13, 14, 15, 16, 17, 18, -1, 20, -1, 545, + 716, 547, 25, 26, 27, -1, -1, -1, -1, -1, + -1, 557, -1, -1, 37, 38, -1, 40, 41, 42, + 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1132, 1133, + 1134, -1, 210, -1, 1138, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 51, + -1, 53, 54, 55, 56, -1, 612, 90, -1, -1, + 1164, 1165, 1166, -1, -1, -1, 792, 69, -1, -1, + -1, -1, 105, 799, 800, 801, -1, -1, -1, -1, + -1, 807, 115, 1187, -1, 118, 119, 813, 814, -1, + -1, -1, 94, 819, 820, 1199, 1200, -1, -1, 101, + 102, 103, -1, -1, -1, 138, 139, 833, -1, -1, + 288, 144, 145, 146, 147, 148, -1, 295, 296, 845, + 846, -1, -1, -1, 680, 303, 128, -1, -1, 51, + -1, 53, 54, 55, 56, -1, 314, -1, 864, -1, + -1, -1, -1, -1, -1, -1, -1, 69, -1, -1, + 876, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 716, 887, 888, 85, -1, -1, -1, -1, -1, -1, + -1, 349, 94, -1, -1, -1, 354, -1, 100, 101, + 102, 103, -1, -1, -1, -1, -1, -1, 914, -1, + -1, -1, -1, 919, -1, -1, 374, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 128, -1, -1, 131, + -1, -1, -1, -1, -1, -1, 942, 395, -1, -1, + -1, -1, 400, 401, -1, -1, 952, 953, -1, -1, + 956, -1, -1, -1, 960, -1, 792, -1, 1, -1, + 3, -1, -1, 799, 800, 801, -1, -1, -1, 12, -1, 807, -1, -1, -1, -1, -1, 813, 814, -1, - -1, -1, -1, 819, 820, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 833, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 845, - 846, -1, -1, -1, -1, -1, -1, -1, -1, 1119, - 1120, 1121, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 210, -1, -1, -1, 872, -1, 1, -1, - 3, -1, -1, -1, -1, -1, -1, 883, 884, 12, - 1150, 1151, 1152, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 819, 820, -1, -1, 993, -1, -1, + -1, -1, 998, 999, -1, -1, -1, 833, -1, -1, + -1, -1, 460, -1, -1, -1, -1, -1, 51, 845, + 846, -1, -1, 471, -1, -1, -1, -1, -1, -1, + -1, 479, -1, -1, -1, -1, -1, -1, 864, -1, + -1, 489, -1, -1, -1, -1, -1, -1, -1, -1, + 876, -1, -1, -1, 1050, -1, 1052, -1, -1, 1055, + -1, 887, 888, -1, 1060, 1061, -1, -1, -1, -1, + -1, 1067, -1, -1, 522, -1, -1, -1, 1074, -1, + -1, -1, -1, 531, -1, -1, 119, -1, 914, -1, + -1, -1, -1, 919, 1, -1, 3, 545, -1, 547, + -1, -1, 72, 73, 74, 75, 76, 77, 78, 557, + 80, 81, -1, -1, -1, -1, 942, -1, 88, 89, + -1, -1, -1, -1, -1, -1, 952, 953, -1, -1, + 956, 101, -1, -1, 960, -1, 1132, 1133, 1134, -1, + -1, -1, 1138, -1, 51, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, 612, -1, -1, 993, 1164, 1165, + 1166, -1, 998, 999, -1, -1, -1, 210, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 1172, -1, 910, -1, -1, -1, -1, 915, - -1, -1, -1, -1, 1184, 1185, -1, -1, 51, -1, - -1, -1, -1, -1, 1, -1, 3, -1, -1, -1, - -1, -1, 938, -1, -1, -1, -1, -1, -1, -1, - 288, -1, 948, 949, -1, -1, 952, 295, 296, -1, - 956, -1, -1, -1, -1, 303, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 314, -1, -1, -1, - -1, -1, -1, -1, 51, -1, -1, -1, -1, -1, - 44, 987, -1, 989, -1, -1, 119, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 349, -1, -1, -1, -1, 354, -1, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - -1, -1, -1, -1, 88, 89, 374, -1, -1, -1, - -1, -1, -1, -1, 1040, -1, 1042, 101, -1, 1045, - -1, -1, 119, -1, 1050, 1051, -1, 395, -1, -1, - -1, 1057, 400, 401, -1, -1, -1, -1, 122, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, -1, -1, -1, -1, -1, -1, 210, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 460, 1119, 1120, 1121, -1, -1, -1, -1, - -1, -1, -1, 471, -1, -1, -1, -1, -1, -1, - -1, 479, -1, 210, -1, -1, -1, -1, -1, -1, - -1, 489, -1, -1, 1150, 1151, 1152, -1, -1, -1, + -1, 1187, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 1199, 1200, -1, -1, -1, -1, -1, + -1, -1, 119, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1050, -1, 1052, -1, -1, 1055, + -1, -1, 680, -1, 1060, 1061, -1, -1, -1, -1, + -1, 1067, -1, -1, 44, -1, -1, -1, 1074, -1, -1, -1, -1, -1, -1, 288, -1, -1, -1, -1, - -1, -1, 295, 296, -1, -1, 1172, -1, -1, -1, - 303, -1, -1, -1, 522, -1, -1, -1, 1184, 1185, - -1, -1, -1, 531, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 545, -1, 547, - 44, -1, -1, -1, -1, -1, -1, -1, -1, 557, - -1, 288, -1, -1, -1, -1, 349, -1, 295, 296, - -1, 354, -1, -1, -1, -1, 303, -1, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - -1, 374, -1, -1, 88, 89, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, - -1, -1, 395, -1, 612, -1, -1, 400, -1, -1, - 403, -1, 349, -1, -1, -1, -1, 354, 122, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, -1, -1, -1, -1, -1, -1, 374, -1, -1, + -1, -1, 295, 296, -1, -1, -1, -1, 716, -1, + 303, -1, 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 443, 444, -1, -1, -1, -1, -1, -1, 395, -1, - -1, -1, -1, 400, -1, -1, 403, 460, -1, -1, - -1, -1, 680, -1, -1, -1, -1, -1, 471, -1, - -1, -1, -1, -1, -1, -1, 479, -1, -1, -1, + -1, 101, -1, 210, -1, -1, 1132, 1133, 1134, -1, + -1, -1, 1138, -1, -1, -1, 349, -1, -1, -1, + -1, 354, 122, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, -1, -1, -1, 1164, 1165, + 1166, 374, -1, -1, 792, -1, -1, -1, -1, -1, + -1, 799, 800, -1, -1, -1, -1, -1, -1, -1, + -1, 1187, 395, -1, -1, -1, -1, 400, -1, -1, + 403, 819, 820, 1199, 1200, -1, -1, -1, -1, -1, + -1, 288, -1, -1, -1, 833, -1, -1, 295, 296, + -1, -1, -1, -1, -1, -1, 303, 845, 846, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 443, 444, -1, -1, -1, -1, 864, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 460, 876, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 471, 887, + 888, -1, 349, -1, -1, -1, 479, 354, -1, -1, -1, -1, -1, -1, -1, -1, 489, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 443, 444, 716, -1, + -1, -1, -1, -1, -1, -1, 914, 374, -1, -1, + -1, 919, -1, -1, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, -1, -1, 395, 522, + 88, 89, -1, 400, -1, -1, 403, -1, 531, -1, + -1, -1, -1, 101, 952, 953, -1, -1, 956, -1, + -1, -1, 960, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 557, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 443, 444, -1, -1, + -1, -1, -1, -1, -1, 993, -1, -1, -1, -1, + 998, 999, -1, 460, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 471, -1, -1, -1, -1, -1, + -1, -1, 479, -1, -1, -1, 72, 73, 74, 75, + 76, 77, 489, -1, 80, 81, -1, -1, -1, -1, + -1, -1, 88, 89, -1, -1, -1, -1, 16, -1, + -1, -1, 1050, -1, 1052, 101, -1, 1055, 26, -1, + -1, -1, 1060, 1061, -1, 522, -1, -1, -1, 1067, + -1, -1, 40, 41, 531, -1, 1074, -1, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 680, -1, -1, + 557, -1, -1, -1, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, + 88, 89, 90, -1, 92, 93, -1, -1, -1, -1, + -1, -1, -1, 101, 1132, 1133, 1134, 105, -1, -1, + 1138, -1, -1, -1, -1, -1, -1, 115, -1, -1, + 118, 119, -1, 121, 122, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 1164, 1165, 1166, -1, + 138, 139, 140, 141, 142, -1, 144, -1, 146, 147, + 148, -1, -1, -1, -1, -1, -1, -1, -1, 1187, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 460, 51, 52, -1, -1, 55, 522, - -1, -1, -1, -1, 471, -1, -1, -1, 531, -1, - -1, -1, 479, 70, 71, 72, 73, 74, 75, 76, - 77, -1, 489, 80, 81, -1, -1, -1, -1, 86, - 87, 88, 89, -1, 557, -1, -1, -1, -1, -1, - -1, -1, -1, 100, 101, 102, -1, -1, -1, -1, - -1, -1, -1, -1, 792, 522, -1, -1, -1, -1, - -1, 799, 800, -1, 531, -1, -1, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, - -1, 819, 820, -1, -1, -1, 143, 144, -1, -1, - 557, -1, -1, -1, -1, 833, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 845, 846, -1, + -1, 1199, 1200, -1, -1, -1, -1, -1, -1, 792, + -1, -1, -1, -1, -1, -1, -1, 800, 801, -1, + -1, -1, -1, 680, 807, -1, -1, -1, -1, -1, + 813, 814, -1, 8, 9, -1, 819, 820, -1, 14, + 15, 16, -1, -1, 19, -1, -1, -1, -1, -1, + 833, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 845, 846, -1, -1, -1, -1, -1, -1, + -1, 46, 47, 48, 49, -1, -1, -1, 53, 54, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 65, 66, -1, 876, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 887, 888, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 872, 3, 4, 5, 6, 7, - 8, 9, 10, 11, -1, 883, 884, -1, -1, -1, - -1, 19, -1, 21, 22, 23, 24, 680, 26, -1, - -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, 910, -1, -1, -1, -1, 915, -1, -1, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, - 948, 949, -1, 680, 952, -1, 84, 85, 956, -1, - -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, - 98, -1, 100, -1, 102, 103, 104, -1, 106, 107, - 108, -1, 110, 111, 112, -1, 114, -1, -1, 987, - -1, 989, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 134, 135, 136, 792, - 138, -1, -1, -1, -1, -1, 144, 800, 801, -1, - -1, -1, -1, -1, 807, -1, -1, -1, -1, -1, - 813, 814, -1, -1, -1, -1, 819, 820, -1, -1, - -1, -1, 1040, -1, 1042, -1, -1, 1045, -1, -1, - 833, -1, 1050, 1051, -1, -1, -1, -1, -1, 1057, - -1, -1, 845, 846, -1, 792, -1, -1, -1, -1, - 8, 9, -1, 800, 801, -1, 14, 15, 16, -1, - 807, 19, -1, -1, -1, -1, 813, 814, -1, 872, - -1, -1, 819, 820, -1, -1, -1, -1, -1, -1, - 883, 884, -1, -1, -1, -1, 833, -1, 46, 47, - 48, 49, -1, -1, -1, 53, 54, -1, 845, 846, - -1, 1119, 1120, 1121, -1, -1, -1, 65, 66, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 872, -1, -1, -1, -1, - -1, -1, 1150, 1151, 1152, 938, 883, 884, -1, -1, - -1, -1, -1, -1, -1, 948, 949, -1, -1, 952, - -1, -1, -1, 956, 1172, -1, -1, -1, -1, 117, - -1, -1, -1, -1, -1, -1, 1184, 1185, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 987, -1, -1, -1, -1, -1, - -1, 938, -1, -1, 51, 52, -1, -1, 55, -1, - -1, 948, 949, -1, -1, -1, -1, -1, -1, 956, - -1, -1, -1, 70, 71, 72, 73, 74, 75, 76, - 77, -1, -1, 80, 81, -1, -1, -1, -1, 86, - 87, 88, 89, -1, -1, -1, -1, 1040, -1, 1042, - 987, -1, 1045, 100, 101, 102, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 223, 224, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, - -1, -1, -1, -1, -1, -1, 143, 144, -1, -1, - -1, -1, -1, 1040, -1, 1042, -1, -1, 1045, -1, - -1, -1, -1, -1, 262, 263, 264, 265, -1, -1, - -1, -1, -1, -1, -1, -1, 1119, 1120, 276, -1, - -1, 279, -1, -1, -1, -1, 284, 285, 51, 52, - -1, -1, 55, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 792, -1, -1, -1, -1, + -1, -1, 117, 800, 801, -1, -1, -1, -1, -1, + 807, -1, -1, -1, -1, -1, 813, 814, -1, 942, + -1, -1, 819, 820, -1, -1, -1, -1, -1, 952, + 953, -1, -1, 956, -1, -1, 833, 960, 51, 52, + -1, -1, 55, -1, -1, -1, -1, -1, 845, 846, -1, -1, -1, -1, -1, -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, -1, - -1, -1, -1, 86, 87, 88, 89, -1, -1, 1172, - -1, -1, 1119, 1120, -1, -1, -1, 100, 101, 102, - -1, 1184, 1185, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 350, 351, 352, 353, -1, 355, 356, -1, + 993, -1, -1, 86, 87, 88, 89, -1, -1, 876, + -1, -1, -1, -1, -1, -1, -1, 100, 101, 102, + 887, 888, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 223, 224, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, -1, 135, 136, -1, -1, -1, 375, -1, -1, - 143, 144, -1, -1, -1, 1172, -1, -1, 386, -1, - -1, -1, -1, -1, -1, -1, -1, 1184, 1185, -1, - 398, -1, -1, -1, -1, 403, 404, 405, 406, 407, - 408, 409, 410, 411, 412, 413, 414, 415, 416, 417, - -1, 419, 420, 421, 422, 423, 424, 425, 426, 427, - 428, 429, 430, -1, -1, 433, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 443, 444, -1, -1, -1, + 133, -1, 135, 136, -1, -1, -1, 1050, -1, 1052, + 143, 144, 1055, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 44, -1, 942, -1, 262, 263, 264, + 265, -1, -1, -1, -1, 952, 953, -1, -1, -1, + -1, 276, -1, 960, 279, -1, -1, -1, -1, 284, + 285, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 81, 82, 83, -1, -1, -1, -1, 88, 89, -1, + 72, 73, 74, 75, 76, 77, 993, -1, 80, 81, + 101, -1, -1, -1, -1, -1, 88, 89, -1, 1132, + 1133, -1, -1, -1, -1, -1, -1, -1, -1, 101, + -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, -1, 350, 351, 352, 353, -1, + 355, 356, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, 1050, -1, 1052, -1, -1, 1055, -1, + 375, -1, -1, -1, 1187, -1, -1, -1, -1, -1, + -1, 386, -1, -1, -1, -1, 1199, 1200, -1, -1, + -1, -1, -1, 398, -1, -1, -1, -1, 403, 404, + 405, 406, 407, 408, 409, 410, 411, 412, 413, 414, + 415, 416, 417, -1, 419, 420, 421, 422, 423, 424, + 425, 426, 427, 428, 429, 430, -1, -1, 433, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 443, 444, + -1, -1, -1, -1, -1, 1132, 1133, -1, -1, -1, + -1, -1, -1, 458, -1, -1, 461, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 473, -1, + 475, -1, 477, 478, -1, -1, -1, -1, -1, 484, + -1, -1, -1, -1, -1, -1, -1, -1, 493, -1, + -1, 496, 497, -1, -1, -1, 501, -1, -1, 504, + 1187, 506, -1, 508, 509, -1, -1, -1, -1, -1, + -1, -1, 1199, 1200, -1, -1, -1, -1, -1, -1, + -1, 526, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 536, -1, -1, 539, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 549, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 458, -1, -1, 461, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 473, -1, 475, -1, 477, - 478, -1, -1, -1, -1, -1, 484, -1, -1, -1, - -1, -1, -1, -1, -1, 493, -1, -1, 496, 497, - -1, -1, 0, 501, -1, -1, 504, -1, 506, -1, - 508, 509, -1, -1, -1, 13, 14, 15, 16, 17, - 18, -1, 20, -1, -1, -1, -1, 25, 526, 27, - 28, 29, -1, -1, -1, -1, -1, -1, 536, 37, - 38, 539, 40, 41, 42, 43, 44, -1, -1, -1, - -1, 549, -1, -1, -1, -1, -1, -1, -1, 57, - -1, -1, -1, -1, -1, -1, -1, -1, 566, 567, - -1, -1, -1, -1, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, 584, -1, -1, -1, + -1, 566, 567, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 584, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 603, -1, + -1, 606, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 13, 14, 15, 16, 17, + 18, -1, 20, -1, -1, -1, -1, 25, -1, 27, + 28, 29, -1, -1, -1, -1, -1, -1, -1, 37, + 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, + -1, -1, -1, -1, 679, -1, -1, -1, -1, 57, + -1, -1, -1, -1, -1, -1, 691, -1, -1, 694, + 695, -1, -1, -1, 72, 73, 74, 75, 76, 77, + 78, 79, 80, 81, 82, 83, -1, -1, 713, -1, 88, 89, 90, -1, -1, 93, -1, -1, -1, -1, - -1, 99, -1, 101, -1, 603, -1, 105, 606, -1, - -1, -1, -1, -1, -1, 113, -1, 115, -1, -1, + 725, 99, -1, 101, -1, -1, -1, 105, -1, 734, + 735, -1, -1, -1, -1, 113, -1, 115, -1, -1, 118, 119, -1, -1, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, -1, 139, 140, 141, 142, -1, -1, 145, 146, 147, - 148, -1, -1, -1, -1, -1, 3, 4, 5, 6, - 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, - -1, -1, 19, -1, 21, 22, 23, 24, -1, -1, - -1, 679, -1, 30, 31, 32, 33, 34, 35, 36, - -1, -1, 39, 691, -1, -1, 694, 695, -1, -1, - -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, - -1, 58, 59, 60, -1, 713, 63, -1, -1, 66, - 67, -1, 69, -1, -1, -1, -1, 725, -1, -1, - -1, -1, -1, -1, -1, -1, 734, 735, -1, -1, - 44, -1, -1, -1, 91, -1, -1, 94, 95, -1, - 97, 98, -1, -1, -1, -1, -1, 104, -1, 106, - 107, 108, -1, 110, 111, 112, -1, 114, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - -1, -1, -1, -1, 88, 89, -1, 134, -1, -1, - -1, -1, -1, -1, -1, 142, -1, 101, 796, -1, - -1, -1, -1, 801, 802, -1, 804, -1, -1, 807, - 808, -1, -1, -1, 812, 813, 814, -1, 122, -1, + 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 796, -1, -1, -1, -1, 801, 802, -1, 804, + -1, -1, 807, 808, -1, -1, -1, 812, 813, 814, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 836, -1, -1, 839, 840, -1, 842, 843, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 858, 859, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 875, -1, -1, -1, 879, -1, -1, 51, 52, -1, + -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 896, 897, -1, -1, -1, 70, 71, 72, 73, + 74, 75, 76, 77, 909, 910, 80, 81, -1, -1, + -1, -1, 86, 87, 88, 89, -1, -1, -1, -1, + 925, -1, -1, -1, -1, -1, 100, 101, 102, -1, + 935, 936, -1, -1, -1, -1, -1, 942, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, -1, -1, -1, -1, -1, -1, -1, 836, -1, - -1, 839, 840, -1, 842, 843, -1, -1, -1, -1, + 965, 135, 136, -1, -1, -1, -1, -1, 973, 143, + 144, -1, -1, -1, -1, -1, 981, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 991, 992, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 1003, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 858, 859, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 871, -1, -1, -1, 875, -1, -1, - 51, 52, -1, -1, 55, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 892, 893, -1, -1, -1, 70, - 71, 72, 73, 74, 75, 76, 77, 905, 906, 80, - 81, -1, -1, -1, -1, 86, 87, 88, 89, -1, - -1, -1, -1, 921, -1, -1, -1, -1, -1, 100, - 101, 102, -1, 931, 932, -1, -1, -1, -1, -1, - 938, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, 961, 135, 136, -1, -1, -1, -1, - -1, 969, 143, 144, -1, -1, -1, -1, -1, 977, - -1, -1, -1, -1, -1, -1, -1, 985, 986, -1, - -1, -1, -1, -1, -1, 993, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 0, 1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, + -1, -1, -1, -1, 19, -1, 21, 22, 23, 24, + -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, + 35, 36, -1, -1, 39, -1, -1, 1062, -1, -1, + 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, + -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, + 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, + 95, 1116, 97, 98, -1, 100, -1, -1, -1, 104, + -1, 106, 107, 108, -1, 110, 111, 112, 0, 114, + 115, -1, -1, 118, 119, -1, -1, -1, -1, -1, + -1, 13, 14, 15, 16, 17, 18, -1, 20, 134, + 135, 136, -1, 25, 26, 27, 28, -1, -1, -1, + -1, 146, -1, 148, -1, 37, 38, -1, 40, 41, + 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, + 1185, 1186, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 0, 1, -1, 3, 4, 5, 6, 7, 8, - 9, 10, 11, 12, -1, -1, -1, -1, -1, -1, - 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, - -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, - 39, -1, -1, -1, 1052, -1, 45, 46, 47, 48, - 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, - 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, - 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, - -1, -1, 91, -1, 1102, 94, 95, -1, 97, 98, - -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, - -1, 110, 111, 112, 0, 114, 115, -1, -1, 118, - 119, -1, -1, -1, -1, -1, -1, 13, 14, 15, - 16, 17, 18, -1, 20, 134, 135, 136, -1, 25, - 26, 27, 28, -1, -1, -1, -1, 146, -1, 148, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, -1, -1, -1, -1, 88, 89, 90, -1, + -1, 93, -1, -1, -1, -1, -1, 99, -1, 101, + -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 115, -1, -1, 118, 119, -1, -1, + 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, -1, 0, -1, 138, 139, 140, 141, + 142, -1, 144, 145, 146, 147, 148, 13, 14, 15, + 16, 17, 18, -1, 20, -1, -1, -1, -1, 25, + -1, 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, - -1, -1, 1170, 1171, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 57, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, - -1, -1, 88, 89, 90, -1, -1, 93, -1, -1, + -1, -1, 88, 89, 90, -1, 92, 93, -1, -1, -1, -1, -1, 99, -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, - -1, -1, 118, 119, -1, -1, 122, -1, 124, 125, + -1, -1, 118, 119, -1, 121, 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, - 0, -1, 138, 139, 140, 141, 142, -1, 144, 145, + 0, -1, -1, 139, 140, 141, 142, -1, -1, 145, 146, 147, 148, 13, 14, 15, 16, 17, 18, -1, - 20, -1, -1, -1, -1, 25, -1, 27, 28, -1, + 20, -1, -1, -1, -1, 25, 26, 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 57, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, - 90, -1, 92, 93, -1, -1, -1, -1, -1, 99, + 90, -1, -1, 93, -1, -1, -1, -1, -1, 99, -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, - -1, 121, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, 0, -1, -1, 139, - 140, 141, 142, -1, -1, 145, 146, 147, 148, 13, + -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, -1, 0, -1, 138, 139, + 140, 141, 142, -1, 144, 145, 146, 147, 148, 13, 14, 15, 16, 17, 18, -1, 20, -1, -1, -1, - -1, 25, 26, 27, 28, -1, -1, -1, -1, -1, + -1, 25, -1, 27, 28, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -5575,21 +5617,21 @@ static const yytype_int16 yycheck[] = -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, -1, 0, -1, 138, 139, 140, 141, 142, -1, - 144, 145, 146, 147, 148, 13, 14, 15, 16, 17, - 18, -1, 20, -1, -1, -1, -1, 25, -1, 27, - 28, -1, -1, -1, -1, -1, -1, -1, -1, 37, + -1, -1, 0, -1, -1, 139, 140, 141, 142, -1, + 144, 145, 146, 147, 148, 13, 14, 15, -1, 17, + 18, -1, 20, -1, -1, -1, -1, 25, 26, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, - 88, 89, 90, -1, -1, 93, -1, -1, -1, -1, - -1, 99, -1, 101, -1, -1, -1, 105, -1, -1, + 88, 89, 90, -1, 92, 93, -1, -1, -1, -1, + -1, -1, -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, - 118, 119, -1, -1, 122, -1, 124, 125, 126, 127, + 118, 119, -1, 121, 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, 0, -1, - -1, 139, 140, 141, 142, -1, 144, 145, 146, 147, + 138, 139, 140, -1, 142, -1, -1, 145, 146, 147, 148, 13, 14, 15, -1, 17, 18, -1, 20, -1, -1, -1, -1, 25, 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, 40, 41, @@ -5605,7 +5647,7 @@ static const yytype_int16 yycheck[] = 132, 133, -1, -1, 0, -1, 138, 139, 140, -1, 142, -1, -1, 145, 146, 147, 148, 13, 14, 15, -1, 17, 18, -1, 20, -1, -1, -1, -1, 25, - 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, 40, 41, 42, 43, 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -5616,7 +5658,7 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, -1, 121, 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, - 0, -1, 138, 139, 140, -1, 142, -1, -1, 145, + 0, -1, -1, 139, 140, -1, 142, -1, -1, 145, 146, 147, 148, 13, 14, 15, -1, 17, 18, -1, 20, -1, -1, -1, -1, 25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 37, 38, -1, @@ -5629,24 +5671,25 @@ static const yytype_int16 yycheck[] = -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, -1, 121, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, 0, -1, -1, 139, - 140, -1, 142, -1, -1, 145, 146, 147, 148, 13, - 14, 15, -1, 17, 18, -1, 20, -1, -1, -1, - -1, 25, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 37, 38, -1, 40, 41, 42, 43, - 44, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 130, 131, 132, 133, -1, -1, -1, -1, -1, 139, + 140, -1, 142, -1, -1, 145, 146, 147, 148, 1, + -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, 13, 14, 15, -1, -1, 18, 19, -1, 21, + 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, + 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, + -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, + -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - -1, -1, -1, -1, 88, 89, 90, -1, 92, 93, - -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, - -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 115, -1, -1, 118, 119, -1, 121, 122, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, -1, -1, -1, -1, 139, 140, -1, 142, -1, - -1, 145, 146, 147, 148, 1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - -1, -1, 18, 19, -1, 21, 22, 23, 24, -1, + -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, + -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, + -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, + 112, -1, 114, 115, -1, -1, 118, 119, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 134, 135, 136, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 146, 1, 148, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, + -1, 17, 18, 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, @@ -5660,8 +5703,8 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, 134, 135, 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, 146, 1, 148, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, -1, -1, 15, -1, 17, 18, 19, - -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, + 10, 11, 12, -1, -1, 15, -1, -1, 18, 19, + 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, @@ -5675,8 +5718,8 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, 134, 135, 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, 146, 1, 148, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, - -1, 15, -1, -1, 18, 19, 20, 21, 22, 23, - 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, + -1, 15, -1, -1, 18, 19, -1, 21, 22, 23, + 24, 25, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, @@ -5690,7 +5733,7 @@ static const yytype_int16 yycheck[] = 134, 135, 136, -1, -1, -1, -1, -1, -1, -1, -1, -1, 146, 1, 148, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 15, -1, -1, - 18, 19, -1, 21, 22, 23, 24, 25, -1, -1, + 18, 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, @@ -5700,64 +5743,11 @@ static const yytype_int16 yycheck[] = -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, - 118, 119, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 134, 135, 136, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 146, 1, - 148, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, -1, -1, 15, -1, -1, 18, 19, -1, 21, - 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, - -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, - -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, - 112, -1, 114, 115, -1, -1, 118, 119, 1, -1, - 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -1, -1, 134, 135, 136, -1, 19, -1, 21, 22, - 23, 24, -1, -1, 146, -1, 148, 30, 31, 32, - 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, - -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, - 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, - 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, - -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, - -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, - -1, 114, 115, -1, -1, 118, 119, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 134, 135, 136, -1, -1, 139, -1, -1, -1, - -1, -1, -1, 146, 1, 148, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, -1, 14, 15, -1, - -1, -1, 19, -1, 21, 22, 23, 24, -1, -1, - -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, - -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, - 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, - -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, - 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, - 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, - -1, 118, 119, 1, -1, 3, 4, 5, 6, 7, - 8, 9, 10, 11, 12, -1, -1, 134, 135, 136, - -1, 19, -1, 21, 22, 23, 24, -1, -1, 146, - -1, 148, 30, 31, 32, 33, 34, 35, 36, -1, - -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, - 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, - 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, - -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, - -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, - 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, - 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, 119, 1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, 134, 135, 136, -1, - 19, -1, 21, 22, 23, 24, -1, 145, 146, -1, + 19, -1, 21, 22, 23, 24, -1, -1, 146, -1, 148, 30, 31, 32, 33, 34, 35, 36, -1, -1, - 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, + 39, -1, -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, @@ -5765,9 +5755,62 @@ static const yytype_int16 yycheck[] = -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, - 119, 1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, 12, -1, -1, 134, 135, 136, -1, 19, - -1, 21, 22, 23, 24, -1, 145, 146, -1, 148, + 119, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 134, 135, 136, -1, -1, + 139, -1, -1, -1, -1, -1, -1, 146, 1, 148, + 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, + -1, 14, 15, -1, -1, -1, 19, -1, 21, 22, + 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, + -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, 115, -1, -1, 118, 119, 1, -1, 3, + 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, + -1, 134, 135, 136, -1, 19, -1, 21, 22, 23, + 24, -1, -1, 146, -1, 148, 30, 31, 32, 33, + 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, + -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, + 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, + -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, + 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, + 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, + 114, 115, -1, -1, 118, 119, 1, -1, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, + 134, 135, 136, -1, 19, -1, 21, 22, 23, 24, + -1, 145, 146, -1, 148, 30, 31, 32, 33, 34, + 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, + 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, + 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, + -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, + 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, + 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, + -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, + 115, -1, -1, 118, 119, 1, -1, 3, 4, 5, + 6, 7, 8, 9, 10, 11, 12, -1, -1, 134, + 135, 136, -1, 19, -1, 21, 22, 23, 24, -1, + 145, 146, -1, 148, 30, 31, 32, 33, 34, 35, + 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, + -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, + 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, + 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, + -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, + -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, + 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, + -1, -1, 118, 119, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 134, 135, + 136, -1, -1, 139, -1, -1, -1, -1, -1, -1, + 146, 1, 148, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, -1, -1, 15, -1, -1, -1, 19, + -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, @@ -5777,48 +5820,48 @@ static const yytype_int16 yycheck[] = -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, 119, + -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, -1, -1, 134, 135, 136, -1, 19, -1, + 21, 22, 23, 24, -1, -1, 146, -1, 148, 30, + 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, + -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, + -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, + 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, + -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, + 111, 112, -1, 114, 115, -1, -1, 118, 119, -1, + -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, + 12, -1, -1, 134, 135, 136, -1, 19, -1, 21, + 22, 23, 24, -1, -1, 146, -1, 148, 30, 31, + 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, + -1, -1, -1, 45, -1, 47, 48, 49, 50, 51, + 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, + -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 134, 135, 136, -1, -1, 139, - -1, -1, -1, -1, -1, -1, 146, 1, 148, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, -1, - -1, 15, -1, -1, -1, 19, -1, 21, 22, 23, - 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, - 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, - -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, - 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, - -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, + -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, + -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, + -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, + 112, -1, 114, 115, -1, -1, 118, 119, -1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, + -1, -1, 134, 135, 136, -1, 19, -1, 21, 22, + 23, 24, -1, -1, 146, -1, 148, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, - 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, - 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, - 114, 115, -1, -1, 118, 119, -1, -1, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, - 134, 135, 136, -1, 19, -1, 21, 22, 23, 24, - -1, -1, 146, -1, 148, 30, 31, 32, 33, 34, - 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, - -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, - 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, - 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, - -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, - 115, -1, -1, 118, 119, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, -1, -1, 134, - 135, 136, -1, 19, -1, 21, 22, 23, 24, -1, - -1, 146, -1, 148, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 39, -1, -1, -1, -1, -1, 45, - -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, - 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, - -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, - -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, - 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, - -1, -1, 118, 119, -1, -1, 3, 4, 5, 6, - 7, 8, 9, 10, 11, -1, -1, -1, 134, 135, - 136, -1, 19, -1, 21, 22, 23, 24, -1, -1, - 146, -1, 148, 30, 31, 32, 33, 34, 35, 36, + -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, + -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, 115, -1, -1, 118, 119, -1, -1, -1, + -1, -1, -1, -1, 127, -1, -1, -1, -1, -1, + -1, 134, 135, 136, -1, -1, 139, -1, -1, 142, + -1, -1, -1, 146, -1, 148, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, + -1, -1, 19, -1, 21, 22, 23, 24, -1, -1, + -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, @@ -5856,12 +5899,50 @@ static const yytype_int16 yycheck[] = 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, -1, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, - 115, -1, -1, 118, 119, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 134, - 135, 136, -1, -1, 139, -1, -1, 142, -1, -1, - -1, 146, -1, 148, 3, 4, 5, 6, 7, 8, + 115, -1, -1, 118, 119, -1, -1, 3, 4, 5, + 6, 7, 8, 9, 10, 11, -1, -1, -1, 134, + 135, 136, -1, 19, -1, 21, 22, 23, 24, -1, + -1, 146, -1, 148, 30, 31, 32, 33, 34, 35, + 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, + -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, + 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, + 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, + -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, + -1, 97, 98, -1, -1, -1, -1, -1, 104, -1, + 106, 107, 108, -1, 110, 111, 112, -1, 114, 115, + -1, -1, 118, 119, -1, -1, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, -1, -1, 134, 135, + 136, -1, 19, -1, 21, 22, 23, 24, -1, -1, + 146, -1, 148, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, -1, -1, -1, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, 115, -1, + -1, 118, 119, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 134, 135, 136, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 148, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, -1, + -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 69, 70, + 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, + 81, -1, -1, -1, -1, 86, 87, 88, 89, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, + 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, 135, 136, -1, -1, -1, -1, + -1, -1, 143, 144, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, - 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, + 19, -1, 21, 22, 23, 24, -1, 26, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, @@ -5869,87 +5950,13 @@ static const yytype_int16 yycheck[] = 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, - -1, -1, -1, -1, -1, 104, -1, 106, 107, 108, - -1, 110, 111, 112, -1, 114, 115, -1, -1, 118, - 119, -1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, -1, -1, 134, 135, 136, -1, 19, - -1, 21, 22, 23, 24, -1, -1, 146, -1, 148, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, - -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, - -1, -1, -1, -1, 104, -1, 106, 107, 108, -1, - 110, 111, 112, -1, 114, 115, -1, -1, 118, 119, - -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, - 11, -1, -1, -1, 134, 135, 136, -1, 19, -1, - 21, 22, 23, 24, -1, -1, 146, -1, 148, 30, - 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, - -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, - 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, - -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, - 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, - 91, -1, -1, 94, 95, -1, 97, 98, -1, -1, - -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, - 111, 112, -1, 114, 115, -1, -1, 118, 119, -1, + -1, 100, -1, 102, 103, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 134, 135, 136, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 148, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, -1, -1, -1, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, - 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, - 55, 56, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 69, 70, 71, 72, 73, 74, - 75, 76, 77, -1, -1, 80, 81, -1, -1, -1, - -1, 86, 87, 88, 89, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 100, 101, 102, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, - 135, 136, -1, -1, -1, -1, -1, -1, 143, 144, - 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, - -1, -1, -1, -1, -1, -1, 19, -1, 21, 22, - 23, 24, -1, 26, -1, -1, -1, 30, 31, 32, - 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, - -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, - 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, - 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, - -1, 94, 95, -1, 97, 98, -1, 100, -1, 102, - 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, - -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, - 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, - -1, 134, 135, 136, 19, 138, 21, 22, 23, 24, - -1, 144, -1, -1, -1, 30, 31, 32, 33, 34, - 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, - -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, - 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, - -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, - 85, -1, -1, -1, -1, -1, 91, 92, -1, 94, - 95, -1, 97, 98, -1, 100, -1, 102, 103, 104, - -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, - -1, -1, -1, -1, -1, -1, 121, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, -1, -1, 134, - 135, 136, -1, 19, -1, 21, 22, 23, 24, 144, - -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, - -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, - 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, - -1, -1, -1, -1, -1, 91, 92, -1, 94, 95, - -1, 97, 98, -1, 100, -1, 102, 103, 104, -1, - 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, - -1, -1, -1, -1, -1, 121, 3, 4, 5, 6, - 7, 8, 9, 10, 11, -1, -1, -1, 134, 135, - 136, -1, 19, -1, 21, 22, 23, 24, 144, -1, + -1, -1, -1, -1, -1, 134, 135, 136, -1, 138, + -1, -1, -1, -1, -1, 144, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, + -1, -1, 19, -1, 21, 22, 23, 24, -1, 26, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, @@ -5961,78 +5968,43 @@ static const yytype_int16 yycheck[] = 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, - 19, -1, 21, 22, 23, 24, -1, 144, -1, -1, + 19, 138, 21, 22, 23, 24, -1, 144, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, - -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, -1, 91, 92, -1, 94, 95, -1, 97, 98, -1, 100, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 134, 135, 136, -1, -1, - -1, -1, -1, -1, -1, 144, 3, 4, 5, 6, - 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, - 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, - -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, -1, -1, -1, -1, -1, 45, 46, - 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, - -1, -1, -1, -1, -1, -1, 63, -1, -1, -1, - -1, -1, 69, 70, 71, 72, 73, 74, 75, 76, - 77, -1, -1, 80, 81, -1, -1, -1, -1, 86, - 87, 88, 89, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 100, 101, 102, -1, -1, -1, -1, - 107, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, -1, 135, 136, - -1, -1, -1, -1, -1, -1, 143, 3, 4, 5, - 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, - 26, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, 37, 38, 39, -1, -1, -1, -1, -1, 45, - 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, -1, -1, -1, -1, -1, 63, -1, -1, - -1, -1, -1, -1, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, 80, 81, -1, -1, -1, -1, - 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 100, 101, 102, -1, -1, -1, - -1, 107, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, 135, - 136, -1, -1, -1, -1, -1, -1, 143, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, -1, -1, -1, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, -1, -1, -1, -1, -1, - 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, - 55, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 70, 71, 72, 73, 74, - 75, 76, 77, -1, -1, 80, 81, -1, -1, -1, - -1, 86, 87, 88, 89, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 100, 101, 102, -1, -1, - -1, 106, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, -1, - 135, 136, -1, -1, -1, -1, -1, -1, 143, 3, - 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, - 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, - 24, 25, 26, -1, -1, -1, 30, 31, 32, 33, - 34, 35, 36, 37, 38, 39, -1, -1, -1, -1, - -1, 45, 46, 47, 48, 49, 50, 51, 52, -1, - -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 70, 71, 72, 73, - 74, 75, 76, 77, -1, -1, 80, 81, -1, -1, - -1, -1, 86, 87, 88, 89, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 100, 101, 102, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, 135, 136, -1, -1, -1, -1, -1, -1, 143, + -1, -1, 121, 3, 4, 5, 6, 7, 8, 9, + 10, 11, -1, -1, -1, 134, 135, 136, -1, 19, + -1, 21, 22, 23, 24, 144, -1, -1, -1, -1, + 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, + -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, + 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, + 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, + 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, + -1, 91, 92, -1, 94, 95, -1, 97, 98, -1, + 100, -1, 102, 103, 104, -1, 106, 107, 108, -1, + 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, + -1, 121, 3, 4, 5, 6, 7, 8, 9, 10, + 11, -1, -1, -1, 134, 135, 136, -1, 19, -1, + 21, 22, 23, 24, 144, -1, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, + -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, + -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, + 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, + -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, + 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, - -1, -1, -1, -1, -1, -1, 19, -1, 21, 22, - 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, + -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, + 23, 24, -1, 144, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, @@ -6040,25 +6012,132 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, 102, - -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, + 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, 134, 135, 136, -1, -1, -1, 19, 141, 21, - 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, - -1, -1, 94, 95, -1, 97, 98, -1, -1, -1, - 102, -1, 104, -1, 106, 107, 108, -1, 110, 111, - 112, -1, 114, -1, -1, -1, -1, -1, -1, -1, + -1, 134, 135, 136, -1, -1, -1, -1, -1, -1, + -1, 144, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, 37, 38, 39, -1, + -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, -1, -1, -1, + -1, -1, 63, -1, -1, -1, -1, -1, 69, 70, + 71, 72, 73, 74, 75, 76, 77, -1, -1, 80, + 81, -1, -1, -1, -1, 86, 87, 88, 89, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 100, + 101, 102, -1, -1, -1, -1, 107, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, -1, 135, 136, -1, -1, -1, -1, + -1, -1, 143, 3, 4, 5, 6, 7, 8, 9, + 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, + 20, 21, 22, 23, 24, 25, 26, -1, -1, -1, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + -1, -1, -1, -1, -1, 45, 46, 47, 48, 49, + 50, 51, 52, 53, 54, 55, 56, -1, -1, -1, + -1, -1, -1, 63, -1, -1, -1, -1, -1, -1, + 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, + 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 100, 101, 102, -1, -1, -1, -1, 107, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, 135, 136, -1, -1, -1, + -1, -1, -1, 143, 3, 4, 5, 6, 7, 8, + 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, + 19, 20, 21, 22, 23, 24, 25, 26, -1, -1, + -1, 30, 31, 32, 33, 34, 35, 36, 37, 38, + 39, -1, -1, -1, -1, -1, 45, 46, 47, 48, + 49, 50, 51, 52, -1, -1, 55, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 70, 71, 72, 73, 74, 75, 76, 77, -1, + -1, 80, 81, -1, -1, -1, -1, 86, 87, 88, + 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 100, 101, 102, -1, -1, -1, 106, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, 135, 136, -1, -1, + -1, -1, -1, -1, 143, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, + -1, -1, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, -1, -1, -1, -1, -1, 45, 46, 47, + 48, 49, 50, 51, 52, -1, -1, 55, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, + -1, -1, 80, 81, -1, -1, -1, -1, 86, 87, + 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, 135, 136, -1, + -1, -1, -1, -1, -1, 143, 3, 4, 5, 6, + 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, + -1, -1, 19, -1, 21, 22, 23, 24, -1, -1, + -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, + -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, + -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, + -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, + 67, -1, 69, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, + 97, 98, -1, -1, -1, -1, -1, 104, -1, 106, + 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, + 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, + -1, -1, -1, -1, -1, -1, 19, 134, 21, 22, + 23, 24, -1, -1, -1, 142, -1, 30, 31, 32, + 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, + -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, + 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, + 63, -1, -1, 66, 67, -1, 69, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, + -1, 94, 95, -1, 97, 98, -1, -1, -1, -1, + -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 114, -1, -1, 3, 4, 5, 6, 7, 8, + 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, + 19, 134, 21, 22, 23, 24, -1, -1, -1, 142, + -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, + 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, + 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, + 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, + 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, + -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, + -1, 100, -1, 102, -1, 104, -1, 106, 107, 108, + -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 127, -1, + -1, -1, -1, -1, -1, 134, 135, 136, -1, -1, + -1, -1, 141, 3, 4, 5, 6, 7, 8, 9, + 10, 11, -1, -1, -1, -1, -1, -1, -1, 19, + -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, + 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, + -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, + 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, + 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, + 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, + -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, + -1, -1, 102, -1, 104, -1, 106, 107, 108, -1, + 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, + -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, -1, -1, 134, 135, 136, -1, 19, 139, + 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, + 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, + -1, -1, -1, -1, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, + -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, + 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, + 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, + -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, + 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, - -1, -1, 134, 135, 136, -1, 19, 139, 21, 22, + -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, - -1, -1, 45, 46, 47, 48, 49, 50, 51, 52, + -1, -1, 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -6066,16 +6145,16 @@ static const yytype_int16 yycheck[] = -1, 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, -1, -1, + 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, - 45, -1, 47, 48, 49, 50, 51, 52, 53, 54, + -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, - 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, + 95, -1, 97, 98, -1, 100, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, @@ -6123,7 +6202,7 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, 102, - 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, + -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, 23, 24, @@ -6134,7 +6213,7 @@ static const yytype_int16 yycheck[] = -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, - 95, -1, 97, 98, -1, 100, -1, 102, -1, 104, + 95, -1, 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, @@ -6146,7 +6225,7 @@ static const yytype_int16 yycheck[] = 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, - 97, 98, -1, -1, -1, 102, 103, 104, -1, 106, + 97, 98, -1, 100, -1, 102, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, @@ -6158,7 +6237,7 @@ static const yytype_int16 yycheck[] = 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, - -1, 100, -1, 102, -1, 104, -1, 106, 107, 108, + -1, -1, -1, 102, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, -1, @@ -6169,8 +6248,8 @@ static const yytype_int16 yycheck[] = -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, - 91, -1, -1, 94, 95, -1, 97, 98, -1, -1, - -1, 102, -1, 104, -1, 106, 107, 108, -1, 110, + 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, + -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, 135, 136, 19, -1, 21, 22, @@ -6228,7 +6307,7 @@ static const yytype_int16 yycheck[] = -1, -1, 63, -1, -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, -1, -1, -1, -1, - 91, -1, -1, 94, 95, -1, 97, 98, -1, 100, + 91, -1, -1, 94, 95, -1, 97, 98, -1, -1, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, @@ -6249,100 +6328,113 @@ static const yytype_int16 yycheck[] = 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, - -1, 66, 67, -1, 69, 70, 71, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 84, - 85, -1, -1, -1, -1, -1, 91, -1, -1, 94, + 16, 66, 67, -1, 69, 70, 71, -1, -1, -1, + 26, -1, -1, -1, -1, -1, -1, -1, -1, 84, + 85, -1, -1, -1, 40, 41, 91, -1, -1, 94, 95, -1, 97, 98, -1, -1, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, - -1, -1, -1, -1, -1, -1, 3, 4, 5, 6, - 7, 8, 9, 10, 11, -1, -1, -1, -1, 134, - 135, 136, 19, -1, 21, 22, 23, 24, -1, -1, - -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, - -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, - -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, - -1, 58, 59, 60, -1, -1, 63, -1, 16, 66, - 67, -1, 69, 70, 71, -1, -1, -1, 26, -1, - -1, -1, -1, -1, -1, -1, -1, 84, 85, -1, - -1, -1, 40, 41, 91, -1, -1, 94, 95, -1, - 97, 98, -1, -1, -1, -1, -1, 104, -1, 106, - 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, - -1, -1, -1, -1, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, -1, 134, 135, 136, - 88, 89, 90, -1, 92, 93, -1, -1, -1, -1, - -1, -1, -1, 101, -1, -1, -1, 105, -1, -1, - -1, -1, 16, -1, -1, -1, -1, 115, -1, -1, - 118, 119, 26, 121, 122, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 40, 41, -1, -1, - 138, 139, 140, 141, 142, -1, 144, -1, 146, 147, - 148, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - -1, -1, -1, -1, 88, 89, 90, -1, 92, 93, - -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, - -1, 105, -1, -1, -1, -1, 16, -1, -1, -1, - -1, 115, -1, -1, 118, 119, -1, 121, 122, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 40, 41, -1, -1, 138, 139, 140, 141, 142, -1, - 144, -1, 146, 147, 148, -1, -1, 57, -1, -1, - 60, -1, -1, 63, -1, -1, -1, -1, -1, -1, - -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, - 90, -1, -1, 93, -1, -1, 16, -1, -1, -1, - -1, 101, -1, -1, -1, 105, -1, 107, -1, -1, - -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, - 40, 41, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, -1, -1, -1, 139, - 140, 141, 142, -1, -1, -1, 146, 147, 148, -1, - -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, - 90, -1, -1, 93, -1, -1, 16, -1, -1, -1, - -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, - 40, 41, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, -1, -1, -1, 139, - 140, 141, 142, -1, -1, -1, 146, 147, 148, -1, - -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, - 90, -1, -1, 93, -1, -1, 16, -1, -1, -1, - -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, - 40, 41, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, -1, -1, -1, 139, - 140, 141, 142, -1, -1, -1, 146, 147, 148, -1, - -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, - 90, -1, -1, 93, -1, -1, 16, -1, -1, -1, - -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, - 40, 41, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, -1, -1, -1, 139, - 140, 141, 142, -1, -1, -1, 146, 147, 148, -1, - -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, - 90, -1, -1, 93, -1, -1, 16, -1, -1, -1, - -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, - 40, 41, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, -1, -1, -1, 139, - 140, 141, 142, -1, -1, -1, 146, 147, 148, -1, - -1, -1, 72, 73, 74, 75, 76, 77, 78, 79, - 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, - 90, -1, -1, 93, -1, -1, -1, -1, -1, -1, - -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, - -1, -1, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, -1, -1, -1, 139, - 140, 141, 142, -1, -1, -1, 146, 147, 148, 3, + -1, -1, -1, -1, -1, -1, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, -1, 134, + 135, 136, 88, 89, 90, -1, 92, 93, -1, -1, + -1, -1, -1, -1, -1, 101, -1, -1, -1, 105, + -1, -1, -1, -1, 16, -1, -1, -1, -1, 115, + -1, -1, 118, 119, -1, 121, 122, -1, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 40, 41, + -1, -1, 138, 139, 140, 141, 142, -1, 144, -1, + 146, 147, 148, -1, -1, 57, -1, -1, 60, -1, + -1, 63, -1, -1, -1, -1, -1, -1, -1, -1, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, -1, -1, -1, -1, 88, 89, 90, -1, + -1, 93, -1, -1, 16, -1, -1, -1, -1, 101, + -1, -1, -1, 105, -1, 107, -1, -1, -1, -1, + -1, -1, -1, 115, -1, -1, 118, 119, 40, 41, + 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, -1, -1, -1, -1, 139, 140, 141, + 142, -1, -1, -1, 146, 147, 148, -1, -1, -1, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, -1, -1, -1, -1, 88, 89, 90, -1, + -1, 93, -1, -1, 16, -1, -1, -1, -1, 101, + -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 115, -1, -1, 118, 119, 40, 41, + 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, -1, -1, -1, -1, 139, 140, 141, + 142, -1, -1, -1, 146, 147, 148, -1, -1, -1, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, -1, -1, -1, -1, 88, 89, 90, -1, + -1, 93, -1, -1, 16, -1, -1, -1, -1, 101, + -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 115, -1, -1, 118, 119, 40, 41, + 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, -1, -1, -1, -1, 139, 140, 141, + 142, -1, -1, -1, 146, 147, 148, -1, -1, -1, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, -1, -1, -1, -1, 88, 89, 90, -1, + -1, 93, -1, -1, 16, -1, -1, -1, -1, 101, + -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 115, -1, -1, 118, 119, 40, 41, + 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, -1, -1, -1, -1, 139, 140, 141, + 142, -1, -1, -1, 146, 147, 148, -1, -1, -1, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, -1, -1, -1, -1, 88, 89, 90, -1, + -1, 93, -1, -1, 16, -1, -1, -1, -1, 101, + -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 115, -1, -1, 118, 119, 40, 41, + 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, -1, -1, -1, -1, 139, 140, 141, + 142, -1, -1, -1, 146, 147, 148, -1, -1, -1, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, -1, -1, -1, -1, 88, 89, 90, -1, + -1, 93, -1, -1, -1, -1, -1, -1, -1, 101, + -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 115, -1, -1, 118, 119, -1, -1, + 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, -1, -1, -1, -1, 139, 140, 141, + 142, -1, -1, -1, 146, 147, 148, 3, 4, 5, + 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, + -1, -1, -1, 19, -1, 21, 22, 23, 24, -1, + -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, + 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, + -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, + 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, + 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, + -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, + 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, + -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, + -1, 127, -1, -1, -1, -1, -1, 19, 134, 21, + 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, + 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, + -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, + 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, + -1, 63, -1, -1, 66, 67, -1, 69, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 88, -1, -1, 91, + -1, -1, 94, 95, -1, 97, 98, -1, -1, -1, + -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, + 112, -1, 114, -1, -1, 3, 4, 5, 6, 7, + 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, + -1, 19, 134, 21, 22, 23, 24, -1, -1, -1, + -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, + -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, + 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, + 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, + -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, + 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, + 108, -1, 110, 111, 112, -1, 114, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, - -1, -1, -1, -1, -1, 19, -1, 21, 22, 23, + -1, -1, -1, -1, -1, 19, 134, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 88, -1, -1, 91, -1, -1, - 94, 95, -1, 97, 98, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, + 94, 95, -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, 19, @@ -6354,9 +6446,9 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, - 100, -1, -1, -1, 104, -1, 106, 107, 108, -1, + -1, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, + 6, 7, 8, 9, 10, 11, -1, 127, -1, -1, -1, -1, -1, 19, 134, 21, 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, @@ -6365,7 +6457,7 @@ static const yytype_int16 yycheck[] = 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, - -1, 97, 98, -1, 100, -1, -1, -1, 104, -1, + -1, 97, 98, -1, -1, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, 19, 134, 21, @@ -6376,7 +6468,7 @@ static const yytype_int16 yycheck[] = -1, 63, -1, -1, 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, - -1, -1, 94, 95, -1, 97, 98, -1, 100, -1, + -1, -1, 94, 95, -1, 97, 98, -1, -1, -1, -1, -1, 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, @@ -6397,212 +6489,224 @@ static const yytype_int16 yycheck[] = -1, -1, -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 26, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, -1, -1, -1, -1, - 104, -1, 106, 107, 108, -1, 110, 111, 112, -1, - 114, -1, -1, 3, 4, 5, 6, 7, 8, 9, - 10, 11, -1, -1, -1, -1, -1, -1, -1, 19, - 134, 21, 22, 23, 24, -1, -1, -1, -1, -1, - 30, 31, 32, 33, 34, 35, 36, -1, -1, 39, - -1, -1, -1, -1, -1, -1, -1, -1, 48, 49, - 50, 51, 52, 53, 54, 55, 56, -1, 58, 59, - 60, -1, -1, 63, -1, -1, 66, 67, -1, 69, + 104, 57, 106, 107, 108, -1, 110, 111, 112, -1, + 114, -1, -1, -1, -1, -1, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, + 134, -1, 88, 89, 90, -1, 92, 93, -1, -1, + -1, -1, -1, -1, -1, 101, -1, 26, -1, 105, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, + -1, -1, 118, 119, -1, 121, 122, -1, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + -1, -1, 138, -1, 140, 141, 142, -1, 144, -1, + 146, 147, 148, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, + 89, 90, -1, 92, -1, -1, -1, -1, -1, -1, + -1, -1, 101, -1, 26, -1, 105, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 115, -1, -1, 118, + 119, -1, 121, 122, -1, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, 138, + -1, 140, 141, 142, -1, 144, -1, 146, 147, 148, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, -1, -1, -1, -1, 88, 89, 90, -1, + 92, -1, -1, -1, -1, -1, -1, -1, -1, 101, + -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 115, -1, -1, 118, 119, -1, 121, + 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, -1, -1, -1, 138, 139, 140, -1, + 142, -1, 144, -1, 146, 147, 148, 51, 52, -1, + -1, 55, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 70, 71, 72, 73, + 74, 75, 76, 77, -1, -1, 80, 81, -1, -1, + -1, -1, 86, 87, 88, 89, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 91, -1, -1, 94, 95, -1, 97, 98, -1, - -1, -1, -1, -1, 104, -1, 106, 107, 108, -1, - 110, 111, 112, -1, 114, -1, -1, 3, 4, 5, - 6, 7, 8, 9, 10, 11, -1, -1, -1, -1, - -1, -1, -1, 19, 134, 21, 22, 23, 24, -1, - -1, -1, -1, -1, 30, 31, 32, 33, 34, 35, - 36, -1, -1, 39, -1, -1, -1, -1, -1, -1, - -1, -1, 48, 49, 50, 51, 52, 53, 54, 55, - 56, -1, 58, 59, 60, -1, -1, 63, -1, -1, - 66, 67, -1, 69, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 91, -1, -1, 94, 95, - -1, 97, 98, -1, -1, -1, -1, -1, 104, -1, - 106, 107, 108, -1, 110, 111, 112, -1, 114, -1, - -1, 3, 4, 5, 6, 7, 8, 9, 10, 11, - -1, -1, -1, -1, -1, -1, -1, 19, 134, 21, - 22, 23, 24, -1, -1, -1, -1, -1, 30, 31, - 32, 33, 34, 35, 36, -1, -1, 39, -1, -1, - -1, -1, -1, -1, -1, -1, 48, 49, 50, 51, - 52, 53, 54, 55, 56, -1, 58, 59, 60, -1, - -1, 63, -1, -1, 66, 67, -1, 69, -1, -1, - -1, -1, 26, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 91, - -1, -1, 94, 95, -1, 97, 98, -1, -1, -1, - -1, -1, 104, 57, 106, 107, 108, -1, 110, 111, - 112, -1, 114, -1, -1, -1, -1, -1, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - -1, -1, 134, -1, 88, 89, 90, -1, 92, 93, - -1, -1, -1, -1, -1, -1, -1, 101, -1, 26, - -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 115, -1, -1, 118, 119, -1, 121, 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, -1, -1, -1, 138, -1, 140, 141, 142, -1, - 144, -1, 146, 147, 148, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, - -1, 88, 89, 90, -1, 92, -1, -1, -1, -1, - -1, -1, -1, -1, 101, -1, 26, -1, 105, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, - -1, 118, 119, -1, 121, 122, -1, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, - -1, 138, -1, 140, 141, 142, -1, 144, -1, 146, - 147, 148, 72, 73, 74, 75, 76, 77, 78, 79, + -1, 135, 136, 51, 52, -1, -1, 55, -1, 143, + 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, + -1, -1, 80, 81, -1, -1, -1, -1, 86, 87, + 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, 135, 136, 51, + 52, -1, -1, 55, -1, 143, 144, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 70, 71, + 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, + -1, -1, -1, -1, 86, 87, 88, 89, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, + 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, 135, 136, 51, 52, -1, -1, 55, + -1, 143, 144, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 70, 71, 72, 73, 74, 75, + 76, 77, -1, -1, 80, 81, -1, -1, -1, -1, + 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 100, 101, 102, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, 135, + 136, 51, 52, -1, -1, 55, -1, 143, 144, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, + 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, 135, 136, 51, 52, -1, + -1, 55, -1, 143, 144, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 70, 71, 72, 73, + 74, 75, 76, 77, -1, -1, 80, 81, -1, -1, + -1, -1, 86, 87, 88, 89, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 100, 101, 102, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, 135, 136, 51, 52, -1, -1, 55, -1, 143, + 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, + -1, -1, 80, 81, -1, -1, -1, -1, 86, 87, + 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, 135, 136, 51, + 52, -1, -1, 55, -1, 143, 144, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 70, 71, + 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, + -1, -1, -1, -1, 86, 87, 88, 89, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, + 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, 135, 136, 51, 52, -1, -1, 55, + -1, 143, 144, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 70, 71, 72, 73, 74, 75, + 76, 77, -1, -1, 80, 81, -1, -1, -1, -1, + 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 100, 101, 102, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, 135, + 136, 51, 52, -1, -1, 55, -1, 143, 144, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, + 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, 135, 136, 51, 52, -1, + -1, 55, -1, 143, 144, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 70, 71, 72, 73, + 74, 75, 76, 77, -1, -1, 80, 81, -1, -1, + -1, -1, 86, 87, 88, 89, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 100, 101, 102, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, 135, 136, 51, 52, -1, -1, 55, -1, 143, + 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, + -1, -1, 80, 81, -1, -1, -1, -1, 86, 87, + 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, -1, 135, 136, 51, + 52, -1, -1, 55, -1, 143, 144, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 70, 71, + 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, + -1, -1, -1, -1, 86, 87, 88, 89, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, + 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, 135, 136, 51, 52, -1, -1, 55, + -1, 143, 144, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 70, 71, 72, 73, 74, 75, + 76, 77, -1, -1, 80, 81, -1, -1, -1, -1, + 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 100, 101, 102, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, 135, + 136, 51, 52, -1, -1, 55, -1, 143, 144, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, + 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, + 130, 131, 132, 133, -1, 135, 136, 51, 52, -1, + -1, 55, -1, 143, 144, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 70, 71, 72, 73, + 74, 75, 76, 77, -1, -1, 80, 81, -1, -1, + -1, -1, 86, 87, 88, 89, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 100, 101, 102, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 44, -1, -1, -1, -1, -1, -1, -1, + 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, + -1, 135, 136, -1, -1, -1, -1, -1, -1, 143, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, -1, -1, -1, -1, 88, 89, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, - 90, -1, 92, -1, -1, -1, -1, -1, -1, -1, + 90, -1, 92, 93, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, 118, 119, -1, 121, 122, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, -1, -1, -1, 138, 139, - 140, -1, 142, -1, 144, -1, 146, 147, 148, 51, - 52, -1, -1, 55, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 70, 71, - 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, - -1, -1, -1, -1, 86, 87, 88, 89, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, - 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 130, 131, 132, 133, -1, -1, -1, -1, -1, 139, + 140, 141, 142, -1, 144, -1, 146, 147, 148, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, -1, -1, -1, -1, 88, 89, 90, -1, 92, + 93, -1, -1, -1, -1, -1, -1, -1, 101, -1, + -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 115, -1, -1, 118, 119, -1, 121, 122, + -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, -1, -1, -1, -1, 139, 140, 141, 142, + -1, -1, -1, 146, 147, 148, 72, 73, 74, 75, + 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, + -1, -1, 88, 89, 90, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 101, -1, -1, -1, 105, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 115, + -1, -1, 118, 119, -1, -1, 122, -1, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, -1, -1, + -1, -1, -1, 139, 140, -1, 142, -1, -1, -1, + 146, 147, 148, 72, 73, 74, 75, 76, 77, 78, + 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, + 89, 90, -1, -1, 93, -1, -1, -1, -1, -1, + -1, -1, 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, 135, 136, 51, 52, -1, -1, 55, - -1, 143, 144, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, 80, 81, -1, -1, -1, -1, - 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 100, 101, 102, -1, -1, -1, + -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, + 129, 130, 131, 132, 133, -1, -1, -1, -1, -1, + -1, 140, -1, -1, -1, -1, -1, -1, 147, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, -1, -1, -1, -1, 88, 89, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, 135, - 136, 51, 52, -1, -1, 55, -1, 143, 144, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, - 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, 135, 136, 51, 52, -1, - -1, 55, -1, 143, 144, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 70, 71, 72, 73, - 74, 75, 76, 77, -1, -1, 80, 81, -1, -1, - -1, -1, 86, 87, 88, 89, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 100, 101, 102, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, + -1, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, -1, -1, -1, -1, -1, -1, -1, -1, 142, + 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, + 82, 83, -1, -1, -1, -1, 88, 89, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, 135, 136, 51, 52, -1, -1, 55, -1, 143, - 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, - -1, -1, 80, 81, -1, -1, -1, -1, 86, 87, - 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, 135, 136, 51, - 52, -1, -1, 55, -1, 143, 144, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 70, 71, - 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, - -1, -1, -1, -1, 86, 87, 88, 89, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, - 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, 135, 136, 51, 52, -1, -1, 55, - -1, 143, 144, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, 80, 81, -1, -1, -1, -1, - 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 100, 101, 102, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, 135, - 136, 51, 52, -1, -1, 55, -1, 143, 144, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, - 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, 135, 136, 51, 52, -1, - -1, 55, -1, 143, 144, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 70, 71, 72, 73, - 74, 75, 76, 77, -1, -1, 80, 81, -1, -1, - -1, -1, 86, 87, 88, 89, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 100, 101, 102, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, 135, 136, 51, 52, -1, -1, 55, -1, 143, - 144, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 70, 71, 72, 73, 74, 75, 76, 77, - -1, -1, 80, 81, -1, -1, -1, -1, 86, 87, - 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 100, 101, 102, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, 135, 136, 51, - 52, -1, -1, 55, -1, 143, 144, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 70, 71, - 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, - -1, -1, -1, -1, 86, 87, 88, 89, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 100, 101, - 102, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, 135, 136, 51, 52, -1, -1, 55, - -1, 143, 144, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 70, 71, 72, 73, 74, 75, - 76, 77, -1, -1, 80, 81, -1, -1, -1, -1, - 86, 87, 88, 89, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 100, 101, 102, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, -1, 135, - 136, 51, 52, -1, -1, 55, -1, 143, 144, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 70, 71, 72, 73, 74, 75, 76, 77, -1, -1, - 80, 81, -1, -1, -1, -1, 86, 87, 88, 89, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 100, 101, 102, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 124, 125, 126, 127, 128, 129, - 130, 131, 132, 133, -1, 135, 136, -1, -1, -1, - -1, -1, -1, 143, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, - 88, 89, 90, -1, 92, 93, -1, -1, -1, -1, - -1, -1, -1, 101, -1, -1, -1, 105, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 115, -1, -1, - 118, 119, -1, 121, 122, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, -1, -1, -1, -1, - -1, 139, 140, 141, 142, -1, 144, -1, 146, 147, - 148, 72, 73, 74, 75, 76, 77, 78, 79, 80, - 81, 82, 83, -1, -1, -1, -1, 88, 89, 90, - -1, 92, 93, -1, -1, -1, -1, -1, -1, -1, - 101, -1, -1, -1, 105, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 115, -1, -1, 118, 119, -1, - 121, 122, -1, 124, 125, 126, 127, 128, 129, 130, - 131, 132, 133, -1, -1, -1, -1, -1, 139, 140, - 141, 142, -1, -1, -1, 146, 147, 148, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - -1, -1, -1, -1, 88, 89, 90, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, - -1, 105, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 115, -1, -1, 118, 119, -1, -1, 122, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - -1, -1, -1, -1, -1, 139, 140, -1, 142, -1, - -1, -1, 146, 147, 148, 72, 73, 74, 75, 76, - 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, - -1, 88, 89, 90, -1, -1, 93, -1, -1, -1, - -1, -1, -1, -1, 101, -1, -1, -1, 105, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, - 127, 128, 129, 130, 131, 132, 133, -1, -1, -1, - -1, -1, -1, 140, -1, -1, -1, -1, -1, -1, - 147, 72, 73, 74, 75, 76, 77, 78, 79, 80, + 122, -1, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, -1, -1, -1, -1, -1, -1, -1, -1, + 142, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, @@ -6618,46 +6722,23 @@ static const yytype_int16 yycheck[] = 130, 131, 132, 133, -1, -1, -1, -1, -1, -1, -1, -1, 142, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, 88, - 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 89, -1, -1, -1, 93, -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, 127, 128, - 129, 130, 131, 132, 133, -1, -1, -1, -1, -1, - -1, -1, -1, 142, 72, 73, 74, 75, 76, 77, - 78, 79, 80, 81, 82, 83, -1, -1, -1, -1, - 88, 89, -1, -1, -1, 93, -1, -1, -1, -1, - -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, + 129, 130, 131, 132, 133, 72, 73, 74, 75, 76, + 77, 78, 79, 80, 81, 82, 83, -1, -1, -1, + -1, 88, 89, -1, -1, -1, 93, -1, -1, -1, + -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 122, -1, 124, 125, 126, 127, - 128, 129, 130, 131, 132, 133, 72, 73, 74, 75, - 76, 77, 78, 79, 80, 81, 82, 83, -1, -1, - -1, -1, 88, 89, -1, -1, -1, 93, -1, -1, - -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 122, -1, 124, 125, 126, + 127, 128, 129, 130, 131, 132, 133, 72, 73, 74, + 75, 76, 77, 78, 79, 80, 81, 82, 83, -1, + -1, -1, -1, 88, 89, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 101, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 122, -1, 124, 125, - 126, 127, 128, 129, 130, 131, 132, 133, 72, 73, - 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, - -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, 122, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, - 82, 83, -1, -1, -1, -1, 88, 89, 72, 73, - 74, 75, 76, 77, 78, -1, 80, 81, -1, 101, - -1, -1, -1, -1, 88, 89, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 101, -1, -1, - -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, -1, -1, -1, -1, -1, -1, -1, -1, - 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 72, 73, 74, 75, 76, 77, -1, -1, 80, 81, - 72, 73, 74, 75, 76, 77, 88, 89, 80, 81, - -1, -1, -1, -1, -1, -1, 88, 89, -1, 101, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 101, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133 + -1, -1, -1, -1, -1, -1, -1, 122, -1, 124, + 125, 126, 127, 128, 129, 130, 131, 132, 133 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of @@ -6672,11 +6753,11 @@ static const yytype_int16 yystos[] = 91, 94, 95, 97, 98, 100, 104, 106, 107, 108, 110, 111, 112, 114, 134, 135, 136, 152, 153, 154, 160, 161, 163, 164, 166, 168, 169, 172, 173, 175, - 176, 177, 179, 180, 189, 203, 220, 241, 242, 267, - 268, 269, 273, 274, 275, 281, 282, 283, 285, 286, - 287, 288, 289, 290, 326, 339, 0, 154, 21, 22, + 176, 177, 179, 180, 189, 203, 220, 241, 242, 269, + 270, 271, 275, 276, 277, 283, 284, 285, 287, 288, + 289, 290, 291, 292, 328, 341, 0, 154, 21, 22, 30, 31, 32, 39, 51, 55, 69, 88, 91, 94, - 134, 164, 166, 181, 182, 203, 220, 287, 290, 326, + 134, 164, 166, 181, 182, 203, 220, 289, 292, 328, 182, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 30, 31, 32, 33, 34, @@ -6684,106 +6765,107 @@ static const yytype_int16 yystos[] = 50, 51, 52, 55, 70, 71, 72, 73, 74, 75, 76, 77, 80, 81, 86, 87, 88, 89, 100, 101, 102, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 135, 136, 143, 144, 183, 187, 188, 289, 321, - 204, 91, 163, 164, 166, 167, 180, 189, 220, 287, - 288, 290, 167, 210, 212, 69, 91, 173, 180, 220, - 225, 287, 290, 33, 34, 35, 36, 48, 49, 50, - 51, 55, 106, 183, 184, 185, 283, 115, 118, 119, - 146, 148, 167, 277, 278, 279, 332, 336, 337, 338, + 133, 135, 136, 143, 144, 183, 187, 188, 291, 323, + 204, 91, 163, 164, 166, 167, 180, 189, 220, 289, + 290, 292, 167, 210, 212, 69, 91, 173, 180, 220, + 225, 289, 292, 33, 34, 35, 36, 48, 49, 50, + 51, 55, 106, 183, 184, 185, 285, 115, 118, 119, + 146, 148, 167, 279, 280, 281, 334, 338, 339, 340, 51, 69, 100, 102, 103, 135, 172, 189, 195, 198, - 201, 269, 324, 325, 195, 195, 144, 192, 193, 196, - 197, 339, 192, 197, 144, 333, 184, 155, 138, 189, + 201, 271, 326, 327, 195, 195, 144, 192, 193, 196, + 197, 341, 192, 197, 144, 335, 184, 155, 138, 189, 220, 189, 189, 189, 55, 1, 94, 157, 158, 160, - 174, 175, 339, 205, 207, 190, 201, 324, 339, 189, - 323, 324, 339, 91, 142, 179, 220, 287, 290, 208, - 53, 54, 56, 63, 69, 107, 183, 284, 63, 64, - 65, 116, 117, 270, 271, 61, 270, 62, 270, 63, - 270, 63, 270, 58, 59, 168, 189, 189, 332, 338, + 174, 175, 341, 205, 207, 190, 201, 326, 341, 189, + 325, 326, 341, 91, 142, 179, 220, 289, 292, 208, + 53, 54, 56, 63, 69, 107, 183, 286, 63, 64, + 65, 116, 117, 272, 273, 61, 272, 62, 272, 63, + 272, 63, 272, 58, 59, 168, 189, 189, 334, 340, 40, 41, 42, 43, 44, 37, 38, 51, 53, 54, 55, 56, 69, 83, 94, 100, 101, 102, 103, 128, - 131, 144, 293, 294, 295, 296, 297, 300, 301, 302, - 303, 305, 306, 307, 308, 310, 311, 312, 315, 316, - 317, 318, 319, 339, 293, 295, 28, 240, 121, 142, + 131, 144, 295, 296, 297, 298, 299, 302, 303, 304, + 305, 307, 308, 309, 310, 312, 313, 314, 317, 318, + 319, 320, 321, 341, 295, 297, 28, 240, 121, 142, 94, 100, 176, 121, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 88, 89, 93, 101, 122, 124, 125, 126, 127, 128, 129, 130, 131, 132, - 133, 90, 105, 140, 147, 330, 90, 330, 331, 26, - 138, 244, 269, 92, 92, 192, 197, 244, 163, 51, - 55, 181, 58, 59, 294, 125, 291, 90, 140, 330, - 219, 322, 90, 147, 329, 156, 157, 55, 293, 293, - 16, 221, 336, 121, 90, 140, 330, 92, 92, 221, - 167, 167, 55, 90, 140, 330, 25, 107, 142, 280, - 332, 115, 279, 20, 246, 336, 57, 57, 189, 189, - 189, 93, 142, 199, 200, 339, 57, 199, 200, 85, - 194, 195, 201, 324, 339, 195, 163, 332, 334, 163, - 337, 159, 138, 157, 90, 330, 92, 160, 174, 145, - 332, 338, 334, 160, 334, 141, 200, 335, 338, 200, - 335, 139, 335, 55, 176, 177, 178, 142, 90, 140, - 330, 144, 237, 305, 310, 63, 270, 272, 276, 277, - 63, 271, 61, 62, 63, 63, 101, 101, 154, 167, - 167, 167, 167, 160, 163, 163, 57, 121, 57, 336, - 309, 85, 305, 310, 121, 156, 189, 142, 320, 339, - 51, 142, 320, 336, 142, 304, 189, 142, 304, 51, - 142, 304, 51, 121, 156, 239, 100, 168, 189, 201, + 133, 90, 105, 140, 147, 332, 90, 332, 333, 26, + 138, 244, 271, 92, 92, 192, 197, 244, 163, 51, + 55, 181, 58, 59, 296, 125, 293, 90, 140, 332, + 219, 324, 90, 147, 331, 156, 157, 55, 295, 295, + 16, 221, 338, 121, 90, 140, 332, 92, 92, 221, + 167, 167, 55, 90, 140, 332, 25, 107, 142, 282, + 334, 115, 281, 20, 246, 338, 57, 57, 189, 189, + 189, 93, 142, 199, 200, 341, 57, 199, 200, 85, + 194, 195, 201, 326, 341, 195, 163, 334, 336, 163, + 339, 159, 138, 157, 90, 332, 92, 160, 174, 145, + 334, 340, 336, 160, 336, 141, 200, 337, 340, 200, + 337, 139, 337, 55, 176, 177, 178, 142, 90, 140, + 332, 144, 237, 307, 312, 63, 272, 274, 278, 279, + 63, 273, 61, 62, 63, 63, 101, 101, 154, 167, + 167, 167, 167, 160, 163, 163, 57, 121, 57, 338, + 311, 85, 307, 312, 121, 156, 189, 142, 322, 341, + 51, 142, 322, 338, 142, 306, 189, 142, 306, 51, + 142, 306, 51, 121, 156, 239, 100, 168, 189, 201, 202, 174, 142, 179, 142, 161, 162, 168, 180, 189, - 191, 202, 220, 290, 189, 189, 189, 189, 189, 189, + 191, 202, 220, 292, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 51, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, 189, - 189, 51, 52, 55, 187, 192, 327, 328, 194, 201, - 51, 52, 55, 187, 192, 327, 51, 55, 327, 245, - 243, 162, 189, 191, 162, 191, 99, 171, 217, 292, - 216, 51, 55, 181, 327, 194, 327, 156, 163, 165, - 15, 13, 263, 339, 121, 121, 157, 16, 51, 55, - 194, 51, 55, 157, 27, 222, 336, 222, 51, 55, + 189, 51, 52, 55, 187, 192, 329, 330, 194, 201, + 51, 52, 55, 187, 192, 329, 51, 55, 329, 245, + 243, 162, 189, 191, 162, 191, 99, 171, 217, 294, + 216, 51, 55, 181, 329, 194, 329, 156, 163, 165, + 15, 13, 265, 341, 121, 121, 157, 16, 51, 55, + 194, 51, 55, 157, 27, 222, 338, 222, 51, 55, 194, 51, 55, 214, 186, 157, 25, 246, 189, 201, - 15, 189, 189, 189, 333, 100, 189, 198, 324, 189, - 325, 334, 145, 332, 200, 200, 334, 145, 184, 152, - 139, 191, 334, 160, 206, 324, 176, 178, 51, 55, - 194, 51, 55, 305, 209, 142, 63, 157, 277, 189, - 189, 51, 69, 100, 226, 310, 334, 334, 142, 172, - 189, 15, 51, 69, 297, 302, 319, 85, 303, 308, - 315, 317, 310, 312, 317, 51, 310, 172, 189, 15, - 79, 126, 231, 233, 339, 189, 200, 334, 178, 142, - 44, 121, 44, 90, 140, 330, 333, 92, 92, 192, + 15, 189, 189, 189, 335, 100, 189, 198, 326, 189, + 327, 336, 145, 334, 200, 200, 336, 145, 184, 152, + 139, 191, 336, 160, 206, 326, 176, 178, 51, 55, + 194, 51, 55, 307, 209, 142, 63, 157, 279, 189, + 189, 51, 69, 100, 226, 312, 336, 336, 142, 172, + 189, 15, 51, 69, 299, 304, 321, 85, 305, 310, + 317, 319, 312, 314, 319, 51, 312, 172, 189, 15, + 79, 126, 231, 233, 341, 189, 200, 336, 178, 142, + 44, 121, 44, 90, 140, 332, 335, 92, 92, 192, 197, 141, 200, 92, 92, 193, 197, 193, 197, 231, - 231, 170, 336, 167, 156, 141, 15, 334, 183, 189, - 202, 264, 339, 18, 224, 339, 17, 223, 224, 92, + 231, 170, 338, 167, 156, 141, 15, 336, 183, 189, + 202, 266, 341, 18, 224, 341, 17, 223, 224, 92, 92, 141, 92, 92, 224, 211, 213, 141, 167, 184, 139, 34, 35, 36, 51, 55, 63, 91, 97, 98, - 220, 249, 250, 251, 252, 253, 257, 262, 282, 286, - 15, 200, 221, 189, 199, 85, 324, 139, 334, 335, - 141, 234, 333, 29, 113, 238, 139, 142, 307, 334, - 142, 85, 44, 44, 320, 336, 142, 304, 142, 304, - 142, 304, 142, 304, 304, 44, 44, 228, 230, 232, - 296, 298, 299, 302, 310, 311, 313, 314, 317, 319, - 156, 100, 189, 178, 160, 189, 51, 55, 194, 51, - 55, 57, 123, 162, 191, 168, 191, 171, 92, 162, - 191, 162, 191, 171, 244, 240, 156, 157, 231, 218, - 336, 15, 93, 265, 339, 157, 14, 266, 339, 167, - 15, 92, 15, 157, 157, 222, 55, 51, 91, 100, - 141, 220, 249, 254, 255, 256, 51, 102, 139, 258, - 259, 260, 261, 282, 90, 40, 41, 221, 93, 126, - 189, 157, 334, 200, 145, 146, 156, 157, 227, 142, - 100, 334, 189, 189, 310, 317, 310, 310, 189, 189, - 234, 234, 91, 220, 142, 320, 320, 142, 229, 220, + 100, 127, 220, 249, 250, 252, 253, 254, 255, 258, + 259, 264, 284, 288, 15, 200, 221, 189, 199, 85, + 326, 139, 336, 337, 141, 234, 335, 29, 113, 238, + 139, 142, 309, 336, 142, 85, 44, 44, 322, 338, + 142, 306, 142, 306, 142, 306, 142, 306, 306, 44, + 44, 228, 230, 232, 298, 300, 301, 304, 312, 313, + 315, 316, 319, 321, 156, 100, 189, 178, 160, 189, + 51, 55, 194, 51, 55, 57, 123, 162, 191, 168, + 191, 171, 92, 162, 191, 162, 191, 171, 244, 240, + 156, 157, 231, 218, 338, 15, 93, 267, 341, 157, + 14, 268, 341, 167, 15, 92, 15, 157, 157, 222, + 55, 51, 91, 100, 141, 220, 252, 256, 257, 258, + 51, 102, 139, 260, 261, 262, 263, 284, 51, 51, + 90, 40, 41, 221, 252, 258, 142, 93, 126, 142, + 189, 157, 336, 200, 145, 146, 156, 157, 227, 142, + 100, 336, 189, 189, 312, 319, 312, 312, 189, 189, + 234, 234, 91, 220, 142, 322, 322, 142, 229, 220, 142, 229, 142, 229, 15, 189, 141, 189, 189, 162, - 191, 15, 139, 157, 156, 91, 180, 220, 287, 290, + 191, 15, 139, 157, 156, 91, 180, 220, 289, 292, 221, 157, 221, 15, 15, 215, 55, 51, 90, 141, 142, 142, 57, 34, 51, 139, 142, 93, 51, 55, - 167, 167, 157, 51, 252, 224, 246, 247, 51, 235, - 236, 306, 15, 139, 310, 310, 142, 307, 304, 142, - 304, 304, 304, 126, 126, 55, 90, 298, 302, 142, - 228, 229, 314, 317, 310, 313, 317, 310, 139, 15, - 55, 90, 140, 330, 157, 157, 157, 55, 100, 249, - 256, 255, 249, 51, 102, 260, 261, 282, 249, 221, - 221, 25, 224, 248, 142, 333, 142, 310, 142, 310, - 55, 320, 142, 229, 142, 229, 142, 229, 142, 229, - 229, 51, 55, 194, 51, 55, 263, 223, 15, 51, - 142, 142, 57, 34, 51, 157, 157, 249, 15, 236, - 310, 304, 310, 317, 310, 310, 141, 255, 248, 248, - 40, 41, 221, 229, 142, 229, 229, 229, 15, 15, - 167, 167, 157, 310, 221, 221, 248, 229, 157, 157, - 248, 248 + 167, 167, 157, 142, 142, 51, 254, 251, 252, 224, + 246, 247, 51, 235, 236, 308, 15, 139, 312, 312, + 142, 309, 306, 142, 306, 306, 306, 126, 126, 55, + 90, 300, 304, 142, 228, 229, 316, 319, 312, 315, + 319, 312, 139, 15, 55, 90, 140, 332, 157, 157, + 157, 55, 252, 258, 257, 249, 51, 102, 262, 263, + 284, 249, 221, 221, 25, 224, 248, 251, 142, 142, + 335, 142, 312, 142, 312, 55, 322, 142, 229, 142, + 229, 142, 229, 142, 229, 229, 51, 55, 194, 51, + 55, 265, 223, 15, 142, 142, 57, 34, 51, 157, + 157, 249, 15, 252, 236, 312, 306, 312, 319, 312, + 312, 141, 257, 248, 248, 40, 41, 221, 229, 142, + 229, 229, 229, 15, 15, 167, 167, 157, 312, 221, + 221, 248, 229, 157, 157, 248, 248 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -6832,30 +6914,31 @@ static const yytype_int16 yyr1[] = 237, 237, 238, 238, 239, 240, 241, 241, 241, 241, 242, 242, 242, 242, 242, 242, 242, 242, 242, 243, 244, 245, 244, 246, 247, 247, 248, 248, 248, 248, - 249, 250, 250, 251, 251, 252, 252, 252, 252, 252, - 252, 252, 252, 252, 252, 252, 252, 253, 253, 254, - 254, 254, 254, 254, 255, 255, 256, 256, 257, 257, - 258, 258, 258, 259, 259, 260, 260, 260, 261, 261, - 261, 262, 263, 263, 264, 264, 264, 265, 265, 266, - 266, 267, 267, 267, 267, 268, 268, 269, 269, 269, - 269, 270, 270, 271, 272, 271, 271, 271, 273, 273, - 274, 274, 275, 276, 276, 277, 277, 278, 278, 279, - 280, 279, 281, 281, 282, 282, 282, 283, 284, 284, - 284, 284, 284, 284, 285, 285, 286, 286, 286, 286, - 287, 287, 287, 287, 287, 288, 288, 289, 289, 289, - 289, 289, 289, 289, 289, 289, 290, 290, 291, 292, - 291, 293, 293, 294, 294, 294, 295, 295, 295, 295, - 296, 296, 297, 297, 298, 298, 299, 299, 300, 300, - 301, 301, 302, 302, 303, 303, 303, 303, 304, 304, - 305, 305, 305, 305, 305, 305, 305, 305, 305, 305, - 305, 305, 305, 305, 305, 306, 306, 306, 306, 306, - 307, 307, 308, 309, 308, 310, 310, 311, 312, 313, - 314, 314, 315, 315, 316, 316, 317, 317, 318, 318, - 319, 319, 320, 320, 321, 322, 321, 323, 323, 324, - 324, 325, 325, 325, 325, 325, 325, 325, 325, 326, - 326, 326, 327, 327, 327, 327, 328, 328, 328, 329, - 329, 330, 330, 331, 331, 332, 332, 333, 333, 334, - 335, 335, 335, 336, 336, 337, 337, 338, 338, 339 + 249, 249, 249, 249, 249, 249, 250, 250, 251, 251, + 252, 252, 253, 253, 254, 254, 254, 254, 254, 254, + 254, 254, 254, 254, 254, 254, 254, 255, 255, 256, + 256, 256, 256, 256, 257, 257, 258, 258, 259, 259, + 260, 260, 260, 261, 261, 262, 262, 262, 263, 263, + 263, 264, 265, 265, 266, 266, 266, 267, 267, 268, + 268, 269, 269, 269, 269, 270, 270, 271, 271, 271, + 271, 272, 272, 273, 274, 273, 273, 273, 275, 275, + 276, 276, 277, 278, 278, 279, 279, 280, 280, 281, + 282, 281, 283, 283, 284, 284, 284, 285, 286, 286, + 286, 286, 286, 286, 287, 287, 288, 288, 288, 288, + 289, 289, 289, 289, 289, 290, 290, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 292, 292, 293, 294, + 293, 295, 295, 296, 296, 296, 297, 297, 297, 297, + 298, 298, 299, 299, 300, 300, 301, 301, 302, 302, + 303, 303, 304, 304, 305, 305, 305, 305, 306, 306, + 307, 307, 307, 307, 307, 307, 307, 307, 307, 307, + 307, 307, 307, 307, 307, 308, 308, 308, 308, 308, + 309, 309, 310, 311, 310, 312, 312, 313, 314, 315, + 316, 316, 317, 317, 318, 318, 319, 319, 320, 320, + 321, 321, 322, 322, 323, 324, 323, 325, 325, 326, + 326, 327, 327, 327, 327, 327, 327, 327, 327, 328, + 328, 328, 329, 329, 329, 329, 330, 330, 330, 331, + 331, 332, 332, 333, 333, 334, 334, 335, 335, 336, + 337, 337, 337, 338, 338, 339, 339, 340, 340, 341 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -6904,8 +6987,9 @@ static const yytype_int8 yyr2[] = 4, 1, 3, 3, 0, 5, 2, 4, 5, 5, 2, 4, 4, 3, 3, 3, 2, 1, 4, 0, 5, 0, 5, 5, 1, 1, 1, 5, 7, 7, - 1, 1, 3, 1, 3, 1, 1, 1, 1, 1, - 1, 1, 1, 3, 2, 1, 1, 3, 2, 1, + 1, 2, 2, 4, 1, 3, 2, 3, 1, 3, + 1, 3, 1, 3, 1, 1, 1, 1, 1, 1, + 1, 1, 3, 2, 1, 1, 2, 3, 2, 1, 3, 5, 1, 3, 1, 3, 2, 1, 3, 2, 1, 3, 1, 1, 3, 3, 2, 3, 2, 2, 1, 1, 6, 1, 1, 1, 1, 2, 1, 2, @@ -7594,7 +7678,7 @@ YYLTYPE yylloc = yyloc_default; -#line 7598 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7682 "mrbgems/mruby-compiler/core/y.tab.c" yylsp[0] = yylloc; goto yysetstate; @@ -7807,84 +7891,84 @@ yyreduce: switch (yyn) { case 2: /* $@1: %empty */ -#line 2147 "mrbgems/mruby-compiler/core/parse.y" +#line 2157 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_BEG; if (!p->locals) p->locals = cons(0,0); } -#line 7816 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7900 "mrbgems/mruby-compiler/core/y.tab.c" break; case 3: /* program: $@1 top_compstmt */ -#line 2152 "mrbgems/mruby-compiler/core/parse.y" +#line 2162 "mrbgems/mruby-compiler/core/parse.y" { p->tree = new_scope(p, (yyvsp[0].nd)); } -#line 7824 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7908 "mrbgems/mruby-compiler/core/y.tab.c" break; case 4: /* top_compstmt: top_stmts opt_terms */ -#line 2158 "mrbgems/mruby-compiler/core/parse.y" +#line 2168 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 7832 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7916 "mrbgems/mruby-compiler/core/y.tab.c" break; case 5: /* top_stmts: none */ -#line 2164 "mrbgems/mruby-compiler/core/parse.y" +#line 2174 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, 0); } -#line 7840 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7924 "mrbgems/mruby-compiler/core/y.tab.c" break; case 6: /* top_stmts: top_stmt */ -#line 2168 "mrbgems/mruby-compiler/core/parse.y" +#line 2178 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 7848 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7932 "mrbgems/mruby-compiler/core/y.tab.c" break; case 7: /* top_stmts: top_stmts terms top_stmt */ -#line 2172 "mrbgems/mruby-compiler/core/parse.y" +#line 2182 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = stmts_push(p, (yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 7856 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7940 "mrbgems/mruby-compiler/core/y.tab.c" break; case 8: /* top_stmts: error top_stmt */ -#line 2176 "mrbgems/mruby-compiler/core/parse.y" +#line 2186 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, 0); } -#line 7864 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7948 "mrbgems/mruby-compiler/core/y.tab.c" break; case 10: /* @2: %empty */ -#line 2183 "mrbgems/mruby-compiler/core/parse.y" +#line 2193 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = local_switch(p); nvars_block(p); } -#line 7873 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7957 "mrbgems/mruby-compiler/core/y.tab.c" break; case 11: /* top_stmt: "'BEGIN'" @2 '{' top_compstmt '}' */ -#line 2188 "mrbgems/mruby-compiler/core/parse.y" +#line 2198 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-4]), p, "BEGIN not supported"); local_resume(p, (yyvsp[-3].nd)); nvars_unnest(p); (yyval.nd) = 0; } -#line 7884 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7968 "mrbgems/mruby-compiler/core/y.tab.c" break; case 12: /* bodystmt: compstmt opt_rescue opt_else opt_ensure */ -#line 2200 "mrbgems/mruby-compiler/core/parse.y" +#line 2210 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[-2].nd)) { (yyval.nd) = new_rescue(p, (yyvsp[-3].nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -7905,89 +7989,89 @@ yyreduce: } } } -#line 7909 "mrbgems/mruby-compiler/core/y.tab.c" +#line 7993 "mrbgems/mruby-compiler/core/y.tab.c" break; case 13: /* compstmt: stmts opt_terms */ -#line 2223 "mrbgems/mruby-compiler/core/parse.y" +#line 2233 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 7917 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8001 "mrbgems/mruby-compiler/core/y.tab.c" break; case 14: /* stmts: none */ -#line 2229 "mrbgems/mruby-compiler/core/parse.y" +#line 2239 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, 0); } -#line 7925 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8009 "mrbgems/mruby-compiler/core/y.tab.c" break; case 15: /* stmts: stmt */ -#line 2233 "mrbgems/mruby-compiler/core/parse.y" +#line 2243 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 7933 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8017 "mrbgems/mruby-compiler/core/y.tab.c" break; case 16: /* stmts: stmts terms stmt */ -#line 2237 "mrbgems/mruby-compiler/core/parse.y" +#line 2247 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = stmts_push(p, (yyvsp[-2].nd), newline_node((yyvsp[0].nd))); } -#line 7941 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8025 "mrbgems/mruby-compiler/core/y.tab.c" break; case 17: /* stmts: error stmt */ -#line 2241 "mrbgems/mruby-compiler/core/parse.y" +#line 2251 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_stmts(p, (yyvsp[0].nd)); } -#line 7949 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8033 "mrbgems/mruby-compiler/core/y.tab.c" break; case 18: /* $@3: %empty */ -#line 2246 "mrbgems/mruby-compiler/core/parse.y" +#line 2256 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 7955 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8039 "mrbgems/mruby-compiler/core/y.tab.c" break; case 19: /* stmt: "'alias'" fsym $@3 fsym */ -#line 2247 "mrbgems/mruby-compiler/core/parse.y" +#line 2257 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_alias(p, (yyvsp[-2].id), (yyvsp[0].id)); } -#line 7963 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8047 "mrbgems/mruby-compiler/core/y.tab.c" break; case 20: /* stmt: "'undef'" undef_list */ -#line 2251 "mrbgems/mruby-compiler/core/parse.y" +#line 2261 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_undef(p, (yyvsp[0].nd)); } -#line 7971 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8055 "mrbgems/mruby-compiler/core/y.tab.c" break; case 21: /* stmt: stmt "'if' modifier" expr_value */ -#line 2255 "mrbgems/mruby-compiler/core/parse.y" +#line 2265 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd), 0); } -#line 7979 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8063 "mrbgems/mruby-compiler/core/y.tab.c" break; case 22: /* stmt: stmt "'unless' modifier" expr_value */ -#line 2259 "mrbgems/mruby-compiler/core/parse.y" +#line 2269 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[0].nd)), 0, (yyvsp[-2].nd)); } -#line 7987 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8071 "mrbgems/mruby-compiler/core/y.tab.c" break; case 23: /* stmt: stmt "'while' modifier" expr_value */ -#line 2263 "mrbgems/mruby-compiler/core/parse.y" +#line 2273 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[-2].nd) && node_type_p((yyvsp[-2].nd), NODE_BEGIN)) { (yyval.nd) = new_while_mod(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); @@ -7996,11 +8080,11 @@ yyreduce: (yyval.nd) = new_while(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } } -#line 8000 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8084 "mrbgems/mruby-compiler/core/y.tab.c" break; case 24: /* stmt: stmt "'until' modifier" expr_value */ -#line 2272 "mrbgems/mruby-compiler/core/parse.y" +#line 2282 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[-2].nd) && node_type_p((yyvsp[-2].nd), NODE_BEGIN)) { (yyval.nd) = new_until_mod(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); @@ -8009,127 +8093,127 @@ yyreduce: (yyval.nd) = new_until(p, cond((yyvsp[0].nd)), (yyvsp[-2].nd)); } } -#line 8013 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8097 "mrbgems/mruby-compiler/core/y.tab.c" break; case 25: /* stmt: stmt "'rescue' modifier" stmt */ -#line 2281 "mrbgems/mruby-compiler/core/parse.y" +#line 2291 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8021 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8105 "mrbgems/mruby-compiler/core/y.tab.c" break; case 26: /* stmt: "'END'" '{' compstmt '}' */ -#line 2285 "mrbgems/mruby-compiler/core/parse.y" +#line 2295 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-3]), p, "END not supported"); (yyval.nd) = new_postexe(p, (yyvsp[-1].nd)); } -#line 8030 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8114 "mrbgems/mruby-compiler/core/y.tab.c" break; case 28: /* stmt: mlhs '=' command_call */ -#line 2291 "mrbgems/mruby-compiler/core/parse.y" +#line 2301 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8038 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8122 "mrbgems/mruby-compiler/core/y.tab.c" break; case 29: /* stmt: lhs '=' mrhs */ -#line 2295 "mrbgems/mruby-compiler/core/parse.y" +#line 2305 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 8046 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8130 "mrbgems/mruby-compiler/core/y.tab.c" break; case 30: /* stmt: mlhs '=' arg */ -#line 2299 "mrbgems/mruby-compiler/core/parse.y" +#line 2309 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8054 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8138 "mrbgems/mruby-compiler/core/y.tab.c" break; case 31: /* stmt: mlhs '=' mrhs */ -#line 2303 "mrbgems/mruby-compiler/core/parse.y" +#line 2313 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-2].nd), new_array(p, (yyvsp[0].nd))); } -#line 8062 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8146 "mrbgems/mruby-compiler/core/y.tab.c" break; case 32: /* stmt: arg "=>" "local variable or method" */ -#line 2307 "mrbgems/mruby-compiler/core/parse.y" +#line 2317 "mrbgems/mruby-compiler/core/parse.y" { node *lhs = new_lvar(p, (yyvsp[0].id)); assignable(p, lhs); (yyval.nd) = new_asgn(p, lhs, (yyvsp[-2].nd)); } -#line 8072 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8156 "mrbgems/mruby-compiler/core/y.tab.c" break; case 34: /* command_asgn: lhs '=' command_rhs */ -#line 2316 "mrbgems/mruby-compiler/core/parse.y" +#line 2326 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8080 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8164 "mrbgems/mruby-compiler/core/y.tab.c" break; case 35: /* command_asgn: var_lhs tOP_ASGN command_rhs */ -#line 2320 "mrbgems/mruby-compiler/core/parse.y" +#line 2330 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8088 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8172 "mrbgems/mruby-compiler/core/y.tab.c" break; case 36: /* command_asgn: primary_value '[' opt_call_args ']' tOP_ASGN command_rhs */ -#line 2324 "mrbgems/mruby-compiler/core/parse.y" +#line 2334 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-5].nd), intern_op(aref), (yyvsp[-3].nd), '.'), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8096 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8180 "mrbgems/mruby-compiler/core/y.tab.c" break; case 37: /* command_asgn: primary_value call_op "local variable or method" tOP_ASGN command_rhs */ -#line 2328 "mrbgems/mruby-compiler/core/parse.y" +#line 2338 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8104 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8188 "mrbgems/mruby-compiler/core/y.tab.c" break; case 38: /* command_asgn: primary_value call_op "constant" tOP_ASGN command_rhs */ -#line 2332 "mrbgems/mruby-compiler/core/parse.y" +#line 2342 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8112 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8196 "mrbgems/mruby-compiler/core/y.tab.c" break; case 39: /* command_asgn: primary_value "::" "constant" tOP_ASGN command_call */ -#line 2336 "mrbgems/mruby-compiler/core/parse.y" +#line 2346 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-4]), p, "constant re-assignment"); (yyval.nd) = 0; } -#line 8121 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8205 "mrbgems/mruby-compiler/core/y.tab.c" break; case 40: /* command_asgn: primary_value "::" "local variable or method" tOP_ASGN command_rhs */ -#line 2341 "mrbgems/mruby-compiler/core/parse.y" +#line 2351 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, tCOLON2), (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8129 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8213 "mrbgems/mruby-compiler/core/y.tab.c" break; case 41: /* command_asgn: defn_head f_opt_arglist_paren '=' command */ -#line 2345 "mrbgems/mruby-compiler/core/parse.y" +#line 2355 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); endless_method_name(p, (yyvsp[-3].nd)); @@ -8138,11 +8222,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 8142 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8226 "mrbgems/mruby-compiler/core/y.tab.c" break; case 42: /* command_asgn: defn_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ -#line 2354 "mrbgems/mruby-compiler/core/parse.y" +#line 2364 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); endless_method_name(p, (yyvsp[-5].nd)); @@ -8151,11 +8235,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 8155 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8239 "mrbgems/mruby-compiler/core/y.tab.c" break; case 43: /* command_asgn: defs_head f_opt_arglist_paren '=' command */ -#line 2363 "mrbgems/mruby-compiler/core/parse.y" +#line 2373 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); void_expr_error(p, (yyvsp[0].nd)); @@ -8164,11 +8248,11 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8168 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8252 "mrbgems/mruby-compiler/core/y.tab.c" break; case 44: /* command_asgn: defs_head f_opt_arglist_paren '=' command "'rescue' modifier" arg */ -#line 2372 "mrbgems/mruby-compiler/core/parse.y" +#line 2382 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); void_expr_error(p, (yyvsp[-2].nd)); @@ -8177,79 +8261,79 @@ yyreduce: p->in_def--; p->in_single--; } -#line 8181 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8265 "mrbgems/mruby-compiler/core/y.tab.c" break; case 45: /* command_asgn: backref tOP_ASGN command_rhs */ -#line 2381 "mrbgems/mruby-compiler/core/parse.y" +#line 2391 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_stmts(p, 0); } -#line 8190 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8274 "mrbgems/mruby-compiler/core/y.tab.c" break; case 47: /* command_rhs: command_call "'rescue' modifier" stmt */ -#line 2389 "mrbgems/mruby-compiler/core/parse.y" +#line 2399 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8198 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8282 "mrbgems/mruby-compiler/core/y.tab.c" break; case 50: /* expr: expr "'and'" expr */ -#line 2397 "mrbgems/mruby-compiler/core/parse.y" +#line 2407 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8206 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8290 "mrbgems/mruby-compiler/core/y.tab.c" break; case 51: /* expr: expr "'or'" expr */ -#line 2401 "mrbgems/mruby-compiler/core/parse.y" +#line 2411 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8214 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8298 "mrbgems/mruby-compiler/core/y.tab.c" break; case 52: /* expr: "'not'" opt_nl expr */ -#line 2405 "mrbgems/mruby-compiler/core/parse.y" +#line 2415 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 8222 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8306 "mrbgems/mruby-compiler/core/y.tab.c" break; case 53: /* expr: '!' command_call */ -#line 2409 "mrbgems/mruby-compiler/core/parse.y" +#line 2419 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 8230 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8314 "mrbgems/mruby-compiler/core/y.tab.c" break; case 55: /* defn_head: "'def'" fname */ -#line 2416 "mrbgems/mruby-compiler/core/parse.y" +#line 2426 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_def(p, (yyvsp[0].id)); p->cmdarg_stack = 0; p->in_def++; nvars_block(p); } -#line 8241 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8325 "mrbgems/mruby-compiler/core/y.tab.c" break; case 56: /* $@4: %empty */ -#line 2425 "mrbgems/mruby-compiler/core/parse.y" +#line 2435 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_FNAME; } -#line 8249 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8333 "mrbgems/mruby-compiler/core/y.tab.c" break; case 57: /* defs_head: "'def'" singleton dot_or_colon $@4 fname */ -#line 2429 "mrbgems/mruby-compiler/core/parse.y" +#line 2439 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sdef(p, (yyvsp[-3].nd), (yyvsp[0].id)); p->cmdarg_stack = 0; @@ -8258,1054 +8342,1054 @@ yyreduce: nvars_block(p); p->lstate = EXPR_ENDFN; /* force for args */ } -#line 8262 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8346 "mrbgems/mruby-compiler/core/y.tab.c" break; case 58: /* expr_value: expr */ -#line 2440 "mrbgems/mruby-compiler/core/parse.y" +#line 2450 "mrbgems/mruby-compiler/core/parse.y" { if (!(yyvsp[0].nd)) (yyval.nd) = new_nil(p); else { (yyval.nd) = (yyvsp[0].nd); } } -#line 8273 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8357 "mrbgems/mruby-compiler/core/y.tab.c" break; case 62: /* block_command: block_call call_op2 operation2 command_args */ -#line 2454 "mrbgems/mruby-compiler/core/parse.y" +#line 2464 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8281 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8365 "mrbgems/mruby-compiler/core/y.tab.c" break; case 63: /* $@5: %empty */ -#line 2460 "mrbgems/mruby-compiler/core/parse.y" +#line 2470 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); } -#line 8290 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8374 "mrbgems/mruby-compiler/core/y.tab.c" break; case 64: /* cmd_brace_block: "{" $@5 opt_block_param compstmt '}' */ -#line 2467 "mrbgems/mruby-compiler/core/parse.y" +#line 2477 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p, (yyvsp[-2].nd), (yyvsp[-1].nd)); local_unnest(p); nvars_unnest(p); } -#line 8300 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8384 "mrbgems/mruby-compiler/core/y.tab.c" break; case 65: /* command: operation command_args */ -#line 2475 "mrbgems/mruby-compiler/core/parse.y" +#line 2485 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 8308 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8392 "mrbgems/mruby-compiler/core/y.tab.c" break; case 66: /* command: operation command_args cmd_brace_block */ -#line 2479 "mrbgems/mruby-compiler/core/parse.y" +#line 2489 "mrbgems/mruby-compiler/core/parse.y" { args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = new_fcall(p, (yyvsp[-2].id), (yyvsp[-1].nd)); } -#line 8317 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8401 "mrbgems/mruby-compiler/core/y.tab.c" break; case 67: /* command: primary_value call_op operation2 command_args */ -#line 2484 "mrbgems/mruby-compiler/core/parse.y" +#line 2494 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 8325 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8409 "mrbgems/mruby-compiler/core/y.tab.c" break; case 68: /* command: primary_value call_op operation2 command_args cmd_brace_block */ -#line 2488 "mrbgems/mruby-compiler/core/parse.y" +#line 2498 "mrbgems/mruby-compiler/core/parse.y" { args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), (yyvsp[-3].num)); } -#line 8334 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8418 "mrbgems/mruby-compiler/core/y.tab.c" break; case 69: /* command: primary_value "::" operation2 command_args */ -#line 2493 "mrbgems/mruby-compiler/core/parse.y" +#line 2503 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 8342 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8426 "mrbgems/mruby-compiler/core/y.tab.c" break; case 70: /* command: primary_value "::" operation2 command_args cmd_brace_block */ -#line 2497 "mrbgems/mruby-compiler/core/parse.y" +#line 2507 "mrbgems/mruby-compiler/core/parse.y" { args_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), tCOLON2); } -#line 8351 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8435 "mrbgems/mruby-compiler/core/y.tab.c" break; case 71: /* command: "'super'" command_args */ -#line 2502 "mrbgems/mruby-compiler/core/parse.y" +#line 2512 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 8359 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8443 "mrbgems/mruby-compiler/core/y.tab.c" break; case 72: /* command: "'yield'" command_args */ -#line 2506 "mrbgems/mruby-compiler/core/parse.y" +#line 2516 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 8367 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8451 "mrbgems/mruby-compiler/core/y.tab.c" break; case 73: /* command: "'return'" call_args */ -#line 2510 "mrbgems/mruby-compiler/core/parse.y" +#line 2520 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_return(p, ret_args(p, (yyvsp[0].nd))); } -#line 8375 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8459 "mrbgems/mruby-compiler/core/y.tab.c" break; case 74: /* command: "'break'" call_args */ -#line 2514 "mrbgems/mruby-compiler/core/parse.y" +#line 2524 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_break(p, ret_args(p, (yyvsp[0].nd))); } -#line 8383 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8467 "mrbgems/mruby-compiler/core/y.tab.c" break; case 75: /* command: "'next'" call_args */ -#line 2518 "mrbgems/mruby-compiler/core/parse.y" +#line 2528 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_next(p, ret_args(p, (yyvsp[0].nd))); } -#line 8391 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8475 "mrbgems/mruby-compiler/core/y.tab.c" break; case 76: /* mlhs: mlhs_basic */ -#line 2524 "mrbgems/mruby-compiler/core/parse.y" +#line 2534 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 8399 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8483 "mrbgems/mruby-compiler/core/y.tab.c" break; case 77: /* mlhs: tLPAREN mlhs_inner rparen */ -#line 2528 "mrbgems/mruby-compiler/core/parse.y" +#line 2538 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8407 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8491 "mrbgems/mruby-compiler/core/y.tab.c" break; case 79: /* mlhs_inner: tLPAREN mlhs_inner rparen */ -#line 2535 "mrbgems/mruby-compiler/core/parse.y" +#line 2545 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 8415 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8499 "mrbgems/mruby-compiler/core/y.tab.c" break; case 80: /* mlhs_basic: mlhs_list */ -#line 2541 "mrbgems/mruby-compiler/core/parse.y" +#line 2551 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 8423 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8507 "mrbgems/mruby-compiler/core/y.tab.c" break; case 81: /* mlhs_basic: mlhs_list mlhs_item */ -#line 2545 "mrbgems/mruby-compiler/core/parse.y" +#line 2555 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(push((yyvsp[-1].nd),(yyvsp[0].nd))); } -#line 8431 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8515 "mrbgems/mruby-compiler/core/y.tab.c" break; case 82: /* mlhs_basic: mlhs_list "*" mlhs_node */ -#line 2549 "mrbgems/mruby-compiler/core/parse.y" +#line 2559 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8439 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8523 "mrbgems/mruby-compiler/core/y.tab.c" break; case 83: /* mlhs_basic: mlhs_list "*" mlhs_node ',' mlhs_post */ -#line 2553 "mrbgems/mruby-compiler/core/parse.y" +#line 2563 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8447 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8531 "mrbgems/mruby-compiler/core/y.tab.c" break; case 84: /* mlhs_basic: mlhs_list "*" */ -#line 2557 "mrbgems/mruby-compiler/core/parse.y" +#line 2567 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2((yyvsp[-1].nd), new_nil(p)); } -#line 8455 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8539 "mrbgems/mruby-compiler/core/y.tab.c" break; case 85: /* mlhs_basic: mlhs_list "*" ',' mlhs_post */ -#line 2561 "mrbgems/mruby-compiler/core/parse.y" +#line 2571 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-3].nd), new_nil(p), (yyvsp[0].nd)); } -#line 8463 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8547 "mrbgems/mruby-compiler/core/y.tab.c" break; case 86: /* mlhs_basic: "*" mlhs_node */ -#line 2565 "mrbgems/mruby-compiler/core/parse.y" +#line 2575 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2(0, (yyvsp[0].nd)); } -#line 8471 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8555 "mrbgems/mruby-compiler/core/y.tab.c" break; case 87: /* mlhs_basic: "*" mlhs_node ',' mlhs_post */ -#line 2569 "mrbgems/mruby-compiler/core/parse.y" +#line 2579 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 8479 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8563 "mrbgems/mruby-compiler/core/y.tab.c" break; case 88: /* mlhs_basic: "*" */ -#line 2573 "mrbgems/mruby-compiler/core/parse.y" +#line 2583 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list2(0, new_nil(p)); } -#line 8487 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8571 "mrbgems/mruby-compiler/core/y.tab.c" break; case 89: /* mlhs_basic: "*" ',' mlhs_post */ -#line 2577 "mrbgems/mruby-compiler/core/parse.y" +#line 2587 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_nil(p), (yyvsp[0].nd)); } -#line 8495 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8579 "mrbgems/mruby-compiler/core/y.tab.c" break; case 91: /* mlhs_item: tLPAREN mlhs_inner rparen */ -#line 2584 "mrbgems/mruby-compiler/core/parse.y" +#line 2594 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_masgn(p, (yyvsp[-1].nd), NULL); } -#line 8503 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8587 "mrbgems/mruby-compiler/core/y.tab.c" break; case 92: /* mlhs_list: mlhs_item ',' */ -#line 2590 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1((yyvsp[-1].nd)); - } -#line 8511 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 93: /* mlhs_list: mlhs_list mlhs_item ',' */ -#line 2594 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); - } -#line 8519 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 94: /* mlhs_post: mlhs_item */ #line 2600 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); - } -#line 8527 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 95: /* mlhs_post: mlhs_list mlhs_item */ -#line 2604 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); - } -#line 8535 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 96: /* mlhs_node: variable */ -#line 2610 "mrbgems/mruby-compiler/core/parse.y" - { - assignable(p, (yyvsp[0].nd)); - } -#line 8543 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 97: /* mlhs_node: primary_value '[' opt_call_args ']' */ -#line 2614 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); - } -#line 8551 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 98: /* mlhs_node: primary_value call_op "local variable or method" */ -#line 2618 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); - } -#line 8559 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 99: /* mlhs_node: primary_value "::" "local variable or method" */ -#line 2622 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); - } -#line 8567 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 100: /* mlhs_node: primary_value call_op "constant" */ -#line 2626 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); - } -#line 8575 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 101: /* mlhs_node: primary_value "::" "constant" */ -#line 2630 "mrbgems/mruby-compiler/core/parse.y" - { - if (p->in_def || p->in_single) - yyerror(&(yylsp[-2]), p, "dynamic constant assignment"); - (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); - } -#line 8585 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 102: /* mlhs_node: tCOLON3 "constant" */ -#line 2636 "mrbgems/mruby-compiler/core/parse.y" - { - if (p->in_def || p->in_single) - yyerror(&(yylsp[-1]), p, "dynamic constant assignment"); - (yyval.nd) = new_colon3(p, (yyvsp[0].id)); + (yyval.nd) = list1((yyvsp[-1].nd)); } #line 8595 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 103: /* mlhs_node: backref */ -#line 2642 "mrbgems/mruby-compiler/core/parse.y" + case 93: /* mlhs_list: mlhs_list mlhs_item ',' */ +#line 2604 "mrbgems/mruby-compiler/core/parse.y" { - backref_error(p, (yyvsp[0].nd)); - (yyval.nd) = 0; + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); } -#line 8604 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8603 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 104: /* lhs: variable */ -#line 2649 "mrbgems/mruby-compiler/core/parse.y" + case 94: /* mlhs_post: mlhs_item */ +#line 2610 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[0].nd)); + } +#line 8611 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 95: /* mlhs_post: mlhs_list mlhs_item */ +#line 2614 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 8619 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 96: /* mlhs_node: variable */ +#line 2620 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 8612 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8627 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 105: /* lhs: primary_value '[' opt_call_args ']' */ -#line 2653 "mrbgems/mruby-compiler/core/parse.y" + case 97: /* mlhs_node: primary_value '[' opt_call_args ']' */ +#line 2624 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 8620 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8635 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 106: /* lhs: primary_value call_op "local variable or method" */ -#line 2657 "mrbgems/mruby-compiler/core/parse.y" + case 98: /* mlhs_node: primary_value call_op "local variable or method" */ +#line 2628 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8628 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8643 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 107: /* lhs: primary_value "::" "local variable or method" */ -#line 2661 "mrbgems/mruby-compiler/core/parse.y" + case 99: /* mlhs_node: primary_value "::" "local variable or method" */ +#line 2632 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 8636 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8651 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 108: /* lhs: primary_value call_op "constant" */ -#line 2665 "mrbgems/mruby-compiler/core/parse.y" + case 100: /* mlhs_node: primary_value call_op "constant" */ +#line 2636 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); } -#line 8644 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8659 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 109: /* lhs: primary_value "::" "constant" */ -#line 2669 "mrbgems/mruby-compiler/core/parse.y" + case 101: /* mlhs_node: primary_value "::" "constant" */ +#line 2640 "mrbgems/mruby-compiler/core/parse.y" { if (p->in_def || p->in_single) yyerror(&(yylsp[-2]), p, "dynamic constant assignment"); (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 8654 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8669 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 110: /* lhs: tCOLON3 "constant" */ -#line 2675 "mrbgems/mruby-compiler/core/parse.y" + case 102: /* mlhs_node: tCOLON3 "constant" */ +#line 2646 "mrbgems/mruby-compiler/core/parse.y" { if (p->in_def || p->in_single) yyerror(&(yylsp[-1]), p, "dynamic constant assignment"); (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 8664 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8679 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 111: /* lhs: backref */ -#line 2681 "mrbgems/mruby-compiler/core/parse.y" + case 103: /* mlhs_node: backref */ +#line 2652 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[0].nd)); (yyval.nd) = 0; } -#line 8673 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8688 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 104: /* lhs: variable */ +#line 2659 "mrbgems/mruby-compiler/core/parse.y" + { + assignable(p, (yyvsp[0].nd)); + } +#line 8696 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 105: /* lhs: primary_value '[' opt_call_args ']' */ +#line 2663 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); + } +#line 8704 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 106: /* lhs: primary_value call_op "local variable or method" */ +#line 2667 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); + } +#line 8712 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 107: /* lhs: primary_value "::" "local variable or method" */ +#line 2671 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); + } +#line 8720 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 108: /* lhs: primary_value call_op "constant" */ +#line 2675 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, (yyvsp[-1].num)); + } +#line 8728 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 109: /* lhs: primary_value "::" "constant" */ +#line 2679 "mrbgems/mruby-compiler/core/parse.y" + { + if (p->in_def || p->in_single) + yyerror(&(yylsp[-2]), p, "dynamic constant assignment"); + (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); + } +#line 8738 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 110: /* lhs: tCOLON3 "constant" */ +#line 2685 "mrbgems/mruby-compiler/core/parse.y" + { + if (p->in_def || p->in_single) + yyerror(&(yylsp[-1]), p, "dynamic constant assignment"); + (yyval.nd) = new_colon3(p, (yyvsp[0].id)); + } +#line 8748 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 111: /* lhs: backref */ +#line 2691 "mrbgems/mruby-compiler/core/parse.y" + { + backref_error(p, (yyvsp[0].nd)); + (yyval.nd) = 0; + } +#line 8757 "mrbgems/mruby-compiler/core/y.tab.c" break; case 112: /* lhs: "numbered parameter" */ -#line 2686 "mrbgems/mruby-compiler/core/parse.y" +#line 2696 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "can't assign to numbered parameter"); } -#line 8681 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8765 "mrbgems/mruby-compiler/core/y.tab.c" break; case 113: /* cname: "local variable or method" */ -#line 2692 "mrbgems/mruby-compiler/core/parse.y" +#line 2702 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "class/module name must be CONSTANT"); } -#line 8689 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8773 "mrbgems/mruby-compiler/core/y.tab.c" break; case 115: /* cpath: tCOLON3 cname */ -#line 2699 "mrbgems/mruby-compiler/core/parse.y" +#line 2709 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(int_to_node(1), sym_to_node((yyvsp[0].id))); } -#line 8697 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8781 "mrbgems/mruby-compiler/core/y.tab.c" break; case 116: /* cpath: cname */ -#line 2703 "mrbgems/mruby-compiler/core/parse.y" +#line 2713 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(int_to_node(0), sym_to_node((yyvsp[0].id))); } -#line 8705 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8789 "mrbgems/mruby-compiler/core/y.tab.c" break; case 117: /* cpath: primary_value "::" cname */ -#line 2707 "mrbgems/mruby-compiler/core/parse.y" +#line 2717 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[-2].nd)); (yyval.nd) = cons((yyvsp[-2].nd), sym_to_node((yyvsp[0].id))); } -#line 8714 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8798 "mrbgems/mruby-compiler/core/y.tab.c" break; case 121: /* fname: op */ -#line 2717 "mrbgems/mruby-compiler/core/parse.y" +#line 2727 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 8723 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8807 "mrbgems/mruby-compiler/core/y.tab.c" break; case 122: /* fname: reswords */ -#line 2722 "mrbgems/mruby-compiler/core/parse.y" +#line 2732 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_ENDFN; (yyval.id) = (yyvsp[0].id); } -#line 8732 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8816 "mrbgems/mruby-compiler/core/y.tab.c" break; case 125: /* undef_list: fsym */ -#line 2733 "mrbgems/mruby-compiler/core/parse.y" +#line 2743 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(sym_to_node((yyvsp[0].id)), 0); } -#line 8740 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8824 "mrbgems/mruby-compiler/core/y.tab.c" break; case 126: /* $@6: %empty */ -#line 2736 "mrbgems/mruby-compiler/core/parse.y" +#line 2746 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_FNAME;} -#line 8746 "mrbgems/mruby-compiler/core/y.tab.c" +#line 8830 "mrbgems/mruby-compiler/core/y.tab.c" break; case 127: /* undef_list: undef_list ',' $@6 fsym */ -#line 2737 "mrbgems/mruby-compiler/core/parse.y" +#line 2747 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-3].nd), sym_to_node((yyvsp[0].id))); } -#line 8754 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 128: /* op: '|' */ -#line 2742 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(or); } -#line 8760 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 129: /* op: '^' */ -#line 2743 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(xor); } -#line 8766 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 130: /* op: '&' */ -#line 2744 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(and); } -#line 8772 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 131: /* op: "<=>" */ -#line 2745 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(cmp); } -#line 8778 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 132: /* op: "==" */ -#line 2746 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(eq); } -#line 8784 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 133: /* op: "===" */ -#line 2747 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(eqq); } -#line 8790 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 134: /* op: "=~" */ -#line 2748 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(match); } -#line 8796 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 135: /* op: "!~" */ -#line 2749 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(nmatch); } -#line 8802 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 136: /* op: '>' */ -#line 2750 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(gt); } -#line 8808 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 137: /* op: ">=" */ -#line 2751 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(ge); } -#line 8814 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 138: /* op: '<' */ -#line 2752 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(lt); } -#line 8820 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 139: /* op: "<=" */ -#line 2753 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(le); } -#line 8826 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 140: /* op: "!=" */ -#line 2754 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(neq); } -#line 8832 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 141: /* op: "<<" */ -#line 2755 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(lshift); } #line 8838 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 142: /* op: ">>" */ -#line 2756 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(rshift); } + case 128: /* op: '|' */ +#line 2752 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(or); } #line 8844 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 143: /* op: '+' */ -#line 2757 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(add); } + case 129: /* op: '^' */ +#line 2753 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(xor); } #line 8850 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 144: /* op: '-' */ -#line 2758 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(sub); } + case 130: /* op: '&' */ +#line 2754 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(and); } #line 8856 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 145: /* op: '*' */ -#line 2759 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(mul); } + case 131: /* op: "<=>" */ +#line 2755 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(cmp); } #line 8862 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 146: /* op: "*" */ -#line 2760 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(mul); } + case 132: /* op: "==" */ +#line 2756 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(eq); } #line 8868 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 147: /* op: '/' */ -#line 2761 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(div); } + case 133: /* op: "===" */ +#line 2757 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(eqq); } #line 8874 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 148: /* op: '%' */ -#line 2762 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(mod); } + case 134: /* op: "=~" */ +#line 2758 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(match); } #line 8880 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 149: /* op: tPOW */ -#line 2763 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(pow); } + case 135: /* op: "!~" */ +#line 2759 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(nmatch); } #line 8886 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 150: /* op: "**" */ -#line 2764 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(pow); } + case 136: /* op: '>' */ +#line 2760 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(gt); } #line 8892 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 151: /* op: '!' */ -#line 2765 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(not); } + case 137: /* op: ">=" */ +#line 2761 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(ge); } #line 8898 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 152: /* op: '~' */ -#line 2766 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(neg); } + case 138: /* op: '<' */ +#line 2762 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(lt); } #line 8904 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 153: /* op: "unary plus" */ -#line 2767 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(plus); } + case 139: /* op: "<=" */ +#line 2763 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(le); } #line 8910 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 154: /* op: "unary minus" */ -#line 2768 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(minus); } + case 140: /* op: "!=" */ +#line 2764 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(neq); } #line 8916 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 155: /* op: tAREF */ -#line 2769 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(aref); } + case 141: /* op: "<<" */ +#line 2765 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(lshift); } #line 8922 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 156: /* op: tASET */ -#line 2770 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(aset); } + case 142: /* op: ">>" */ +#line 2766 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(rshift); } #line 8928 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 157: /* op: '`' */ -#line 2771 "mrbgems/mruby-compiler/core/parse.y" - { (yyval.id) = intern_op(tick); } + case 143: /* op: '+' */ +#line 2767 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(add); } #line 8934 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 198: /* arg: lhs '=' arg_rhs */ -#line 2789 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 8942 "mrbgems/mruby-compiler/core/y.tab.c" + case 144: /* op: '-' */ +#line 2768 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(sub); } +#line 8940 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 199: /* arg: var_lhs tOP_ASGN arg_rhs */ -#line 2793 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); - } -#line 8950 "mrbgems/mruby-compiler/core/y.tab.c" + case 145: /* op: '*' */ +#line 2769 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(mul); } +#line 8946 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 200: /* arg: primary_value '[' opt_call_args ']' tOP_ASGN arg_rhs */ -#line 2797 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-5].nd), intern_op(aref), (yyvsp[-3].nd), '.'), (yyvsp[-1].id), (yyvsp[0].nd)); - } + case 146: /* op: "*" */ +#line 2770 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(mul); } +#line 8952 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 147: /* op: '/' */ +#line 2771 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(div); } #line 8958 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 201: /* arg: primary_value call_op "local variable or method" tOP_ASGN arg_rhs */ -#line 2801 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); - } -#line 8966 "mrbgems/mruby-compiler/core/y.tab.c" + case 148: /* op: '%' */ +#line 2772 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(mod); } +#line 8964 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 202: /* arg: primary_value call_op "constant" tOP_ASGN arg_rhs */ -#line 2805 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); - } -#line 8974 "mrbgems/mruby-compiler/core/y.tab.c" + case 149: /* op: tPOW */ +#line 2773 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(pow); } +#line 8970 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 203: /* arg: primary_value "::" "local variable or method" tOP_ASGN arg_rhs */ -#line 2809 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, tCOLON2), (yyvsp[-1].id), (yyvsp[0].nd)); - } + case 150: /* op: "**" */ +#line 2774 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(pow); } +#line 8976 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 151: /* op: '!' */ +#line 2775 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(not); } #line 8982 "mrbgems/mruby-compiler/core/y.tab.c" break; + case 152: /* op: '~' */ +#line 2776 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(neg); } +#line 8988 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 153: /* op: "unary plus" */ +#line 2777 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(plus); } +#line 8994 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 154: /* op: "unary minus" */ +#line 2778 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(minus); } +#line 9000 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 155: /* op: tAREF */ +#line 2779 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(aref); } +#line 9006 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 156: /* op: tASET */ +#line 2780 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(aset); } +#line 9012 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 157: /* op: '`' */ +#line 2781 "mrbgems/mruby-compiler/core/parse.y" + { (yyval.id) = intern_op(tick); } +#line 9018 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 198: /* arg: lhs '=' arg_rhs */ +#line 2799 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_asgn(p, (yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 9026 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 199: /* arg: var_lhs tOP_ASGN arg_rhs */ +#line 2803 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_op_asgn(p, (yyvsp[-2].nd), (yyvsp[-1].id), (yyvsp[0].nd)); + } +#line 9034 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 200: /* arg: primary_value '[' opt_call_args ']' tOP_ASGN arg_rhs */ +#line 2807 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-5].nd), intern_op(aref), (yyvsp[-3].nd), '.'), (yyvsp[-1].id), (yyvsp[0].nd)); + } +#line 9042 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 201: /* arg: primary_value call_op "local variable or method" tOP_ASGN arg_rhs */ +#line 2811 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); + } +#line 9050 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 202: /* arg: primary_value call_op "constant" tOP_ASGN arg_rhs */ +#line 2815 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, (yyvsp[-3].num)), (yyvsp[-1].id), (yyvsp[0].nd)); + } +#line 9058 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 203: /* arg: primary_value "::" "local variable or method" tOP_ASGN arg_rhs */ +#line 2819 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_op_asgn(p, new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), 0, tCOLON2), (yyvsp[-1].id), (yyvsp[0].nd)); + } +#line 9066 "mrbgems/mruby-compiler/core/y.tab.c" + break; + case 204: /* arg: primary_value "::" "constant" tOP_ASGN arg_rhs */ -#line 2813 "mrbgems/mruby-compiler/core/parse.y" +#line 2823 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-4]), p, "constant re-assignment"); (yyval.nd) = new_stmts(p, 0); } -#line 8991 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9075 "mrbgems/mruby-compiler/core/y.tab.c" break; case 205: /* arg: tCOLON3 "constant" tOP_ASGN arg_rhs */ -#line 2818 "mrbgems/mruby-compiler/core/parse.y" +#line 2828 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[-3]), p, "constant re-assignment"); (yyval.nd) = new_stmts(p, 0); } -#line 9000 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9084 "mrbgems/mruby-compiler/core/y.tab.c" break; case 206: /* arg: backref tOP_ASGN arg_rhs */ -#line 2823 "mrbgems/mruby-compiler/core/parse.y" +#line 2833 "mrbgems/mruby-compiler/core/parse.y" { backref_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_stmts(p, 0); } -#line 9009 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9093 "mrbgems/mruby-compiler/core/y.tab.c" break; case 207: /* arg: arg ".." arg */ -#line 2828 "mrbgems/mruby-compiler/core/parse.y" +#line 2838 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9017 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9101 "mrbgems/mruby-compiler/core/y.tab.c" break; case 208: /* arg: arg ".." */ -#line 2832 "mrbgems/mruby-compiler/core/parse.y" +#line 2842 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, (yyvsp[-1].nd), new_nil(p)); } -#line 9025 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9109 "mrbgems/mruby-compiler/core/y.tab.c" break; case 209: /* arg: tBDOT2 arg */ -#line 2836 "mrbgems/mruby-compiler/core/parse.y" +#line 2846 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot2(p, new_nil(p), (yyvsp[0].nd)); } -#line 9033 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9117 "mrbgems/mruby-compiler/core/y.tab.c" break; case 210: /* arg: arg "..." arg */ -#line 2840 "mrbgems/mruby-compiler/core/parse.y" +#line 2850 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9041 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9125 "mrbgems/mruby-compiler/core/y.tab.c" break; case 211: /* arg: arg "..." */ -#line 2844 "mrbgems/mruby-compiler/core/parse.y" +#line 2854 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, (yyvsp[-1].nd), new_nil(p)); } -#line 9049 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9133 "mrbgems/mruby-compiler/core/y.tab.c" break; case 212: /* arg: tBDOT3 arg */ -#line 2848 "mrbgems/mruby-compiler/core/parse.y" +#line 2858 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_dot3(p, new_nil(p), (yyvsp[0].nd)); } -#line 9057 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9141 "mrbgems/mruby-compiler/core/y.tab.c" break; case 213: /* arg: arg '+' arg */ -#line 2852 "mrbgems/mruby-compiler/core/parse.y" +#line 2862 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "+", (yyvsp[0].nd)); } -#line 9065 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9149 "mrbgems/mruby-compiler/core/y.tab.c" break; case 214: /* arg: arg '-' arg */ -#line 2856 "mrbgems/mruby-compiler/core/parse.y" +#line 2866 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "-", (yyvsp[0].nd)); } -#line 9073 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9157 "mrbgems/mruby-compiler/core/y.tab.c" break; case 215: /* arg: arg '*' arg */ -#line 2860 "mrbgems/mruby-compiler/core/parse.y" +#line 2870 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "*", (yyvsp[0].nd)); } -#line 9081 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9165 "mrbgems/mruby-compiler/core/y.tab.c" break; case 216: /* arg: arg '/' arg */ -#line 2864 "mrbgems/mruby-compiler/core/parse.y" +#line 2874 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "/", (yyvsp[0].nd)); } -#line 9089 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9173 "mrbgems/mruby-compiler/core/y.tab.c" break; case 217: /* arg: arg '%' arg */ -#line 2868 "mrbgems/mruby-compiler/core/parse.y" +#line 2878 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "%", (yyvsp[0].nd)); } -#line 9097 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9181 "mrbgems/mruby-compiler/core/y.tab.c" break; case 218: /* arg: arg tPOW arg */ -#line 2872 "mrbgems/mruby-compiler/core/parse.y" +#line 2882 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd)); } -#line 9105 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9189 "mrbgems/mruby-compiler/core/y.tab.c" break; case 219: /* arg: tUMINUS_NUM "integer literal" tPOW arg */ -#line 2876 "mrbgems/mruby-compiler/core/parse.y" +#line 2886 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 9113 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9197 "mrbgems/mruby-compiler/core/y.tab.c" break; case 220: /* arg: tUMINUS_NUM "float literal" tPOW arg */ -#line 2880 "mrbgems/mruby-compiler/core/parse.y" +#line 2890 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, call_bin_op(p, (yyvsp[-2].nd), "**", (yyvsp[0].nd))); } -#line 9121 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9205 "mrbgems/mruby-compiler/core/y.tab.c" break; case 221: /* arg: "unary plus" arg */ -#line 2884 "mrbgems/mruby-compiler/core/parse.y" +#line 2894 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, (yyvsp[0].nd), "+@"); } -#line 9129 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9213 "mrbgems/mruby-compiler/core/y.tab.c" break; case 222: /* arg: "unary minus" arg */ -#line 2888 "mrbgems/mruby-compiler/core/parse.y" +#line 2898 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 9137 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9221 "mrbgems/mruby-compiler/core/y.tab.c" break; case 223: /* arg: arg '|' arg */ -#line 2892 "mrbgems/mruby-compiler/core/parse.y" +#line 2902 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "|", (yyvsp[0].nd)); } -#line 9145 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9229 "mrbgems/mruby-compiler/core/y.tab.c" break; case 224: /* arg: arg '^' arg */ -#line 2896 "mrbgems/mruby-compiler/core/parse.y" +#line 2906 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "^", (yyvsp[0].nd)); } -#line 9153 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9237 "mrbgems/mruby-compiler/core/y.tab.c" break; case 225: /* arg: arg '&' arg */ -#line 2900 "mrbgems/mruby-compiler/core/parse.y" +#line 2910 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "&", (yyvsp[0].nd)); } -#line 9161 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9245 "mrbgems/mruby-compiler/core/y.tab.c" break; case 226: /* arg: arg "<=>" arg */ -#line 2904 "mrbgems/mruby-compiler/core/parse.y" +#line 2914 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=>", (yyvsp[0].nd)); } -#line 9169 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9253 "mrbgems/mruby-compiler/core/y.tab.c" break; case 227: /* arg: arg '>' arg */ -#line 2908 "mrbgems/mruby-compiler/core/parse.y" +#line 2918 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">", (yyvsp[0].nd)); } -#line 9177 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9261 "mrbgems/mruby-compiler/core/y.tab.c" break; case 228: /* arg: arg ">=" arg */ -#line 2912 "mrbgems/mruby-compiler/core/parse.y" +#line 2922 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">=", (yyvsp[0].nd)); } -#line 9185 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9269 "mrbgems/mruby-compiler/core/y.tab.c" break; case 229: /* arg: arg '<' arg */ -#line 2916 "mrbgems/mruby-compiler/core/parse.y" +#line 2926 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<", (yyvsp[0].nd)); } -#line 9193 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9277 "mrbgems/mruby-compiler/core/y.tab.c" break; case 230: /* arg: arg "<=" arg */ -#line 2920 "mrbgems/mruby-compiler/core/parse.y" +#line 2930 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<=", (yyvsp[0].nd)); } -#line 9201 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9285 "mrbgems/mruby-compiler/core/y.tab.c" break; case 231: /* arg: arg "==" arg */ -#line 2924 "mrbgems/mruby-compiler/core/parse.y" +#line 2934 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "==", (yyvsp[0].nd)); } -#line 9209 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9293 "mrbgems/mruby-compiler/core/y.tab.c" break; case 232: /* arg: arg "===" arg */ -#line 2928 "mrbgems/mruby-compiler/core/parse.y" +#line 2938 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "===", (yyvsp[0].nd)); } -#line 9217 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9301 "mrbgems/mruby-compiler/core/y.tab.c" break; case 233: /* arg: arg "!=" arg */ -#line 2932 "mrbgems/mruby-compiler/core/parse.y" +#line 2942 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!=", (yyvsp[0].nd)); } -#line 9225 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9309 "mrbgems/mruby-compiler/core/y.tab.c" break; case 234: /* arg: arg "=~" arg */ -#line 2936 "mrbgems/mruby-compiler/core/parse.y" +#line 2946 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "=~", (yyvsp[0].nd)); } -#line 9233 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9317 "mrbgems/mruby-compiler/core/y.tab.c" break; case 235: /* arg: arg "!~" arg */ -#line 2940 "mrbgems/mruby-compiler/core/parse.y" +#line 2950 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "!~", (yyvsp[0].nd)); } -#line 9241 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9325 "mrbgems/mruby-compiler/core/y.tab.c" break; case 236: /* arg: '!' arg */ -#line 2944 "mrbgems/mruby-compiler/core/parse.y" +#line 2954 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "!"); } -#line 9249 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9333 "mrbgems/mruby-compiler/core/y.tab.c" break; case 237: /* arg: '~' arg */ -#line 2948 "mrbgems/mruby-compiler/core/parse.y" +#line 2958 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[0].nd)), "~"); } -#line 9257 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9341 "mrbgems/mruby-compiler/core/y.tab.c" break; case 238: /* arg: arg "<<" arg */ -#line 2952 "mrbgems/mruby-compiler/core/parse.y" +#line 2962 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), "<<", (yyvsp[0].nd)); } -#line 9265 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9349 "mrbgems/mruby-compiler/core/y.tab.c" break; case 239: /* arg: arg ">>" arg */ -#line 2956 "mrbgems/mruby-compiler/core/parse.y" +#line 2966 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_bin_op(p, (yyvsp[-2].nd), ">>", (yyvsp[0].nd)); } -#line 9273 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9357 "mrbgems/mruby-compiler/core/y.tab.c" break; case 240: /* arg: arg "&&" arg */ -#line 2960 "mrbgems/mruby-compiler/core/parse.y" +#line 2970 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_and(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9281 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9365 "mrbgems/mruby-compiler/core/y.tab.c" break; case 241: /* arg: arg "||" arg */ -#line 2964 "mrbgems/mruby-compiler/core/parse.y" +#line 2974 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_or(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9289 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9373 "mrbgems/mruby-compiler/core/y.tab.c" break; case 242: /* arg: arg '?' arg opt_nl ':' arg */ -#line 2968 "mrbgems/mruby-compiler/core/parse.y" +#line 2978 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 9297 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9381 "mrbgems/mruby-compiler/core/y.tab.c" break; case 243: /* arg: arg '?' arg opt_nl "label" arg */ -#line 2972 "mrbgems/mruby-compiler/core/parse.y" +#line 2982 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-5].nd)), (yyvsp[-3].nd), (yyvsp[0].nd)); } -#line 9305 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9389 "mrbgems/mruby-compiler/core/y.tab.c" break; case 244: /* arg: defn_head f_opt_arglist_paren '=' arg */ -#line 2976 "mrbgems/mruby-compiler/core/parse.y" +#line 2986 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); endless_method_name(p, (yyvsp[-3].nd)); @@ -9314,11 +9398,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 9318 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9402 "mrbgems/mruby-compiler/core/y.tab.c" break; case 245: /* arg: defn_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ -#line 2985 "mrbgems/mruby-compiler/core/parse.y" +#line 2995 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); endless_method_name(p, (yyvsp[-5].nd)); @@ -9327,11 +9411,11 @@ yyreduce: nvars_unnest(p); p->in_def--; } -#line 9331 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9415 "mrbgems/mruby-compiler/core/y.tab.c" break; case 246: /* arg: defs_head f_opt_arglist_paren '=' arg */ -#line 2994 "mrbgems/mruby-compiler/core/parse.y" +#line 3004 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); void_expr_error(p, (yyvsp[0].nd)); @@ -9340,11 +9424,11 @@ yyreduce: p->in_def--; p->in_single--; } -#line 9344 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9428 "mrbgems/mruby-compiler/core/y.tab.c" break; case 247: /* arg: defs_head f_opt_arglist_paren '=' arg "'rescue' modifier" arg */ -#line 3003 "mrbgems/mruby-compiler/core/parse.y" +#line 3013 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-5].nd); void_expr_error(p, (yyvsp[-2].nd)); @@ -9353,68 +9437,68 @@ yyreduce: p->in_def--; p->in_single--; } -#line 9357 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9441 "mrbgems/mruby-compiler/core/y.tab.c" break; case 248: /* arg: primary */ -#line 3012 "mrbgems/mruby-compiler/core/parse.y" +#line 3022 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9365 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9449 "mrbgems/mruby-compiler/core/y.tab.c" break; case 250: /* aref_args: args trailer */ -#line 3019 "mrbgems/mruby-compiler/core/parse.y" +#line 3029 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9373 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9457 "mrbgems/mruby-compiler/core/y.tab.c" break; case 251: /* aref_args: args comma assocs trailer */ -#line 3023 "mrbgems/mruby-compiler/core/parse.y" +#line 3033 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-3].nd), new_hash(p, (yyvsp[-1].nd))); } -#line 9381 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9465 "mrbgems/mruby-compiler/core/y.tab.c" break; case 252: /* aref_args: assocs trailer */ -#line 3027 "mrbgems/mruby-compiler/core/parse.y" +#line 3037 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_hash(p, (yyvsp[-1].nd)), 0); } -#line 9389 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9473 "mrbgems/mruby-compiler/core/y.tab.c" break; case 253: /* arg_rhs: arg */ -#line 3033 "mrbgems/mruby-compiler/core/parse.y" +#line 3043 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 9397 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9481 "mrbgems/mruby-compiler/core/y.tab.c" break; case 254: /* arg_rhs: arg "'rescue' modifier" arg */ -#line 3037 "mrbgems/mruby-compiler/core/parse.y" +#line 3047 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[-2].nd)); (yyval.nd) = new_mod_rescue(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9406 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9490 "mrbgems/mruby-compiler/core/y.tab.c" break; case 255: /* paren_args: '(' opt_call_args ')' */ -#line 3044 "mrbgems/mruby-compiler/core/parse.y" +#line 3054 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9414 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9498 "mrbgems/mruby-compiler/core/y.tab.c" break; case 256: /* paren_args: '(' args comma tBDOT3 rparen */ -#line 3048 "mrbgems/mruby-compiler/core/parse.y" +#line 3058 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym r = intern_op(mul); mrb_sym k = intern_op(pow); @@ -9423,11 +9507,11 @@ yyreduce: list1(cons(new_kw_rest_args(p, 0), new_lvar(p, k))), new_block_arg(p, new_lvar(p, b))); } -#line 9427 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9511 "mrbgems/mruby-compiler/core/y.tab.c" break; case 257: /* paren_args: '(' tBDOT3 rparen */ -#line 3057 "mrbgems/mruby-compiler/core/parse.y" +#line 3067 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym r = intern_op(mul); mrb_sym k = intern_op(pow); @@ -9442,390 +9526,390 @@ yyreduce: (yyval.nd) = 0; } } -#line 9446 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9530 "mrbgems/mruby-compiler/core/y.tab.c" break; case 262: /* opt_call_args: args comma */ -#line 3080 "mrbgems/mruby-compiler/core/parse.y" +#line 3090 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p,(yyvsp[-1].nd),0,0); } -#line 9454 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9538 "mrbgems/mruby-compiler/core/y.tab.c" break; case 263: /* opt_call_args: args comma assocs comma */ -#line 3084 "mrbgems/mruby-compiler/core/parse.y" +#line 3094 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p,(yyvsp[-3].nd),(yyvsp[-1].nd),0); } -#line 9462 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9546 "mrbgems/mruby-compiler/core/y.tab.c" break; case 264: /* opt_call_args: assocs comma */ -#line 3088 "mrbgems/mruby-compiler/core/parse.y" +#line 3098 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p,0,(yyvsp[-1].nd),0); } -#line 9470 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9554 "mrbgems/mruby-compiler/core/y.tab.c" break; case 265: /* call_args: command */ -#line 3094 "mrbgems/mruby-compiler/core/parse.y" +#line 3104 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = new_callargs(p, list1((yyvsp[0].nd)), 0, 0); } -#line 9479 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9563 "mrbgems/mruby-compiler/core/y.tab.c" break; case 266: /* call_args: args opt_block_arg */ -#line 3099 "mrbgems/mruby-compiler/core/parse.y" +#line 3109 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p, (yyvsp[-1].nd), 0, (yyvsp[0].nd)); } -#line 9487 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9571 "mrbgems/mruby-compiler/core/y.tab.c" break; case 267: /* call_args: assocs opt_block_arg */ -#line 3103 "mrbgems/mruby-compiler/core/parse.y" +#line 3113 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p, 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9495 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9579 "mrbgems/mruby-compiler/core/y.tab.c" break; case 268: /* call_args: args comma assocs opt_block_arg */ -#line 3107 "mrbgems/mruby-compiler/core/parse.y" +#line 3117 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_callargs(p, (yyvsp[-3].nd), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 9503 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9587 "mrbgems/mruby-compiler/core/y.tab.c" break; case 269: /* call_args: block_arg */ -#line 3111 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_callargs(p, 0, 0, (yyvsp[0].nd)); - } -#line 9511 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 270: /* @7: %empty */ -#line 3116 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.stack) = p->cmdarg_stack; - CMDARG_PUSH(1); - } -#line 9520 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 271: /* command_args: @7 call_args */ #line 3121 "mrbgems/mruby-compiler/core/parse.y" { - p->cmdarg_stack = (yyvsp[-1].stack); - (yyval.nd) = (yyvsp[0].nd); - } -#line 9529 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 272: /* block_arg: "&" arg */ -#line 3128 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_block_arg(p, (yyvsp[0].nd)); - } -#line 9537 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 273: /* block_arg: "&" */ -#line 3132 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_block_arg(p, 0); - } -#line 9545 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 274: /* opt_block_arg: comma block_arg */ -#line 3138 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[0].nd); - } -#line 9553 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 275: /* opt_block_arg: none */ -#line 3142 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = 0; - } -#line 9561 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 277: /* args: arg */ -#line 3151 "mrbgems/mruby-compiler/core/parse.y" - { - void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = list1((yyvsp[0].nd)); - } -#line 9570 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 278: /* args: "*" */ -#line 3156 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1(new_splat(p, new_lvar(p, intern_op(mul)))); - } -#line 9578 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 279: /* args: "*" arg */ -#line 3160 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); - } -#line 9586 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 280: /* args: args comma arg */ -#line 3164 "mrbgems/mruby-compiler/core/parse.y" - { - void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = new_callargs(p, 0, 0, (yyvsp[0].nd)); } #line 9595 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 281: /* args: args comma "*" */ -#line 3169 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = push((yyvsp[-2].nd), new_splat(p, new_lvar(p, intern_op(mul)))); + case 270: /* @7: %empty */ +#line 3126 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.stack) = p->cmdarg_stack; + CMDARG_PUSH(1); } -#line 9603 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9604 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 282: /* args: args comma "*" arg */ -#line 3173 "mrbgems/mruby-compiler/core/parse.y" + case 271: /* command_args: @7 call_args */ +#line 3131 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); + p->cmdarg_stack = (yyvsp[-1].stack); + (yyval.nd) = (yyvsp[0].nd); } -#line 9611 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9613 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 283: /* mrhs: args comma arg */ -#line 3179 "mrbgems/mruby-compiler/core/parse.y" + case 272: /* block_arg: "&" arg */ +#line 3138 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_block_arg(p, (yyvsp[0].nd)); + } +#line 9621 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 273: /* block_arg: "&" */ +#line 3142 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_block_arg(p, 0); + } +#line 9629 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 274: /* opt_block_arg: comma block_arg */ +#line 3148 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[0].nd); + } +#line 9637 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 275: /* opt_block_arg: none */ +#line 3152 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = 0; + } +#line 9645 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 277: /* args: arg */ +#line 3161 "mrbgems/mruby-compiler/core/parse.y" + { + void_expr_error(p, (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); + } +#line 9654 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 278: /* args: "*" */ +#line 3166 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1(new_splat(p, new_lvar(p, intern_op(mul)))); + } +#line 9662 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 279: /* args: "*" arg */ +#line 3170 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); + } +#line 9670 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 280: /* args: args comma arg */ +#line 3174 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 9620 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9679 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 284: /* mrhs: args comma "*" arg */ -#line 3184 "mrbgems/mruby-compiler/core/parse.y" + case 281: /* args: args comma "*" */ +#line 3179 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); - } -#line 9628 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 285: /* mrhs: "*" arg */ -#line 3188 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); - } -#line 9636 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 287: /* primary: string */ -#line 3195 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_str(p, (yyvsp[0].nd)); - } -#line 9644 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 288: /* primary: xstring */ -#line 3199 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_xstr(p, (yyvsp[0].nd)); - } -#line 9652 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 293: /* primary: "method" */ -#line 3207 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); - } -#line 9660 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 294: /* @8: %empty */ -#line 3211 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.stack) = p->cmdarg_stack; - p->cmdarg_stack = 0; - } -#line 9669 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 295: /* primary: "'begin'" @8 bodystmt "'end'" */ -#line 3217 "mrbgems/mruby-compiler/core/parse.y" - { - p->cmdarg_stack = (yyvsp[-2].stack); - (yyval.nd) = new_begin(p, (yyvsp[-1].nd)); - } -#line 9678 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 296: /* @9: %empty */ -#line 3222 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.stack) = p->cmdarg_stack; - p->cmdarg_stack = 0; + (yyval.nd) = push((yyvsp[-2].nd), new_splat(p, new_lvar(p, intern_op(mul)))); } #line 9687 "mrbgems/mruby-compiler/core/y.tab.c" break; + case 282: /* args: args comma "*" arg */ +#line 3183 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); + } +#line 9695 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 283: /* mrhs: args comma arg */ +#line 3189 "mrbgems/mruby-compiler/core/parse.y" + { + void_expr_error(p, (yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 9704 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 284: /* mrhs: args comma "*" arg */ +#line 3194 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-3].nd), new_splat(p, (yyvsp[0].nd))); + } +#line 9712 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 285: /* mrhs: "*" arg */ +#line 3198 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1(new_splat(p, (yyvsp[0].nd))); + } +#line 9720 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 287: /* primary: string */ +#line 3205 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_str(p, (yyvsp[0].nd)); + } +#line 9728 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 288: /* primary: xstring */ +#line 3209 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_xstr(p, (yyvsp[0].nd)); + } +#line 9736 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 293: /* primary: "method" */ +#line 3217 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_fcall(p, (yyvsp[0].id), 0); + } +#line 9744 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 294: /* @8: %empty */ +#line 3221 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.stack) = p->cmdarg_stack; + p->cmdarg_stack = 0; + } +#line 9753 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 295: /* primary: "'begin'" @8 bodystmt "'end'" */ +#line 3227 "mrbgems/mruby-compiler/core/parse.y" + { + p->cmdarg_stack = (yyvsp[-2].stack); + (yyval.nd) = new_begin(p, (yyvsp[-1].nd)); + } +#line 9762 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 296: /* @9: %empty */ +#line 3232 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.stack) = p->cmdarg_stack; + p->cmdarg_stack = 0; + } +#line 9771 "mrbgems/mruby-compiler/core/y.tab.c" + break; + case 297: /* $@10: %empty */ -#line 3226 "mrbgems/mruby-compiler/core/parse.y" +#line 3236 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 9693 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9777 "mrbgems/mruby-compiler/core/y.tab.c" break; case 298: /* primary: "(" @9 stmt $@10 rparen */ -#line 3227 "mrbgems/mruby-compiler/core/parse.y" +#line 3237 "mrbgems/mruby-compiler/core/parse.y" { p->cmdarg_stack = (yyvsp[-3].stack); (yyval.nd) = (yyvsp[-2].nd); } -#line 9702 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9786 "mrbgems/mruby-compiler/core/y.tab.c" break; case 299: /* $@11: %empty */ -#line 3231 "mrbgems/mruby-compiler/core/parse.y" +#line 3241 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_ENDARG;} -#line 9708 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9792 "mrbgems/mruby-compiler/core/y.tab.c" break; case 300: /* primary: "(" $@11 rparen */ -#line 3232 "mrbgems/mruby-compiler/core/parse.y" +#line 3242 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nil(p); } -#line 9716 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9800 "mrbgems/mruby-compiler/core/y.tab.c" break; case 301: /* primary: tLPAREN compstmt ')' */ -#line 3236 "mrbgems/mruby-compiler/core/parse.y" +#line 3246 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 9724 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9808 "mrbgems/mruby-compiler/core/y.tab.c" break; case 302: /* primary: primary_value "::" "constant" */ -#line 3240 "mrbgems/mruby-compiler/core/parse.y" +#line 3250 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id)); } -#line 9732 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9816 "mrbgems/mruby-compiler/core/y.tab.c" break; case 303: /* primary: tCOLON3 "constant" */ -#line 3244 "mrbgems/mruby-compiler/core/parse.y" +#line 3254 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_colon3(p, (yyvsp[0].id)); } -#line 9740 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9824 "mrbgems/mruby-compiler/core/y.tab.c" break; case 304: /* primary: "[" aref_args ']' */ -#line 3248 "mrbgems/mruby-compiler/core/parse.y" +#line 3258 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_array(p, (yyvsp[-1].nd)); } -#line 9748 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9832 "mrbgems/mruby-compiler/core/y.tab.c" break; case 305: /* primary: tLBRACE assoc_list '}' */ -#line 3252 "mrbgems/mruby-compiler/core/parse.y" +#line 3262 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_hash(p, (yyvsp[-1].nd)); } -#line 9756 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9840 "mrbgems/mruby-compiler/core/y.tab.c" break; case 306: /* primary: "'return'" */ -#line 3256 "mrbgems/mruby-compiler/core/parse.y" +#line 3266 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_return(p, 0); } -#line 9764 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9848 "mrbgems/mruby-compiler/core/y.tab.c" break; case 307: /* primary: "'yield'" opt_paren_args */ -#line 3260 "mrbgems/mruby-compiler/core/parse.y" +#line 3270 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_yield(p, (yyvsp[0].nd)); } -#line 9772 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9856 "mrbgems/mruby-compiler/core/y.tab.c" break; case 308: /* primary: "'not'" '(' expr rparen */ -#line 3264 "mrbgems/mruby-compiler/core/parse.y" +#line 3274 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, cond((yyvsp[-1].nd)), "!"); } -#line 9780 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9864 "mrbgems/mruby-compiler/core/y.tab.c" break; case 309: /* primary: "'not'" '(' rparen */ -#line 3268 "mrbgems/mruby-compiler/core/parse.y" +#line 3278 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = call_uni_op(p, new_nil(p), "!"); } -#line 9788 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9872 "mrbgems/mruby-compiler/core/y.tab.c" break; case 310: /* primary: operation brace_block */ -#line 3272 "mrbgems/mruby-compiler/core/parse.y" +#line 3282 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), new_callargs(p, 0, 0, (yyvsp[0].nd))); } -#line 9796 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9880 "mrbgems/mruby-compiler/core/y.tab.c" break; case 312: /* primary: method_call brace_block */ -#line 3277 "mrbgems/mruby-compiler/core/parse.y" +#line 3287 "mrbgems/mruby-compiler/core/parse.y" { call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 9805 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9889 "mrbgems/mruby-compiler/core/y.tab.c" break; case 313: /* @12: %empty */ -#line 3282 "mrbgems/mruby-compiler/core/parse.y" +#line 3292 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lpar_beg; p->lpar_beg = ++p->paren_nest; } -#line 9816 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9900 "mrbgems/mruby-compiler/core/y.tab.c" break; case 314: /* @13: %empty */ -#line 3289 "mrbgems/mruby-compiler/core/parse.y" +#line 3299 "mrbgems/mruby-compiler/core/parse.y" { (yyval.stack) = p->cmdarg_stack; p->cmdarg_stack = 0; } -#line 9825 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9909 "mrbgems/mruby-compiler/core/y.tab.c" break; case 315: /* primary: "->" @12 f_larglist @13 lambda_body */ -#line 3294 "mrbgems/mruby-compiler/core/parse.y" +#line 3304 "mrbgems/mruby-compiler/core/parse.y" { p->lpar_beg = (yyvsp[-3].num); (yyval.nd) = new_lambda(p, (yyvsp[-2].nd), (yyvsp[0].nd)); @@ -9834,176 +9918,176 @@ yyreduce: p->cmdarg_stack = (yyvsp[-1].stack); CMDARG_LEXPOP(); } -#line 9838 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9922 "mrbgems/mruby-compiler/core/y.tab.c" break; case 316: /* primary: "'if'" expr_value then compstmt if_tail "'end'" */ -#line 3306 "mrbgems/mruby-compiler/core/parse.y" +#line 3316 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-4].nd)), (yyvsp[-2].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-5].num)); } -#line 9847 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9931 "mrbgems/mruby-compiler/core/y.tab.c" break; case 317: /* primary: "'unless'" expr_value then compstmt opt_else "'end'" */ -#line 3314 "mrbgems/mruby-compiler/core/parse.y" +#line 3324 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd), (yyvsp[-2].nd)); SET_LINENO((yyval.nd), (yyvsp[-5].num)); } -#line 9856 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9940 "mrbgems/mruby-compiler/core/y.tab.c" break; case 318: /* $@14: %empty */ -#line 3318 "mrbgems/mruby-compiler/core/parse.y" +#line 3328 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 9862 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9946 "mrbgems/mruby-compiler/core/y.tab.c" break; case 319: /* $@15: %empty */ -#line 3318 "mrbgems/mruby-compiler/core/parse.y" +#line 3328 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 9868 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9952 "mrbgems/mruby-compiler/core/y.tab.c" break; case 320: /* primary: "'while'" $@14 expr_value do $@15 compstmt "'end'" */ -#line 3321 "mrbgems/mruby-compiler/core/parse.y" +#line 3331 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_while(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-6].num)); } -#line 9877 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9961 "mrbgems/mruby-compiler/core/y.tab.c" break; case 321: /* $@16: %empty */ -#line 3325 "mrbgems/mruby-compiler/core/parse.y" +#line 3335 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 9883 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9967 "mrbgems/mruby-compiler/core/y.tab.c" break; case 322: /* $@17: %empty */ -#line 3325 "mrbgems/mruby-compiler/core/parse.y" +#line 3335 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 9889 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9973 "mrbgems/mruby-compiler/core/y.tab.c" break; case 323: /* primary: "'until'" $@16 expr_value do $@17 compstmt "'end'" */ -#line 3328 "mrbgems/mruby-compiler/core/parse.y" +#line 3338 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_until(p, cond((yyvsp[-4].nd)), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-6].num)); } -#line 9898 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9982 "mrbgems/mruby-compiler/core/y.tab.c" break; case 324: /* primary: "'case'" expr_value opt_terms case_body "'end'" */ -#line 3335 "mrbgems/mruby-compiler/core/parse.y" +#line 3345 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_case(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); } -#line 9906 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9990 "mrbgems/mruby-compiler/core/y.tab.c" break; case 325: /* primary: "'case'" opt_terms case_body "'end'" */ -#line 3339 "mrbgems/mruby-compiler/core/parse.y" +#line 3349 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_case(p, 0, (yyvsp[-1].nd)); } -#line 9914 "mrbgems/mruby-compiler/core/y.tab.c" +#line 9998 "mrbgems/mruby-compiler/core/y.tab.c" break; case 326: /* primary: "'case'" expr_value opt_terms "'in'" p_expr then compstmt in_clauses "'end'" */ -#line 3347 "mrbgems/mruby-compiler/core/parse.y" +#line 3357 "mrbgems/mruby-compiler/core/parse.y" { node *in_clause = new_in(p, (yyvsp[-4].nd), NULL, (yyvsp[-2].nd), FALSE); (yyval.nd) = new_case_match(p, (yyvsp[-7].nd), cons(in_clause, (yyvsp[-1].nd))); } -#line 9923 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10007 "mrbgems/mruby-compiler/core/y.tab.c" break; case 327: /* primary: "'case'" expr_value opt_terms "'in'" p_expr "'if' modifier" expr_value then compstmt in_clauses "'end'" */ -#line 3356 "mrbgems/mruby-compiler/core/parse.y" +#line 3366 "mrbgems/mruby-compiler/core/parse.y" { node *in_clause = new_in(p, (yyvsp[-6].nd), (yyvsp[-4].nd), (yyvsp[-2].nd), FALSE); (yyval.nd) = new_case_match(p, (yyvsp[-9].nd), cons(in_clause, (yyvsp[-1].nd))); } -#line 9932 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10016 "mrbgems/mruby-compiler/core/y.tab.c" break; case 328: /* primary: "'case'" expr_value opt_terms "'in'" p_expr "'unless' modifier" expr_value then compstmt in_clauses "'end'" */ -#line 3365 "mrbgems/mruby-compiler/core/parse.y" +#line 3375 "mrbgems/mruby-compiler/core/parse.y" { node *in_clause = new_in(p, (yyvsp[-6].nd), (yyvsp[-4].nd), (yyvsp[-2].nd), TRUE); (yyval.nd) = new_case_match(p, (yyvsp[-9].nd), cons(in_clause, (yyvsp[-1].nd))); } -#line 9941 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10025 "mrbgems/mruby-compiler/core/y.tab.c" break; case 329: /* $@18: %empty */ -#line 3370 "mrbgems/mruby-compiler/core/parse.y" +#line 3380 "mrbgems/mruby-compiler/core/parse.y" {COND_PUSH(1);} -#line 9947 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10031 "mrbgems/mruby-compiler/core/y.tab.c" break; case 330: /* $@19: %empty */ -#line 3372 "mrbgems/mruby-compiler/core/parse.y" +#line 3382 "mrbgems/mruby-compiler/core/parse.y" {COND_POP();} -#line 9953 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10037 "mrbgems/mruby-compiler/core/y.tab.c" break; case 331: /* primary: "'for'" for_var "'in'" $@18 expr_value do $@19 compstmt "'end'" */ -#line 3375 "mrbgems/mruby-compiler/core/parse.y" +#line 3385 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_for(p, (yyvsp[-7].nd), (yyvsp[-4].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-8].num)); } -#line 9962 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10046 "mrbgems/mruby-compiler/core/y.tab.c" break; case 332: /* @20: %empty */ -#line 3381 "mrbgems/mruby-compiler/core/parse.y" +#line 3391 "mrbgems/mruby-compiler/core/parse.y" { if (p->in_def || p->in_single) yyerror(&(yylsp[-2]), p, "class definition in method body"); (yyval.nd) = local_switch(p); nvars_block(p); } -#line 9973 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10057 "mrbgems/mruby-compiler/core/y.tab.c" break; case 333: /* primary: "'class'" cpath superclass @20 bodystmt "'end'" */ -#line 3389 "mrbgems/mruby-compiler/core/parse.y" +#line 3399 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_class(p, (yyvsp[-4].nd), (yyvsp[-3].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-5].num)); local_resume(p, (yyvsp[-2].nd)); nvars_unnest(p); } -#line 9984 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10068 "mrbgems/mruby-compiler/core/y.tab.c" break; case 334: /* @21: %empty */ -#line 3397 "mrbgems/mruby-compiler/core/parse.y" +#line 3407 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = p->in_def; p->in_def = 0; } -#line 9993 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10077 "mrbgems/mruby-compiler/core/y.tab.c" break; case 335: /* @22: %empty */ -#line 3402 "mrbgems/mruby-compiler/core/parse.y" +#line 3412 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(local_switch(p), int_to_node(p->in_single)); nvars_block(p); p->in_single = 0; } -#line 10003 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10087 "mrbgems/mruby-compiler/core/y.tab.c" break; case 336: /* primary: "'class'" "<<" expr @21 term @22 bodystmt "'end'" */ -#line 3409 "mrbgems/mruby-compiler/core/parse.y" +#line 3419 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sclass(p, (yyvsp[-5].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-7].num)); @@ -10012,44 +10096,44 @@ yyreduce: p->in_def = (yyvsp[-4].num); p->in_single = node_to_int((yyvsp[-2].nd)->cdr); } -#line 10016 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10100 "mrbgems/mruby-compiler/core/y.tab.c" break; case 337: /* @23: %empty */ -#line 3419 "mrbgems/mruby-compiler/core/parse.y" +#line 3429 "mrbgems/mruby-compiler/core/parse.y" { if (p->in_def || p->in_single) yyerror(&(yylsp[-1]), p, "module definition in method body"); (yyval.nd) = local_switch(p); nvars_block(p); } -#line 10027 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10111 "mrbgems/mruby-compiler/core/y.tab.c" break; case 338: /* primary: "'module'" cpath @23 bodystmt "'end'" */ -#line 3427 "mrbgems/mruby-compiler/core/parse.y" +#line 3437 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_module(p, (yyvsp[-3].nd), (yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-4].num)); local_resume(p, (yyvsp[-2].nd)); nvars_unnest(p); } -#line 10038 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10122 "mrbgems/mruby-compiler/core/y.tab.c" break; case 339: /* primary: defn_head f_arglist bodystmt "'end'" */ -#line 3437 "mrbgems/mruby-compiler/core/parse.y" +#line 3447 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); defn_setup(p, (yyval.nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); nvars_unnest(p); p->in_def--; } -#line 10049 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10133 "mrbgems/mruby-compiler/core/y.tab.c" break; case 340: /* primary: defs_head f_arglist bodystmt "'end'" */ -#line 3447 "mrbgems/mruby-compiler/core/parse.y" +#line 3457 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-3].nd); defn_setup(p, (yyval.nd), (yyvsp[-2].nd), (yyvsp[-1].nd)); @@ -10057,610 +10141,610 @@ yyreduce: p->in_def--; p->in_single--; } -#line 10061 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10145 "mrbgems/mruby-compiler/core/y.tab.c" break; case 341: /* primary: "'break'" */ -#line 3455 "mrbgems/mruby-compiler/core/parse.y" +#line 3465 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_break(p, 0); } -#line 10069 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10153 "mrbgems/mruby-compiler/core/y.tab.c" break; case 342: /* primary: "'next'" */ -#line 3459 "mrbgems/mruby-compiler/core/parse.y" +#line 3469 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_next(p, 0); } -#line 10077 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10161 "mrbgems/mruby-compiler/core/y.tab.c" break; case 343: /* primary: "'redo'" */ -#line 3463 "mrbgems/mruby-compiler/core/parse.y" +#line 3473 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_redo(p); } -#line 10085 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10169 "mrbgems/mruby-compiler/core/y.tab.c" break; case 344: /* primary: "'retry'" */ -#line 3467 "mrbgems/mruby-compiler/core/parse.y" +#line 3477 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_retry(p); } -#line 10093 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10177 "mrbgems/mruby-compiler/core/y.tab.c" break; case 345: /* primary_value: primary */ -#line 3473 "mrbgems/mruby-compiler/core/parse.y" +#line 3483 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 10102 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10186 "mrbgems/mruby-compiler/core/y.tab.c" break; case 352: /* if_tail: "'elsif'" expr_value then compstmt if_tail */ -#line 3492 "mrbgems/mruby-compiler/core/parse.y" +#line 3502 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_if(p, cond((yyvsp[-3].nd)), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10110 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10194 "mrbgems/mruby-compiler/core/y.tab.c" break; case 354: /* opt_else: "'else'" compstmt */ -#line 3499 "mrbgems/mruby-compiler/core/parse.y" +#line 3509 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 10118 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10202 "mrbgems/mruby-compiler/core/y.tab.c" break; case 355: /* for_var: lhs */ -#line 3505 "mrbgems/mruby-compiler/core/parse.y" +#line 3515 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(list1((yyvsp[0].nd))); } -#line 10126 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10210 "mrbgems/mruby-compiler/core/y.tab.c" break; case 357: /* f_margs: f_arg */ -#line 3512 "mrbgems/mruby-compiler/core/parse.y" +#line 3522 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[0].nd),0,0); } -#line 10134 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10218 "mrbgems/mruby-compiler/core/y.tab.c" break; case 358: /* f_margs: f_arg ',' "*" f_norm_arg */ -#line 3516 "mrbgems/mruby-compiler/core/parse.y" +#line 3526 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-3].nd), new_lvar(p, (yyvsp[0].id)), 0); } -#line 10142 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10226 "mrbgems/mruby-compiler/core/y.tab.c" break; case 359: /* f_margs: f_arg ',' "*" f_norm_arg ',' f_arg */ -#line 3520 "mrbgems/mruby-compiler/core/parse.y" +#line 3530 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-5].nd), new_lvar(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 10150 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10234 "mrbgems/mruby-compiler/core/y.tab.c" break; case 360: /* f_margs: f_arg ',' "*" */ -#line 3524 "mrbgems/mruby-compiler/core/parse.y" +#line 3534 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, intern_op(mul)); (yyval.nd) = list3((yyvsp[-2].nd), int_to_node(-1), 0); } -#line 10159 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10243 "mrbgems/mruby-compiler/core/y.tab.c" break; case 361: /* f_margs: f_arg ',' "*" ',' f_arg */ -#line 3529 "mrbgems/mruby-compiler/core/parse.y" +#line 3539 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3((yyvsp[-4].nd), int_to_node(-1), (yyvsp[0].nd)); } -#line 10167 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10251 "mrbgems/mruby-compiler/core/y.tab.c" break; case 362: /* f_margs: "*" f_norm_arg */ -#line 3533 "mrbgems/mruby-compiler/core/parse.y" +#line 3543 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_lvar(p, (yyvsp[0].id)), 0); } -#line 10175 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10259 "mrbgems/mruby-compiler/core/y.tab.c" break; case 363: /* f_margs: "*" f_norm_arg ',' f_arg */ -#line 3537 "mrbgems/mruby-compiler/core/parse.y" +#line 3547 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, new_lvar(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 10183 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10267 "mrbgems/mruby-compiler/core/y.tab.c" break; case 364: /* f_margs: "*" */ -#line 3541 "mrbgems/mruby-compiler/core/parse.y" +#line 3551 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, intern_op(mul)); (yyval.nd) = list3(0, int_to_node(-1), 0); } -#line 10192 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10276 "mrbgems/mruby-compiler/core/y.tab.c" break; case 365: /* $@24: %empty */ -#line 3546 "mrbgems/mruby-compiler/core/parse.y" +#line 3556 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, intern_op(mul)); } -#line 10200 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10284 "mrbgems/mruby-compiler/core/y.tab.c" break; case 366: /* f_margs: "*" ',' $@24 f_arg */ -#line 3550 "mrbgems/mruby-compiler/core/parse.y" +#line 3560 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list3(0, int_to_node(-1), (yyvsp[0].nd)); } -#line 10208 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10292 "mrbgems/mruby-compiler/core/y.tab.c" break; case 367: /* block_args_tail: f_block_kwarg ',' f_kwrest opt_f_block_arg */ -#line 3556 "mrbgems/mruby-compiler/core/parse.y" +#line 3566 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); } -#line 10216 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10300 "mrbgems/mruby-compiler/core/y.tab.c" break; case 368: /* block_args_tail: f_block_kwarg opt_f_block_arg */ -#line 3560 "mrbgems/mruby-compiler/core/parse.y" +#line 3570 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 10224 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10308 "mrbgems/mruby-compiler/core/y.tab.c" break; case 369: /* block_args_tail: f_kwrest opt_f_block_arg */ -#line 3564 "mrbgems/mruby-compiler/core/parse.y" +#line 3574 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); } -#line 10232 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10316 "mrbgems/mruby-compiler/core/y.tab.c" break; case 370: /* block_args_tail: f_block_arg */ -#line 3568 "mrbgems/mruby-compiler/core/parse.y" +#line 3578 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } -#line 10240 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10324 "mrbgems/mruby-compiler/core/y.tab.c" break; case 371: /* opt_block_args_tail: ',' block_args_tail */ -#line 3574 "mrbgems/mruby-compiler/core/parse.y" +#line 3584 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 10248 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10332 "mrbgems/mruby-compiler/core/y.tab.c" break; case 372: /* opt_block_args_tail: %empty */ -#line 3578 "mrbgems/mruby-compiler/core/parse.y" +#line 3588 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args_tail(p, 0, 0, 0); } -#line 10256 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10340 "mrbgems/mruby-compiler/core/y.tab.c" break; case 373: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg opt_block_args_tail */ -#line 3584 "mrbgems/mruby-compiler/core/parse.y" +#line 3594 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 10264 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10348 "mrbgems/mruby-compiler/core/y.tab.c" break; case 374: /* block_param: f_arg ',' f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3588 "mrbgems/mruby-compiler/core/parse.y" +#line 3598 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10272 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10356 "mrbgems/mruby-compiler/core/y.tab.c" break; case 375: /* block_param: f_arg ',' f_block_optarg opt_block_args_tail */ -#line 3592 "mrbgems/mruby-compiler/core/parse.y" +#line 3602 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 10280 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10364 "mrbgems/mruby-compiler/core/y.tab.c" break; case 376: /* block_param: f_arg ',' f_block_optarg ',' f_arg opt_block_args_tail */ -#line 3596 "mrbgems/mruby-compiler/core/parse.y" +#line 3606 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10288 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10372 "mrbgems/mruby-compiler/core/y.tab.c" break; case 377: /* block_param: f_arg ',' f_rest_arg opt_block_args_tail */ -#line 3600 "mrbgems/mruby-compiler/core/parse.y" +#line 3610 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 10296 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10380 "mrbgems/mruby-compiler/core/y.tab.c" break; case 378: /* block_param: f_arg ',' opt_block_args_tail */ -#line 3604 "mrbgems/mruby-compiler/core/parse.y" +#line 3614 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-2].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 10304 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10388 "mrbgems/mruby-compiler/core/y.tab.c" break; case 379: /* block_param: f_arg ',' f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3608 "mrbgems/mruby-compiler/core/parse.y" +#line 3618 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10312 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10396 "mrbgems/mruby-compiler/core/y.tab.c" break; case 380: /* block_param: f_arg opt_block_args_tail */ -#line 3612 "mrbgems/mruby-compiler/core/parse.y" +#line 3622 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); } -#line 10320 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10404 "mrbgems/mruby-compiler/core/y.tab.c" break; case 381: /* block_param: f_block_optarg ',' f_rest_arg opt_block_args_tail */ -#line 3616 "mrbgems/mruby-compiler/core/parse.y" +#line 3626 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 10328 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10412 "mrbgems/mruby-compiler/core/y.tab.c" break; case 382: /* block_param: f_block_optarg ',' f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3620 "mrbgems/mruby-compiler/core/parse.y" +#line 3630 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10336 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10420 "mrbgems/mruby-compiler/core/y.tab.c" break; case 383: /* block_param: f_block_optarg opt_block_args_tail */ -#line 3624 "mrbgems/mruby-compiler/core/parse.y" +#line 3634 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); } -#line 10344 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10428 "mrbgems/mruby-compiler/core/y.tab.c" break; case 384: /* block_param: f_block_optarg ',' f_arg opt_block_args_tail */ -#line 3628 "mrbgems/mruby-compiler/core/parse.y" +#line 3638 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10352 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10436 "mrbgems/mruby-compiler/core/y.tab.c" break; case 385: /* block_param: f_rest_arg opt_block_args_tail */ -#line 3632 "mrbgems/mruby-compiler/core/parse.y" +#line 3642 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); } -#line 10360 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10444 "mrbgems/mruby-compiler/core/y.tab.c" break; case 386: /* block_param: f_rest_arg ',' f_arg opt_block_args_tail */ -#line 3636 "mrbgems/mruby-compiler/core/parse.y" +#line 3646 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 10368 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10452 "mrbgems/mruby-compiler/core/y.tab.c" break; case 387: /* block_param: block_args_tail */ -#line 3640 "mrbgems/mruby-compiler/core/parse.y" +#line 3650 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); } -#line 10376 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10460 "mrbgems/mruby-compiler/core/y.tab.c" break; case 388: /* opt_block_param: none */ -#line 3646 "mrbgems/mruby-compiler/core/parse.y" +#line 3656 "mrbgems/mruby-compiler/core/parse.y" { local_add_blk(p); (yyval.nd) = 0; } -#line 10385 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10469 "mrbgems/mruby-compiler/core/y.tab.c" break; case 389: /* opt_block_param: block_param_def */ -#line 3651 "mrbgems/mruby-compiler/core/parse.y" +#line 3661 "mrbgems/mruby-compiler/core/parse.y" { p->cmd_start = TRUE; (yyval.nd) = (yyvsp[0].nd); } -#line 10394 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10478 "mrbgems/mruby-compiler/core/y.tab.c" break; case 390: /* $@25: %empty */ -#line 3657 "mrbgems/mruby-compiler/core/parse.y" +#line 3667 "mrbgems/mruby-compiler/core/parse.y" {local_add_blk(p);} -#line 10400 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10484 "mrbgems/mruby-compiler/core/y.tab.c" break; case 391: /* block_param_def: '|' $@25 opt_bv_decl '|' */ -#line 3658 "mrbgems/mruby-compiler/core/parse.y" +#line 3668 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 10408 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 392: /* block_param_def: "||" */ -#line 3662 "mrbgems/mruby-compiler/core/parse.y" - { - local_add_blk(p); - (yyval.nd) = 0; - } -#line 10417 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 393: /* block_param_def: '|' block_param opt_bv_decl '|' */ -#line 3667 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-2].nd); - } -#line 10425 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 394: /* opt_bv_decl: opt_nl */ -#line 3673 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = 0; - } -#line 10433 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 395: /* opt_bv_decl: opt_nl ';' bv_decls opt_nl */ -#line 3677 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = 0; - } -#line 10441 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 398: /* bvar: "local variable or method" */ -#line 3687 "mrbgems/mruby-compiler/core/parse.y" - { - local_add_f(p, (yyvsp[0].id)); - new_bv(p, (yyvsp[0].id)); - } -#line 10450 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 400: /* f_larglist: '(' f_args opt_bv_decl ')' */ -#line 3695 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-2].nd); - } -#line 10458 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 401: /* f_larglist: f_args */ -#line 3699 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[0].nd); - } -#line 10466 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 402: /* lambda_body: tLAMBEG compstmt '}' */ -#line 3705 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 10474 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 403: /* lambda_body: "'do' for lambda" bodystmt "'end'" */ -#line 3709 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 10482 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 404: /* @26: %empty */ -#line 3715 "mrbgems/mruby-compiler/core/parse.y" - { - local_nest(p); - nvars_nest(p); - (yyval.num) = p->lineno; - } #line 10492 "mrbgems/mruby-compiler/core/y.tab.c" break; + case 392: /* block_param_def: "||" */ +#line 3672 "mrbgems/mruby-compiler/core/parse.y" + { + local_add_blk(p); + (yyval.nd) = 0; + } +#line 10501 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 393: /* block_param_def: '|' block_param opt_bv_decl '|' */ +#line 3677 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-2].nd); + } +#line 10509 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 394: /* opt_bv_decl: opt_nl */ +#line 3683 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = 0; + } +#line 10517 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 395: /* opt_bv_decl: opt_nl ';' bv_decls opt_nl */ +#line 3687 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = 0; + } +#line 10525 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 398: /* bvar: "local variable or method" */ +#line 3697 "mrbgems/mruby-compiler/core/parse.y" + { + local_add_f(p, (yyvsp[0].id)); + new_bv(p, (yyvsp[0].id)); + } +#line 10534 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 400: /* f_larglist: '(' f_args opt_bv_decl ')' */ +#line 3705 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-2].nd); + } +#line 10542 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 401: /* f_larglist: f_args */ +#line 3709 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[0].nd); + } +#line 10550 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 402: /* lambda_body: tLAMBEG compstmt '}' */ +#line 3715 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 10558 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 403: /* lambda_body: "'do' for lambda" bodystmt "'end'" */ +#line 3719 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 10566 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 404: /* @26: %empty */ +#line 3725 "mrbgems/mruby-compiler/core/parse.y" + { + local_nest(p); + nvars_nest(p); + (yyval.num) = p->lineno; + } +#line 10576 "mrbgems/mruby-compiler/core/y.tab.c" + break; + case 405: /* do_block: "'do' for block" @26 opt_block_param bodystmt "'end'" */ -#line 3723 "mrbgems/mruby-compiler/core/parse.y" +#line 3733 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-3].num)); local_unnest(p); nvars_unnest(p); } -#line 10503 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10587 "mrbgems/mruby-compiler/core/y.tab.c" break; case 406: /* block_call: command do_block */ -#line 3732 "mrbgems/mruby-compiler/core/parse.y" +#line 3742 "mrbgems/mruby-compiler/core/parse.y" { call_with_block(p, (yyvsp[-1].nd), (yyvsp[0].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 10512 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10596 "mrbgems/mruby-compiler/core/y.tab.c" break; case 407: /* block_call: block_call call_op2 operation2 opt_paren_args */ -#line 3737 "mrbgems/mruby-compiler/core/parse.y" +#line 3747 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 10520 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10604 "mrbgems/mruby-compiler/core/y.tab.c" break; case 408: /* block_call: block_call call_op2 operation2 opt_paren_args brace_block */ -#line 3741 "mrbgems/mruby-compiler/core/parse.y" +#line 3751 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), (yyvsp[-3].num)); call_with_block(p, (yyval.nd), (yyvsp[0].nd)); } -#line 10529 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10613 "mrbgems/mruby-compiler/core/y.tab.c" break; case 409: /* block_call: block_call call_op2 operation2 command_args do_block */ -#line 3746 "mrbgems/mruby-compiler/core/parse.y" +#line 3756 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-4].nd), (yyvsp[-2].id), (yyvsp[-1].nd), (yyvsp[-3].num)); call_with_block(p, (yyval.nd), (yyvsp[0].nd)); } -#line 10538 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10622 "mrbgems/mruby-compiler/core/y.tab.c" break; case 410: /* method_call: operation paren_args */ -#line 3753 "mrbgems/mruby-compiler/core/parse.y" +#line 3763 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, (yyvsp[-1].id), (yyvsp[0].nd)); } -#line 10546 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10630 "mrbgems/mruby-compiler/core/y.tab.c" break; case 411: /* method_call: primary_value call_op operation2 opt_paren_args */ -#line 3757 "mrbgems/mruby-compiler/core/parse.y" +#line 3767 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), (yyvsp[-2].num)); } -#line 10554 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10638 "mrbgems/mruby-compiler/core/y.tab.c" break; case 412: /* method_call: primary_value "::" operation2 paren_args */ -#line 3761 "mrbgems/mruby-compiler/core/parse.y" +#line 3771 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].nd), tCOLON2); } -#line 10562 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10646 "mrbgems/mruby-compiler/core/y.tab.c" break; case 413: /* method_call: primary_value "::" operation3 */ -#line 3765 "mrbgems/mruby-compiler/core/parse.y" +#line 3775 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), (yyvsp[0].id), 0, tCOLON2); } -#line 10570 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10654 "mrbgems/mruby-compiler/core/y.tab.c" break; case 414: /* method_call: primary_value call_op paren_args */ -#line 3769 "mrbgems/mruby-compiler/core/parse.y" +#line 3779 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), (yyvsp[-1].num)); } -#line 10578 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10662 "mrbgems/mruby-compiler/core/y.tab.c" break; case 415: /* method_call: primary_value "::" paren_args */ -#line 3773 "mrbgems/mruby-compiler/core/parse.y" +#line 3783 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-2].nd), MRB_SYM_2(p->mrb, call), (yyvsp[0].nd), tCOLON2); } -#line 10586 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10670 "mrbgems/mruby-compiler/core/y.tab.c" break; case 416: /* method_call: "'super'" paren_args */ -#line 3777 "mrbgems/mruby-compiler/core/parse.y" +#line 3787 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_super(p, (yyvsp[0].nd)); } -#line 10594 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10678 "mrbgems/mruby-compiler/core/y.tab.c" break; case 417: /* method_call: "'super'" */ -#line 3781 "mrbgems/mruby-compiler/core/parse.y" +#line 3791 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_zsuper(p); } -#line 10602 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10686 "mrbgems/mruby-compiler/core/y.tab.c" break; case 418: /* method_call: primary_value '[' opt_call_args ']' */ -#line 3785 "mrbgems/mruby-compiler/core/parse.y" +#line 3795 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_call(p, (yyvsp[-3].nd), intern_op(aref), (yyvsp[-1].nd), '.'); } -#line 10610 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10694 "mrbgems/mruby-compiler/core/y.tab.c" break; case 419: /* @27: %empty */ -#line 3791 "mrbgems/mruby-compiler/core/parse.y" +#line 3801 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 10620 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10704 "mrbgems/mruby-compiler/core/y.tab.c" break; case 420: /* brace_block: '{' @27 opt_block_param compstmt '}' */ -#line 3798 "mrbgems/mruby-compiler/core/parse.y" +#line 3808 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-3].num)); local_unnest(p); nvars_unnest(p); } -#line 10631 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10715 "mrbgems/mruby-compiler/core/y.tab.c" break; case 421: /* @28: %empty */ -#line 3805 "mrbgems/mruby-compiler/core/parse.y" +#line 3815 "mrbgems/mruby-compiler/core/parse.y" { local_nest(p); nvars_nest(p); (yyval.num) = p->lineno; } -#line 10641 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10725 "mrbgems/mruby-compiler/core/y.tab.c" break; case 422: /* brace_block: "'do'" @28 opt_block_param bodystmt "'end'" */ -#line 3812 "mrbgems/mruby-compiler/core/parse.y" +#line 3822 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_block(p,(yyvsp[-2].nd),(yyvsp[-1].nd)); SET_LINENO((yyval.nd), (yyvsp[-3].num)); local_unnest(p); nvars_unnest(p); } -#line 10652 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10736 "mrbgems/mruby-compiler/core/y.tab.c" break; case 423: /* case_body: "'when'" args then compstmt cases */ -#line 3823 "mrbgems/mruby-compiler/core/parse.y" +#line 3833 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(cons((yyvsp[-3].nd), (yyvsp[-1].nd)), (yyvsp[0].nd)); } -#line 10660 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10744 "mrbgems/mruby-compiler/core/y.tab.c" break; case 424: /* cases: opt_else */ -#line 3829 "mrbgems/mruby-compiler/core/parse.y" +#line 3839 "mrbgems/mruby-compiler/core/parse.y" { if ((yyvsp[0].nd)) { (yyval.nd) = cons(cons(0, (yyvsp[0].nd)), 0); @@ -10669,489 +10753,569 @@ yyreduce: (yyval.nd) = 0; } } -#line 10673 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10757 "mrbgems/mruby-compiler/core/y.tab.c" break; case 426: /* in_clauses: opt_else */ -#line 3842 "mrbgems/mruby-compiler/core/parse.y" +#line 3852 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd) ? list1(new_in(p, NULL, NULL, (yyvsp[0].nd), FALSE)) : 0; } -#line 10681 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10765 "mrbgems/mruby-compiler/core/y.tab.c" break; case 427: /* in_clauses: "'in'" p_expr then compstmt in_clauses */ -#line 3846 "mrbgems/mruby-compiler/core/parse.y" +#line 3856 "mrbgems/mruby-compiler/core/parse.y" { node *in_clause = new_in(p, (yyvsp[-3].nd), NULL, (yyvsp[-1].nd), FALSE); (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); } -#line 10690 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10774 "mrbgems/mruby-compiler/core/y.tab.c" break; case 428: /* in_clauses: "'in'" p_expr "'if' modifier" expr_value then compstmt in_clauses */ -#line 3851 "mrbgems/mruby-compiler/core/parse.y" +#line 3861 "mrbgems/mruby-compiler/core/parse.y" { node *in_clause = new_in(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].nd), FALSE); (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); } -#line 10699 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10783 "mrbgems/mruby-compiler/core/y.tab.c" break; case 429: /* in_clauses: "'in'" p_expr "'unless' modifier" expr_value then compstmt in_clauses */ -#line 3856 "mrbgems/mruby-compiler/core/parse.y" +#line 3866 "mrbgems/mruby-compiler/core/parse.y" { node *in_clause = new_in(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].nd), TRUE); (yyval.nd) = cons(in_clause, (yyvsp[0].nd)); } -#line 10708 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10792 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 432: /* p_as: p_alt "=>" "local variable or method" */ -#line 3868 "mrbgems/mruby-compiler/core/parse.y" + case 431: /* p_expr: p_args_head p_as */ +#line 3876 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_pat_as(p, (yyvsp[-2].nd), (yyvsp[0].id)); + (yyval.nd) = new_pat_array(p, push((yyvsp[-1].nd), (yyvsp[0].nd)), 0, 0); } -#line 10716 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10800 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 434: /* p_alt: p_alt '|' p_value */ -#line 3875 "mrbgems/mruby-compiler/core/parse.y" + case 432: /* p_expr: p_args_head p_rest */ +#line 3880 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_pat_alt(p, (yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = new_pat_array(p, (yyvsp[-1].nd), (yyvsp[0].nd), 0); } -#line 10724 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10808 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 436: /* p_value: numeric */ -#line 3882 "mrbgems/mruby-compiler/core/parse.y" + case 433: /* p_expr: p_args_head p_rest ',' p_args_post */ +#line 3884 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); + (yyval.nd) = new_pat_array(p, (yyvsp[-3].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10732 "mrbgems/mruby-compiler/core/y.tab.c" +#line 10816 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 437: /* p_value: symbol */ -#line 3886 "mrbgems/mruby-compiler/core/parse.y" + case 434: /* p_expr: p_rest */ +#line 3888 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); - } -#line 10740 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 438: /* p_value: tSTRING */ -#line 3890 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); - } -#line 10748 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 439: /* p_value: "'nil'" */ -#line 3894 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_nil(p)); - } -#line 10756 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 440: /* p_value: "'true'" */ -#line 3898 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_true(p)); - } -#line 10764 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 441: /* p_value: "'false'" */ -#line 3902 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_false(p)); - } -#line 10772 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 442: /* p_value: "constant" */ -#line 3906 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_const(p, (yyvsp[0].id))); - } -#line 10780 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 443: /* p_value: primary_value "::" "constant" */ -#line 3910 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id))); - } -#line 10788 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 444: /* p_value: tCOLON3 "constant" */ -#line 3914 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_value(p, new_colon3(p, (yyvsp[0].id))); - } -#line 10796 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 447: /* p_array: "[" p_array_body ']' */ -#line 3923 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 10804 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 448: /* p_array: "[" ']' */ -#line 3927 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_pat_array(p, 0, 0, 0); - } -#line 10812 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 449: /* p_array_body: p_array_elems */ -#line 3934 "mrbgems/mruby-compiler/core/parse.y" - { - /* Just pre elements, no rest */ - (yyval.nd) = new_pat_array(p, (yyvsp[0].nd), 0, 0); - } -#line 10821 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 450: /* p_array_body: p_array_elems ',' p_rest */ -#line 3939 "mrbgems/mruby-compiler/core/parse.y" - { - /* Pre elements + rest, no post */ - (yyval.nd) = new_pat_array(p, (yyvsp[-2].nd), (yyvsp[0].nd), 0); - } -#line 10830 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 451: /* p_array_body: p_array_elems ',' p_rest ',' p_array_elems */ -#line 3944 "mrbgems/mruby-compiler/core/parse.y" - { - /* Pre + rest + post */ - (yyval.nd) = new_pat_array(p, (yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); - } -#line 10839 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 452: /* p_array_body: p_rest */ -#line 3949 "mrbgems/mruby-compiler/core/parse.y" - { - /* Just rest, no pre or post */ (yyval.nd) = new_pat_array(p, 0, (yyvsp[0].nd), 0); } +#line 10824 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 435: /* p_expr: p_rest ',' p_args_post */ +#line 3892 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_array(p, 0, (yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 10832 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 436: /* p_args_head: p_as ',' */ +#line 3899 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[-1].nd)); + } +#line 10840 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 437: /* p_args_head: p_args_head p_as ',' */ +#line 3903 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[-1].nd)); + } #line 10848 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 453: /* p_array_body: p_rest ',' p_array_elems */ -#line 3954 "mrbgems/mruby-compiler/core/parse.y" + case 438: /* p_args_post: p_as */ +#line 3910 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = list1((yyvsp[0].nd)); + } +#line 10856 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 439: /* p_args_post: p_args_post ',' p_as */ +#line 3914 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 10864 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 441: /* p_as: p_alt "=>" "local variable or method" */ +#line 3921 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_as(p, (yyvsp[-2].nd), (yyvsp[0].id)); + } +#line 10872 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 443: /* p_alt: p_alt '|' p_value */ +#line 3928 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_alt(p, (yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 10880 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 445: /* p_value: numeric */ +#line 3935 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); + } +#line 10888 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 446: /* p_value: symbol */ +#line 3939 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); + } +#line 10896 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 447: /* p_value: tSTRING */ +#line 3943 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, (yyvsp[0].nd)); + } +#line 10904 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 448: /* p_value: "'nil'" */ +#line 3947 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_nil(p)); + } +#line 10912 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 449: /* p_value: "'true'" */ +#line 3951 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_true(p)); + } +#line 10920 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 450: /* p_value: "'false'" */ +#line 3955 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_false(p)); + } +#line 10928 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 451: /* p_value: "constant" */ +#line 3959 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_const(p, (yyvsp[0].id))); + } +#line 10936 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 452: /* p_value: primary_value "::" "constant" */ +#line 3963 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_colon2(p, (yyvsp[-2].nd), (yyvsp[0].id))); + } +#line 10944 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 453: /* p_value: tCOLON3 "constant" */ +#line 3967 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_value(p, new_colon3(p, (yyvsp[0].id))); + } +#line 10952 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 456: /* p_value: '^' "local variable or method" */ +#line 3973 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_pin(p, (yyvsp[0].id)); + } +#line 10960 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 457: /* p_array: "[" p_array_body ']' */ +#line 3980 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[-1].nd); + } +#line 10968 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 458: /* p_array: "[" ']' */ +#line 3984 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_pat_array(p, 0, 0, 0); + } +#line 10976 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 459: /* p_array_body: p_array_elems */ +#line 3991 "mrbgems/mruby-compiler/core/parse.y" + { + /* Just pre elements, no rest */ + (yyval.nd) = new_pat_array(p, (yyvsp[0].nd), 0, 0); + } +#line 10985 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 460: /* p_array_body: p_array_elems ',' p_rest */ +#line 3996 "mrbgems/mruby-compiler/core/parse.y" + { + /* Pre elements + rest, no post */ + (yyval.nd) = new_pat_array(p, (yyvsp[-2].nd), (yyvsp[0].nd), 0); + } +#line 10994 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 461: /* p_array_body: p_array_elems ',' p_rest ',' p_array_elems */ +#line 4001 "mrbgems/mruby-compiler/core/parse.y" + { + /* Pre + rest + post */ + (yyval.nd) = new_pat_array(p, (yyvsp[-4].nd), (yyvsp[-2].nd), (yyvsp[0].nd)); + } +#line 11003 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 462: /* p_array_body: p_rest */ +#line 4006 "mrbgems/mruby-compiler/core/parse.y" + { + /* Just rest, no pre or post */ + (yyval.nd) = new_pat_array(p, 0, (yyvsp[0].nd), 0); + } +#line 11012 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 463: /* p_array_body: p_rest ',' p_array_elems */ +#line 4011 "mrbgems/mruby-compiler/core/parse.y" { /* Rest + post, no pre */ (yyval.nd) = new_pat_array(p, 0, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10857 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11021 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 454: /* p_array_elems: p_expr */ -#line 3962 "mrbgems/mruby-compiler/core/parse.y" + case 464: /* p_array_elems: p_as */ +#line 4019 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10865 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11029 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 455: /* p_array_elems: p_array_elems ',' p_expr */ -#line 3966 "mrbgems/mruby-compiler/core/parse.y" + case 465: /* p_array_elems: p_array_elems ',' p_as */ +#line 4023 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10873 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11037 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 456: /* p_rest: "*" "local variable or method" */ -#line 3973 "mrbgems/mruby-compiler/core/parse.y" + case 466: /* p_rest: "*" "local variable or method" */ +#line 4030 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 10881 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11045 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 457: /* p_rest: "*" */ -#line 3977 "mrbgems/mruby-compiler/core/parse.y" + case 467: /* p_rest: "*" */ +#line 4034 "mrbgems/mruby-compiler/core/parse.y" { /* Anonymous rest pattern */ (yyval.nd) = (node*)-1; } -#line 10890 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11054 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 458: /* p_hash: tLBRACE p_hash_body '}' */ -#line 3985 "mrbgems/mruby-compiler/core/parse.y" + case 468: /* p_hash: tLBRACE p_hash_body '}' */ +#line 4042 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 10898 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11062 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 459: /* p_hash: tLBRACE '}' */ -#line 3989 "mrbgems/mruby-compiler/core/parse.y" + case 469: /* p_hash: tLBRACE '}' */ +#line 4046 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_hash(p, 0, 0); } -#line 10906 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11070 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 460: /* p_hash_body: p_hash_elems */ -#line 3996 "mrbgems/mruby-compiler/core/parse.y" + case 470: /* p_hash_body: p_hash_elems */ +#line 4053 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_hash(p, (yyvsp[0].nd), 0); } -#line 10914 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11078 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 461: /* p_hash_body: p_hash_elems ',' p_kwrest */ -#line 4000 "mrbgems/mruby-compiler/core/parse.y" + case 471: /* p_hash_body: p_hash_elems ',' p_kwrest */ +#line 4057 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_hash(p, (yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10922 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11086 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 462: /* p_hash_body: p_kwrest */ -#line 4004 "mrbgems/mruby-compiler/core/parse.y" + case 472: /* p_hash_body: p_kwrest */ +#line 4061 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_hash(p, 0, (yyvsp[0].nd)); } -#line 10930 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11094 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 463: /* p_hash_elems: p_hash_elem */ -#line 4011 "mrbgems/mruby-compiler/core/parse.y" + case 473: /* p_hash_elems: p_hash_elem */ +#line 4068 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 10938 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11102 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 464: /* p_hash_elems: p_hash_elems ',' p_hash_elem */ -#line 4015 "mrbgems/mruby-compiler/core/parse.y" + case 474: /* p_hash_elems: p_hash_elems ',' p_hash_elem */ +#line 4072 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10946 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11110 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 465: /* p_hash_elem: "local variable or method" "label" p_expr */ -#line 4022 "mrbgems/mruby-compiler/core/parse.y" + case 475: /* p_hash_elem: "local variable or method" "label" p_expr */ +#line 4079 "mrbgems/mruby-compiler/core/parse.y" { /* {key: pattern} */ (yyval.nd) = cons(new_sym(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 10955 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11119 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 466: /* p_hash_elem: "local variable or method" "label" */ -#line 4027 "mrbgems/mruby-compiler/core/parse.y" + case 476: /* p_hash_elem: "local variable or method" "label" */ +#line 4084 "mrbgems/mruby-compiler/core/parse.y" { /* {key:} shorthand - binds to variable with same name */ (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), new_pat_var(p, (yyvsp[-1].id))); } -#line 10964 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11128 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 467: /* p_hash_elem: symbol "=>" p_expr */ -#line 4032 "mrbgems/mruby-compiler/core/parse.y" + case 477: /* p_hash_elem: symbol "=>" p_expr */ +#line 4089 "mrbgems/mruby-compiler/core/parse.y" { /* {:"key" => pattern} or {:key => pattern} */ (yyval.nd) = cons((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 10973 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11137 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 468: /* p_kwrest: "**" "local variable or method" */ -#line 4040 "mrbgems/mruby-compiler/core/parse.y" + case 478: /* p_kwrest: "**" "local variable or method" */ +#line 4097 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 10981 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11145 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 469: /* p_kwrest: "**" "'nil'" */ -#line 4044 "mrbgems/mruby-compiler/core/parse.y" + case 479: /* p_kwrest: "**" "'nil'" */ +#line 4101 "mrbgems/mruby-compiler/core/parse.y" { /* **nil - exact match, no extra keys allowed */ (yyval.nd) = (node*)-1; } -#line 10990 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11154 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 470: /* p_kwrest: "**" */ -#line 4049 "mrbgems/mruby-compiler/core/parse.y" + case 480: /* p_kwrest: "**" */ +#line 4106 "mrbgems/mruby-compiler/core/parse.y" { /* ** - anonymous rest, discards extra keys */ (yyval.nd) = (node*)-2; } -#line 10999 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11163 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 471: /* p_var: "local variable or method" */ -#line 4056 "mrbgems/mruby-compiler/core/parse.y" + case 481: /* p_var: "local variable or method" */ +#line 4113 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_pat_var(p, (yyvsp[0].id)); } -#line 11007 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11171 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 472: /* opt_rescue: "'rescue'" exc_list exc_var then compstmt opt_rescue */ -#line 4064 "mrbgems/mruby-compiler/core/parse.y" + case 482: /* opt_rescue: "'rescue'" exc_list exc_var then compstmt opt_rescue */ +#line 4121 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(list3((yyvsp[-4].nd), (yyvsp[-3].nd), (yyvsp[-1].nd))); if ((yyvsp[0].nd)) (yyval.nd) = append((yyval.nd), (yyvsp[0].nd)); } -#line 11016 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11180 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 474: /* exc_list: arg */ -#line 4072 "mrbgems/mruby-compiler/core/parse.y" + case 484: /* exc_list: arg */ +#line 4129 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11024 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11188 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 477: /* exc_var: "=>" lhs */ -#line 4080 "mrbgems/mruby-compiler/core/parse.y" + case 487: /* exc_var: "=>" lhs */ +#line 4137 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 11032 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11196 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 479: /* opt_ensure: "'ensure'" compstmt */ -#line 4087 "mrbgems/mruby-compiler/core/parse.y" + case 489: /* opt_ensure: "'ensure'" compstmt */ +#line 4144 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[0].nd); } -#line 11040 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11204 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 486: /* string: string string_fragment */ -#line 4101 "mrbgems/mruby-compiler/core/parse.y" + case 496: /* string: string string_fragment */ +#line 4158 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11048 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11212 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 487: /* string_fragment: "character literal" */ -#line 4107 "mrbgems/mruby-compiler/core/parse.y" + case 497: /* string_fragment: "character literal" */ +#line 4164 "mrbgems/mruby-compiler/core/parse.y" { /* tCHAR is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11057 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11221 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 488: /* string_fragment: tSTRING */ -#line 4112 "mrbgems/mruby-compiler/core/parse.y" + case 498: /* string_fragment: tSTRING */ +#line 4169 "mrbgems/mruby-compiler/core/parse.y" { /* tSTRING is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11066 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11230 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 489: /* string_fragment: "string literal" tSTRING */ -#line 4117 "mrbgems/mruby-compiler/core/parse.y" + case 499: /* string_fragment: "string literal" tSTRING */ +#line 4174 "mrbgems/mruby-compiler/core/parse.y" { /* $2 is (len . str), wrap as cons list */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11075 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11239 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 490: /* string_fragment: "string literal" string_rep tSTRING */ -#line 4122 "mrbgems/mruby-compiler/core/parse.y" + case 500: /* string_fragment: "string literal" string_rep tSTRING */ +#line 4179 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11083 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11247 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 492: /* string_rep: string_rep string_interp */ -#line 4129 "mrbgems/mruby-compiler/core/parse.y" + case 502: /* string_rep: string_rep string_interp */ +#line 4186 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = append((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11091 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11255 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 493: /* string_interp: tSTRING_MID */ -#line 4135 "mrbgems/mruby-compiler/core/parse.y" + case 503: /* string_interp: tSTRING_MID */ +#line 4192 "mrbgems/mruby-compiler/core/parse.y" { /* $1 is already in (len . str) format */ (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11100 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11264 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 494: /* @29: %empty */ -#line 4140 "mrbgems/mruby-compiler/core/parse.y" + case 504: /* @29: %empty */ +#line 4197 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push_strterm(p); } -#line 11108 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11272 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 495: /* string_interp: tSTRING_PART @29 compstmt '}' */ -#line 4145 "mrbgems/mruby-compiler/core/parse.y" + case 505: /* string_interp: tSTRING_PART @29 compstmt '}' */ +#line 4202 "mrbgems/mruby-compiler/core/parse.y" { pop_strterm(p,(yyvsp[-2].nd)); /* $1 is already in (len . str) format, create (-1 . node) for expression */ node *expr_elem = cons(int_to_node(-1), (yyvsp[-1].nd)); (yyval.nd) = list2((yyvsp[-3].nd), expr_elem); } -#line 11119 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11283 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 496: /* string_interp: tLITERAL_DELIM */ -#line 4152 "mrbgems/mruby-compiler/core/parse.y" + case 506: /* string_interp: tLITERAL_DELIM */ +#line 4209 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 11127 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11291 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 497: /* string_interp: tHD_LITERAL_DELIM heredoc_bodies */ -#line 4156 "mrbgems/mruby-compiler/core/parse.y" + case 507: /* string_interp: tHD_LITERAL_DELIM heredoc_bodies */ +#line 4213 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1(new_literal_delim(p)); } -#line 11135 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11299 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 498: /* xstring: tXSTRING_BEG tXSTRING */ -#line 4162 "mrbgems/mruby-compiler/core/parse.y" + case 508: /* xstring: tXSTRING_BEG tXSTRING */ +#line 4219 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons((yyvsp[0].nd), (node*)NULL); } -#line 11143 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11307 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 499: /* xstring: tXSTRING_BEG string_rep tXSTRING */ -#line 4166 "mrbgems/mruby-compiler/core/parse.y" + case 509: /* xstring: tXSTRING_BEG string_rep tXSTRING */ +#line 4223 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-1].nd), (yyvsp[0].nd)); } -#line 11151 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11315 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 500: /* regexp: tREGEXP_BEG tREGEXP */ -#line 4172 "mrbgems/mruby-compiler/core/parse.y" + case 510: /* regexp: tREGEXP_BEG tREGEXP */ +#line 4229 "mrbgems/mruby-compiler/core/parse.y" { node *data = (yyvsp[0].nd); /* ((len . pattern) . (flags . encoding)) */ const char *flags = (const char*)data->cdr->car; @@ -11160,11 +11324,11 @@ yyreduce: node *pattern_list = cons(data->car, (node*)NULL); (yyval.nd) = new_regx(p, pattern_list, flags, encoding); } -#line 11164 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11328 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 501: /* regexp: tREGEXP_BEG string_rep tREGEXP */ -#line 4181 "mrbgems/mruby-compiler/core/parse.y" + case 511: /* regexp: tREGEXP_BEG string_rep tREGEXP */ +#line 4238 "mrbgems/mruby-compiler/core/parse.y" { node *data = (yyvsp[0].nd); /* ((len . pattern) . (flags . encoding)) */ const char *flags = (const char*)data->cdr->car; @@ -11173,47 +11337,47 @@ yyreduce: node *complete_list = push((yyvsp[-1].nd), data->car); (yyval.nd) = new_regx(p, complete_list, flags, encoding); } -#line 11177 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11341 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 505: /* heredoc_body: tHEREDOC_END */ -#line 4199 "mrbgems/mruby-compiler/core/parse.y" + case 515: /* heredoc_body: tHEREDOC_END */ +#line 4256 "mrbgems/mruby-compiler/core/parse.y" { parser_heredoc_info *info = parsing_heredoc_info(p); info->doc = push(info->doc, new_str_empty(p)); heredoc_end(p); } -#line 11187 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11351 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 506: /* heredoc_body: heredoc_string_rep tHEREDOC_END */ -#line 4205 "mrbgems/mruby-compiler/core/parse.y" + case 516: /* heredoc_body: heredoc_string_rep tHEREDOC_END */ +#line 4262 "mrbgems/mruby-compiler/core/parse.y" { heredoc_end(p); } -#line 11195 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11359 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 509: /* heredoc_string_interp: tHD_STRING_MID */ -#line 4215 "mrbgems/mruby-compiler/core/parse.y" + case 519: /* heredoc_string_interp: tHD_STRING_MID */ +#line 4272 "mrbgems/mruby-compiler/core/parse.y" { parser_heredoc_info *info = parsing_heredoc_info(p); info->doc = push(info->doc, (yyvsp[0].nd)); heredoc_treat_nextline(p); } -#line 11205 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11369 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 510: /* @30: %empty */ -#line 4221 "mrbgems/mruby-compiler/core/parse.y" + case 520: /* @30: %empty */ +#line 4278 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push_strterm(p); } -#line 11213 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11377 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 511: /* heredoc_string_interp: tHD_STRING_PART @30 compstmt '}' */ -#line 4226 "mrbgems/mruby-compiler/core/parse.y" + case 521: /* heredoc_string_interp: tHD_STRING_PART @30 compstmt '}' */ +#line 4283 "mrbgems/mruby-compiler/core/parse.y" { pop_strterm(p, (yyvsp[-2].nd)); parser_heredoc_info *info = parsing_heredoc_info(p); @@ -11221,37 +11385,37 @@ yyreduce: node *expr_elem = cons(int_to_node(-1), (yyvsp[-1].nd)); info->doc = push(push(info->doc, (yyvsp[-3].nd)), expr_elem); } -#line 11225 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11389 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 512: /* words: tWORDS_BEG tSTRING */ -#line 4236 "mrbgems/mruby-compiler/core/parse.y" + case 522: /* words: tWORDS_BEG tSTRING */ +#line 4293 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_words(p, list1((yyvsp[0].nd))); } -#line 11233 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11397 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 513: /* words: tWORDS_BEG string_rep tSTRING */ -#line 4240 "mrbgems/mruby-compiler/core/parse.y" + case 523: /* words: tWORDS_BEG string_rep tSTRING */ +#line 4297 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); n = push(n, (yyvsp[0].nd)); (yyval.nd) = new_words(p, n); } -#line 11243 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11407 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 514: /* symbol: basic_symbol */ -#line 4248 "mrbgems/mruby-compiler/core/parse.y" + case 524: /* symbol: basic_symbol */ +#line 4305 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_sym(p, (yyvsp[0].id)); } -#line 11251 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11415 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 515: /* symbol: "symbol" "string literal" string_rep tSTRING */ -#line 4252 "mrbgems/mruby-compiler/core/parse.y" + case 525: /* symbol: "symbol" "string literal" string_rep tSTRING */ +#line 4309 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); p->lstate = EXPR_ENDARG; @@ -11263,183 +11427,183 @@ yyreduce: } (yyval.nd) = new_dsym(p, n); } -#line 11267 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11431 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 516: /* symbol: "symbol" "numbered parameter" */ -#line 4264 "mrbgems/mruby-compiler/core/parse.y" + case 526: /* symbol: "symbol" "numbered parameter" */ +#line 4321 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym sym = intern_numparam((yyvsp[0].num)); (yyval.nd) = new_sym(p, sym); } -#line 11276 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11440 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 517: /* basic_symbol: "symbol" sym */ -#line 4271 "mrbgems/mruby-compiler/core/parse.y" + case 527: /* basic_symbol: "symbol" sym */ +#line 4328 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_END; (yyval.id) = (yyvsp[0].id); } -#line 11285 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11449 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 522: /* sym: tSTRING */ -#line 4282 "mrbgems/mruby-compiler/core/parse.y" + case 532: /* sym: tSTRING */ +#line 4339 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 11293 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11457 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 523: /* sym: "string literal" tSTRING */ -#line 4286 "mrbgems/mruby-compiler/core/parse.y" + case 533: /* sym: "string literal" tSTRING */ +#line 4343 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = new_strsym(p, (yyvsp[0].nd)); } -#line 11301 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11465 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 524: /* symbols: tSYMBOLS_BEG tSTRING */ -#line 4292 "mrbgems/mruby-compiler/core/parse.y" + case 534: /* symbols: tSYMBOLS_BEG tSTRING */ +#line 4349 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_symbols(p, list1((yyvsp[0].nd))); } -#line 11309 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11473 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 525: /* symbols: tSYMBOLS_BEG string_rep tSTRING */ -#line 4296 "mrbgems/mruby-compiler/core/parse.y" + case 535: /* symbols: tSYMBOLS_BEG string_rep tSTRING */ +#line 4353 "mrbgems/mruby-compiler/core/parse.y" { node *n = (yyvsp[-1].nd); n = push(n, (yyvsp[0].nd)); (yyval.nd) = new_symbols(p, n); } -#line 11319 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11483 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 528: /* numeric: tUMINUS_NUM "integer literal" */ -#line 4306 "mrbgems/mruby-compiler/core/parse.y" + case 538: /* numeric: tUMINUS_NUM "integer literal" */ +#line 4363 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 11327 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11491 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 529: /* numeric: tUMINUS_NUM "float literal" */ -#line 4310 "mrbgems/mruby-compiler/core/parse.y" + case 539: /* numeric: tUMINUS_NUM "float literal" */ +#line 4367 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_negate(p, (yyvsp[0].nd)); } -#line 11335 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11499 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 530: /* variable: "local variable or method" */ -#line 4316 "mrbgems/mruby-compiler/core/parse.y" + case 540: /* variable: "local variable or method" */ +#line 4373 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 11343 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11507 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 531: /* variable: "instance variable" */ -#line 4320 "mrbgems/mruby-compiler/core/parse.y" + case 541: /* variable: "instance variable" */ +#line 4377 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_ivar(p, (yyvsp[0].id)); } -#line 11351 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11515 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 532: /* variable: "global variable" */ -#line 4324 "mrbgems/mruby-compiler/core/parse.y" + case 542: /* variable: "global variable" */ +#line 4381 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_gvar(p, (yyvsp[0].id)); } -#line 11359 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11523 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 533: /* variable: "class variable" */ -#line 4328 "mrbgems/mruby-compiler/core/parse.y" + case 543: /* variable: "class variable" */ +#line 4385 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_cvar(p, (yyvsp[0].id)); } -#line 11367 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11531 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 534: /* variable: "constant" */ -#line 4332 "mrbgems/mruby-compiler/core/parse.y" + case 544: /* variable: "constant" */ +#line 4389 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_const(p, (yyvsp[0].id)); } -#line 11375 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11539 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 535: /* var_lhs: variable */ -#line 4338 "mrbgems/mruby-compiler/core/parse.y" + case 545: /* var_lhs: variable */ +#line 4395 "mrbgems/mruby-compiler/core/parse.y" { assignable(p, (yyvsp[0].nd)); } -#line 11383 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11547 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 536: /* var_lhs: "numbered parameter" */ -#line 4342 "mrbgems/mruby-compiler/core/parse.y" + case 546: /* var_lhs: "numbered parameter" */ +#line 4399 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "can't assign to numbered parameter"); } -#line 11391 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11555 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 537: /* var_ref: variable */ -#line 4348 "mrbgems/mruby-compiler/core/parse.y" + case 547: /* var_ref: variable */ +#line 4405 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = var_reference(p, (yyvsp[0].nd)); } -#line 11399 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11563 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 538: /* var_ref: "numbered parameter" */ -#line 4352 "mrbgems/mruby-compiler/core/parse.y" + case 548: /* var_ref: "numbered parameter" */ +#line 4409 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nvar(p, (yyvsp[0].num)); } -#line 11407 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11571 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 539: /* var_ref: "'nil'" */ -#line 4356 "mrbgems/mruby-compiler/core/parse.y" + case 549: /* var_ref: "'nil'" */ +#line 4413 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_nil(p); } -#line 11415 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11579 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 540: /* var_ref: "'self'" */ -#line 4360 "mrbgems/mruby-compiler/core/parse.y" + case 550: /* var_ref: "'self'" */ +#line 4417 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_self(p); } -#line 11423 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11587 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 541: /* var_ref: "'true'" */ -#line 4364 "mrbgems/mruby-compiler/core/parse.y" + case 551: /* var_ref: "'true'" */ +#line 4421 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_true(p); } -#line 11431 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11595 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 542: /* var_ref: "'false'" */ -#line 4368 "mrbgems/mruby-compiler/core/parse.y" + case 552: /* var_ref: "'false'" */ +#line 4425 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_false(p); } -#line 11439 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11603 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 543: /* var_ref: "'__FILE__'" */ -#line 4372 "mrbgems/mruby-compiler/core/parse.y" + case 553: /* var_ref: "'__FILE__'" */ +#line 4429 "mrbgems/mruby-compiler/core/parse.y" { const char *fn = mrb_sym_name_len(p->mrb, p->filename_sym, NULL); if (!fn) { @@ -11447,686 +11611,686 @@ yyreduce: } (yyval.nd) = new_str(p, cons(cons(int_to_node(strlen(fn)), (node*)fn), (node*)NULL)); } -#line 11451 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11615 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 544: /* var_ref: "'__LINE__'" */ -#line 4380 "mrbgems/mruby-compiler/core/parse.y" + case 554: /* var_ref: "'__LINE__'" */ +#line 4437 "mrbgems/mruby-compiler/core/parse.y" { char buf[16]; dump_int(p->lineno, buf); (yyval.nd) = new_int(p, buf, 10, 0); } -#line 11462 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11626 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 545: /* var_ref: "'__ENCODING__'" */ -#line 4387 "mrbgems/mruby-compiler/core/parse.y" + case 555: /* var_ref: "'__ENCODING__'" */ +#line 4444 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_fcall(p, MRB_SYM_2(p->mrb, __ENCODING__), 0); } -#line 11470 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11634 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 548: /* superclass: %empty */ -#line 4397 "mrbgems/mruby-compiler/core/parse.y" + case 558: /* superclass: %empty */ +#line 4454 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 11478 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11642 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 549: /* $@31: %empty */ -#line 4401 "mrbgems/mruby-compiler/core/parse.y" + case 559: /* $@31: %empty */ +#line 4458 "mrbgems/mruby-compiler/core/parse.y" { p->lstate = EXPR_BEG; p->cmd_start = TRUE; } -#line 11487 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11651 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 550: /* superclass: '<' $@31 expr_value term */ -#line 4406 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 11495 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 553: /* f_arglist_paren: '(' f_args rparen */ -#line 4422 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - p->lstate = EXPR_BEG; - p->cmd_start = TRUE; - } -#line 11505 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 554: /* f_arglist_paren: '(' f_arg ',' tBDOT3 rparen */ -#line 4428 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); - } -#line 11513 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 555: /* f_arglist_paren: '(' tBDOT3 rparen */ -#line 4432 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, 0); - } -#line 11521 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 557: /* f_arglist: f_args term */ -#line 4439 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[-1].nd); - } -#line 11529 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 558: /* f_arglist: f_arg ',' tBDOT3 term */ -#line 4443 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); - } -#line 11537 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 559: /* f_arglist: "..." term */ -#line 4447 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_dots(p, 0); - } -#line 11545 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 560: /* f_label: "local variable or method" "label" */ -#line 4453 "mrbgems/mruby-compiler/core/parse.y" - { - local_nest(p); - } -#line 11553 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 561: /* f_label: "numbered parameter" "label" */ -#line 4457 "mrbgems/mruby-compiler/core/parse.y" - { - local_nest(p); - } -#line 11561 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 562: /* f_kw: f_label arg */ + case 560: /* superclass: '<' $@31 expr_value term */ #line 4463 "mrbgems/mruby-compiler/core/parse.y" { - void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); - local_unnest(p); + (yyval.nd) = (yyvsp[-1].nd); } -#line 11571 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11659 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 563: /* f_kw: f_label */ -#line 4469 "mrbgems/mruby-compiler/core/parse.y" + case 563: /* f_arglist_paren: '(' f_args rparen */ +#line 4479 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); - local_unnest(p); + (yyval.nd) = (yyvsp[-1].nd); + p->lstate = EXPR_BEG; + p->cmd_start = TRUE; } -#line 11580 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11669 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 564: /* f_block_kw: f_label primary_value */ -#line 4476 "mrbgems/mruby-compiler/core/parse.y" + case 564: /* f_arglist_paren: '(' f_arg ',' tBDOT3 rparen */ +#line 4485 "mrbgems/mruby-compiler/core/parse.y" { - void_expr_error(p, (yyvsp[0].nd)); - (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); - local_unnest(p); + (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } -#line 11590 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11677 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 565: /* f_block_kw: f_label */ -#line 4482 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); - local_unnest(p); - } -#line 11599 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 566: /* f_block_kwarg: f_block_kw */ + case 565: /* f_arglist_paren: '(' tBDOT3 rparen */ #line 4489 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + (yyval.nd) = new_args_dots(p, 0); } -#line 11607 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11685 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 567: /* f_block_kwarg: f_block_kwarg ',' f_block_kw */ -#line 4493 "mrbgems/mruby-compiler/core/parse.y" + case 567: /* f_arglist: f_args term */ +#line 4496 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = (yyvsp[-1].nd); } -#line 11615 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11693 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 568: /* f_kwarg: f_kw */ -#line 4499 "mrbgems/mruby-compiler/core/parse.y" + case 568: /* f_arglist: f_arg ',' tBDOT3 term */ +#line 4500 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = list1((yyvsp[0].nd)); + (yyval.nd) = new_args_dots(p, (yyvsp[-3].nd)); } -#line 11623 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11701 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 569: /* f_kwarg: f_kwarg ',' f_kw */ -#line 4503 "mrbgems/mruby-compiler/core/parse.y" + case 569: /* f_arglist: "..." term */ +#line 4504 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); + (yyval.nd) = new_args_dots(p, 0); } -#line 11631 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11709 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 572: /* f_kwrest: kwrest_mark "local variable or method" */ -#line 4513 "mrbgems/mruby-compiler/core/parse.y" + case 570: /* f_label: "local variable or method" "label" */ +#line 4510 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.id) = (yyvsp[0].id); + local_nest(p); } -#line 11639 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11717 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 573: /* f_kwrest: kwrest_mark */ -#line 4517 "mrbgems/mruby-compiler/core/parse.y" + case 571: /* f_label: "numbered parameter" "label" */ +#line 4514 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.id) = intern_op(pow); + local_nest(p); } -#line 11647 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11725 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 574: /* args_tail: f_kwarg ',' f_kwrest opt_f_block_arg */ -#line 4523 "mrbgems/mruby-compiler/core/parse.y" + case 572: /* f_kw: f_label arg */ +#line 4520 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); - } -#line 11655 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 575: /* args_tail: f_kwarg opt_f_block_arg */ -#line 4527 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); - } -#line 11663 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 576: /* args_tail: f_kwrest opt_f_block_arg */ -#line 4531 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); - } -#line 11671 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 577: /* args_tail: f_block_arg */ -#line 4535 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); - } -#line 11679 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 578: /* opt_args_tail: ',' args_tail */ -#line 4541 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = (yyvsp[0].nd); - } -#line 11687 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 579: /* opt_args_tail: %empty */ -#line 4545 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args_tail(p, 0, 0, 0); - } -#line 11695 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 580: /* f_args: f_arg ',' f_optarg ',' f_rest_arg opt_args_tail */ -#line 4551 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); - } -#line 11703 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 581: /* f_args: f_arg ',' f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4555 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); - } -#line 11711 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 582: /* f_args: f_arg ',' f_optarg opt_args_tail */ -#line 4559 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); - } -#line 11719 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 583: /* f_args: f_arg ',' f_optarg ',' f_arg opt_args_tail */ -#line 4563 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); - } -#line 11727 "mrbgems/mruby-compiler/core/y.tab.c" - break; - - case 584: /* f_args: f_arg ',' f_rest_arg opt_args_tail */ -#line 4567 "mrbgems/mruby-compiler/core/parse.y" - { - (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + void_expr_error(p, (yyvsp[0].nd)); + (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); + local_unnest(p); } #line 11735 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 585: /* f_args: f_arg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4571 "mrbgems/mruby-compiler/core/parse.y" + case 573: /* f_kw: f_label */ +#line 4526 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); + local_unnest(p); } -#line 11743 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11744 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 586: /* f_args: f_arg opt_args_tail */ -#line 4575 "mrbgems/mruby-compiler/core/parse.y" + case 574: /* f_block_kw: f_label primary_value */ +#line 4533 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); + void_expr_error(p, (yyvsp[0].nd)); + (yyval.nd) = new_kw_arg(p, (yyvsp[-1].id), cons((yyvsp[0].nd), locals_node(p))); + local_unnest(p); } -#line 11751 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11754 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 587: /* f_args: f_optarg ',' f_rest_arg opt_args_tail */ -#line 4579 "mrbgems/mruby-compiler/core/parse.y" + case 575: /* f_block_kw: f_label */ +#line 4539 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = new_kw_arg(p, (yyvsp[0].id), 0); + local_unnest(p); } -#line 11759 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11763 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 588: /* f_args: f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ -#line 4583 "mrbgems/mruby-compiler/core/parse.y" + case 576: /* f_block_kwarg: f_block_kw */ +#line 4546 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11767 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11771 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 589: /* f_args: f_optarg opt_args_tail */ -#line 4587 "mrbgems/mruby-compiler/core/parse.y" + case 577: /* f_block_kwarg: f_block_kwarg ',' f_block_kw */ +#line 4550 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11775 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11779 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 590: /* f_args: f_optarg ',' f_arg opt_args_tail */ -#line 4591 "mrbgems/mruby-compiler/core/parse.y" + case 578: /* f_kwarg: f_kw */ +#line 4556 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11783 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11787 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 591: /* f_args: f_rest_arg opt_args_tail */ -#line 4595 "mrbgems/mruby-compiler/core/parse.y" + case 579: /* f_kwarg: f_kwarg ',' f_kw */ +#line 4560 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11791 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11795 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 592: /* f_args: f_rest_arg ',' f_arg opt_args_tail */ -#line 4599 "mrbgems/mruby-compiler/core/parse.y" + case 582: /* f_kwrest: kwrest_mark "local variable or method" */ +#line 4570 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + (yyval.id) = (yyvsp[0].id); } -#line 11799 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11803 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 593: /* f_args: args_tail */ -#line 4603 "mrbgems/mruby-compiler/core/parse.y" + case 583: /* f_kwrest: kwrest_mark */ +#line 4574 "mrbgems/mruby-compiler/core/parse.y" { - (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); + (yyval.id) = intern_op(pow); } -#line 11807 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11811 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 594: /* f_args: %empty */ -#line 4607 "mrbgems/mruby-compiler/core/parse.y" + case 584: /* args_tail: f_kwarg ',' f_kwrest opt_f_block_arg */ +#line 4580 "mrbgems/mruby-compiler/core/parse.y" { - local_add_f(p, 0); - (yyval.nd) = new_args(p, 0, 0, 0, 0, 0); + (yyval.nd) = new_args_tail(p, (yyvsp[-3].nd), (yyvsp[-1].id), (yyvsp[0].id)); } -#line 11816 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11819 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 595: /* f_bad_arg: "constant" */ -#line 4614 "mrbgems/mruby-compiler/core/parse.y" + case 585: /* args_tail: f_kwarg opt_f_block_arg */ +#line 4584 "mrbgems/mruby-compiler/core/parse.y" { - yyerror(&(yylsp[0]), p, "formal argument cannot be a constant"); - (yyval.nd) = 0; + (yyval.nd) = new_args_tail(p, (yyvsp[-1].nd), 0, (yyvsp[0].id)); } -#line 11825 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11827 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 596: /* f_bad_arg: "instance variable" */ -#line 4619 "mrbgems/mruby-compiler/core/parse.y" + case 586: /* args_tail: f_kwrest opt_f_block_arg */ +#line 4588 "mrbgems/mruby-compiler/core/parse.y" { - yyerror(&(yylsp[0]), p, "formal argument cannot be an instance variable"); - (yyval.nd) = 0; + (yyval.nd) = new_args_tail(p, 0, (yyvsp[-1].id), (yyvsp[0].id)); } -#line 11834 "mrbgems/mruby-compiler/core/y.tab.c" +#line 11835 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 597: /* f_bad_arg: "global variable" */ -#line 4624 "mrbgems/mruby-compiler/core/parse.y" + case 587: /* args_tail: f_block_arg */ +#line 4592 "mrbgems/mruby-compiler/core/parse.y" { - yyerror(&(yylsp[0]), p, "formal argument cannot be a global variable"); - (yyval.nd) = 0; + (yyval.nd) = new_args_tail(p, 0, 0, (yyvsp[0].id)); } #line 11843 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 598: /* f_bad_arg: "class variable" */ -#line 4629 "mrbgems/mruby-compiler/core/parse.y" + case 588: /* opt_args_tail: ',' args_tail */ +#line 4598 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = (yyvsp[0].nd); + } +#line 11851 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 589: /* opt_args_tail: %empty */ +#line 4602 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args_tail(p, 0, 0, 0); + } +#line 11859 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 590: /* f_args: f_arg ',' f_optarg ',' f_rest_arg opt_args_tail */ +#line 4608 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); + } +#line 11867 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 591: /* f_args: f_arg ',' f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4612 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-7].nd), (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 11875 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 592: /* f_args: f_arg ',' f_optarg opt_args_tail */ +#line 4616 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-3].nd), (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + } +#line 11883 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 593: /* f_args: f_arg ',' f_optarg ',' f_arg opt_args_tail */ +#line 4620 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-5].nd), (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 11891 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 594: /* f_args: f_arg ',' f_rest_arg opt_args_tail */ +#line 4624 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-3].nd), 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + } +#line 11899 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 595: /* f_args: f_arg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4628 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-5].nd), 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 11907 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 596: /* f_args: f_arg opt_args_tail */ +#line 4632 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, (yyvsp[-1].nd), 0, 0, 0, (yyvsp[0].nd)); + } +#line 11915 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 597: /* f_args: f_optarg ',' f_rest_arg opt_args_tail */ +#line 4636 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), (yyvsp[-1].id), 0, (yyvsp[0].nd)); + } +#line 11923 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 598: /* f_args: f_optarg ',' f_rest_arg ',' f_arg opt_args_tail */ +#line 4640 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, (yyvsp[-5].nd), (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 11931 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 599: /* f_args: f_optarg opt_args_tail */ +#line 4644 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, (yyvsp[-1].nd), 0, 0, (yyvsp[0].nd)); + } +#line 11939 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 600: /* f_args: f_optarg ',' f_arg opt_args_tail */ +#line 4648 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, (yyvsp[-3].nd), 0, (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 11947 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 601: /* f_args: f_rest_arg opt_args_tail */ +#line 4652 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, 0, (yyvsp[-1].id), 0, (yyvsp[0].nd)); + } +#line 11955 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 602: /* f_args: f_rest_arg ',' f_arg opt_args_tail */ +#line 4656 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, 0, (yyvsp[-3].id), (yyvsp[-1].nd), (yyvsp[0].nd)); + } +#line 11963 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 603: /* f_args: args_tail */ +#line 4660 "mrbgems/mruby-compiler/core/parse.y" + { + (yyval.nd) = new_args(p, 0, 0, 0, 0, (yyvsp[0].nd)); + } +#line 11971 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 604: /* f_args: %empty */ +#line 4664 "mrbgems/mruby-compiler/core/parse.y" + { + local_add_f(p, 0); + (yyval.nd) = new_args(p, 0, 0, 0, 0, 0); + } +#line 11980 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 605: /* f_bad_arg: "constant" */ +#line 4671 "mrbgems/mruby-compiler/core/parse.y" + { + yyerror(&(yylsp[0]), p, "formal argument cannot be a constant"); + (yyval.nd) = 0; + } +#line 11989 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 606: /* f_bad_arg: "instance variable" */ +#line 4676 "mrbgems/mruby-compiler/core/parse.y" + { + yyerror(&(yylsp[0]), p, "formal argument cannot be an instance variable"); + (yyval.nd) = 0; + } +#line 11998 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 607: /* f_bad_arg: "global variable" */ +#line 4681 "mrbgems/mruby-compiler/core/parse.y" + { + yyerror(&(yylsp[0]), p, "formal argument cannot be a global variable"); + (yyval.nd) = 0; + } +#line 12007 "mrbgems/mruby-compiler/core/y.tab.c" + break; + + case 608: /* f_bad_arg: "class variable" */ +#line 4686 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a class variable"); (yyval.nd) = 0; } -#line 11852 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12016 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 599: /* f_bad_arg: "numbered parameter" */ -#line 4634 "mrbgems/mruby-compiler/core/parse.y" + case 609: /* f_bad_arg: "numbered parameter" */ +#line 4691 "mrbgems/mruby-compiler/core/parse.y" { yyerror(&(yylsp[0]), p, "formal argument cannot be a numbered parameter"); (yyval.nd) = 0; } -#line 11861 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12025 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 600: /* f_norm_arg: f_bad_arg */ -#line 4641 "mrbgems/mruby-compiler/core/parse.y" + case 610: /* f_norm_arg: f_bad_arg */ +#line 4698 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 11869 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12033 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 601: /* f_norm_arg: "local variable or method" */ -#line 4645 "mrbgems/mruby-compiler/core/parse.y" + case 611: /* f_norm_arg: "local variable or method" */ +#line 4702 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 11878 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12042 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 602: /* f_arg_item: f_norm_arg */ -#line 4652 "mrbgems/mruby-compiler/core/parse.y" + case 612: /* f_arg_item: f_norm_arg */ +#line 4709 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_lvar(p, (yyvsp[0].id)); } -#line 11886 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12050 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 603: /* @32: %empty */ -#line 4656 "mrbgems/mruby-compiler/core/parse.y" + case 613: /* @32: %empty */ +#line 4713 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = local_switch(p); } -#line 11894 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12058 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 604: /* f_arg_item: tLPAREN @32 f_margs rparen */ -#line 4660 "mrbgems/mruby-compiler/core/parse.y" + case 614: /* f_arg_item: tLPAREN @32 f_margs rparen */ +#line 4717 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = new_marg(p, (yyvsp[-1].nd)); local_resume(p, (yyvsp[-2].nd)); local_add_f(p, 0); } -#line 11904 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12068 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 605: /* f_arg: f_arg_item */ -#line 4668 "mrbgems/mruby-compiler/core/parse.y" + case 615: /* f_arg: f_arg_item */ +#line 4725 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11912 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12076 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 606: /* f_arg: f_arg ',' f_arg_item */ -#line 4672 "mrbgems/mruby-compiler/core/parse.y" + case 616: /* f_arg: f_arg ',' f_arg_item */ +#line 4729 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11920 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12084 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 607: /* f_opt_asgn: "local variable or method" '=' */ -#line 4678 "mrbgems/mruby-compiler/core/parse.y" + case 617: /* f_opt_asgn: "local variable or method" '=' */ +#line 4735 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[-1].id)); local_nest(p); (yyval.id) = (yyvsp[-1].id); } -#line 11930 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12094 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 608: /* f_opt: f_opt_asgn arg */ -#line 4686 "mrbgems/mruby-compiler/core/parse.y" + case 618: /* f_opt: f_opt_asgn arg */ +#line 4743 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(sym_to_node((yyvsp[-1].id)), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 11940 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12104 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 609: /* f_block_opt: f_opt_asgn primary_value */ -#line 4694 "mrbgems/mruby-compiler/core/parse.y" + case 619: /* f_block_opt: f_opt_asgn primary_value */ +#line 4751 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(sym_to_node((yyvsp[-1].id)), cons((yyvsp[0].nd), locals_node(p))); local_unnest(p); } -#line 11950 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12114 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 610: /* f_block_optarg: f_block_opt */ -#line 4702 "mrbgems/mruby-compiler/core/parse.y" + case 620: /* f_block_optarg: f_block_opt */ +#line 4759 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11958 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12122 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 611: /* f_block_optarg: f_block_optarg ',' f_block_opt */ -#line 4706 "mrbgems/mruby-compiler/core/parse.y" + case 621: /* f_block_optarg: f_block_optarg ',' f_block_opt */ +#line 4763 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11966 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12130 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 612: /* f_optarg: f_opt */ -#line 4712 "mrbgems/mruby-compiler/core/parse.y" + case 622: /* f_optarg: f_opt */ +#line 4769 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 11974 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12138 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 613: /* f_optarg: f_optarg ',' f_opt */ -#line 4716 "mrbgems/mruby-compiler/core/parse.y" + case 623: /* f_optarg: f_optarg ',' f_opt */ +#line 4773 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 11982 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12146 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 616: /* f_rest_arg: restarg_mark "local variable or method" */ -#line 4726 "mrbgems/mruby-compiler/core/parse.y" + case 626: /* f_rest_arg: restarg_mark "local variable or method" */ +#line 4783 "mrbgems/mruby-compiler/core/parse.y" { local_add_f(p, (yyvsp[0].id)); (yyval.id) = (yyvsp[0].id); } -#line 11991 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12155 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 617: /* f_rest_arg: restarg_mark */ -#line 4731 "mrbgems/mruby-compiler/core/parse.y" + case 627: /* f_rest_arg: restarg_mark */ +#line 4788 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(mul); local_add_f(p, (yyval.id)); } -#line 12000 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12164 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 620: /* f_block_arg: blkarg_mark "local variable or method" */ -#line 4742 "mrbgems/mruby-compiler/core/parse.y" + case 630: /* f_block_arg: blkarg_mark "local variable or method" */ +#line 4799 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 12008 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12172 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 621: /* f_block_arg: blkarg_mark */ -#line 4746 "mrbgems/mruby-compiler/core/parse.y" + case 631: /* f_block_arg: blkarg_mark */ +#line 4803 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = intern_op(and); } -#line 12016 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12180 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 622: /* opt_f_block_arg: ',' f_block_arg */ -#line 4752 "mrbgems/mruby-compiler/core/parse.y" + case 632: /* opt_f_block_arg: ',' f_block_arg */ +#line 4809 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = (yyvsp[0].id); } -#line 12024 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12188 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 623: /* opt_f_block_arg: none */ -#line 4756 "mrbgems/mruby-compiler/core/parse.y" + case 633: /* opt_f_block_arg: none */ +#line 4813 "mrbgems/mruby-compiler/core/parse.y" { (yyval.id) = 0; } -#line 12032 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12196 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 624: /* singleton: var_ref */ -#line 4762 "mrbgems/mruby-compiler/core/parse.y" + case 634: /* singleton: var_ref */ +#line 4819 "mrbgems/mruby-compiler/core/parse.y" { prohibit_literals(p, (yyvsp[0].nd)); (yyval.nd) = (yyvsp[0].nd); if (!(yyval.nd)) (yyval.nd) = new_nil(p); } -#line 12042 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12206 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 625: /* $@33: %empty */ -#line 4767 "mrbgems/mruby-compiler/core/parse.y" + case 635: /* $@33: %empty */ +#line 4824 "mrbgems/mruby-compiler/core/parse.y" {p->lstate = EXPR_BEG;} -#line 12048 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12212 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 626: /* singleton: '(' $@33 expr rparen */ -#line 4768 "mrbgems/mruby-compiler/core/parse.y" + case 636: /* singleton: '(' $@33 expr rparen */ +#line 4825 "mrbgems/mruby-compiler/core/parse.y" { prohibit_literals(p, (yyvsp[-1].nd)); (yyval.nd) = (yyvsp[-1].nd); } -#line 12057 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12221 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 628: /* assoc_list: assocs trailer */ -#line 4776 "mrbgems/mruby-compiler/core/parse.y" + case 638: /* assoc_list: assocs trailer */ +#line 4833 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = (yyvsp[-1].nd); } -#line 12065 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12229 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 629: /* assocs: assoc */ -#line 4782 "mrbgems/mruby-compiler/core/parse.y" + case 639: /* assocs: assoc */ +#line 4839 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = list1((yyvsp[0].nd)); } -#line 12073 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12237 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 630: /* assocs: assocs comma assoc */ -#line 4786 "mrbgems/mruby-compiler/core/parse.y" + case 640: /* assocs: assocs comma assoc */ +#line 4843 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = push((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 12081 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12245 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 631: /* assoc: arg "=>" arg */ -#line 4792 "mrbgems/mruby-compiler/core/parse.y" + case 641: /* assoc: arg "=>" arg */ +#line 4849 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[-2].nd)); void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons((yyvsp[-2].nd), (yyvsp[0].nd)); } -#line 12091 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12255 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 632: /* assoc: "local variable or method" "label" arg */ -#line 4798 "mrbgems/mruby-compiler/core/parse.y" + case 642: /* assoc: "local variable or method" "label" arg */ +#line 4855 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_sym(p, (yyvsp[-2].id)), (yyvsp[0].nd)); } -#line 12100 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12264 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 633: /* assoc: "local variable or method" "label" */ -#line 4803 "mrbgems/mruby-compiler/core/parse.y" + case 643: /* assoc: "local variable or method" "label" */ +#line 4860 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_sym(p, (yyvsp[-1].id)), label_reference(p, (yyvsp[-1].id))); } -#line 12108 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12272 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 634: /* assoc: "numbered parameter" "label" */ -#line 4807 "mrbgems/mruby-compiler/core/parse.y" + case 644: /* assoc: "numbered parameter" "label" */ +#line 4864 "mrbgems/mruby-compiler/core/parse.y" { mrb_sym sym = intern_numparam((yyvsp[-1].num)); (yyval.nd) = cons(new_sym(p, sym), label_reference(p, sym)); } -#line 12117 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12281 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 635: /* assoc: "numbered parameter" "label" arg */ -#line 4812 "mrbgems/mruby-compiler/core/parse.y" + case 645: /* assoc: "numbered parameter" "label" arg */ +#line 4869 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_sym(p, intern_numparam((yyvsp[-2].num))), (yyvsp[0].nd)); } -#line 12126 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12290 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 636: /* assoc: string_fragment "label" arg */ -#line 4817 "mrbgems/mruby-compiler/core/parse.y" + case 646: /* assoc: string_fragment "label" arg */ +#line 4874 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); if ((yyvsp[-2].nd)->cdr) { @@ -12142,75 +12306,75 @@ yyreduce: (yyval.nd) = cons(new_sym(p, new_strsym(p, (yyvsp[-2].nd)->car)), (yyvsp[0].nd)); } } -#line 12146 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12310 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 637: /* assoc: "**" arg */ -#line 4833 "mrbgems/mruby-compiler/core/parse.y" + case 647: /* assoc: "**" arg */ +#line 4890 "mrbgems/mruby-compiler/core/parse.y" { void_expr_error(p, (yyvsp[0].nd)); (yyval.nd) = cons(new_kw_rest_args(p, 0), (yyvsp[0].nd)); } -#line 12155 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12319 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 638: /* assoc: "**" */ -#line 4838 "mrbgems/mruby-compiler/core/parse.y" + case 648: /* assoc: "**" */ +#line 4895 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = cons(new_kw_rest_args(p, 0), new_lvar(p, intern_op(pow))); } -#line 12163 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12327 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 651: /* call_op: '.' */ -#line 4864 "mrbgems/mruby-compiler/core/parse.y" + case 661: /* call_op: '.' */ +#line 4921 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = '.'; } -#line 12171 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12335 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 652: /* call_op: "&." */ -#line 4868 "mrbgems/mruby-compiler/core/parse.y" + case 662: /* call_op: "&." */ +#line 4925 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = 0; } -#line 12179 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12343 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 654: /* call_op2: "::" */ -#line 4875 "mrbgems/mruby-compiler/core/parse.y" + case 664: /* call_op2: "::" */ +#line 4932 "mrbgems/mruby-compiler/core/parse.y" { (yyval.num) = tCOLON2; } -#line 12187 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12351 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 663: /* term: ';' */ -#line 4896 "mrbgems/mruby-compiler/core/parse.y" + case 673: /* term: ';' */ +#line 4953 "mrbgems/mruby-compiler/core/parse.y" {yyerrok;} -#line 12193 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12357 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 665: /* nl: '\n' */ -#line 4901 "mrbgems/mruby-compiler/core/parse.y" + case 675: /* nl: '\n' */ +#line 4958 "mrbgems/mruby-compiler/core/parse.y" { p->lineno += (yyvsp[0].num); p->column = 0; } -#line 12202 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12366 "mrbgems/mruby-compiler/core/y.tab.c" break; - case 669: /* none: %empty */ -#line 4913 "mrbgems/mruby-compiler/core/parse.y" + case 679: /* none: %empty */ +#line 4970 "mrbgems/mruby-compiler/core/parse.y" { (yyval.nd) = 0; } -#line 12210 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12374 "mrbgems/mruby-compiler/core/y.tab.c" break; -#line 12214 "mrbgems/mruby-compiler/core/y.tab.c" +#line 12378 "mrbgems/mruby-compiler/core/y.tab.c" default: break; } @@ -12443,7 +12607,7 @@ yyreturnlab: return yyresult; } -#line 4917 "mrbgems/mruby-compiler/core/parse.y" +#line 4974 "mrbgems/mruby-compiler/core/parse.y" #define pylval (*((YYSTYPE*)(p->ylval)))