diff --git a/dtool/src/cppparser/cppBison.cxx.prebuilt b/dtool/src/cppparser/cppBison.cxx.prebuilt index 26e92e8511..ab408c73c5 100644 --- a/dtool/src/cppparser/cppBison.cxx.prebuilt +++ b/dtool/src/cppparser/cppBison.cxx.prebuilt @@ -556,39 +556,40 @@ enum yysymbol_kind_t YYSYMBOL_class_derivation = 254, /* class_derivation */ YYSYMBOL_base_specification = 255, /* base_specification */ YYSYMBOL_enum = 256, /* enum */ - YYSYMBOL_enum_decl = 257, /* enum_decl */ - YYSYMBOL_enum_element_type = 258, /* enum_element_type */ - YYSYMBOL_enum_body_trailing_comma = 259, /* enum_body_trailing_comma */ - YYSYMBOL_enum_body = 260, /* enum_body */ - YYSYMBOL_enum_keyword = 261, /* enum_keyword */ - YYSYMBOL_struct_keyword = 262, /* struct_keyword */ - YYSYMBOL_namespace_declaration = 263, /* namespace_declaration */ - YYSYMBOL_264_19 = 264, /* $@19 */ + YYSYMBOL_257_19 = 257, /* $@19 */ + YYSYMBOL_enum_decl = 258, /* enum_decl */ + YYSYMBOL_enum_element_type = 259, /* enum_element_type */ + YYSYMBOL_enum_body_trailing_comma = 260, /* enum_body_trailing_comma */ + YYSYMBOL_enum_body = 261, /* enum_body */ + YYSYMBOL_enum_keyword = 262, /* enum_keyword */ + YYSYMBOL_struct_keyword = 263, /* struct_keyword */ + YYSYMBOL_namespace_declaration = 264, /* namespace_declaration */ YYSYMBOL_265_20 = 265, /* $@20 */ - YYSYMBOL_using_declaration = 266, /* using_declaration */ - YYSYMBOL_simple_type = 267, /* simple_type */ - YYSYMBOL_simple_int_type = 268, /* simple_int_type */ - YYSYMBOL_simple_float_type = 269, /* simple_float_type */ - YYSYMBOL_simple_void_type = 270, /* simple_void_type */ - YYSYMBOL_code = 271, /* code */ - YYSYMBOL_272_21 = 272, /* $@21 */ - YYSYMBOL_code_block = 273, /* code_block */ - YYSYMBOL_element = 274, /* element */ - YYSYMBOL_optional_const_expr = 275, /* optional_const_expr */ - YYSYMBOL_optional_const_expr_comma = 276, /* optional_const_expr_comma */ - YYSYMBOL_const_expr_comma = 277, /* const_expr_comma */ - YYSYMBOL_no_angle_bracket_const_expr = 278, /* no_angle_bracket_const_expr */ - YYSYMBOL_const_expr = 279, /* const_expr */ - YYSYMBOL_const_operand = 280, /* const_operand */ - YYSYMBOL_formal_const_expr = 281, /* formal_const_expr */ - YYSYMBOL_formal_const_operand = 282, /* formal_const_operand */ - YYSYMBOL_capture_list = 283, /* capture_list */ - YYSYMBOL_capture = 284, /* capture */ - YYSYMBOL_class_derivation_name = 285, /* class_derivation_name */ - YYSYMBOL_name = 286, /* name */ - YYSYMBOL_name_no_final = 287, /* name_no_final */ - YYSYMBOL_string_literal = 288, /* string_literal */ - YYSYMBOL_empty = 289 /* empty */ + YYSYMBOL_266_21 = 266, /* $@21 */ + YYSYMBOL_using_declaration = 267, /* using_declaration */ + YYSYMBOL_simple_type = 268, /* simple_type */ + YYSYMBOL_simple_int_type = 269, /* simple_int_type */ + YYSYMBOL_simple_float_type = 270, /* simple_float_type */ + YYSYMBOL_simple_void_type = 271, /* simple_void_type */ + YYSYMBOL_code = 272, /* code */ + YYSYMBOL_273_22 = 273, /* $@22 */ + YYSYMBOL_code_block = 274, /* code_block */ + YYSYMBOL_element = 275, /* element */ + YYSYMBOL_optional_const_expr = 276, /* optional_const_expr */ + YYSYMBOL_optional_const_expr_comma = 277, /* optional_const_expr_comma */ + YYSYMBOL_const_expr_comma = 278, /* const_expr_comma */ + YYSYMBOL_no_angle_bracket_const_expr = 279, /* no_angle_bracket_const_expr */ + YYSYMBOL_const_expr = 280, /* const_expr */ + YYSYMBOL_const_operand = 281, /* const_operand */ + YYSYMBOL_formal_const_expr = 282, /* formal_const_expr */ + YYSYMBOL_formal_const_operand = 283, /* formal_const_operand */ + YYSYMBOL_capture_list = 284, /* capture_list */ + YYSYMBOL_capture = 285, /* capture */ + YYSYMBOL_class_derivation_name = 286, /* class_derivation_name */ + YYSYMBOL_name = 287, /* name */ + YYSYMBOL_name_no_final = 288, /* name_no_final */ + YYSYMBOL_string_literal = 289, /* string_literal */ + YYSYMBOL_empty = 290 /* empty */ }; typedef enum yysymbol_kind_t yysymbol_kind_t; @@ -919,16 +920,16 @@ union yyalloc /* YYFINAL -- State number of the termination state. */ #define YYFINAL 108 /* YYLAST -- Last index in YYTABLE. */ -#define YYLAST 7072 +#define YYLAST 7071 /* YYNTOKENS -- Number of terminals. */ #define YYNTOKENS 178 /* YYNNTS -- Number of nonterminals. */ -#define YYNNTS 112 +#define YYNNTS 113 /* YYNRULES -- Number of rules. */ -#define YYNRULES 781 +#define YYNRULES 782 /* YYNSTATES -- Number of states. */ -#define YYNSTATES 1670 +#define YYNSTATES 1671 /* YYMAXUTOK -- Last valid token kind. */ #define YYMAXUTOK 408 @@ -1028,49 +1029,49 @@ static const yytype_int16 yyrline[] = 2752, 2756, 2764, 2768, 2784, 2800, 2809, 2819, 2826, 2830, 2838, 2842, 2847, 2851, 2860, 2859, 2884, 2883, 2913, 2914, 2921, 2922, 2926, 2927, 2931, 2935, 2939, 2943, 2947, 2951, - 2955, 2959, 2963, 2967, 2974, 2982, 2986, 2990, 2995, 3003, - 3007, 3014, 3015, 3020, 3027, 3028, 3033, 3041, 3045, 3049, - 3056, 3060, 3064, 3072, 3071, 3094, 3093, 3116, 3117, 3121, - 3127, 3134, 3140, 3149, 3150, 3151, 3155, 3159, 3163, 3167, - 3171, 3175, 3179, 3184, 3189, 3194, 3199, 3203, 3208, 3217, - 3222, 3230, 3234, 3238, 3246, 3256, 3256, 3266, 3267, 3271, - 3272, 3273, 3274, 3275, 3276, 3277, 3278, 3279, 3280, 3281, - 3282, 3282, 3282, 3283, 3283, 3283, 3283, 3283, 3284, 3284, - 3284, 3284, 3284, 3285, 3285, 3285, 3286, 3286, 3286, 3286, - 3286, 3287, 3287, 3287, 3287, 3287, 3288, 3288, 3289, 3289, - 3289, 3289, 3289, 3290, 3290, 3290, 3290, 3290, 3291, 3291, - 3291, 3291, 3291, 3292, 3292, 3292, 3292, 3292, 3293, 3293, - 3293, 3293, 3293, 3294, 3294, 3294, 3294, 3294, 3295, 3295, - 3295, 3295, 3295, 3295, 3296, 3296, 3296, 3296, 3296, 3297, - 3297, 3297, 3297, 3298, 3298, 3298, 3298, 3299, 3299, 3299, - 3299, 3299, 3300, 3300, 3300, 3300, 3301, 3301, 3301, 3301, - 3301, 3302, 3302, 3302, 3302, 3303, 3303, 3303, 3303, 3303, - 3304, 3304, 3307, 3307, 3307, 3307, 3307, 3307, 3307, 3307, - 3307, 3307, 3307, 3308, 3308, 3308, 3308, 3308, 3308, 3308, - 3308, 3308, 3308, 3309, 3309, 3313, 3317, 3324, 3328, 3335, - 3339, 3346, 3350, 3354, 3358, 3362, 3366, 3370, 3374, 3378, - 3382, 3386, 3390, 3394, 3398, 3402, 3406, 3410, 3414, 3418, - 3422, 3426, 3430, 3434, 3438, 3442, 3446, 3450, 3454, 3458, - 3462, 3466, 3470, 3474, 3478, 3482, 3486, 3490, 3494, 3498, - 3502, 3510, 3514, 3518, 3522, 3526, 3530, 3534, 3544, 3554, - 3560, 3566, 3572, 3578, 3584, 3590, 3596, 3603, 3610, 3617, - 3624, 3630, 3636, 3640, 3644, 3648, 3652, 3656, 3660, 3671, - 3682, 3686, 3690, 3694, 3698, 3702, 3706, 3710, 3714, 3718, - 3722, 3726, 3730, 3734, 3738, 3742, 3746, 3750, 3754, 3758, - 3762, 3766, 3770, 3774, 3778, 3782, 3786, 3790, 3794, 3798, - 3802, 3806, 3810, 3817, 3821, 3825, 3829, 3833, 3837, 3841, - 3845, 3849, 3855, 3861, 3865, 3872, 3880, 3884, 3888, 3892, - 3896, 3900, 3904, 3908, 3912, 3916, 3920, 3924, 3928, 3932, - 3936, 3940, 3944, 3948, 3962, 3966, 3970, 3974, 3978, 3982, - 3986, 3990, 3994, 3998, 4002, 4006, 4010, 4021, 4032, 4036, - 4040, 4044, 4048, 4052, 4056, 4060, 4064, 4068, 4072, 4076, - 4080, 4084, 4088, 4092, 4096, 4100, 4104, 4108, 4112, 4116, - 4120, 4124, 4128, 4132, 4136, 4140, 4144, 4148, 4152, 4159, - 4163, 4167, 4171, 4175, 4179, 4183, 4187, 4191, 4197, 4203, - 4211, 4215, 4219, 4223, 4230, 4240, 4246, 4252, 4262, 4274, - 4282, 4286, 4316, 4320, 4324, 4328, 4332, 4336, 4342, 4346, - 4350, 4354, 4358, 4369, 4373, 4377, 4381, 4389, 4393, 4397, - 4403, 4414 + 2955, 2959, 2963, 2967, 2975, 2974, 2991, 2995, 2999, 3004, + 3012, 3016, 3023, 3024, 3029, 3036, 3037, 3042, 3050, 3054, + 3058, 3065, 3069, 3073, 3081, 3080, 3103, 3102, 3125, 3126, + 3130, 3136, 3143, 3149, 3158, 3159, 3160, 3164, 3168, 3172, + 3176, 3180, 3184, 3188, 3193, 3198, 3203, 3208, 3212, 3217, + 3226, 3231, 3239, 3243, 3247, 3255, 3265, 3265, 3275, 3276, + 3280, 3281, 3282, 3283, 3284, 3285, 3286, 3287, 3288, 3289, + 3290, 3291, 3291, 3291, 3292, 3292, 3292, 3292, 3292, 3293, + 3293, 3293, 3293, 3293, 3294, 3294, 3294, 3295, 3295, 3295, + 3295, 3295, 3296, 3296, 3296, 3296, 3296, 3297, 3297, 3298, + 3298, 3298, 3298, 3298, 3299, 3299, 3299, 3299, 3299, 3300, + 3300, 3300, 3300, 3300, 3301, 3301, 3301, 3301, 3301, 3302, + 3302, 3302, 3302, 3302, 3303, 3303, 3303, 3303, 3303, 3304, + 3304, 3304, 3304, 3304, 3304, 3305, 3305, 3305, 3305, 3305, + 3306, 3306, 3306, 3306, 3307, 3307, 3307, 3307, 3308, 3308, + 3308, 3308, 3308, 3309, 3309, 3309, 3309, 3310, 3310, 3310, + 3310, 3310, 3311, 3311, 3311, 3311, 3312, 3312, 3312, 3312, + 3312, 3313, 3313, 3316, 3316, 3316, 3316, 3316, 3316, 3316, + 3316, 3316, 3316, 3316, 3317, 3317, 3317, 3317, 3317, 3317, + 3317, 3317, 3317, 3317, 3318, 3318, 3322, 3326, 3333, 3337, + 3344, 3348, 3355, 3359, 3363, 3367, 3371, 3375, 3379, 3383, + 3387, 3391, 3395, 3399, 3403, 3407, 3411, 3415, 3419, 3423, + 3427, 3431, 3435, 3439, 3443, 3447, 3451, 3455, 3459, 3463, + 3467, 3471, 3475, 3479, 3483, 3487, 3491, 3495, 3499, 3503, + 3507, 3511, 3519, 3523, 3527, 3531, 3535, 3539, 3543, 3553, + 3563, 3569, 3575, 3581, 3587, 3593, 3599, 3605, 3612, 3619, + 3626, 3633, 3639, 3645, 3649, 3653, 3657, 3661, 3665, 3669, + 3680, 3691, 3695, 3699, 3703, 3707, 3711, 3715, 3719, 3723, + 3727, 3731, 3735, 3739, 3743, 3747, 3751, 3755, 3759, 3763, + 3767, 3771, 3775, 3779, 3783, 3787, 3791, 3795, 3799, 3803, + 3807, 3811, 3815, 3819, 3826, 3830, 3834, 3838, 3842, 3846, + 3850, 3854, 3858, 3864, 3870, 3874, 3881, 3889, 3893, 3897, + 3901, 3905, 3909, 3913, 3917, 3921, 3925, 3929, 3933, 3937, + 3941, 3945, 3949, 3953, 3957, 3971, 3975, 3979, 3983, 3987, + 3991, 3995, 3999, 4003, 4007, 4011, 4015, 4019, 4030, 4041, + 4045, 4049, 4053, 4057, 4061, 4065, 4069, 4073, 4077, 4081, + 4085, 4089, 4093, 4097, 4101, 4105, 4109, 4113, 4117, 4121, + 4125, 4129, 4133, 4137, 4141, 4145, 4149, 4153, 4157, 4161, + 4168, 4172, 4176, 4180, 4184, 4188, 4192, 4196, 4200, 4206, + 4212, 4220, 4224, 4228, 4232, 4239, 4249, 4255, 4261, 4271, + 4283, 4291, 4295, 4325, 4329, 4333, 4337, 4341, 4345, 4351, + 4355, 4359, 4363, 4367, 4378, 4382, 4386, 4390, 4398, 4402, + 4406, 4412, 4423 }; #endif @@ -1147,11 +1148,11 @@ static const char *const yytname[] = "empty_instance_identifier", "type", "type_pack", "type_decl", "predefined_type", "var_type_decl", "full_type", "anonymous_struct", "$@17", "named_struct", "$@18", "maybe_final", "maybe_class_derivation", - "class_derivation", "base_specification", "enum", "enum_decl", + "class_derivation", "base_specification", "enum", "$@19", "enum_decl", "enum_element_type", "enum_body_trailing_comma", "enum_body", - "enum_keyword", "struct_keyword", "namespace_declaration", "$@19", - "$@20", "using_declaration", "simple_type", "simple_int_type", - "simple_float_type", "simple_void_type", "code", "$@21", "code_block", + "enum_keyword", "struct_keyword", "namespace_declaration", "$@20", + "$@21", "using_declaration", "simple_type", "simple_int_type", + "simple_float_type", "simple_void_type", "code", "$@22", "code_block", "element", "optional_const_expr", "optional_const_expr_comma", "const_expr_comma", "no_angle_bracket_const_expr", "const_expr", "const_operand", "formal_const_expr", "formal_const_operand", @@ -1166,12 +1167,12 @@ yysymbol_name (yysymbol_kind_t yysymbol) } #endif -#define YYPACT_NINF (-1076) +#define YYPACT_NINF (-1070) #define yypact_value_is_default(Yyn) \ ((Yyn) == YYPACT_NINF) -#define YYTABLE_NINF (-777) +#define YYTABLE_NINF (-778) #define yytable_value_is_error(Yyn) \ 0 @@ -1180,173 +1181,174 @@ yysymbol_name (yysymbol_kind_t yysymbol) STATE-NUM. */ static const yytype_int16 yypact[] = { - 417, -1076, 4272, 6265, 143, 61, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -89, -14, -9, 25, 37, 49, - 76, -49, 117, 146, -1076, -1076, 145, 148, 152, 154, - 168, 172, 174, 179, 200, 208, 232, 235, 249, 253, - 256, 287, 304, 335, 348, 365, 6529, 4272, -1076, -1076, - 186, 376, 384, 2182, 254, -1076, 386, 395, 400, 4272, - 4272, 4272, 4272, 4272, 2842, 845, 4272, 4149, -1076, 114, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, 6384, - 401, -1076, 8, -1076, -1076, 2327, 4831, 4831, -1076, 5163, - 406, -1076, 4831, -1076, -1076, 478, 478, -1076, -1076, -1076, - -1076, 427, 245, 245, -1076, -1076, -1076, -1076, -1076, 5119, - 413, 340, -1076, 4272, 4272, 6265, 4272, 4272, 4272, 4272, - 4272, 6265, 4272, 6265, 4272, 6265, 4272, 6265, 6265, 6265, - 6265, 6265, 6265, 6265, 6265, 6265, 6265, 6265, 6265, 6265, - 6265, 6265, 6265, 4272, -1076, -1076, 414, 5163, 422, 430, - 245, 245, -1076, 5381, 6265, 4272, 4272, 435, 2842, 228, - 6265, 2842, 4272, 4272, 228, 228, 228, 228, 228, -89, - -9, 25, 37, 49, 76, 117, 145, 152, 3616, 5935, - 6113, 6727, 400, 437, -101, 4149, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, 5163, 5163, - -114, 454, -1076, -1076, 228, 4272, 4272, 4272, 4272, 4272, - 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, - 4272, 4272, 4272, 4272, 4272, 4272, 5163, 3278, 4272, -1076, - -1076, 478, 478, 3420, -1076, -1076, -1076, 4831, -1076, -1076, - -1076, -1076, 6265, -1076, 421, 632, 245, 478, 478, 245, - 245, 109, 443, -1076, 447, -1076, -1076, 139, 2016, 5163, - 576, 473, 464, 2989, -1076, 6815, 462, 484, -1076, 467, - 475, 480, 482, 488, 489, 490, 483, 499, 508, 503, - 504, 505, 506, 527, 509, -81, 529, 514, 515, 518, - 519, 520, 521, 522, 524, 536, 538, 542, 544, 4272, - -1076, 6265, 4272, 5163, 5163, -1076, 539, 552, 553, 5163, - 556, 567, 559, 5402, 564, 566, 4272, 4272, -1076, 686, - -1076, 1071, 569, 4272, -1076, -1076, 2317, 5871, 1747, 1747, - 635, 635, 1356, 731, 731, -1076, 5696, 5888, 1569, 1956, - 635, 635, 135, 135, 228, 228, 228, -1076, -1076, -64, - 2201, -1076, -1076, 571, 5421, 572, 245, 245, 316, 443, - -1076, 443, -1076, 316, 316, -1076, 245, 245, 245, 6172, - 574, 29, -1076, 575, 4272, 5163, 568, -1076, -1076, -1076, - -1076, -1076, 2083, 593, 11, 171, 173, 182, -1076, -1076, - -1076, 604, 245, 5163, 4777, -89, -1076, 591, 5163, 596, - 597, -1076, -1076, -1076, 245, 245, -1076, 5440, -1076, 6924, - 6924, 6924, 6924, 6924, -1076, 6924, 5934, 6924, 4272, 613, - -1076, 6920, 600, 601, 603, 605, 606, 607, 6924, 32, - 619, 624, 625, 6924, 6924, 614, 6737, 6924, 6924, 5005, - 6924, 6924, -1076, -1076, -1076, 5050, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, 616, - -1076, 617, -1076, -1076, -1076, -1076, 6265, -1076, 6265, -1076, - 6265, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, 5480, 611, 622, -1076, -1076, 618, -1076, - -1076, 623, 4414, 626, -1076, -1076, -1076, -1076, 228, 4149, - -1076, 5163, 454, 40, 1061, -1076, 4149, 4272, -1076, -1076, - -1076, -1076, -1076, 316, 636, 644, 5163, 245, 316, 316, - 245, 245, 640, -1076, 640, 640, 316, 316, 316, 6291, - 245, 257, 537, -1076, -1076, 56, 637, 4149, -1076, 245, - -1076, -1076, -1076, -1076, 2083, -1076, 710, 5163, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, 627, 654, 658, -1076, - -1076, 6529, -1076, -1076, 660, 4919, 661, -1076, 657, 4272, - 4272, 4272, 4272, 2842, 4272, 663, 41, -1076, -1076, 4433, - -1076, 114, 665, 3562, -1076, 6265, 245, 1565, 2016, 245, - 6065, 6924, -1076, -1076, -1076, -1076, -1076, -1076, 6924, -1076, - -1076, -1076, 5499, -1076, 6815, 4614, -1076, 5163, 5163, 5163, - 5163, 5163, 5163, -1076, -1076, 5163, -1076, -1076, -1076, -1076, - -1076, 4272, -1076, 5154, -1076, 672, -1076, 5247, -1076, 5163, - 5163, 84, -1076, -1076, 377, 668, 6410, -1076, 5163, -1076, - 336, 685, -1076, 4272, 4272, 670, 671, 679, -1076, -1076, - -1076, 4272, -1076, 4272, -1076, 680, -1076, -1076, -1076, -1076, - -1076, -1076, 4272, -1076, 674, -1076, -1076, 808, 4149, 640, - 245, 245, 316, 640, 640, 316, 316, 4272, -77, 87, - 104, 6384, 257, 537, -1076, 691, 245, 257, 257, 245, - 245, 257, -105, 245, -1076, 692, 5163, 245, 537, 537, - 245, 245, 537, -98, 1061, -1076, -1076, 245, 77, 707, - 51, -1076, 706, -1076, 816, 6265, 6265, 6265, 694, 6265, - 695, 2842, 271, 6265, 2842, 228, 228, 228, 228, 696, - 120, 228, -1076, -1076, 4801, 4272, 4272, 4272, 4272, 4272, - 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, 4272, - 4272, 4272, 4272, 4272, 4272, 4272, 5163, 3704, 4272, 697, - 5599, 698, -1076, -1076, 711, -1076, -1076, -1076, 6924, -1076, - -1076, 715, 718, 720, 722, 723, 725, 728, 52, 732, - 5321, 6076, 399, 713, 336, -1076, -1076, 734, 735, -1076, - 729, -1076, 57, 6622, 498, -1076, 716, 130, -1076, -1076, - 3136, -1076, -1076, 712, 126, 144, -1076, -1076, -1076, 158, - 167, -1076, 5658, 494, 6503, 738, -1076, 316, -1076, 640, - 640, 640, 724, 733, 737, 739, 257, 537, -105, -98, - 245, 257, 741, 741, 257, 257, 164, 4272, -1076, -1076, - 245, 245, 537, 742, 742, 537, 537, 216, 4272, -1076, - 808, 743, -1076, 4272, -1076, 4755, 756, 740, -1076, 245, - 744, 748, 753, 4272, 755, 5163, 746, 759, 750, 5677, - 4272, -1076, -1076, -1076, 2317, 5871, 1747, 1747, 635, 635, - 1356, 731, 731, -1076, 5715, 5888, 1569, 1956, 635, 635, - 135, 135, 228, 228, 228, -1076, -1076, 187, 2862, -1076, - -1076, -1076, 2083, -1076, 90, -1076, 918, 921, 922, 923, - 925, 926, -1076, -1076, 177, 781, -1076, -1076, -1076, -1076, - 6139, -1076, 776, 786, 6707, -1076, 118, -1076, -1076, 35, - -1076, 712, -1076, -1076, 6265, 40, 770, 778, 712, 40, - 498, 780, 245, 498, 498, 245, 245, 183, 245, -1076, - 97, -1076, -1076, -1076, 5163, 328, -1076, 771, -1076, 792, - 793, 3846, 3439, 783, 245, 712, 4985, 712, 245, 245, - 712, -1076, 3, 405, 245, -1076, -1076, -1076, -1076, 1061, - -1076, -1076, 18, 6529, 478, -1076, 640, 245, 40, 40, - 40, -105, -98, -1076, -1076, 257, 741, 741, 741, 782, - 775, 537, -1076, 742, 742, 742, 787, 785, -1076, 3865, - 5241, 6616, 6631, 5163, 333, -1076, -1076, 943, -1076, 4755, - -1076, -1076, 795, 797, 796, 804, 803, 4414, 806, -1076, - -1076, 228, 4272, -1076, -1076, 707, -1076, -1076, 824, 192, - 825, 829, 830, 831, -1076, 34, -1076, 118, 6893, 6076, - 5163, 834, 826, 245, 118, 118, 245, 245, 118, -92, - 742, -1076, 405, 839, 822, 827, 712, 458, 823, 258, - 245, 498, 828, 828, 498, 498, -1076, 4272, -1076, -1076, - 40, 835, 330, -1076, -65, 842, 844, -1076, 2665, -1076, - -1076, -1076, 3846, 836, 847, 4149, -1076, -1076, 245, 712, - 392, 995, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, 832, - 837, -1076, 245, 392, 712, 712, 461, 4272, -1076, 4272, - -1076, 3136, 858, -1076, -1076, 808, 841, -1076, 478, -1076, - 843, -1076, 846, 849, 850, -1076, -1076, 741, 40, 245, - 742, 40, 245, -1076, 6653, -1076, 6653, -1076, 6653, -1076, - -1076, 6653, 6653, 6653, -1076, 98, -1076, 4272, 4272, -1076, - 4272, -1076, 4272, 4149, 116, 1006, 1009, 865, 1016, 853, - -1076, 1020, 1021, 1022, 195, 877, -92, 742, -1076, -1076, - -1076, -1076, -1076, -1076, 6265, 245, 118, 118, 118, 1246, - -1076, -1076, 879, -1076, -1076, -1076, -1076, 479, 866, -1076, - -1076, 498, 828, 828, 828, 40, 860, 867, -1076, -1076, - 5163, 4272, 4272, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, -1076, - -1076, -1076, 869, -1076, 3988, 712, 392, 245, -1076, -1076, - -1076, 392, 392, -1076, 4149, 4777, 863, 3439, 712, 891, - -1076, -1076, -1076, -1076, -1076, -1076, 874, -1076, 875, -1076, - -1076, -1076, -1076, -1076, -1076, -1076, -1076, 197, 205, 229, - 239, -1076, 878, 267, -1076, 896, 900, 291, 885, 303, - -1076, -1076, -1076, -1076, 118, 888, 899, 901, 902, 4556, - 903, 1246, 1246, 1246, 1246, 1246, 2842, 1246, 5758, -1076, - 712, 1061, 40, 895, -1076, 1061, 40, 828, 894, 245, - -1076, 897, -1076, 905, 910, 2488, -1076, 3846, 4149, 392, - -1076, 911, 245, -1076, -1076, 1061, 1061, 1061, -1076, -1076, - -1076, -1076, -1076, -1076, 913, 1065, 915, 1067, -1076, 1076, - 931, 932, 1079, 934, 6265, 6265, 6265, 6265, 920, 2842, - 278, 6265, 278, 278, 278, 278, 278, 919, 308, 278, - 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, - 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 1246, 5163, - 4130, 4272, -1076, -1076, 924, -1076, 40, -1076, 927, -1076, - -1076, 1061, -1076, -1076, 1080, -1076, 928, -1076, -1076, 929, - 808, 808, 808, 1061, 1061, -1076, 939, -1076, 933, 942, - -1076, -1076, 312, -1076, 936, 941, 944, 953, 5163, 946, - 954, 1246, -1076, 5776, 1794, 2223, 2223, 1142, 1142, 1397, - 1122, 1122, -1076, 1850, 5932, 5949, 2424, 301, 301, 278, - 278, 278, -1076, -1076, 324, 3154, -1076, 40, 947, -1076, - 702, -1076, -1076, -1076, 1061, -1076, -1076, -1076, -1076, -1076, - -1076, 1112, 950, 970, 1119, 1121, 978, -1076, 968, 969, - 971, 976, 4659, 972, 278, 1246, -1076, -1076, 1061, 977, - -1076, 702, -1076, -1076, 999, -1076, 984, 325, -1076, 4272, - 4272, 4272, -1076, 4272, 5758, -1076, -1076, 1061, -1076, 1003, - 1150, 1005, 326, 342, 364, 369, 1061, 808, -1076, 989, - -1076, -1076, -1076, -1076, -1076, 808, -1076, 1012, -1076, -1076 + 383, -1070, 4549, 6313, 82, 61, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -76, -68, -58, -52, -36, 11, + 32, 76, 80, 85, -1070, -1070, 96, 100, 104, 108, + 126, 137, 148, 159, 165, 168, 171, 179, 182, 194, + 205, 215, 230, 255, 264, 268, 6577, 4549, -1070, -1070, + 303, 279, 302, 3413, 318, -1070, 325, 337, 339, 4549, + 4549, 4549, 4549, 4549, 2336, 1461, 4549, 4426, -1070, 319, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, 6432, + 341, -1070, 7, -1070, -1070, 6922, 6200, 6200, -1070, 1698, + 346, -1070, 6200, -1070, -1070, 180, 180, -1070, -1070, -1070, + -1070, -1070, 446, 446, -1070, -1070, -1070, -1070, -1070, 2236, + 354, -67, -1070, 4549, 4549, 6313, 4549, 4549, 4549, 4549, + 4549, 6313, 4549, 6313, 4549, 6313, 4549, 6313, 6313, 6313, + 6313, 6313, 6313, 6313, 6313, 6313, 6313, 6313, 6313, 6313, + 6313, 6313, 6313, 4549, -1070, -1070, 365, 1698, 368, 370, + 446, 446, -1070, 5314, 6313, 4549, 4549, 378, 2336, 63, + 6313, 2336, 4549, 4549, 63, 63, 63, 63, 63, -76, + -58, -52, -36, 11, 32, 80, 96, 104, 2791, 3893, + 5236, 5873, 339, 89, -90, 4426, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, 1698, 1698, + -74, 235, -1070, -1070, 63, 4549, 4549, 4549, 4549, 4549, + 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, + 4549, 4549, 4549, 4549, 4549, 4549, 1698, 3555, 4549, -1070, + -1070, 180, 180, 3697, -1070, -1070, -1070, 6200, -1070, -1070, + -1070, -1070, 6313, -1070, 393, 772, 446, 180, 180, 446, + 446, 223, 398, -1070, 407, -1070, 427, 27, 1243, 1698, + 544, 440, 426, 3124, -1070, 6781, 430, 451, -1070, 434, + 435, 436, 439, 441, 445, 447, 437, 449, 450, 453, + 457, 458, 463, 470, 464, -72, 471, 465, 467, 468, + 473, 476, 483, 484, 485, 492, 493, 495, 498, 4549, + -1070, 6313, 4549, 1698, 1698, -1070, 480, 502, 503, 1698, + 504, 515, 507, 5335, 508, 510, 4549, 4549, -1070, 634, + -1070, 1631, 516, 4549, -1070, -1070, 1957, 4686, 4990, 4990, + 1977, 1977, 1054, 853, 853, -1070, 5629, 5804, 5821, 5883, + 1977, 1977, 277, 277, 63, 63, 63, -1070, -1070, -50, + 2563, -1070, -1070, 513, 5354, 517, 446, 446, 151, 398, + -1070, 398, -1070, 151, 151, -1070, 446, 446, 446, 6214, + 520, 33, -1070, 522, 4549, -1070, -1070, -1070, -1070, -1070, + 2052, 541, -9, -8, -4, 20, -1070, -1070, -1070, 542, + 446, 1698, 1329, -76, -1070, 534, 1698, 538, 543, -1070, + -1070, -1070, 446, 446, -1070, 5373, -1070, 6890, 6890, 6890, + 6890, 6890, -1070, 6890, 2485, 6890, 4549, 559, -1070, 6886, + 546, 547, 551, 553, 555, 556, 6890, 83, 576, 578, + 579, 6890, 6890, 557, 6703, 6890, 6890, 6701, 6890, 6890, + -1070, -1070, -1070, 2773, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, 565, -1070, 567, + -1070, -1070, -1070, -1070, 6313, -1070, 6313, -1070, 6313, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, 5413, 568, 569, -1070, -1070, 573, -1070, -1070, 574, + 4691, 575, -1070, -1070, -1070, -1070, 63, 4426, -1070, 1698, + 235, 43, 6053, -1070, 4426, 4549, -1070, -1070, -1070, -1070, + -1070, 151, 580, 584, 1698, 446, 151, 151, 446, 446, + 581, -1070, 581, 581, 151, 151, 151, 6339, 446, 795, + 355, -1070, -1070, 84, 564, 4426, -1070, 1698, 577, -1070, + -1070, -1070, -1070, 2052, -1070, 674, 1698, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, 585, 593, 595, -1070, -1070, + 6577, -1070, -1070, 597, 2161, 601, -1070, 594, 4549, 4549, + 4549, 4549, 2336, 4549, 591, 56, -1070, -1070, 4710, -1070, + 319, 598, 3839, -1070, 6313, 446, 2436, 1243, 446, 6074, + 6890, -1070, -1070, -1070, -1070, -1070, -1070, 6890, -1070, -1070, + -1070, 5432, -1070, 6781, 1796, -1070, 1698, 1698, 1698, 1698, + 1698, 1698, -1070, -1070, 1698, -1070, -1070, -1070, -1070, -1070, + 4549, -1070, 5059, -1070, 605, -1070, 5180, -1070, 1698, 1698, + 58, -1070, -1070, 307, 602, 6458, -1070, 1698, -1070, 213, + 617, -1070, 4549, 4549, 603, 604, 607, -1070, -1070, -1070, + 4549, -1070, 4549, -1070, 611, -1070, -1070, -1070, -1070, -1070, + -1070, 4549, -1070, 614, -1070, -1070, 741, 4426, 581, 446, + 446, 151, 581, 581, 151, 151, 4549, -15, 246, 283, + 6432, 795, 355, -1070, 620, 446, 795, 795, 446, 446, + 795, -83, 446, -1070, 621, 1698, 446, 355, 355, 446, + 446, 355, 9, 6053, -1070, -1070, 446, 446, -1070, 635, + 3, -1070, 633, -1070, 742, 6313, 6313, 6313, 626, 6313, + 628, 2336, 88, 6313, 2336, 63, 63, 63, 63, 627, + -48, 63, -1070, -1070, 1877, 4549, 4549, 4549, 4549, 4549, + 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, 4549, + 4549, 4549, 4549, 4549, 4549, 4549, 1698, 3981, 4549, 629, + 5532, 630, -1070, -1070, 645, -1070, -1070, -1070, 6890, -1070, + -1070, 655, 656, 659, 660, 662, 664, 665, 50, 667, + 5254, 6121, 399, 650, 213, -1070, -1070, 668, 670, -1070, + 671, -1070, 49, 6670, 216, -1070, 663, 391, -1070, -1070, + 3271, -1070, -1070, 651, -11, -3, -1070, -1070, -1070, 5, + 150, -1070, 5591, 572, 6551, 683, -1070, 151, -1070, 581, + 581, 581, 661, 669, 672, 673, 795, 355, -83, 9, + 446, 795, 666, 666, 795, 795, 317, 4549, -1070, -1070, + 446, 446, 355, 678, 678, 355, 355, 328, 4549, -1070, + 741, 679, 161, -1070, 2448, 688, 691, -1070, 446, 681, + 692, 694, 4549, 695, 1698, 686, 698, 689, 5610, 4549, + -1070, -1070, -1070, 1957, 4686, 4990, 4990, 1977, 1977, 1054, + 853, 853, -1070, 5648, 5804, 5821, 5883, 1977, 1977, 277, + 277, 63, 63, 63, -1070, -1070, 206, 3143, -1070, -1070, + -1070, 2052, -1070, 87, -1070, 833, 854, 855, 856, 857, + 862, -1070, -1070, 397, 718, -1070, -1070, -1070, -1070, 6174, + -1070, 717, 736, 5128, -1070, 997, -1070, -1070, 54, -1070, + 651, -1070, -1070, 6313, 43, 722, 731, 651, 43, 216, + 732, 446, 216, 216, 446, 446, 51, 446, -1070, 91, + -1070, -1070, -1070, 1698, 101, -1070, 728, -1070, 748, 749, + 4123, 3716, 745, 446, 651, 5058, 651, 446, 446, 651, + -1070, 176, 400, 446, -1070, -1070, -1070, -1070, 6053, -1070, + -1070, 25, 6577, 180, -1070, 581, 446, 43, 43, 43, + -83, 9, -1070, -1070, 795, 666, 666, 666, 744, 740, + 355, -1070, 678, 678, 678, 750, 746, -1070, -1070, 4549, + 2803, 6664, 6679, 1698, 452, -1070, -1070, 906, -1070, 2448, + -1070, -1070, 753, 754, 755, 756, 757, 4691, 758, -1070, + -1070, 63, 4549, -1070, -1070, 635, -1070, -1070, 777, 220, + 779, 780, 781, 785, -1070, 48, -1070, 997, 6859, 6121, + 1698, 769, 783, 446, 997, 997, 446, 446, 997, 17, + 678, -1070, 400, 788, 773, 774, 651, 404, 778, 348, + 446, 216, 775, 775, 216, 216, -1070, 4549, -1070, -1070, + 43, 776, 409, -1070, -62, 797, 798, -1070, 2949, -1070, + -1070, -1070, 4123, 786, 800, 4426, -1070, -1070, 446, 651, + 395, 948, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, 790, + 789, -1070, 446, 395, 651, 651, 413, 4549, -1070, 4549, + -1070, 3271, 814, -1070, -1070, 741, 799, -1070, 180, -1070, + 802, -1070, 806, 807, 809, -1070, -1070, 666, 43, 446, + 678, 43, 446, 4142, 2809, -1070, 2809, -1070, 2809, -1070, + -1070, 2809, 2809, 2809, -1070, 217, -1070, 4549, 4549, -1070, + 4549, -1070, 4549, 4426, 284, 962, 964, 828, 975, 817, + -1070, 982, 986, 988, 305, 843, 17, 678, -1070, -1070, + -1070, -1070, -1070, -1070, 6313, 446, 997, 997, 997, 4833, + -1070, -1070, 845, -1070, -1070, -1070, -1070, 418, 830, -1070, + -1070, 216, 775, 775, 775, 43, 826, 832, -1070, -1070, + 1698, 4549, 4549, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, + -1070, -1070, 840, -1070, 4265, 651, 395, 446, -1070, -1070, + -1070, 395, 395, -1070, 4426, 1329, 846, 3716, 651, 874, + -1070, -1070, -1070, -1070, -1070, -1070, 858, -1070, 859, -1070, + -1070, -1070, -1070, -1070, -1070, -1070, -1070, -1070, 221, 224, + 226, 227, -1070, 860, 242, -1070, 875, 873, 249, 861, + 273, -1070, -1070, -1070, -1070, 997, 865, 868, 877, 878, + 1932, 879, 4833, 4833, 4833, 4833, 4833, 2336, 4833, 5710, + -1070, 651, 6053, 43, 866, -1070, 6053, 43, 775, 870, + 446, -1070, 876, -1070, 881, 871, 2632, -1070, 4123, 4426, + 395, -1070, 886, 446, -1070, -1070, 6053, 6053, 6053, -1070, + -1070, -1070, -1070, -1070, -1070, 892, 1039, 894, 1042, -1070, + 1052, 910, 911, 1058, 913, 6313, 6313, 6313, 6313, 899, + 2336, 131, 6313, 131, 131, 131, 131, 131, 901, 286, + 131, 4833, 4833, 4833, 4833, 4833, 4833, 4833, 4833, 4833, + 4833, 4833, 4833, 4833, 4833, 4833, 4833, 4833, 4833, 4833, + 1698, 4407, 4549, -1070, -1070, 908, -1070, 43, -1070, 915, + -1070, -1070, 6053, -1070, -1070, 1065, -1070, 909, -1070, -1070, + 917, 741, 741, 741, 6053, 6053, -1070, 935, -1070, 919, + 939, -1070, -1070, 288, -1070, 924, 940, 944, 945, 1698, + 936, 947, 4833, -1070, 1180, 5866, 5975, 5975, 2202, 2202, + 1127, 934, 934, -1070, 5691, 5900, 5917, 5926, 536, 536, + 131, 131, 131, -1070, -1070, 297, 3432, -1070, 43, 942, + -1070, 535, -1070, -1070, -1070, 6053, -1070, -1070, -1070, -1070, + -1070, -1070, 1103, 946, 958, 1108, 1111, 966, -1070, 951, + 952, 953, 956, 4936, 954, 131, 4833, -1070, -1070, 6053, + 959, -1070, 535, -1070, -1070, 971, -1070, 960, 298, -1070, + 4549, 4549, 4549, -1070, 4549, 5710, -1070, -1070, 6053, -1070, + 979, 1126, 981, 299, 314, 331, 332, 6053, 741, -1070, + 965, -1070, -1070, -1070, -1070, -1070, 741, -1070, 985, -1070, + -1070 }; /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM. @@ -1354,207 +1356,208 @@ static const yytype_int16 yypact[] = means the default is an error. */ static const yytype_int16 yydefact[] = { - 0, 781, 0, 0, 0, 781, 5, 667, 663, 666, - 777, 778, 669, 670, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 665, 671, 0, 0, 0, 0, + 0, 782, 0, 0, 0, 782, 5, 668, 664, 667, + 778, 779, 670, 671, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 666, 672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 673, 672, - 0, 0, 0, 0, 0, 664, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 781, 0, 3, 601, 668, - 305, 316, 315, 396, 397, 399, 400, 401, 380, 0, - 0, 412, 377, 411, 406, 403, 402, 405, 381, 0, - 0, 382, 404, 414, 398, 781, 781, 4, 307, 308, - 309, 0, 781, 781, 304, 393, 394, 395, 1, 0, - 0, 7, 63, 781, 781, 0, 781, 781, 781, 781, - 781, 0, 781, 0, 781, 0, 781, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 674, 673, + 0, 0, 0, 0, 0, 665, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 782, 0, 3, 602, 669, + 305, 316, 315, 397, 398, 400, 401, 402, 381, 0, + 0, 413, 378, 412, 407, 404, 403, 406, 382, 0, + 0, 383, 405, 415, 399, 782, 782, 4, 307, 308, + 309, 364, 782, 782, 304, 394, 395, 396, 1, 0, + 0, 7, 63, 782, 782, 0, 782, 782, 782, 782, + 782, 0, 782, 0, 782, 0, 782, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 781, 331, 337, 0, 0, 0, 626, - 781, 781, 330, 0, 0, 781, 781, 0, 0, 623, - 0, 0, 781, 781, 635, 633, 632, 634, 631, 305, - 396, 397, 399, 400, 401, 412, 411, 406, 403, 402, - 405, 404, 398, 0, 0, 559, 762, 763, 764, 772, - 765, 768, 766, 770, 769, 767, 771, 751, 752, 0, - 0, 781, 757, 750, 630, 0, 0, 0, 0, 0, + 0, 0, 0, 782, 331, 337, 0, 0, 0, 627, + 782, 782, 330, 0, 0, 782, 782, 0, 0, 624, + 0, 0, 782, 782, 636, 634, 633, 635, 632, 305, + 397, 398, 400, 401, 402, 413, 412, 407, 404, 403, + 406, 405, 399, 0, 0, 560, 763, 764, 765, 773, + 766, 769, 767, 771, 770, 768, 772, 752, 753, 0, + 0, 782, 758, 751, 631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 779, - 780, 781, 781, 0, 378, 379, 413, 403, 408, 407, - 410, 306, 0, 409, 0, 291, 781, 781, 781, 781, - 781, 781, 0, 340, 290, 342, 781, 366, 0, 0, - 0, 68, 70, 0, 6, 781, 0, 558, 557, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 780, + 781, 782, 782, 0, 379, 380, 414, 404, 409, 408, + 411, 306, 0, 410, 0, 291, 782, 782, 782, 782, + 782, 782, 0, 340, 290, 342, 0, 367, 0, 0, + 0, 68, 70, 0, 6, 782, 0, 559, 558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 332, 0, 781, 0, 0, 659, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 662, 755, - 758, 0, 781, 0, 753, 220, 644, 645, 646, 647, - 648, 649, 650, 653, 654, 661, 0, 641, 642, 643, - 651, 652, 639, 640, 636, 637, 638, 660, 658, 0, - 0, 341, 343, 0, 0, 0, 781, 781, 781, 0, - 293, 0, 294, 781, 781, 205, 781, 781, 781, 0, - 0, 206, 209, 63, 781, 374, 0, 371, 773, 774, - 775, 776, 0, 368, 762, 763, 764, 766, 344, 310, - 346, 0, 781, 0, 781, 318, 329, 0, 0, 0, - 0, 320, 321, 322, 781, 781, 317, 0, 22, 781, - 781, 781, 781, 781, 23, 781, 781, 781, 0, 0, - 43, 781, 0, 0, 0, 0, 0, 0, 781, 781, - 0, 0, 0, 781, 781, 0, 781, 781, 781, 0, - 781, 781, 18, 8, 20, 0, 16, 17, 19, 78, - 45, 608, 607, 625, 615, 610, 612, 613, 614, 0, - 621, 0, 620, 676, 609, 677, 0, 679, 0, 680, - 0, 683, 684, 685, 686, 687, 688, 689, 690, 691, - 692, 693, 617, 0, 0, 0, 334, 333, 0, 616, - 619, 0, 622, 0, 628, 629, 618, 611, 602, 560, - 756, 0, 781, 781, 781, 103, 221, 0, 657, 656, - 313, 312, 314, 781, 292, 0, 281, 781, 781, 781, - 781, 781, 297, 280, 296, 295, 781, 781, 781, 0, - 781, 781, 0, 781, 208, 781, 0, 556, 555, 781, - 364, 370, 365, 369, 0, 781, 781, 0, 64, 69, - 743, 739, 742, 745, 746, 212, 0, 0, 0, 741, - 747, 0, 749, 748, 0, 0, 0, 740, 0, 0, - 0, 0, 0, 0, 0, 0, 213, 247, 216, 248, - 694, 744, 63, 0, 319, 0, 781, 366, 0, 781, - 781, 781, 60, 46, 57, 58, 59, 61, 781, 47, - 160, 52, 0, 24, 781, 0, 50, 0, 0, 0, - 0, 0, 0, 56, 781, 0, 27, 26, 25, 54, - 49, 0, 164, 0, 163, 0, 62, 0, 21, 0, - 0, 781, 51, 55, 339, 318, 0, 14, 0, 75, - 0, 338, 72, 0, 0, 0, 0, 0, 335, 336, - 627, 0, 624, 0, 754, 0, 111, 104, 113, 108, - 112, 106, 0, 109, 0, 105, 110, 781, 655, 298, - 781, 781, 781, 283, 284, 781, 781, 781, 0, 0, - 0, 0, 781, 0, 246, 0, 781, 781, 781, 781, - 781, 781, 781, 781, 258, 0, 269, 781, 0, 0, - 781, 781, 0, 781, 781, 207, 210, 781, 375, 311, - 781, 349, 781, 348, 0, 0, 0, 0, 704, 0, - 0, 0, 701, 0, 0, 712, 711, 710, 709, 0, - 0, 708, 71, 215, 781, 0, 0, 0, 0, 0, + 332, 0, 782, 0, 0, 660, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 663, 756, + 759, 0, 782, 0, 754, 220, 645, 646, 647, 648, + 649, 650, 651, 654, 655, 662, 0, 642, 643, 644, + 652, 653, 640, 641, 637, 638, 639, 661, 659, 0, + 0, 341, 343, 0, 0, 0, 782, 782, 782, 0, + 293, 0, 294, 782, 782, 205, 782, 782, 782, 0, + 0, 206, 209, 63, 782, 782, 774, 775, 776, 777, + 0, 369, 763, 764, 765, 767, 344, 310, 346, 0, + 782, 0, 782, 318, 329, 0, 0, 0, 0, 320, + 321, 322, 782, 782, 317, 0, 22, 782, 782, 782, + 782, 782, 23, 782, 782, 782, 0, 0, 43, 782, + 0, 0, 0, 0, 0, 0, 782, 782, 0, 0, + 0, 782, 782, 0, 782, 782, 782, 0, 782, 782, + 18, 8, 20, 0, 16, 17, 19, 78, 45, 609, + 608, 626, 616, 611, 613, 614, 615, 0, 622, 0, + 621, 677, 610, 678, 0, 680, 0, 681, 0, 684, + 685, 686, 687, 688, 689, 690, 691, 692, 693, 694, + 618, 0, 0, 0, 334, 333, 0, 617, 620, 0, + 623, 0, 629, 630, 619, 612, 603, 561, 757, 0, + 782, 782, 782, 103, 221, 0, 658, 657, 313, 312, + 314, 782, 292, 0, 281, 782, 782, 782, 782, 782, + 297, 280, 296, 295, 782, 782, 782, 0, 782, 782, + 0, 782, 208, 782, 0, 557, 556, 375, 0, 372, + 371, 366, 370, 0, 782, 782, 0, 64, 69, 744, + 740, 743, 746, 747, 212, 0, 0, 0, 742, 748, + 0, 750, 749, 0, 0, 0, 741, 0, 0, 0, + 0, 0, 0, 0, 0, 213, 247, 216, 248, 695, + 745, 63, 0, 319, 0, 782, 367, 0, 782, 782, + 782, 60, 46, 57, 58, 59, 61, 782, 47, 160, + 52, 0, 24, 782, 0, 50, 0, 0, 0, 0, + 0, 0, 56, 782, 0, 27, 26, 25, 54, 49, + 0, 164, 0, 163, 0, 62, 0, 21, 0, 0, + 782, 51, 55, 339, 318, 0, 14, 0, 75, 0, + 338, 72, 0, 0, 0, 0, 0, 335, 336, 628, + 0, 625, 0, 755, 0, 111, 104, 113, 108, 112, + 106, 0, 109, 0, 105, 110, 782, 656, 298, 782, + 782, 782, 283, 284, 782, 782, 782, 0, 0, 0, + 0, 782, 0, 246, 0, 782, 782, 782, 782, 782, + 782, 782, 782, 258, 0, 269, 782, 0, 0, 782, + 782, 0, 782, 782, 207, 210, 782, 782, 365, 311, + 782, 349, 782, 348, 0, 0, 0, 0, 705, 0, + 0, 0, 702, 0, 0, 713, 712, 711, 710, 0, + 0, 709, 71, 215, 782, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 67, 325, 368, 323, 66, 48, 781, 44, - 781, 0, 0, 0, 0, 0, 0, 0, 781, 0, - 0, 781, 339, 318, 0, 338, 81, 0, 0, 389, - 0, 86, 90, 0, 781, 781, 0, 0, 415, 227, - 0, 77, 74, 0, 0, 0, 678, 681, 682, 0, - 0, 781, 0, 0, 0, 0, 199, 781, 282, 287, - 286, 285, 0, 0, 0, 0, 781, 0, 781, 781, - 781, 781, 260, 261, 781, 781, 0, 781, 240, 259, - 781, 781, 0, 271, 272, 0, 0, 0, 781, 243, - 781, 299, 372, 0, 345, 0, 0, 351, 350, 781, - 0, 0, 0, 781, 0, 0, 0, 0, 0, 0, - 0, 738, 214, 217, 721, 722, 723, 724, 725, 726, - 727, 730, 731, 737, 0, 718, 719, 720, 728, 729, - 716, 717, 713, 714, 715, 736, 735, 0, 0, 327, - 326, 328, 0, 53, 781, 385, 0, 0, 0, 0, - 0, 0, 387, 383, 0, 0, 181, 182, 183, 169, - 0, 170, 0, 166, 171, 167, 781, 180, 165, 0, - 83, 0, 392, 391, 0, 781, 0, 0, 0, 781, - 781, 0, 781, 781, 781, 781, 781, 0, 781, 249, - 781, 92, 415, 222, 0, 0, 76, 0, 781, 0, - 0, 781, 0, 0, 781, 0, 0, 0, 781, 781, - 0, 73, 781, 781, 781, 605, 604, 606, 603, 781, - 107, 114, 0, 0, 781, 415, 288, 781, 781, 781, - 781, 781, 781, 241, 244, 781, 264, 263, 262, 268, - 0, 0, 270, 275, 274, 273, 279, 0, 300, 376, - 770, 0, 769, 0, 0, 352, 354, 759, 781, 0, - 65, 703, 0, 0, 0, 0, 0, 700, 0, 706, - 707, 695, 0, 734, 733, 324, 388, 781, 0, 0, - 781, 0, 0, 0, 781, 0, 42, 781, 781, 0, - 174, 172, 0, 781, 781, 781, 781, 781, 781, 781, - 178, 82, 781, 0, 0, 0, 0, 0, 0, 0, - 781, 781, 251, 252, 781, 781, 98, 781, 250, 15, - 781, 0, 0, 9, 0, 0, 0, 228, 416, 417, - 230, 231, 781, 0, 234, 236, 233, 229, 781, 0, + 0, 0, 67, 325, 369, 323, 66, 48, 782, 44, + 782, 0, 0, 0, 0, 0, 0, 0, 782, 0, + 0, 782, 339, 318, 0, 338, 81, 0, 0, 390, + 0, 86, 90, 0, 782, 782, 0, 0, 416, 227, + 0, 77, 74, 0, 0, 0, 679, 682, 683, 0, + 0, 782, 0, 0, 0, 0, 199, 782, 282, 287, + 286, 285, 0, 0, 0, 0, 782, 0, 782, 782, + 782, 782, 260, 261, 782, 782, 0, 782, 240, 259, + 782, 782, 0, 271, 272, 0, 0, 0, 782, 243, + 782, 299, 376, 345, 0, 0, 351, 350, 782, 0, + 0, 0, 782, 0, 0, 0, 0, 0, 0, 0, + 739, 214, 217, 722, 723, 724, 725, 726, 727, 728, + 731, 732, 738, 0, 719, 720, 721, 729, 730, 717, + 718, 714, 715, 716, 737, 736, 0, 0, 327, 326, + 328, 0, 53, 782, 386, 0, 0, 0, 0, 0, + 0, 388, 384, 0, 0, 181, 182, 183, 169, 0, + 170, 0, 166, 171, 167, 782, 180, 165, 0, 83, + 0, 393, 392, 0, 782, 0, 0, 0, 782, 782, + 0, 782, 782, 782, 782, 782, 0, 782, 249, 782, + 92, 416, 222, 0, 0, 76, 0, 782, 0, 0, + 782, 0, 0, 782, 0, 0, 0, 782, 782, 0, + 73, 782, 782, 782, 606, 605, 607, 604, 782, 107, + 114, 0, 0, 782, 416, 288, 782, 782, 782, 782, + 782, 782, 241, 244, 782, 264, 263, 262, 268, 0, + 0, 270, 275, 274, 273, 279, 0, 300, 373, 0, + 771, 0, 770, 0, 0, 352, 354, 760, 782, 0, + 65, 704, 0, 0, 0, 0, 0, 701, 0, 707, + 708, 696, 0, 735, 734, 324, 389, 782, 0, 0, + 782, 0, 0, 0, 782, 0, 42, 782, 782, 0, + 174, 172, 0, 782, 782, 782, 782, 782, 782, 782, + 178, 82, 782, 0, 0, 0, 0, 0, 0, 0, + 782, 782, 251, 252, 782, 782, 98, 782, 250, 15, + 782, 0, 0, 9, 0, 0, 0, 228, 417, 418, + 230, 231, 782, 0, 234, 236, 233, 229, 782, 0, 187, 0, 127, 128, 129, 130, 131, 132, 135, 136, 137, 152, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 156, 155, 139, 138, 124, 126, 125, 133, 134, 122, 123, 119, 120, 121, 118, 0, - 0, 117, 781, 188, 0, 0, 0, 0, 195, 781, - 197, 0, 0, 79, 184, 781, 0, 115, 781, 200, - 0, 289, 0, 0, 0, 242, 245, 265, 781, 781, - 276, 781, 781, 373, 0, 357, 0, 356, 0, 355, - 760, 0, 0, 0, 761, 781, 353, 0, 0, 705, - 0, 702, 0, 732, 781, 0, 0, 0, 0, 0, - 202, 0, 0, 0, 781, 0, 781, 179, 159, 157, - 162, 158, 168, 175, 0, 781, 781, 781, 781, 0, - 176, 218, 0, 84, 390, 781, 88, 0, 0, 781, - 100, 781, 255, 254, 253, 781, 0, 0, 223, 415, - 0, 781, 781, 225, 226, 419, 420, 424, 421, 429, - 422, 423, 425, 426, 427, 428, 430, 431, 432, 433, - 434, 435, 436, 437, 438, 439, 440, 441, 442, 443, - 444, 445, 446, 447, 448, 449, 450, 451, 452, 453, - 454, 455, 456, 457, 458, 459, 460, 461, 462, 463, - 464, 465, 466, 467, 468, 469, 470, 471, 472, 473, - 474, 475, 476, 477, 478, 479, 480, 481, 482, 504, - 483, 484, 485, 486, 487, 488, 489, 490, 491, 492, - 493, 494, 495, 496, 497, 498, 499, 500, 501, 502, - 503, 505, 506, 507, 508, 509, 510, 511, 512, 513, - 514, 515, 516, 517, 518, 519, 520, 521, 522, 523, - 524, 525, 526, 527, 528, 529, 530, 531, 781, 548, - 549, 550, 541, 553, 537, 538, 536, 543, 544, 532, - 533, 534, 535, 542, 540, 547, 545, 551, 546, 539, - 552, 418, 0, 232, 235, 0, 191, 781, 154, 153, - 185, 190, 189, 194, 198, 781, 0, 221, 0, 0, - 116, 201, 674, 781, 781, 781, 0, 266, 0, 277, - 363, 362, 361, 360, 359, 358, 347, 0, 0, 0, - 0, 386, 0, 0, 34, 203, 0, 0, 0, 0, - 384, 41, 177, 173, 781, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 219, 561, - 0, 781, 781, 0, 94, 781, 781, 256, 0, 781, - 781, 0, 10, 0, 0, 0, 237, 781, 238, 192, - 186, 0, 781, 80, 415, 781, 781, 781, 781, 781, - 698, 697, 699, 696, 0, 0, 0, 0, 28, 0, + 0, 117, 782, 188, 0, 0, 0, 0, 195, 782, + 197, 0, 0, 79, 184, 782, 0, 115, 782, 200, + 0, 289, 0, 0, 0, 242, 245, 265, 782, 782, + 276, 782, 782, 377, 0, 357, 0, 356, 0, 355, + 761, 0, 0, 0, 762, 782, 353, 0, 0, 706, + 0, 703, 0, 733, 782, 0, 0, 0, 0, 0, + 202, 0, 0, 0, 782, 0, 782, 179, 159, 157, + 162, 158, 168, 175, 0, 782, 782, 782, 782, 0, + 176, 218, 0, 84, 391, 782, 88, 0, 0, 782, + 100, 782, 255, 254, 253, 782, 0, 0, 223, 416, + 0, 782, 782, 225, 226, 420, 421, 425, 422, 430, + 423, 424, 426, 427, 428, 429, 431, 432, 433, 434, + 435, 436, 437, 438, 439, 440, 441, 442, 443, 444, + 445, 446, 447, 448, 449, 450, 451, 452, 453, 454, + 455, 456, 457, 458, 459, 460, 461, 462, 463, 464, + 465, 466, 467, 468, 469, 470, 471, 472, 473, 474, + 475, 476, 477, 478, 479, 480, 481, 482, 483, 505, + 484, 485, 486, 487, 488, 489, 490, 491, 492, 493, + 494, 495, 496, 497, 498, 499, 500, 501, 502, 503, + 504, 506, 507, 508, 509, 510, 511, 512, 513, 514, + 515, 516, 517, 518, 519, 520, 521, 522, 523, 524, + 525, 526, 527, 528, 529, 530, 531, 532, 782, 549, + 550, 551, 542, 554, 538, 539, 537, 544, 545, 533, + 534, 535, 536, 543, 541, 548, 546, 552, 547, 540, + 553, 419, 0, 232, 235, 0, 191, 782, 154, 153, + 185, 190, 189, 194, 198, 782, 0, 221, 0, 0, + 116, 201, 675, 782, 782, 782, 0, 266, 0, 277, + 374, 363, 362, 361, 360, 359, 358, 347, 0, 0, + 0, 0, 387, 0, 0, 34, 203, 0, 0, 0, + 0, 385, 41, 177, 173, 782, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, + 562, 0, 782, 782, 0, 94, 782, 782, 256, 0, + 782, 782, 0, 10, 0, 0, 0, 237, 782, 238, + 192, 186, 0, 782, 80, 416, 782, 782, 782, 782, + 782, 699, 698, 700, 697, 0, 0, 0, 0, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 568, 0, 576, 574, 573, 575, 572, 0, 0, 571, + 0, 569, 0, 577, 575, 574, 576, 573, 0, 0, + 572, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 85, 87, 0, 96, 781, 91, 0, 781, - 257, 781, 224, 13, 11, 554, 0, 781, 193, 0, - 781, 781, 781, 781, 781, 37, 781, 35, 0, 0, - 38, 40, 0, 30, 0, 0, 0, 0, 0, 0, - 0, 0, 600, 585, 586, 587, 588, 589, 590, 591, - 592, 593, 599, 0, 582, 583, 584, 580, 581, 577, - 578, 579, 598, 597, 0, 0, 781, 781, 0, 781, - 99, 93, 12, 239, 781, 675, 303, 302, 301, 267, - 278, 0, 0, 0, 0, 0, 0, 570, 0, 0, - 0, 0, 567, 0, 562, 0, 596, 595, 781, 0, - 781, 101, 196, 203, 0, 29, 0, 0, 31, 0, - 0, 0, 569, 0, 594, 89, 781, 781, 36, 0, - 0, 0, 0, 0, 0, 0, 781, 781, 39, 0, - 32, 565, 564, 566, 563, 781, 95, 0, 97, 33 + 0, 0, 0, 85, 87, 0, 96, 782, 91, 0, + 782, 257, 782, 224, 13, 11, 555, 0, 782, 193, + 0, 782, 782, 782, 782, 782, 37, 782, 35, 0, + 0, 38, 40, 0, 30, 0, 0, 0, 0, 0, + 0, 0, 0, 601, 586, 587, 588, 589, 590, 591, + 592, 593, 594, 600, 0, 583, 584, 585, 581, 582, + 578, 579, 580, 599, 598, 0, 0, 782, 782, 0, + 782, 99, 93, 12, 239, 782, 676, 303, 302, 301, + 267, 278, 0, 0, 0, 0, 0, 0, 571, 0, + 0, 0, 0, 568, 0, 563, 0, 597, 596, 782, + 0, 782, 101, 196, 203, 0, 29, 0, 0, 31, + 0, 0, 0, 570, 0, 595, 89, 782, 782, 36, + 0, 0, 0, 0, 0, 0, 0, 782, 782, 39, + 0, 32, 566, 565, 567, 564, 782, 95, 0, 97, + 33 }; /* YYPGOTO[NTERM-NUM]. */ static const yytype_int16 yypgoto[] = { - -1076, -1076, -389, -1076, -1076, -71, -1076, -1076, 578, -429, - -1076, -222, 779, -344, -1076, -427, -1076, -1076, -226, -1076, - -1076, -277, -1076, -1076, -1076, -1076, 558, -1076, -1076, -1076, - -1076, -1076, -497, -1076, -1076, -410, -1076, -1076, -1076, -1076, - 131, 259, -862, -1076, -903, -845, -370, -501, -1076, -208, - -1076, -18, -470, -1076, -739, -1075, -1076, -391, 455, -897, - -481, -460, -66, -95, -54, -58, -252, -535, 563, 1372, - -240, -1076, -232, -1076, -1076, -1076, -1076, 176, -225, -1076, - -514, -1076, -1076, -22, -19, -1076, -1076, -1076, -1076, -27, - -8, -1076, -1076, -923, -1076, -165, -1076, -620, -104, -60, - 590, 1053, 416, 631, -1076, -1076, 881, -925, 1452, -223, - -386, -1 + -1070, -1070, -525, -1070, -1070, -102, -1070, -1070, 540, -420, + -1070, 475, 729, -359, -1070, -419, -1070, -1070, -243, -1070, + -1070, -307, -1070, -1070, -1070, -1070, 532, -1070, -1070, -1070, + -1070, -1070, -485, -1070, -1070, -402, -1070, -1070, -1070, -1070, + 111, 244, -890, -1070, -912, -790, -392, -456, -1070, -229, + -1070, -38, -483, -1070, -755, -1069, -1070, -390, 438, -873, + -496, -486, -41, -75, -69, -63, -237, -540, 545, 154, + -238, -1070, -211, -1070, -1070, -1070, -1070, 156, -200, -1070, + -1070, -515, -1070, -1070, -19, 34, -1070, -1070, -1070, -1070, + -22, -51, -1070, -1070, -929, -1070, -185, -1070, -645, -113, + -7, 327, 1514, -254, 613, -1070, -1070, 863, -925, 1359, + 210, -384, -1 }; /* YYDEFGOTO[NTERM-NUM]. */ static const yytype_int16 yydefgoto[] = { - 0, 4, 5, 265, 1082, 1083, 442, 795, 443, 444, - 604, 445, 369, 260, 261, 446, 803, 797, 971, 628, - 931, 1061, 639, 935, 1452, 939, 640, 1080, 1536, 1597, - 1235, 1456, 504, 1142, 1210, 447, 625, 922, 923, 924, - 925, 926, 972, 1395, 973, 815, 1199, 370, 371, 575, - 576, 1220, 324, 956, 801, 1093, 1094, 372, 578, 947, - 832, 843, 252, 253, 95, 96, 641, 149, 642, 97, - 98, 545, 99, 546, 712, 856, 857, 1015, 100, 101, - 542, 375, 376, 102, 103, 448, 1044, 1037, 449, 104, - 105, 106, 107, 957, 958, 1088, 1381, 536, 266, 267, - 1624, 185, 68, 579, 580, 200, 201, 1016, 1017, 693, - 69, 112 + 0, 4, 5, 265, 1082, 1083, 440, 795, 441, 442, + 603, 443, 369, 260, 261, 444, 803, 797, 970, 627, + 930, 1061, 638, 934, 1453, 938, 639, 1080, 1537, 1598, + 1235, 1457, 502, 1142, 1210, 445, 624, 921, 922, 923, + 924, 925, 971, 1395, 972, 815, 1199, 370, 371, 574, + 575, 1220, 324, 955, 801, 1093, 1094, 372, 577, 946, + 832, 843, 252, 253, 95, 96, 640, 149, 641, 97, + 98, 544, 99, 545, 712, 855, 856, 1015, 100, 256, + 101, 541, 537, 538, 102, 103, 446, 1044, 1037, 447, + 104, 105, 106, 107, 956, 957, 1088, 1381, 534, 266, + 267, 1625, 185, 68, 578, 579, 200, 201, 1016, 1017, + 692, 69, 112 }; /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM. If @@ -1562,1556 +1565,1556 @@ static const yytype_int16 yydefgoto[] = number is the opposite. If YYTABLE_NINF, syntax error. */ static const yytype_int16 yytable[] = { - 6, 255, 655, 577, 184, 1008, 600, 622, 581, 624, - 269, 400, 271, 272, 273, 274, 275, 1382, 277, 152, - 279, 232, 281, 401, 150, 231, 718, 151, 1062, 1081, - 709, 402, 654, 1156, 383, 390, 704, 814, 403, 298, - 229, 321, 230, 1069, 534, 930, 1072, 1073, 937, 549, - 692, 307, 308, 323, 317, 365, 733, 822, 314, 315, - 323, -2, 1160, 322, 203, 113, 1219, 936, 837, 234, - 937, 705, 703, 318, 468, 848, 1067, 238, 239, 240, - 109, 837, 110, 114, 243, 1175, 1177, 1179, 109, 1241, - 110, 317, -773, 469, 254, 254, 677, 823, 184, 109, - 109, 110, 110, 1100, 109, 1143, 110, 1242, 1146, 109, - 508, 110, 268, 268, 121, 268, 268, 268, 268, 268, - 229, 268, 230, 268, 365, 268, 366, 1150, 378, 379, - 380, 1052, 109, 696, 110, 1053, 351, 352, 109, 684, - 110, 235, 268, 108, 706, 109, 109, 110, 110, 378, - 379, 380, 360, 362, 268, 268, 710, 109, 115, 110, - 1147, 268, 268, 116, 109, -773, 110, 349, -773, 214, - 238, 239, 240, 243, 1232, 1148, 1149, 1233, 1234, 581, - 1054, 359, 361, 10, 535, 11, 614, 592, 593, 594, - 595, 596, 1157, 597, 599, 601, 734, 117, 485, 606, - 325, 828, 938, 714, 1227, 401, 613, 833, 1205, 118, - 836, 619, 620, 402, 623, 626, 627, 1000, 632, 633, - 403, 119, 838, 829, 938, 778, 854, 912, 1007, 238, - 254, 254, 852, 849, 1153, 853, 406, 1386, 381, 844, - 789, 404, 847, 109, 405, 110, 254, 254, 120, 1410, - 373, 1411, -774, 1412, -775, 377, 1413, 1414, 1415, 381, - 677, 824, 214, -776, 450, 1036, 1055, 378, 379, 380, - 685, 367, 1079, 1416, 686, 317, 368, 677, 825, 984, - 1056, 317, 1391, 1392, 952, 1057, 953, 954, 955, 122, - 1058, 1421, 522, 109, 871, 110, 382, 524, 525, 317, - 975, 268, 223, 224, 225, 744, 226, 227, 228, 123, - 1399, 532, 1519, 317, 979, 531, 1461, 124, 976, 687, - 125, 505, 317, 1223, 126, -774, 127, -775, -774, 515, - -775, 516, 977, 517, 1457, 1519, -776, 837, 999, -776, - 128, 978, 317, 577, 129, 991, 130, 1196, 581, 154, - 996, 131, 317, 997, 998, 1076, 1077, 523, 993, 994, - 317, 1033, 523, 523, 764, 390, 1197, 992, 599, 606, - 1430, 1480, 132, 538, 543, 785, 767, 381, 518, 1481, - 133, 904, 1003, 401, 317, 1004, 1005, 401, 1035, 848, - 1006, 402, 1546, 582, 317, 402, 1085, 1086, 403, 226, - 227, 228, 403, 1482, 134, 688, 950, 135, 450, 450, - 450, 450, 450, 1483, 450, 450, 450, 160, 406, 689, - 450, 136, 1485, 404, 690, 137, 405, 450, 138, 691, - 1230, 1077, 450, 450, 1064, 450, 450, 450, 1068, 450, - 450, 1486, 756, 757, 758, 1059, 1489, 669, 1158, 1529, - 1530, 1531, 673, 674, 1181, 1182, 1183, 1236, 1492, 139, - 678, 679, 680, 317, 519, 1490, 1060, 1615, 1526, 1527, - 1528, 683, 1529, 1530, 1531, 682, 140, 1493, 520, 317, - 1650, 317, 1572, 521, 1239, 1240, 1616, 1162, 1163, 1164, - 798, 244, 799, 245, 800, 246, 264, 317, 1626, 1651, - 1661, 325, 373, 1152, 186, 187, 188, 141, 378, 379, - 380, 941, 523, 730, 1167, 942, 1662, 523, 523, 317, - 142, 1165, 1166, 1469, 317, 523, 523, 523, 1045, 1396, - 694, -102, 505, -102, 152, -102, 543, 143, 1663, 150, - 247, 1170, 151, 1664, 6, 713, 903, 1062, 155, 791, - 695, 1549, 696, -102, 697, -102, 156, -102, 161, 798, - 943, 799, 189, 1151, 1148, 1149, 1206, 162, 1, 2, - 3, 948, 163, 233, 833, 190, 191, 836, 242, 1237, - 974, 256, 794, 804, 805, 263, 299, 1207, 356, 450, - 450, 809, 1222, 810, 301, 844, 406, 450, 847, 698, - 406, 404, 302, 450, 405, 404, 819, 309, 405, 820, - 821, 316, 323, 6, 192, 193, 374, 194, 381, 1208, - -280, 1209, 195, 827, 196, 392, 248, 826, 393, 1185, - 1148, 1149, 1228, 1148, 1149, 1393, 394, 451, 1211, 317, - 249, 452, 186, 187, 188, 250, 944, 459, 1194, 453, - 251, 1148, 1149, 1453, 454, 1204, 455, 211, 212, 213, - 945, 730, 456, 457, 458, 946, 816, 1406, 981, 214, - 1408, 523, 461, 460, 523, 523, 538, 462, 463, 464, - 465, 694, 466, 467, 470, 699, 694, 694, 471, 472, - 694, 325, 473, 474, 475, 476, 477, 897, 478, 700, - 189, 500, 325, 488, 701, 1606, 1607, 1608, 974, 702, - 479, 858, 480, 190, 191, 974, 481, 948, 482, 656, - 948, 948, 378, 379, 380, 963, 489, 490, 1451, 964, - 492, 493, 1455, 494, 1458, 996, 997, 998, 496, 940, - 497, 503, 974, 540, 974, 510, 512, 974, 533, -204, - 544, 986, 192, 193, 927, 194, 1003, 1004, 1005, 1024, - 195, 547, 196, 583, 657, 214, 658, 450, 585, 6, - 603, 586, 607, 608, 965, 609, 616, 610, 611, 612, - 928, 617, 618, 659, 111, 649, 621, 152, 643, 644, - 651, 711, 150, 949, 6, 151, 650, 652, 653, 715, - 221, 222, 223, 224, 225, -281, 226, 227, 228, -282, - 505, 670, 1666, 677, 707, 660, 523, 716, 661, 662, - 1668, 717, 663, 719, 723, 694, 623, 325, 325, 724, - 694, 966, 381, 694, 694, 781, 538, 732, 664, -211, - 792, 802, 814, 974, 806, 807, 813, 538, 948, 816, - 665, 948, 948, 808, 811, 186, 187, 188, 830, 840, - 967, -367, 268, 855, 666, 859, 863, 865, 902, 905, - 870, 899, 901, 906, 968, 907, 974, 908, 909, 969, - 910, 257, 258, 911, 970, 929, 913, 934, 951, 1159, - 932, 933, 985, 927, 543, 1019, 221, 222, 223, 224, - 225, 987, 226, 227, 228, 988, 1475, 1476, 1477, 989, - 1018, 990, 1022, 189, 837, 848, -289, 1023, 1021, 1025, - 1027, 974, 974, 1028, 1029, 694, 190, 191, 1038, 303, - 304, 1039, 1040, 1041, 373, 1042, 1043, 1046, 373, 949, - 1048, 1049, 949, 949, 1065, 1066, 1087, 1070, 1090, 1091, - 1098, 1534, 1169, 1167, 1168, 1538, 152, 1089, 1184, 1171, - 1096, 150, 1172, 1541, 151, 192, 193, 1187, 194, 1188, - 1189, 816, 325, 195, 1170, 196, 1190, 1191, 1192, 1195, - 1198, 1553, 1554, 254, 1201, 1202, 1203, 373, 373, 373, - 325, 325, 1214, 1215, 694, 1224, 1225, 1229, 1243, 1226, - 1244, 1077, 1384, 197, 577, 1387, 1388, 198, 948, 581, - 1238, 1383, 199, 1398, 1389, 1400, 1422, 6, 1402, 1423, - 1403, 1424, 927, 1404, 1405, 358, 1425, 1426, 363, 364, - 1427, 1428, 1429, 1431, 1450, 1598, 6, 1459, 1454, 1200, - 1472, 1460, 1600, 6, 1466, 1474, 694, 450, 1478, 1479, - 1604, 1487, 1484, 694, 694, 67, 1488, 694, 1221, 1491, - 1494, 325, 1495, 1401, 1496, 1497, 1501, 1535, 1539, 1555, - 949, 1557, 1542, 949, 949, 1556, 538, 1558, 656, 373, - 1543, 186, 187, 188, 1544, 1547, 1559, 1560, 1561, 1562, - 1563, 1096, 1568, 1571, 1611, 1602, 1629, 1614, 1596, 1628, - 153, 1599, 1631, 1603, 1605, 1618, 159, 1613, 1619, 109, - 1617, 110, 164, 165, 166, 167, 168, 1620, 1623, 204, - 1622, 1630, 1633, 657, 1634, 658, 1635, 1417, 1418, 1636, - 1419, 1637, 1420, 1647, 1638, 513, 514, 1463, 1464, 189, - 1639, 1640, 659, 1641, 1643, 526, 527, 528, 538, 1656, - 1642, 1646, 190, 191, 816, 1648, 1519, 254, 1649, 1658, - 1659, 1660, 974, 1667, 1516, 1517, 1518, 373, 1669, 1462, - 373, 548, 1473, 1532, 660, 974, 1519, 661, 662, 1047, - 1212, 663, 769, 587, 588, 784, 1612, 1471, 1432, 873, - 786, 192, 193, 1465, 194, 1186, 722, 664, 0, 195, - 0, 196, 502, 0, 0, 1221, 0, 0, 615, 665, - 0, 0, 0, 0, 313, 694, 694, 694, 0, 0, - 0, 0, 0, 666, 505, 0, 0, 974, 505, 0, - 949, 0, 0, 501, 373, 0, 0, 0, 199, 0, - 268, 268, 0, 0, 0, 0, 0, 0, 0, 7, - 8, 9, 10, 0, 11, 12, 13, 0, 326, 327, - 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, - 338, 339, 340, 341, 342, 343, 344, 345, 346, 0, - 0, 350, 0, 667, 0, 0, 354, 1524, 1525, 1526, - 1527, 1528, 0, 1529, 1530, 1531, 672, 1435, 0, 675, - 676, 0, 0, 0, 0, 0, 0, 1524, 1525, 1526, - 1527, 1528, 1436, 1529, 1530, 1531, 407, 1437, 708, 0, - 0, 0, 0, 0, 0, 0, 24, 25, 0, 0, - 0, 0, 27, 0, 0, 0, 29, 30, 31, 32, + 6, 269, 576, 271, 272, 273, 274, 275, 580, 277, + 231, 279, 599, 281, 621, 623, 232, 653, 1062, 710, + 718, 255, 1081, 1382, 152, 399, 398, 150, 709, 929, + 298, 822, 548, 691, 238, 239, 240, 376, 377, 378, + 1156, 243, 307, 308, 702, 654, 703, 1067, 532, 314, + 315, 109, 400, 110, 229, 1160, 230, 184, 365, 935, + 1007, -2, 936, 401, 203, 317, 1069, 936, 234, 1072, + 1073, 733, -774, -775, 1100, 323, 1143, -776, 113, 1146, + 151, 321, 108, 466, 318, 1175, 1177, 1179, 778, 264, + 837, 109, 1241, 110, 254, 254, 114, 214, 109, 704, + 110, -777, 467, 322, 115, 317, 109, 317, 110, 109, + 1242, 110, 268, 268, 116, 268, 268, 268, 268, 268, + 117, 268, 744, 268, 506, 268, 870, 238, 239, 240, + 243, 109, 109, 110, 110, 109, 118, 110, 683, 109, + 235, 110, 268, 705, 317, -774, -775, 379, -774, -775, + -776, 184, 317, -776, 268, 268, 351, 352, 676, 823, + 317, 268, 268, 974, 513, 1520, 514, 323, 515, 1085, + 1086, 975, 360, 362, -777, 1219, 1227, -777, 853, 976, + 580, 1150, 848, 119, 380, 828, 238, 714, 533, 483, + 837, 833, 999, 244, 836, 245, 829, 246, 1232, 1157, + 325, 1233, 1234, 1006, 120, 399, 359, 361, 838, 1386, + 814, 734, 844, 516, 789, 847, 937, 1153, 183, 849, + 349, 937, 1205, 1076, 1077, 911, 376, 377, 378, 940, + 254, 254, 400, 941, 226, 227, 228, 613, 365, 121, + 366, 404, 247, 401, 402, 903, 254, 254, 123, 1411, + 373, 1412, 122, 1413, 1391, 1392, 1414, 1415, 1416, 756, + 757, 758, 1036, 316, 448, 109, 1079, 110, 124, 270, + 949, 109, 125, 110, 983, 276, 126, 278, 942, 280, + 127, 282, 283, 284, 285, 286, 287, 288, 289, 290, + 291, 292, 293, 294, 295, 296, 297, 403, 128, 517, + 529, 268, 1530, 1531, 1532, 317, 530, 1223, 306, 129, + 1462, 214, 310, 518, 311, 312, 1008, 520, 519, 1009, + 130, 503, 522, 523, 977, 229, 978, 230, 248, 542, + 990, 131, 109, 1147, 110, 995, 379, 132, 996, 997, + 133, 991, 249, 134, 576, 992, 993, 250, 1148, 1149, + 580, 135, 251, 109, 136, 110, 1002, 521, 1458, 1003, + 1004, 317, 521, 521, 943, 1399, 137, 798, 694, 799, + 695, 800, 696, 536, 539, 1196, 317, 138, 944, 317, + 1033, 317, 317, 945, 399, 367, 1035, 139, 399, 785, + 368, 581, 1417, 323, 1197, 1481, 355, 1486, 1482, 1547, + 1483, 1484, 140, 10, 1490, 11, 448, 448, 448, 448, + 448, 400, 448, 448, 448, 400, 1487, 697, 448, 676, + 824, 404, 401, 1491, 402, 448, 401, 141, 1493, 1059, + 448, 448, 1236, 448, 448, 448, 142, 448, 448, 1060, + 143, 317, 1158, 1616, 223, 224, 225, 1494, 226, 227, + 228, 155, 317, 1651, 317, 482, 676, 825, 681, 1422, + 1573, -102, 1617, -102, 682, -102, 154, 381, 388, 317, + 668, 1627, 1652, 1662, 156, 672, 673, 403, 1064, 791, + 1431, 160, 1068, 677, 678, 679, 317, 317, 1663, 1152, + 837, 998, 542, 1185, 109, 1470, 110, 161, 1167, 325, + 373, 848, 1005, 698, 1396, 1664, 1665, 1165, 1166, 162, + 521, 163, 1194, 233, 1170, 521, 521, 699, 242, 1204, + 1230, 1077, 700, 521, 521, 521, 263, 701, 693, 1045, + 503, 1162, 1163, 1164, 1, 2, 3, 299, 152, 1062, + 301, 150, 302, 6, 713, 951, 1550, 952, 953, 954, + 309, 1206, 655, -102, 798, -102, 799, -102, 1151, 833, + 356, 1207, 836, 1239, 1240, 730, 794, 1148, 1149, 844, + 1520, 374, 847, 1181, 1182, 1183, 1148, 1149, 1228, 1222, + -280, 375, 186, 187, 188, 1148, 1149, 1393, 448, 448, + 1148, 1149, 1454, 390, 151, 391, 448, 656, 392, 657, + 404, 457, 448, 402, 404, 449, 317, 402, 450, 451, + 452, 826, 6, 453, 459, 454, 658, 827, 644, 455, + 645, 456, 646, 458, 1237, 464, 468, 460, 1208, 1209, + 819, 461, 462, 820, 821, 804, 805, 463, 465, 469, + 189, 470, 471, 809, 486, 810, 1211, 472, 659, 498, + 473, 660, 661, 190, 191, 662, 403, 474, 475, 476, + 403, 376, 377, 378, 962, 816, 477, 478, 963, 479, + 521, 663, 480, 521, 521, 536, 487, 488, 490, 491, + 693, 492, 494, 664, 495, 693, 693, 508, 501, 693, + 325, 510, 192, 193, 531, 194, -204, 665, 543, 546, + 195, 325, 196, 1527, 1528, 1529, 582, 1530, 1531, 1532, + 584, 857, 1406, 964, 730, 1408, 602, 585, 606, 607, + 995, 996, 997, 608, 939, 609, 729, 610, 611, 620, + 1002, 1003, 1004, 615, 111, 616, 617, 642, 761, 643, + 1452, 706, 648, 649, 1456, 650, 980, 652, 651, 1024, + 896, 669, 708, -282, 676, 711, 716, 715, 717, 926, + 719, 1607, 1608, 1609, 723, 732, 724, 448, 781, 6, + 965, 379, -211, 802, 792, 814, 985, 806, 807, 1459, + 927, 808, 186, 187, 188, 811, 813, 830, 840, -368, + 854, 858, 152, 948, 6, 150, 764, 388, 862, 966, + 864, 869, 901, 898, 900, 376, 377, 378, 684, 904, + 503, 905, 685, 967, 906, 907, 521, 908, 968, 909, + 910, 912, 928, 969, 931, 693, 932, 325, 325, 933, + 693, 257, 258, 693, 693, 950, 536, 984, 986, 837, + 189, 987, 1018, 1038, 988, 989, 1019, 536, 151, 816, + 542, 848, -289, 190, 191, 1021, 1022, 686, 1023, 1025, + 1027, 268, 1028, 1029, 1039, 1040, 1041, 1042, 1667, 859, + 860, 861, 1043, 863, 1046, 865, 1669, 866, 867, 303, + 304, 1048, 591, 592, 593, 594, 595, 214, 596, 598, + 600, 1049, 192, 193, 605, 194, 1065, 926, 1066, 1070, + 195, 612, 196, 1087, 1090, 1091, 618, 619, 1159, 622, + 625, 626, 1098, 631, 632, 379, 1168, 1169, 1476, 1477, + 1478, 1184, 1171, 1172, 693, 1187, 1188, 1214, 1190, 1189, + 1192, 1191, 1195, 373, 1198, 1201, 1202, 373, 948, 1167, + 1203, 948, 948, 687, 1224, -281, 1226, 1225, 1077, 1170, + 1215, 1238, 1229, 1243, 1244, 1384, 1089, 688, 1387, 1096, + 152, 1383, 689, 150, 1388, 1450, 1389, 690, 1520, 1398, + 816, 325, 1423, 1400, 1424, 358, 1542, 1402, 363, 364, + 1403, 1404, 254, 1405, 1425, 1426, 373, 373, 373, 325, + 325, 1427, 1428, 693, 1554, 1555, 1429, 1535, 1430, 1432, + 1451, 1539, 1455, 1460, 947, 576, 1461, 376, 377, 378, + 1052, 580, 695, 973, 1053, 1467, 151, 6, 221, 222, + 223, 224, 225, 1473, 226, 227, 228, 926, 1475, 1489, + 1488, 1496, 1479, 1480, 1485, 1492, 6, 1495, 1536, 1200, + 1497, 1498, 1502, 6, 1540, 1545, 693, 448, 1556, 1557, + 1558, 1543, 1559, 693, 693, 1601, 1544, 693, 1221, 1054, + 1548, 325, 1560, 1605, 598, 605, 1561, 1562, 1563, 1564, + 948, 1569, 767, 948, 948, 1572, 536, 212, 213, 373, + 1603, 1599, 1597, 1401, 1604, 511, 512, 1063, 214, 1600, + 1612, 1096, 1606, 1614, 1615, 524, 525, 526, 1618, 1525, + 1526, 1527, 1528, 1529, 1619, 1530, 1531, 1532, 1620, 1621, + 1623, 1624, 1629, 1634, 1636, 1632, 1631, 379, 1637, 547, + 1635, 1638, 1639, 1640, 1641, 1642, 1644, 1649, 1464, 1465, + 1643, 586, 587, 1647, 1650, 1659, 1660, 1661, 1463, 1668, + 973, 1670, 1630, 769, 1533, 1055, 1648, 973, 536, 947, + 1518, 1519, 947, 947, 816, 1474, 614, 254, 784, 1056, + 1212, 1520, 1657, 1047, 1057, 1613, 1472, 373, 1433, 1058, + 373, 786, 872, 1466, 973, 1186, 973, 722, 0, 973, + 1418, 1419, 0, 1420, 500, 1421, 1450, 0, 1450, 1450, + 1450, 1450, 1450, 0, 1450, 0, 0, 1512, 1513, 1514, + 1515, 1516, 1517, 1518, 1519, 1221, 0, 0, 0, 0, + 0, 0, 0, 0, 1520, 693, 693, 693, 0, 221, + 222, 223, 224, 225, 503, 226, 227, 228, 503, 0, + 948, 666, 0, 0, 373, 0, 0, 0, 0, 0, + 268, 268, 0, 902, 671, 0, 0, 674, 675, 0, + 0, 0, 0, 382, 383, 384, 0, 1450, 1450, 1450, + 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, 1450, + 1450, 1450, 1450, 1450, 1450, 1450, 973, 0, 0, 0, + 0, 947, 0, 0, 947, 947, 0, 0, 0, 0, + 0, 0, 1525, 1526, 1527, 1528, 1529, 0, 1530, 1531, + 1532, 0, 0, 0, 0, 0, 0, 0, 0, 973, + 0, 189, 0, 0, 762, 0, 0, 766, 1450, 0, + 0, 0, 0, 0, 190, 191, 0, 0, 0, 0, + 0, 0, 549, 550, 551, 10, 0, 11, 552, 553, + 1522, 1523, 1524, 0, 554, 1525, 1526, 1527, 1528, 1529, + 0, 1530, 1531, 1532, 973, 973, 0, 1089, 0, 790, + 0, 0, 0, 385, 193, 0, 194, 0, 1434, 1450, + 0, 195, 1450, 196, 0, 0, 0, 109, 0, 110, + 555, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 581, 556, 0, 386, 817, 818, + 557, 0, 503, 503, 503, 0, 0, 0, 0, 558, + 559, 0, 0, 0, 831, 0, 0, 834, 835, 0, + 0, 839, 0, 0, 202, 842, 0, 0, 845, 846, + 0, 0, 850, 0, 693, 851, 852, 0, 0, 111, + 1509, 947, 0, 0, 560, 0, 0, 561, 241, 562, + 0, 0, 373, 0, 563, 0, 373, 0, 564, 0, + 503, 565, 0, 0, 0, 0, 566, 1096, 262, 567, + 0, 186, 187, 188, 0, 0, 0, 0, 503, 503, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 568, 0, 1509, 569, 570, 0, 0, 0, 571, + 0, 572, 0, 0, 0, 573, 300, 111, 0, 0, + 0, 0, 0, 0, 0, 0, 67, 0, 0, 0, + 0, 0, 0, 622, 1595, 0, 0, 0, 0, 189, + 0, 0, 0, 0, 0, 0, 373, 0, 0, 503, + 0, 0, 190, 191, 0, 0, 1449, 503, 0, 0, + 816, 816, 816, 0, 0, 0, 1200, 319, 320, 994, + 0, 153, 0, 0, 0, 0, 0, 159, 0, 1000, + 1001, 0, 0, 164, 165, 166, 167, 168, 0, 0, + 204, 192, 193, 0, 194, 347, 0, 1020, 0, 195, + 0, 196, 0, 0, 0, 973, 503, 373, 0, 503, + 0, 1508, 0, 0, 357, 0, 0, 0, 973, 0, + 0, 0, 0, 0, 0, 0, 0, 387, 389, 197, + 0, 0, 0, 198, 0, 0, 0, 0, 199, 0, + 503, 0, 111, 1653, 1654, 1655, 0, 1656, 0, 0, + 0, 186, 187, 188, 0, 0, 503, 0, 0, 1565, + 1566, 1567, 1568, 0, 1570, 0, 1571, 816, 0, 0, + 0, 973, 484, 485, 0, 816, 0, 0, 489, 0, + 1071, 0, 0, 1074, 1075, 313, 1078, 0, 111, 0, + 202, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1099, 0, 0, 0, 1144, 1145, 0, 189, + 0, 0, 1154, 0, 0, 0, 0, 1155, 186, 187, + 188, 0, 190, 191, 0, 1161, 0, 0, 0, 326, + 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, + 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, + 0, 0, 350, 0, 0, 0, 0, 354, 0, 0, + 262, 192, 193, 0, 194, 583, 0, 0, 0, 195, + 0, 196, 0, 0, 0, 0, 189, 1501, 0, 1503, + 1504, 1505, 1506, 1507, 0, 1510, 0, 405, 0, 190, + 191, 0, 1216, 0, 0, 1217, 1218, 0, 0, 0, + 0, 0, 0, 499, 0, 0, 630, 0, 199, 1231, + 0, 0, 0, 0, 0, 0, 186, 187, 188, 0, + 0, 0, 0, 481, 0, 0, 0, 0, 192, 193, + 0, 194, 0, 0, 0, 0, 195, 1385, 196, 0, + 496, 497, 0, 0, 0, 0, 0, 504, 1574, 1575, + 1576, 1577, 1578, 1579, 1580, 1581, 1582, 1583, 1584, 1585, + 1586, 1587, 1588, 1589, 1590, 1591, 1592, 0, 319, 0, + 0, 0, 0, 0, 189, 0, 0, 0, 0, 0, + 0, 1390, 0, 670, 0, 0, 0, 190, 191, 0, + 549, 550, 551, 10, 0, 11, 552, 553, 535, 0, + 0, 0, 871, 0, 0, 0, 707, 0, 1407, 0, + 0, 1409, 0, 0, 0, 262, 0, 0, 0, 0, + 0, 0, 0, 0, 111, 0, 192, 193, 0, 194, + 0, 0, 0, 111, 195, 109, 196, 110, 555, 0, + 601, 0, 0, 111, 0, 7, 8, 9, 10, 0, + 11, 12, 13, 556, 1435, 763, 765, 1499, 557, 0, + 770, 0, 0, 1645, 0, 0, 0, 558, 559, 0, + 0, 0, 0, 771, 0, 772, 773, 774, 775, 776, + 777, 0, 0, 779, 206, 207, 208, 209, 210, 211, + 212, 213, 0, 1436, 0, 0, 0, 787, 788, 0, + 0, 214, 560, 0, 0, 561, 796, 562, 1437, 211, + 212, 213, 563, 1438, 496, 0, 564, 0, 0, 565, + 0, 214, 24, 25, 566, 0, 0, 567, 27, 667, + 0, 0, 29, 30, 31, 32, 33, 34, 35, 36, + 37, 38, 39, 40, 41, 42, 43, 44, 0, 568, + 0, 0, 569, 570, 0, 0, 0, 571, 0, 572, + 48, 0, 49, 573, 841, 0, 0, 1439, 0, 0, + 0, 1440, 0, 540, 1441, 0, 0, 0, 0, 55, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 725, 726, 727, 728, 0, 731, 0, 0, + 0, 0, 0, 0, 1442, 0, 760, 1443, 1444, 1445, + 0, 0, 1446, 0, 1500, 65, 0, 73, 1448, 74, + 75, 76, 77, 0, 0, 894, 1471, 216, 217, 218, + 219, 220, 221, 222, 223, 224, 225, 0, 226, 227, + 228, 0, 0, 0, 780, 0, 0, 0, 0, 0, + 0, 84, 221, 222, 223, 224, 225, 0, 226, 227, + 228, 0, 0, 0, 0, 0, 0, 0, 237, 0, + 0, 0, 0, 0, 549, 550, 551, 10, 0, 11, + 552, 553, 981, 0, 0, 812, 720, 0, 0, 86, + 87, 1534, 0, 0, 0, 1538, 0, 0, 0, 1541, + 535, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 94, 1549, 0, 0, 1551, 1552, 1553, 0, 0, + 0, 0, 555, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 1026, 1517, 1518, 1519, 556, 0, 0, + 0, 0, 557, 0, 0, 0, 1520, 0, 868, 0, + 0, 558, 559, 0, 0, 0, 186, 187, 188, 873, + 874, 875, 876, 877, 878, 879, 880, 881, 882, 883, + 884, 885, 886, 887, 888, 889, 890, 891, 892, 893, + 0, 1602, 897, 0, 0, 0, 560, 0, 0, 561, + 0, 562, 1051, 1610, 1611, 0, 563, 0, 0, 0, + 564, 0, 0, 565, 0, 0, 0, 0, 566, 0, + 0, 567, 0, 0, 189, 0, 0, 0, 0, 0, + 0, 0, 1084, 0, 961, 0, 0, 190, 191, 0, + 0, 0, 0, 568, 0, 0, 569, 570, 0, 0, + 0, 571, 0, 721, 1633, 0, 0, 573, 0, 7, + 8, 9, 10, 0, 11, 12, 13, 169, 71, 0, + 0, 535, 0, 0, 0, 0, 192, 193, 1646, 194, + 0, 0, 535, 0, 195, 0, 196, 1525, 1526, 1527, + 1528, 1529, 1180, 1530, 1531, 1532, 0, 1658, 0, 0, + 0, 259, 0, 1031, 0, 0, 1666, 15, 72, 0, + 0, 170, 0, 171, 172, 173, 174, 78, 79, 0, + 0, 0, 21, 80, 0, 0, 175, 23, 0, 1213, + 82, 0, 0, 0, 0, 0, 24, 25, 176, 0, + 0, 0, 27, 0, 0, 177, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 483, 0, 0, 0, 0, 1089, 0, 0, - 0, 0, 0, 0, 48, 762, 49, 0, 766, 498, - 499, 1438, 0, 0, 0, 1439, 506, 0, 1440, 212, - 213, 0, 0, 55, 0, 0, 1508, 0, 0, 0, - 214, 0, 0, 0, 582, 0, 0, 0, 0, 0, - 0, 0, 505, 505, 505, 0, 0, 0, 1441, 0, - 790, 1442, 1443, 1444, 0, 0, 1445, 0, 1446, 65, - 1517, 1518, 1447, 0, 0, 0, 0, 537, 0, 0, - 0, 1519, 0, 694, 0, 0, 183, 0, 0, 1508, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 817, - 818, 373, 0, 0, 0, 373, 0, 0, 0, 505, - 0, 0, 0, 0, 0, 831, 1096, 0, 834, 835, - 1594, 602, 839, 0, 0, 0, 842, 505, 505, 845, - 846, 0, 0, 850, 0, 0, 851, 270, 0, 111, - 0, 0, 0, 276, 0, 278, 0, 280, 0, 282, - 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, - 293, 294, 295, 296, 297, 0, 0, 202, 0, 0, - 0, 221, 222, 223, 224, 225, 306, 226, 227, 228, - 310, 0, 311, 312, 0, 373, 0, 0, 505, 0, - 0, 241, 0, 0, 0, 498, 505, 0, 0, 816, - 816, 816, 0, 0, 0, 1200, 0, 111, 0, 0, - 668, 262, 1524, 1525, 1526, 1527, 1528, 0, 1529, 1530, - 1531, 0, 0, 0, 0, 384, 385, 386, 0, 1652, - 1653, 1654, 0, 1655, 0, 0, 0, 207, 208, 209, - 210, 211, 212, 213, 0, 505, 373, 0, 505, 300, - 0, 0, 0, 214, 0, 0, 0, 0, 0, 995, - 0, 0, 0, 0, 355, 0, 0, 0, 0, 1001, - 1002, 0, 725, 726, 727, 728, 0, 731, 0, 505, - 0, 0, 0, 189, 0, 1449, 760, 0, 1020, 0, - 0, 0, 0, 0, 0, 505, 190, 191, 0, 0, - 319, 320, 0, 0, 0, 0, 816, 0, 0, 0, - 0, 0, 0, 0, 816, 0, 0, 0, 0, 0, - 0, 0, 0, 484, 780, 0, 0, 0, 347, 0, - 0, 0, 0, 111, 0, 387, 193, 0, 194, 0, - 0, 0, 0, 195, 0, 196, 0, 357, 0, 0, + 43, 44, 178, 0, 0, 0, 382, 383, 384, 0, + 0, 46, 0, 47, 48, 0, 49, 0, 186, 187, + 188, 50, 0, 179, 180, 53, 0, 0, 54, 88, + 0, 0, 0, 55, 1095, 0, 56, 89, 90, 91, + 181, 0, 0, 93, 0, 182, 0, 0, 0, 0, + 0, 597, 0, 0, 0, 0, 0, 0, 59, 0, + 0, 60, 61, 62, 189, 0, 63, 0, 64, 65, + 0, 0, 66, 0, 0, 0, 189, 190, 191, 0, + 0, 0, 0, 1173, 0, 0, 0, 0, 0, 190, + 191, 0, 0, 0, 0, 0, 0, 0, 0, 407, + 0, 1031, 0, 0, 0, 0, 1193, 408, 409, 410, + 411, 0, 0, 0, 0, 0, 385, 193, 0, 194, + 413, 414, 415, 416, 195, 0, 196, 0, 192, 1010, + 1011, 1012, 0, 590, 0, 0, 195, 0, 196, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 0, 1013, + 0, 535, 0, 380, 1014, 0, 0, 214, 426, 1084, + 0, 0, 0, 0, 0, 0, 1095, 0, 0, 431, + 0, 0, 0, 0, 0, 432, 0, 0, 0, 434, + 435, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 438, 0, 439, 0, 1245, 1246, 1247, 1248, 1249, + 1250, 1251, 1252, 1253, 1254, 1255, 0, 1256, 1257, 1258, + 1259, 1260, 1261, 1262, 1263, 1264, 1265, 1266, 1267, 0, + 0, 1394, 0, 535, 0, 1397, 1268, 1269, 1270, 1271, + 1272, 1273, 1274, 1275, 1276, 1277, 1278, 1279, 1280, 1281, + 1282, 1283, 1284, 1285, 1286, 0, 0, 1287, 1288, 1289, + 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 1298, 1299, + 1300, 1301, 1302, 1303, 1304, 0, 1305, 0, 1306, 1307, + 1308, 1309, 1310, 1311, 1312, 1313, 1314, 1315, 0, 1316, + 1317, 1318, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 0, 226, 227, 228, 0, 1319, 0, + 507, 0, 0, 0, 0, 1320, 1321, 1322, 1323, 1324, + 1325, 1326, 1327, 1328, 1329, 1330, 1331, 1332, 1333, 1334, + 1335, 1336, 1337, 1338, 1339, 1340, 1341, 1342, 1343, 1344, + 1345, 1346, 1347, 1348, 1349, 1350, 1351, 1352, 1353, 1354, + 1355, 1356, 1357, 633, 634, 0, 1358, 1359, 1360, 1361, + 1362, 1363, 1364, 1365, 1366, 1367, 1368, 1369, 1370, 1371, + 1372, 1373, 1374, 1375, 1376, 1377, 1378, 1546, 1379, 1380, + 0, 0, 0, 186, 187, 188, 0, 0, 0, 186, + 187, 188, 0, 0, 0, 394, 0, 0, 73, 0, + 74, 75, 76, 77, 78, 0, 0, 0, 0, 0, + 395, 0, 0, 81, 0, 0, 73, 82, 74, 75, + 76, 77, 0, 0, 0, 83, 0, 0, 0, 0, + 0, 236, 84, 0, 0, 0, 0, 0, 0, 0, + 0, 189, 0, 0, 0, 0, 0, 189, 0, 85, + 84, 0, 0, 0, 190, 191, 0, 0, 0, 1593, + 190, 191, 635, 0, 0, 0, 0, 237, 1469, 0, + 86, 87, 0, 0, 0, 0, 88, 0, 0, 0, + 0, 0, 0, 0, 396, 397, 91, 92, 86, 87, + 93, 0, 94, 192, 193, 0, 194, 636, 1622, 192, + 193, 195, 194, 196, 0, 92, 0, 195, 0, 196, + 94, 0, 0, 637, 1013, 0, 0, 0, 0, 1174, + 1013, 0, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, + 1253, 1254, 1255, 143, 1256, 1257, 1258, 1259, 1260, 1261, + 1262, 1263, 1264, 1265, 1266, 1267, 0, 0, 0, 0, + 0, 0, 1095, 1268, 1269, 1270, 1271, 1272, 1273, 1274, + 1275, 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, + 1285, 1286, 0, 0, 1287, 1288, 1289, 1290, 1291, 1292, + 1293, 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, + 1303, 1304, 0, 1305, 0, 1306, 1307, 1308, 1309, 1310, + 1311, 1312, 1313, 1314, 1315, 0, 1316, 1317, 1318, 0, + 0, 0, 0, 0, 0, 0, 1596, 0, 0, 0, + 0, 0, 0, 0, 0, 1319, 0, 0, 0, 0, + 0, 0, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, + 1328, 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, + 1338, 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, + 1348, 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, + 0, 0, 0, 1358, 1359, 1360, 1361, 1362, 1363, 1364, + 1365, 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, + 1375, 1376, 1377, 1378, 0, 1379, 1380, 7, 8, 9, + 10, 0, 11, 12, 13, 393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 389, 391, 0, 0, 0, 812, 0, 0, 0, 0, - 0, 1071, 382, 0, 1074, 1075, 0, 1078, 0, 111, - 537, 218, 219, 220, 221, 222, 223, 224, 225, 0, - 226, 227, 228, 1099, 0, 0, 0, 1144, 1145, 0, - 0, 0, 0, 1154, 0, 486, 487, 0, 1155, 0, - 0, 491, 0, 0, 0, 0, 1161, 209, 210, 211, - 212, 213, 0, 202, 0, 0, 0, 869, 0, 0, - 0, 214, 0, 0, 0, 0, 0, 0, 874, 875, - 876, 877, 878, 879, 880, 881, 882, 883, 884, 885, - 886, 887, 888, 889, 890, 891, 892, 893, 894, 1448, - 0, 898, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 0, - 0, 0, 0, 0, 0, 0, 0, 539, 1519, 0, - 0, 0, 1216, 0, 0, 1217, 1218, 0, 645, 0, - 646, 0, 647, 0, 0, 262, 0, 0, 0, 1231, - 584, 0, 0, 962, 0, 1449, 0, 1449, 1449, 1449, - 1449, 1449, 0, 1449, 0, 0, 1510, 1511, 1512, 1513, - 1514, 1515, 1516, 1517, 1518, 0, 0, 1385, 0, 0, - 0, 0, 0, 0, 1519, 0, 0, 0, 0, 0, - 537, 631, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 537, 0, 0, 0, 0, 1009, 0, 0, 0, - 219, 220, 221, 222, 223, 224, 225, 0, 226, 227, - 228, 1390, 0, 1031, 0, 0, 1449, 1449, 1449, 1449, - 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, 1449, - 1449, 1449, 1449, 1449, 1449, 729, 0, 0, 1407, 0, - 0, 1409, 0, 319, 1521, 1522, 1523, 761, 0, 1524, - 1525, 1526, 1527, 1528, 111, 1529, 1530, 1531, 671, 0, - 0, 0, 0, 111, 207, 208, 209, 210, 211, 212, - 213, 0, 0, 111, 0, 0, 0, 1449, 0, 0, - 214, 0, 0, 0, 1434, 0, 0, 0, 0, 262, - 0, 0, 0, 0, 0, 0, 0, 1625, 0, 1520, - 1521, 1522, 1523, 0, 1095, 1524, 1525, 1526, 1527, 1528, - 0, 1529, 1530, 1531, 0, 0, 384, 385, 386, 1500, - 0, 1502, 1503, 1504, 1505, 1506, 0, 1509, 1449, 763, - 765, 1449, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 771, 0, 772, - 773, 774, 775, 776, 777, 0, 0, 779, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1031, 787, 788, 0, 189, 1193, 0, 860, 861, 862, - 796, 864, 0, 866, 541, 867, 868, 190, 191, 0, - 1573, 1574, 1575, 1576, 1577, 1578, 1579, 1580, 1581, 1582, - 1583, 1584, 1585, 1586, 1587, 1588, 1589, 1590, 1591, 219, - 220, 221, 222, 223, 224, 225, 0, 226, 227, 228, - 537, 0, 0, 0, 0, 0, 387, 193, 73, 194, - 74, 75, 76, 77, 195, 1095, 196, 0, 841, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1470, 0, 0, 0, - 388, 0, 84, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 7, 8, 9, 10, 237, - 11, 12, 13, 14, 0, 0, 0, 157, 0, 0, - 1394, 0, 537, 0, 1397, 0, 0, 0, 895, 0, - 86, 87, 0, 0, 0, 1644, 0, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 0, 92, 0, 0, - 1533, 0, 94, 15, 1537, 214, 0, 16, 1540, 17, - 18, 19, 20, 1514, 1515, 1516, 1517, 1518, 21, 0, - 0, 1548, 22, 23, 1550, 1551, 1552, 1519, 0, 0, - 0, 0, 24, 25, 26, 982, 0, 0, 27, 0, - 0, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 0, - 0, 0, 0, 0, 0, 0, 0, 46, 0, 47, - 48, 0, 49, 0, 0, 0, 1063, 50, 0, 51, - 52, 53, 0, 0, 54, 0, 0, 1026, 0, 55, - 1601, 0, 56, 0, 0, 0, 57, 0, 0, 0, - 0, 58, 1609, 1610, 206, 207, 208, 209, 210, 211, - 212, 213, 0, 0, 59, 0, 0, 60, 61, 62, - 0, 214, 63, 0, 158, 65, 0, 0, 66, 0, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 0, 226, 227, 228, 0, 1051, 0, 509, 0, - 0, 0, 73, 1632, 74, 75, 76, 77, 1524, 1525, - 1526, 1527, 1528, 0, 1529, 1530, 1531, 236, 0, 0, - 0, 0, 0, 0, 0, 0, 1084, 1645, 0, 0, - 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1657, 0, 0, 0, - 0, 0, 0, 237, 0, 1665, 0, 1468, 0, 0, - 0, 0, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 0, - 0, 0, 0, 0, 86, 87, 0, 0, 1519, 0, - 0, 0, 0, 0, 0, 1180, 0, 0, 0, 0, - 0, 92, 0, 0, 0, 0, 94, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 225, 0, 226, 227, - 228, 1245, 1246, 1247, 1248, 1249, 1250, 1251, 1252, 1253, - 1254, 1255, 1213, 1256, 1257, 1258, 1259, 1260, 1261, 1262, - 1263, 1264, 1265, 1266, 1267, 0, 0, 0, 0, 0, - 1095, 0, 1268, 1269, 1270, 1271, 1272, 1273, 1274, 1275, - 1276, 1277, 1278, 1279, 1280, 1281, 1282, 1283, 1284, 1285, - 1286, 0, 0, 1287, 1288, 1289, 1290, 1291, 1292, 1293, - 1294, 1295, 1296, 1297, 1298, 1299, 1300, 1301, 1302, 1303, - 1304, 0, 1305, 0, 1306, 1307, 1308, 1309, 1310, 1311, - 1312, 1313, 1314, 1315, 0, 1316, 1317, 1318, 0, 0, - 0, 0, 0, 0, 1595, 0, 1433, 0, 0, 1524, - 1525, 1526, 1527, 1528, 1319, 1529, 1530, 1531, 0, 0, - 0, 1320, 1321, 1322, 1323, 1324, 1325, 1326, 1327, 1328, - 1329, 1330, 1331, 1332, 1333, 1334, 1335, 1336, 1337, 1338, - 1339, 1340, 1341, 1342, 1343, 1344, 1345, 1346, 1347, 1348, - 1349, 1350, 1351, 1352, 1353, 1354, 1355, 1356, 1357, 0, - 0, 0, 1358, 1359, 1360, 1361, 1362, 1363, 1364, 1365, - 1366, 1367, 1368, 1369, 1370, 1371, 1372, 1373, 1374, 1375, - 1376, 1377, 1378, 1545, 1379, 1380, 0, 0, 1245, 1246, - 1247, 1248, 1249, 1250, 1251, 1252, 1253, 1254, 1255, 0, - 1256, 1257, 1258, 1259, 1260, 1261, 1262, 1263, 1264, 1265, - 1266, 1267, 1084, 0, 0, 0, 0, 0, 0, 1268, - 1269, 1270, 1271, 1272, 1273, 1274, 1275, 1276, 1277, 1278, - 1279, 1280, 1281, 1282, 1283, 1284, 1285, 1286, 0, 0, - 1287, 1288, 1289, 1290, 1291, 1292, 1293, 1294, 1295, 1296, - 1297, 1298, 1299, 1300, 1301, 1302, 1303, 1304, 0, 1305, - 0, 1306, 1307, 1308, 1309, 1310, 1311, 1312, 1313, 1314, - 1315, 0, 1316, 1317, 1318, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1319, 0, 0, 0, 0, 0, 0, 1320, 1321, - 1322, 1323, 1324, 1325, 1326, 1327, 1328, 1329, 1330, 1331, - 1332, 1333, 1334, 1335, 1336, 1337, 1338, 1339, 1340, 1341, - 1342, 1343, 1344, 1345, 1346, 1347, 1348, 1349, 1350, 1351, - 1352, 1353, 1354, 1355, 1356, 1357, 0, 0, 1507, 1358, - 1359, 1360, 1361, 1362, 1363, 1364, 1365, 1366, 1367, 1368, - 1369, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378, - 0, 1379, 1380, 0, 0, 7, 8, 9, 10, 0, - 11, 12, 13, 169, 71, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1564, 1565, 1566, 1567, - 0, 1569, 0, 1570, 0, 0, 0, 0, 205, 206, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 0, 0, 0, 15, 394, 214, 0, 170, + 0, 171, 172, 173, 174, 78, 0, 0, 0, 0, + 21, 395, 0, 0, 175, 23, 0, 0, 82, 0, + 0, 0, 0, 0, 24, 25, 176, 0, 0, 0, + 27, 0, 0, 177, 29, 30, 31, 32, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, + 178, 0, 0, 0, 0, 0, 0, 0, 0, 46, + 0, 47, 48, 0, 49, 0, 0, 0, 0, 50, + 0, 179, 180, 53, 0, 0, 54, 88, 0, 0, + 0, 55, 0, 0, 56, 396, 397, 91, 181, 0, + 0, 93, 0, 182, 7, 8, 9, 10, 0, 11, + 12, 13, 14, 0, 0, 0, 59, 0, 0, 60, + 61, 62, 0, 0, 63, 0, 64, 65, 0, 0, + 66, 0, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 0, 226, 227, 228, 0, 0, 0, + 1034, 0, 15, 0, 0, 0, 16, 0, 17, 18, + 19, 20, 0, 0, 0, 0, 0, 21, 0, 958, + 959, 22, 23, 0, 0, 0, 0, 0, 0, 0, + 0, 24, 25, 26, 0, 0, 0, 27, 0, 0, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 0, 0, + 0, 0, 0, 0, 0, 0, 46, 0, 47, 48, + 0, 49, 0, 0, 0, 0, 50, 0, 51, 52, + 53, 0, 0, 54, 0, 0, 0, 0, 55, 0, + 0, 56, 0, 0, 0, 57, 7, 8, 9, 10, + 58, 11, 12, 13, 14, 960, 0, 0, 157, 0, + 0, 0, 0, 59, 0, 0, 60, 61, 62, 0, + 0, 63, 0, 64, 65, 0, 0, 66, 205, 206, 207, 208, 209, 210, 211, 212, 213, 0, 0, 0, - 0, 0, 0, 15, 72, 0, 214, 170, 0, 171, - 172, 173, 174, 78, 79, 0, 0, 0, 21, 80, - 0, 0, 175, 23, 0, 0, 82, 0, 0, 0, - 0, 0, 24, 25, 176, 0, 0, 0, 27, 0, - 0, 177, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 178, 0, - 0, 0, 0, 0, 0, 0, 0, 46, 0, 47, - 48, 0, 49, 0, 0, 0, 0, 50, 0, 179, - 180, 53, 0, 0, 54, 88, 0, 0, 0, 55, - 0, 1592, 56, 89, 90, 91, 181, 0, 0, 93, - 0, 182, 7, 8, 9, 10, 0, 11, 12, 13, - 395, 0, 0, 0, 59, 0, 0, 60, 61, 62, - 0, 0, 63, 0, 64, 65, 0, 0, 66, 0, - 1621, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 225, 0, 226, 227, 228, 0, 0, 0, 1034, - 15, 396, 0, 0, 170, 0, 171, 172, 173, 174, - 78, 0, 0, 0, 0, 21, 397, 0, 0, 175, - 23, 0, 0, 82, 0, 0, 0, 0, 0, 24, - 25, 176, 0, 0, 0, 27, 0, 0, 177, 29, + 0, 0, 0, 0, 15, 0, 214, 0, 16, 0, + 17, 18, 19, 20, 0, 0, 0, 0, 0, 21, + 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, + 0, 0, 0, 24, 25, 26, 0, 0, 0, 27, + 0, 0, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, + 47, 48, 0, 49, 0, 0, 0, 0, 50, 0, + 51, 52, 53, 0, 0, 54, 0, 0, 0, 0, + 55, 0, 0, 56, 0, 0, 0, 57, 7, 8, + 9, 10, 58, 11, 12, 13, 14, 0, 0, 0, + 0, 0, 0, 0, 0, 59, 0, 0, 60, 61, + 62, 0, 0, 63, 0, 158, 65, 0, 0, 66, + 0, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 0, 226, 227, 228, 15, 0, 0, 1628, + 16, 0, 17, 18, 19, 20, 0, 0, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 0, 0, 0, + 0, 0, 0, 0, 0, 24, 25, 26, 0, 0, + 0, 27, 0, 0, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, + 46, 0, 47, 48, 0, 49, 0, 0, 0, 0, + 50, 0, 51, 52, 53, 0, 0, 54, 0, 0, + 0, 0, 55, 0, 0, 56, 0, 0, 0, 57, + 7, 8, 9, 10, 58, 11, 12, 13, 14, 0, + 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, + 60, 61, 62, 0, 0, 63, 0, 64, 65, 348, + 0, 66, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 0, 0, 15, 353, + 214, 0, 16, 0, 17, 18, 19, 20, 0, 0, + 0, 0, 0, 21, 0, 0, 0, 22, 23, 0, + 0, 0, 0, 0, 0, 0, 0, 24, 25, 26, + 0, 0, 0, 27, 0, 0, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 0, 0, 0, 0, 0, 0, + 0, 0, 46, 0, 47, 48, 0, 49, 0, 0, + 0, 0, 50, 0, 51, 52, 53, 0, 0, 54, + 0, 0, 0, 0, 55, 0, 0, 56, 0, 0, + 0, 57, 7, 8, 9, 10, 58, 11, 12, 13, + 14, 0, 0, 0, 0, 0, 0, 0, 0, 59, + 0, 0, 60, 61, 62, 0, 0, 63, 0, 64, + 65, 0, 1097, 66, 0, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 0, 226, 227, 228, + 15, 759, 0, 0, 16, 0, 17, 18, 19, 20, + 0, 0, 0, 0, 0, 21, 0, 0, 0, 22, + 23, 0, 0, 0, 0, 0, 0, 0, 0, 24, + 25, 26, 0, 0, 0, 27, 0, 0, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 178, 0, 0, 0, 0, - 0, 0, 0, 0, 46, 0, 47, 48, 0, 49, - 0, 0, 0, 0, 50, 0, 179, 180, 53, 0, - 0, 54, 88, 0, 0, 0, 55, 0, 0, 56, - 398, 399, 91, 181, 0, 0, 93, 0, 182, 7, - 8, 9, 10, 0, 11, 12, 13, 14, 0, 0, + 40, 41, 42, 43, 44, 45, 0, 0, 73, 0, + 74, 75, 76, 77, 46, 0, 47, 48, 0, 49, + 0, 0, 0, 0, 50, 0, 51, 52, 53, 0, + 0, 54, 0, 0, 0, 0, 55, 0, 0, 56, + 0, 0, 84, 57, 7, 8, 9, 10, 58, 11, + 12, 13, 14, 0, 0, 0, 0, 0, 0, 237, 0, 59, 0, 0, 60, 61, 62, 0, 0, 63, 0, 64, 65, 0, 0, 66, 0, 0, 0, 0, - 205, 206, 207, 208, 209, 210, 211, 212, 213, 0, - 0, 0, 0, 0, 0, 0, 0, 15, 214, 0, - 0, 16, 0, 17, 18, 19, 20, 0, 0, 0, - 0, 0, 21, 0, 959, 960, 22, 23, 0, 0, - 0, 0, 0, 0, 0, 0, 24, 25, 26, 0, - 0, 0, 27, 0, 0, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 0, 0, 0, 0, 0, 0, 0, - 0, 46, 0, 47, 48, 0, 49, 0, 0, 0, - 0, 50, 0, 51, 52, 53, 0, 0, 54, 0, - 0, 0, 0, 55, 0, 0, 56, 0, 0, 0, - 57, 7, 8, 9, 10, 58, 11, 12, 13, 14, - 961, 0, 0, 0, 0, 0, 0, 0, 59, 0, - 0, 60, 61, 62, 0, 0, 63, 0, 64, 65, - 0, 0, 66, 215, 216, 217, 218, 219, 220, 221, - 222, 223, 224, 225, 0, 226, 227, 228, 0, 15, - 0, 1627, 0, 16, 0, 17, 18, 19, 20, 0, - 0, 0, 0, 0, 21, 0, 0, 0, 22, 23, - 0, 0, 0, 0, 0, 0, 0, 0, 24, 25, - 26, 0, 0, 0, 27, 0, 0, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 0, 0, 0, 0, 0, - 0, 0, 0, 46, 0, 47, 48, 0, 49, 0, - 0, 0, 0, 50, 0, 51, 52, 53, 0, 0, - 54, 0, 0, 0, 0, 55, 0, 0, 56, 0, - 0, 0, 57, 7, 8, 9, 10, 58, 11, 12, - 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, - 59, 0, 0, 60, 61, 62, 0, 0, 63, 0, - 64, 65, 348, 0, 66, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 0, 0, 0, 0, 0, 0, - 0, 15, 353, 214, 0, 16, 0, 17, 18, 19, - 20, 0, 0, 0, 0, 0, 21, 0, 0, 0, - 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 24, 25, 26, 0, 0, 0, 27, 0, 0, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 0, 0, 0, - 0, 0, 0, 0, 0, 46, 0, 47, 48, 0, - 49, 0, 0, 0, 0, 50, 0, 51, 52, 53, - 0, 0, 54, 0, 0, 0, 0, 55, 0, 0, - 56, 0, 0, 0, 57, 7, 8, 9, 10, 58, - 11, 12, 13, 14, 0, 0, 0, 0, 0, 0, - 0, 0, 59, 0, 0, 60, 61, 62, 0, 0, - 63, 0, 64, 65, 0, 1097, 66, 0, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 0, - 226, 227, 228, 15, 759, 0, 0, 16, 0, 17, - 18, 19, 20, 0, 0, 0, 0, 0, 21, 0, - 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, - 0, 0, 24, 25, 26, 0, 0, 0, 27, 0, - 0, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 0, - 0, 73, 0, 74, 75, 76, 77, 46, 0, 47, - 48, 0, 49, 0, 0, 0, 236, 50, 0, 51, - 52, 53, 0, 0, 54, 0, 0, 0, 0, 55, - 0, 0, 56, 0, 0, 84, 57, 7, 8, 9, - 10, 58, 11, 12, 13, 14, 0, 0, 0, 0, - 0, 0, 237, 0, 59, 0, 0, 60, 61, 62, - 0, 0, 63, 0, 64, 65, 0, 0, 66, 0, - 0, 0, 0, 86, 87, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 15, 0, 0, 0, 16, - 92, 17, 18, 19, 20, 94, 0, 0, 0, 0, - 21, 0, 0, 0, 22, 23, 0, 0, 0, 0, - 0, 0, 0, 0, 24, 25, 26, 0, 143, 0, - 27, 0, 0, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 0, 0, 0, 0, 0, 0, 0, 0, 46, - 0, 47, 48, 0, 49, 0, 0, 0, 0, 50, - 0, 51, 52, 53, 0, 0, 54, 0, 0, 0, - 0, 55, 0, 0, 56, 0, 0, 0, 57, 7, - 8, 9, 10, 58, 11, 12, 13, 14, 0, 0, - 0, 0, 0, 0, 0, 0, 59, 0, 0, 60, - 61, 62, 0, 0, 63, 0, 64, 65, 896, 0, - 66, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 0, 0, 0, 0, 0, 0, 0, 15, 0, 214, - 0, 16, 0, 17, 18, 19, 20, 0, 0, 0, - 0, 0, 21, 0, 0, 0, 22, 23, 0, 0, - 0, 0, 0, 0, 0, 0, 24, 25, 26, 0, - 0, 0, 27, 0, 0, 28, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 45, 0, 0, 0, 0, 0, 0, 0, - 0, 46, 0, 47, 48, 0, 49, 0, 0, 0, - 0, 50, 0, 51, 52, 53, 0, 0, 54, 0, - 0, 0, 0, 55, 0, 0, 56, 0, 0, 0, - 57, 7, 8, 9, 10, 58, 11, 12, 13, 14, - 1092, 0, 0, 0, 0, 0, 0, 0, 59, 0, - 0, 60, 61, 62, 0, 0, 63, 0, 64, 65, - 1173, 0, 66, 0, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 0, 226, 227, 228, 15, - 0, 0, 0, 16, 0, 17, 18, 19, 20, 0, - 0, 0, 0, 0, 21, 0, 0, 0, 22, 23, - 0, 0, 0, 0, 0, 0, 0, 0, 24, 25, - 26, 0, 0, 0, 27, 0, 0, 28, 29, 30, - 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - 41, 42, 43, 44, 45, 0, 0, 0, 0, 0, - 0, 0, 0, 46, 0, 47, 48, 0, 49, 0, - 0, 0, 0, 50, 0, 51, 52, 53, 0, 0, - 54, 0, 0, 0, 0, 55, 0, 0, 56, 0, - 0, 0, 57, 7, 8, 9, 10, 58, 11, 12, - 13, 14, 1467, 0, 0, 0, 0, 0, 0, 0, - 59, 0, 0, 60, 61, 62, 0, 0, 63, 0, - 64, 65, 0, 0, 66, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 0, 0, 0, 0, 0, 0, - 0, 15, 0, 214, 0, 16, 0, 17, 18, 19, - 20, 0, 0, 0, 0, 0, 21, 0, 0, 0, - 22, 23, 0, 0, 0, 0, 0, 0, 0, 0, - 24, 25, 26, 0, 0, 0, 27, 0, 0, 28, - 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - 39, 40, 41, 42, 43, 44, 45, 0, 0, 0, - 0, 0, 0, 0, 0, 46, 0, 47, 48, 0, - 49, 0, 0, 0, 0, 50, 0, 51, 52, 53, - 0, 0, 54, 0, 0, 0, 0, 55, 0, 0, - 56, 0, 0, 0, 57, 7, 8, 9, 10, 58, - 11, 12, 13, 14, 0, 0, 0, 0, 0, 0, - 0, 0, 59, 0, 0, 60, 61, 62, 0, 0, - 63, 0, 64, 65, 1593, 0, 66, 0, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 0, - 226, 227, 228, 15, 0, 0, 0, 16, 0, 17, - 18, 19, 20, 0, 0, 0, 0, 0, 21, 0, - 0, 0, 22, 23, 0, 0, 0, 0, 0, 0, - 0, 0, 24, 25, 26, 0, 0, 0, 27, 0, - 0, 28, 29, 30, 31, 32, 33, 34, 35, 36, - 37, 38, 39, 40, 41, 42, 43, 44, 45, 0, - 0, 0, 0, 0, 0, 0, 0, 46, 0, 47, - 48, 0, 49, 0, 0, 0, 0, 50, 0, 51, - 52, 53, 0, 0, 54, 0, 0, 0, 0, 55, - 0, 0, 56, 0, 0, 0, 57, 7, 8, 9, - 10, 58, 11, 12, 13, 14, 0, 0, 0, 0, - 0, 0, 0, 0, 59, 0, 0, 60, 61, 62, - 0, 0, 63, 0, 64, 65, 0, 0, 66, 735, - 736, 737, 738, 739, 740, 741, 742, 743, 0, 0, - 0, 0, 0, 0, 0, 15, 0, 744, 0, 16, - 0, 17, 18, 19, 20, 0, 0, 0, 0, 0, - 21, 0, 0, 0, 22, 23, 0, 0, 0, 0, - 0, 0, 0, 0, 24, 25, 26, 0, 0, 0, - 27, 0, 0, 28, 29, 30, 31, 32, 33, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 0, 0, 0, 0, 0, 0, 0, 0, 46, - 0, 47, 48, 0, 49, 0, 0, 0, 0, 50, - 0, 51, 52, 53, 0, 0, 54, 0, 0, 0, - 0, 55, 0, 0, 56, 0, 0, 0, 57, 7, - 8, 9, 10, 58, 11, 12, 13, 0, 0, 0, - 0, 1498, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 63, 0, 64, 65, 0, 0, - 66, 0, 745, 746, 747, 748, 749, 750, 751, 752, - 753, 754, 755, 0, 756, 757, 758, 1435, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1436, 0, 186, 187, 188, 1437, 0, 0, - 0, 0, 0, 0, 0, 0, 24, 25, 0, 0, - 0, 0, 27, 0, 0, 0, 29, 30, 31, 32, - 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, - 43, 44, 7, 8, 9, 10, 0, 11, 12, 13, - 0, 0, 0, 0, 48, 0, 49, 0, 0, 0, - 0, 1438, 189, 0, 0, 1439, 0, 0, 1440, 0, - 0, 0, 0, 55, 0, 190, 191, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1435, 0, 0, 0, 0, 0, 0, 0, 1441, 0, - 0, 1442, 1443, 1444, 0, 1436, 1445, 0, 1499, 65, - 1437, 0, 1447, 0, 192, 193, 0, 194, 0, 24, - 25, 0, 195, 0, 196, 27, 0, 0, 0, 29, - 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - 40, 41, 42, 43, 44, 186, 187, 188, 770, 0, - 0, 0, 0, 0, 0, 0, 0, 48, 0, 49, - 550, 551, 552, 10, 1438, 11, 553, 554, 1439, 0, - 0, 1440, 555, 0, 0, 0, 55, 0, 0, 0, - 0, 0, 0, 0, 550, 551, 552, 10, 0, 11, - 553, 554, 0, 0, 0, 0, 872, 0, 0, 0, - 0, 0, 0, 189, 0, 109, 0, 110, 556, 1445, - 0, 1446, 65, 0, 0, 1447, 190, 191, 0, 0, - 0, 0, 0, 557, 0, 0, 0, 0, 558, 109, - 0, 110, 556, 0, 0, 0, 0, 559, 560, 0, - 0, 0, 0, 0, 0, 0, 0, 557, 0, 0, - 0, 0, 558, 0, 0, 192, 1010, 1011, 1012, 0, - 0, 559, 560, 195, 0, 196, 73, 0, 74, 75, - 76, 77, 561, 0, 0, 562, 1013, 563, 0, 0, - 0, 1014, 564, 0, 0, 0, 565, 0, 0, 566, - 0, 0, 0, 0, 567, 0, 561, 568, 0, 562, - 84, 563, 550, 551, 552, 10, 564, 11, 553, 554, - 565, 0, 0, 566, 720, 0, 0, 237, 567, 569, - 0, 568, 570, 571, 0, 0, 0, 572, 0, 573, - 0, 0, 0, 574, 0, 0, 0, 0, 86, 87, - 0, 0, 0, 569, 0, 0, 570, 571, 0, 0, - 556, 572, 0, 573, 0, 92, 0, 574, 0, 0, - 94, 0, 0, 0, 0, 557, 0, 0, 0, 0, - 558, 1101, 0, 0, 0, 0, 0, 0, 0, 559, - 560, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, - 0, 0, 0, 0, 0, 186, 187, 188, 0, 1111, - 0, 1112, 1113, 1114, 1115, 1116, 1117, 1118, 1119, 1120, - 1121, 1122, 1123, 0, 561, 0, 0, 562, 0, 563, - 0, 0, 0, 0, 564, 0, 0, 0, 565, 0, - 0, 566, 0, 0, 1124, 0, 567, 0, 0, 568, - 634, 635, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 189, 0, 0, 0, 0, 0, 629, - 0, 569, 0, 0, 570, 571, 190, 191, 0, 572, - 0, 721, 0, 0, 0, 574, 0, 0, 0, 0, - 1125, 0, 396, 0, 0, 73, 0, 74, 75, 76, - 77, 78, 0, 0, 0, 0, 0, 397, 0, 630, - 81, 0, 0, 0, 82, 192, 193, 0, 194, 186, - 187, 188, 83, 195, 0, 196, 0, 0, 0, 84, - 1126, 0, 0, 1127, 0, 1128, 1129, 1130, 1131, 1132, - 1133, 1134, 1135, 1136, 1137, 1138, 85, 1139, 1140, 0, - 0, 1141, 0, 0, 634, 635, 0, 0, 0, 636, - 0, 0, 0, 186, 187, 188, 0, 86, 87, 0, - 0, 0, 0, 88, 0, 0, 0, 189, 0, 0, - 0, 398, 399, 91, 92, 0, 0, 93, 0, 94, - 190, 191, 0, 0, 637, 0, 396, 0, 0, 73, - 0, 74, 75, 76, 77, 78, 0, 0, 0, 0, - 638, 397, 0, 0, 81, 0, 0, 0, 82, 0, - 0, 189, 0, 0, 0, 0, 83, 0, 0, 192, - 193, 0, 194, 84, 190, 191, 0, 195, 0, 196, - 0, 186, 187, 188, 0, 0, 0, 782, 783, 0, - 85, 0, 0, 0, 259, 0, 0, 0, 0, 0, - 0, 0, 0, 636, 0, 0, 0, 0, 0, 0, - 0, 86, 87, 192, 193, 0, 194, 88, 0, 0, - 0, 195, 0, 196, 0, 398, 399, 91, 92, 396, - 0, 93, 73, 94, 74, 75, 76, 77, 78, 189, - 0, 0, 0, 0, 397, 0, 0, 81, 0, 0, - 0, 82, 190, 191, 638, 0, 0, 0, 0, 83, - 0, 0, 0, 0, 0, 0, 84, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 0, 0, 0, 0, - 0, 0, 0, 85, 0, 214, 0, 0, 0, 0, - 0, 192, 193, 0, 194, 0, 636, 0, 0, 195, - 0, 196, 0, 0, 86, 87, 0, 0, 0, 0, - 88, 0, 1013, 0, 0, 0, 0, 1174, 398, 399, - 91, 92, 0, 0, 93, 0, 94, 205, 206, 207, - 208, 209, 210, 211, 212, 213, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 214, 0, 638, 205, 206, + 86, 87, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 0, 0, 16, 92, 17, 18, + 19, 20, 94, 0, 0, 0, 0, 21, 0, 0, + 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, + 0, 24, 25, 26, 0, 155, 0, 27, 0, 0, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 0, 0, + 0, 0, 0, 0, 0, 0, 46, 0, 47, 48, + 0, 49, 0, 0, 0, 0, 50, 0, 51, 52, + 53, 0, 0, 54, 0, 0, 0, 0, 55, 0, + 0, 56, 0, 0, 0, 57, 7, 8, 9, 10, + 58, 11, 12, 13, 14, 0, 0, 0, 0, 0, + 0, 0, 0, 59, 0, 0, 60, 61, 62, 0, + 0, 63, 0, 64, 65, 895, 0, 66, 205, 206, 207, 208, 209, 210, 211, 212, 213, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 214, 205, 206, 207, + 0, 0, 0, 0, 15, 0, 214, 0, 16, 0, + 17, 18, 19, 20, 0, 0, 0, 0, 0, 21, + 0, 0, 0, 22, 23, 0, 0, 0, 0, 0, + 0, 0, 0, 24, 25, 26, 0, 0, 0, 27, + 0, 0, 28, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, + 0, 0, 0, 0, 0, 0, 0, 0, 46, 0, + 47, 48, 0, 49, 0, 0, 0, 0, 50, 0, + 51, 52, 53, 0, 0, 54, 0, 0, 0, 0, + 55, 0, 0, 56, 0, 0, 0, 57, 7, 8, + 9, 10, 58, 11, 12, 13, 14, 1092, 0, 0, + 0, 0, 0, 0, 0, 59, 0, 0, 60, 61, + 62, 0, 0, 63, 0, 64, 65, 1410, 0, 66, + 0, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 0, 226, 227, 228, 15, 0, 0, 0, + 16, 0, 17, 18, 19, 20, 0, 0, 0, 0, + 0, 21, 0, 0, 0, 22, 23, 0, 0, 0, + 0, 0, 0, 0, 0, 24, 25, 26, 0, 0, + 0, 27, 0, 0, 28, 29, 30, 31, 32, 33, + 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, + 44, 45, 0, 0, 0, 0, 0, 0, 0, 0, + 46, 0, 47, 48, 0, 49, 0, 0, 0, 0, + 50, 0, 51, 52, 53, 0, 0, 54, 0, 0, + 0, 0, 55, 0, 0, 56, 0, 0, 0, 57, + 7, 8, 9, 10, 58, 11, 12, 13, 14, 1468, + 0, 0, 0, 0, 0, 0, 0, 59, 0, 0, + 60, 61, 62, 0, 0, 63, 0, 64, 65, 0, + 0, 66, 205, 206, 207, 208, 209, 210, 211, 212, + 213, 0, 0, 0, 0, 0, 0, 0, 15, 0, + 214, 0, 16, 0, 17, 18, 19, 20, 0, 0, + 0, 0, 0, 21, 0, 0, 0, 22, 23, 0, + 0, 0, 0, 0, 0, 0, 0, 24, 25, 26, + 0, 0, 0, 27, 0, 0, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 0, 0, 0, 0, 0, 0, + 0, 0, 46, 0, 47, 48, 0, 49, 0, 0, + 0, 0, 50, 0, 51, 52, 53, 0, 0, 54, + 0, 0, 0, 0, 55, 0, 0, 56, 0, 0, + 0, 57, 7, 8, 9, 10, 58, 11, 12, 13, + 14, 0, 0, 0, 0, 0, 0, 0, 0, 59, + 0, 0, 60, 61, 62, 0, 0, 63, 0, 64, + 65, 1594, 0, 66, 0, 215, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 0, 226, 227, 228, + 15, 0, 0, 0, 16, 0, 17, 18, 19, 20, + 0, 0, 0, 0, 0, 21, 0, 0, 0, 22, + 23, 0, 0, 0, 0, 0, 0, 0, 0, 24, + 25, 26, 0, 0, 0, 27, 0, 0, 28, 29, + 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 0, 0, 0, 0, + 0, 0, 0, 0, 46, 0, 47, 48, 0, 49, + 0, 0, 0, 0, 50, 0, 51, 52, 53, 0, + 0, 54, 0, 0, 0, 0, 55, 0, 0, 56, + 0, 0, 0, 57, 7, 8, 9, 10, 58, 11, + 12, 13, 14, 0, 207, 208, 209, 210, 211, 212, + 213, 59, 0, 0, 60, 61, 62, 0, 0, 63, + 214, 64, 65, 0, 0, 66, 735, 736, 737, 738, + 739, 740, 741, 742, 743, 0, 0, 0, 0, 0, + 0, 0, 15, 0, 744, 0, 16, 0, 17, 18, + 19, 20, 0, 0, 0, 0, 0, 21, 0, 0, + 0, 22, 23, 0, 0, 0, 0, 0, 0, 0, + 0, 24, 25, 26, 0, 0, 0, 27, 0, 0, + 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 0, 0, + 0, 0, 0, 0, 0, 0, 46, 0, 47, 48, + 0, 49, 0, 0, 0, 0, 50, 0, 51, 52, + 53, 0, 0, 54, 0, 0, 0, 0, 55, 0, + 0, 56, 0, 0, 0, 57, 7, 8, 9, 10, + 58, 11, 12, 13, 0, 0, 216, 217, 218, 219, + 220, 221, 222, 223, 224, 225, 0, 226, 227, 228, + 0, 63, 0, 64, 65, 0, 0, 66, 0, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + 0, 756, 757, 758, 1436, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 1437, + 0, 0, 0, 0, 1438, 0, 0, 0, 0, 0, + 0, 0, 0, 24, 25, 0, 0, 0, 0, 27, + 0, 0, 0, 29, 30, 31, 32, 33, 34, 35, + 36, 37, 38, 39, 40, 41, 42, 43, 44, 7, + 8, 9, 10, 0, 11, 12, 13, 0, 0, 0, + 0, 48, 0, 49, 0, 0, 0, 0, 1439, 0, + 0, 0, 1440, 0, 0, 1441, 0, 0, 0, 0, + 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 1436, 0, 0, + 0, 0, 0, 0, 0, 1442, 0, 0, 1443, 1444, + 1445, 0, 1437, 1446, 0, 1447, 65, 1438, 0, 1448, + 209, 210, 211, 212, 213, 0, 24, 25, 0, 0, + 0, 0, 27, 0, 214, 0, 29, 30, 31, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 44, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 48, 0, 49, 0, 0, 0, + 0, 1439, 0, 0, 1101, 1440, 0, 0, 1441, 633, + 634, 0, 0, 55, 1102, 1103, 1104, 1105, 1106, 1107, + 1108, 1109, 1110, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 1111, 0, 1112, 1113, 1114, 1115, 1116, 1117, + 1118, 1119, 1120, 1121, 1122, 1123, 1446, 0, 1447, 65, + 0, 394, 1448, 0, 73, 0, 74, 75, 76, 77, + 78, 0, 0, 0, 0, 0, 395, 1124, 0, 81, + 0, 0, 0, 82, 0, 0, 0, 0, 186, 187, + 188, 83, 0, 1050, 0, 0, 0, 0, 84, 0, + 0, 0, 0, 219, 220, 221, 222, 223, 224, 225, + 0, 226, 227, 228, 0, 85, 0, 0, 0, 0, + 0, 0, 0, 1125, 0, 0, 0, 0, 635, 0, + 0, 0, 0, 0, 0, 0, 86, 87, 0, 0, + 782, 783, 88, 0, 0, 0, 189, 0, 0, 0, + 396, 397, 91, 92, 0, 0, 93, 0, 94, 190, + 191, 0, 0, 1126, 0, 0, 1127, 0, 1128, 1129, + 1130, 1131, 1132, 1133, 1134, 1135, 1136, 1137, 1138, 637, + 1139, 1140, 394, 0, 1141, 73, 0, 74, 75, 76, + 77, 78, 0, 0, 0, 0, 0, 395, 192, 193, + 81, 194, 0, 0, 82, 0, 195, 0, 196, 0, + 0, 0, 83, 0, 0, 0, 0, 0, 0, 84, + 205, 206, 207, 208, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 0, 0, 85, 0, 214, 0, + 0, 73, 0, 74, 75, 76, 77, 0, 0, 635, + 0, 0, 0, 0, 0, 0, 0, 86, 87, 0, + 0, 0, 0, 88, 0, 0, 0, 0, 0, 0, + 0, 396, 397, 91, 92, 84, 0, 93, 0, 94, + 205, 206, 207, 208, 209, 210, 211, 212, 213, 0, + 0, 0, 237, 0, 0, 0, 0, 0, 214, 0, + 637, 205, 206, 207, 208, 209, 210, 211, 212, 213, + 0, 0, 0, 86, 87, 0, 0, 0, 0, 214, + 205, 206, 207, 208, 209, 210, 211, 212, 213, 0, + 92, 0, 0, 0, 0, 94, 0, 0, 214, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 214, 156, 913, + 0, 0, 0, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 0, 226, 227, 228, 914, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 214, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 214, 0, 0, 0, + 0, 0, 0, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 0, 226, 227, 228, 305, 0, + 0, 0, 0, 0, 215, 216, 217, 218, 219, 220, + 221, 222, 223, 224, 225, 0, 226, 227, 228, 493, + 0, 0, 0, 215, 216, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 0, 226, 227, 228, 509, 0, + 0, 0, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 0, 226, 227, 228, 588, 205, 206, + 207, 208, 209, 210, 211, 212, 213, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 214, 0, 0, 0, + 0, 0, 215, 216, 217, 218, 219, 220, 221, 222, + 223, 224, 225, 0, 226, 227, 228, 647, 0, 0, + 0, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 0, 226, 227, 228, 768, 205, 206, 207, 208, 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 205, 206, 207, 208, - 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 214, 0, 914, 0, 0, 0, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 0, 226, 227, 228, 915, 205, 206, 207, 208, 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, 205, 206, 207, 208, 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 214, 0, 0, 0, 0, 0, 0, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 0, 226, 227, 228, 305, 0, 0, 0, 0, - 0, 215, 216, 217, 218, 219, 220, 221, 222, 223, - 224, 225, 0, 226, 227, 228, 495, 0, 0, 0, - 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 0, 226, 227, 228, 511, 0, 0, 0, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 0, 226, 227, 228, 589, 205, 206, 207, 208, 209, - 210, 211, 212, 213, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 214, 0, 0, 0, 0, 0, 215, - 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, - 0, 226, 227, 228, 648, 0, 0, 0, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, 0, - 226, 227, 228, 768, 205, 206, 207, 208, 209, 210, + 0, 0, 0, 214, 205, 206, 207, 208, 209, 210, 211, 212, 213, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 214, 205, 206, 207, 208, 209, 210, 211, - 212, 213, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 214, 205, 206, 207, 208, 209, 210, 211, 212, - 213, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 214, 205, 206, 207, 208, 209, 210, 211, 212, 213, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 214, - 0, 0, 0, 0, 0, 0, 0, 0, 215, 216, + 0, 0, 214, 0, 0, 0, 0, 0, 0, 0, + 0, 215, 216, 217, 218, 219, 220, 221, 222, 223, + 224, 225, 0, 226, 227, 228, 899, 1511, 1512, 1513, + 1514, 1515, 1516, 1517, 1518, 1519, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 1520, 1511, 1512, 1513, 1514, + 1515, 1516, 1517, 1518, 1519, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 1520, 0, 0, 0, 0, 0, + 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, + 225, 0, 226, 227, 228, 979, 0, 0, 0, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + 0, 226, 227, 228, 1030, 0, 505, 0, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 0, - 226, 227, 228, 900, 1510, 1511, 1512, 1513, 1514, 1515, - 1516, 1517, 1518, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1519, 1511, 1512, 1513, 1514, 1515, 1516, 1517, - 1518, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1519, 0, 0, 0, 0, 0, 0, 215, 216, 217, + 226, 227, 228, 0, 0, 1032, 0, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 0, 226, - 227, 228, 980, 0, 0, 0, 215, 216, 217, 218, - 219, 220, 221, 222, 223, 224, 225, 0, 226, 227, - 228, 1030, 0, 507, 0, 215, 216, 217, 218, 219, - 220, 221, 222, 223, 224, 225, 0, 226, 227, 228, - 0, 0, 1032, 0, 215, 216, 217, 218, 219, 220, - 221, 222, 223, 224, 225, 0, 226, 227, 228, 207, - 208, 209, 210, 211, 212, 213, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 214, 207, 208, 209, 210, - 211, 212, 213, 0, 0, 0, 0, 1520, 1521, 1522, - 1523, 0, 214, 1524, 1525, 1526, 1527, 1528, 0, 1529, - 1530, 1531, 0, 0, 0, 0, 1521, 1522, 1523, 0, - 598, 1524, 1525, 1526, 1527, 1528, 0, 1529, 1530, 1531, - 1512, 1513, 1514, 1515, 1516, 1517, 1518, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1519, 1512, 1513, 1514, - 1515, 1516, 1517, 1518, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 1519, 0, 0, 0, 0, 409, 0, - 73, 0, 74, 75, 76, 77, 410, 411, 412, 413, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 415, - 416, 417, 418, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 591, 0, 84, 0, 0, 0, 0, 0, - 0, 216, 217, 218, 219, 220, 221, 222, 223, 224, - 225, 237, 226, 227, 228, 0, 0, 428, 0, 217, - 218, 219, 220, 221, 222, 223, 224, 225, 433, 226, - 227, 228, 86, 87, 434, 0, 0, 0, 436, 437, - 0, 598, 0, 0, 0, 0, 0, 0, 0, 92, - 440, 0, 441, 0, 94, 0, 916, 917, 918, 0, - 0, 0, 0, 1522, 1523, 0, 0, 1524, 1525, 1526, - 1527, 1528, 0, 1529, 1530, 1531, 0, 155, 0, 0, - 0, 1523, 0, 0, 1524, 1525, 1526, 1527, 1528, 409, - 1529, 1530, 1531, 0, 0, 0, 0, 410, 411, 412, - 413, 73, 0, 74, 75, 76, 77, 919, 920, 0, - 415, 590, 417, 418, 0, 0, 81, 0, 0, 916, - 917, 918, 0, 591, 0, 0, 0, 0, 83, 0, - 0, 0, 0, 0, 0, 84, 0, 0, 73, 0, - 74, 75, 76, 77, 0, 0, 0, 0, 428, 0, - 0, 0, 85, 70, 71, 0, 0, 0, 0, 433, - 0, 0, 0, 0, 73, 434, 74, 75, 76, 77, - 437, 0, 84, 86, 87, 0, 0, 0, 0, 81, - 0, 440, 0, 441, 0, 0, 0, 921, 0, 237, - 92, 83, 0, 93, 72, 94, 0, 73, 84, 74, - 75, 76, 77, 78, 529, 0, 0, 0, 0, 80, - 86, 87, 81, 0, 0, 85, 82, 0, 0, 0, - 0, 0, 0, 0, 83, 0, 0, 92, 0, 0, - 0, 84, 94, 0, 0, 0, 86, 87, 0, 0, - 0, 0, 0, 0, 0, 0, 70, 71, 85, 0, - 0, 0, 0, 92, 0, 156, 93, 0, 94, 0, - 0, 0, 0, 0, 0, 0, 530, 0, 0, 86, - 87, 0, 70, 71, 0, 88, 0, 0, 0, 0, - 0, 0, 0, 89, 90, 91, 92, 72, 0, 93, - 73, 94, 74, 75, 76, 77, 78, 79, 0, 0, - 0, 0, 80, 0, 0, 81, 0, 0, 0, 82, - 0, 0, 0, 72, 0, 0, 73, 83, 74, 75, - 76, 77, 78, 0, 84, 0, 0, 0, 80, 0, - 0, 81, 0, 0, 0, 82, 0, 0, 0, 0, - 0, 85, 0, 83, 0, 0, 0, 0, 0, 0, - 84, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 86, 87, 0, 70, 71, 85, 88, 0, - 0, 0, 0, 0, 0, 0, 89, 90, 91, 92, - 0, 0, 93, 0, 94, 681, 0, 0, 86, 87, - 0, 70, 0, 0, 88, 0, 0, 0, 0, 0, - 0, 0, 89, 90, 91, 92, 72, 0, 93, 73, - 94, 74, 75, 76, 77, 78, 0, 0, 0, 0, - 0, 80, 0, 0, 81, 0, 0, 0, 82, 0, - 0, 0, 72, 0, 0, 73, 83, 74, 75, 76, - 77, 78, 793, 84, 0, 0, 0, 80, 0, 0, - 81, 0, 0, 0, 82, 0, 0, 0, 0, 0, - 85, 0, 83, 0, 0, 0, 0, 0, 0, 84, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 86, 87, 0, 144, 0, 85, 88, 0, 0, - 0, 0, 0, 0, 0, 89, 90, 91, 92, 0, - 0, 93, 0, 94, 0, 0, 0, 86, 87, 0, - 144, 0, 0, 88, 0, 0, 0, 0, 0, 0, - 0, 89, 90, 91, 92, 145, 0, 93, 73, 94, - 74, 75, 76, 77, 78, 983, 0, 0, 0, 0, - 146, 0, 0, 81, 0, 0, 0, 82, 0, 0, - 0, 145, 0, 0, 73, 83, 74, 75, 76, 77, - 78, 0, 84, 0, 0, 0, 146, 0, 0, 81, + 227, 228, 207, 208, 209, 210, 211, 212, 213, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 214, 207, + 208, 209, 210, 211, 212, 213, 0, 0, 1626, 0, + 1521, 1522, 1523, 1524, 0, 214, 1525, 1526, 1527, 1528, + 1529, 0, 1530, 1531, 1532, 0, 0, 0, 0, 1521, + 1522, 1523, 1524, 0, 0, 1525, 1526, 1527, 1528, 1529, + 0, 1530, 1531, 1532, 1513, 1514, 1515, 1516, 1517, 1518, + 1519, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 1520, 207, 208, 209, 210, 211, 212, 213, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 214, 1513, 1514, + 1515, 1516, 1517, 1518, 1519, 0, 0, 0, 73, 0, + 74, 75, 76, 77, 1520, 1513, 1514, 1515, 1516, 1517, + 1518, 1519, 0, 0, 1513, 1514, 1515, 1516, 1517, 1518, + 1519, 1520, 0, 0, 0, 0, 0, 0, 0, 0, + 1520, 0, 84, 0, 0, 217, 218, 219, 220, 221, + 222, 223, 224, 225, 0, 226, 227, 228, 0, 237, + 0, 0, 0, 218, 219, 220, 221, 222, 223, 224, + 225, 0, 226, 227, 228, 1515, 1516, 1517, 1518, 1519, + 86, 87, 0, 0, 0, 0, 0, 0, 0, 1520, + 0, 0, 0, 0, 0, 0, 0, 92, 0, 0, + 0, 0, 94, 0, 0, 0, 1522, 1523, 1524, 0, + 0, 1525, 1526, 1527, 1528, 1529, 0, 1530, 1531, 1532, + 0, 0, 0, 0, 0, 162, 219, 220, 221, 222, + 223, 224, 225, 0, 226, 227, 228, 0, 0, 0, + 0, 1523, 1524, 0, 0, 1525, 1526, 1527, 1528, 1529, + 655, 1530, 1531, 1532, 0, 0, 0, 0, 0, 1524, + 597, 0, 1525, 1526, 1527, 1528, 1529, 0, 1530, 1531, + 1532, 1525, 1526, 1527, 1528, 1529, 0, 1530, 1531, 1532, + 0, 109, 0, 110, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 656, 0, 657, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 407, 0, + 0, 915, 916, 917, 658, 0, 408, 409, 410, 411, + 1525, 1526, 1527, 1528, 1529, 0, 1530, 1531, 1532, 413, + 589, 415, 416, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 590, 0, 0, 0, 659, 0, 0, 660, + 661, 0, 0, 662, 0, 0, 73, 0, 74, 75, + 76, 77, 918, 919, 915, 916, 917, 426, 0, 663, + 0, 81, 0, 0, 0, 0, 0, 0, 431, 0, + 0, 664, 0, 83, 432, 0, 0, 0, 0, 435, + 84, 0, 0, 0, 0, 665, 0, 0, 0, 0, + 438, 0, 439, 0, 0, 70, 71, 85, 0, 73, + 0, 74, 75, 76, 77, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 81, 0, 0, 0, 86, 87, + 0, 0, 0, 0, 0, 73, 83, 74, 75, 76, + 77, 0, 920, 84, 0, 92, 72, 0, 93, 73, + 94, 74, 75, 76, 77, 78, 527, 0, 0, 0, + 85, 80, 0, 0, 81, 0, 0, 0, 82, 84, + 0, 0, 0, 0, 0, 0, 83, 0, 0, 0, + 0, 86, 87, 84, 0, 0, 237, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 92, 0, + 85, 93, 0, 94, 70, 71, 0, 86, 87, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 528, 0, + 0, 86, 87, 0, 92, 0, 0, 88, 0, 94, + 70, 71, 0, 0, 0, 89, 90, 91, 92, 0, + 0, 93, 0, 94, 0, 72, 0, 0, 73, 0, + 74, 75, 76, 77, 78, 79, 0, 0, 0, 0, + 80, 0, 0, 81, 0, 0, 0, 82, 0, 0, + 0, 72, 0, 0, 73, 83, 74, 75, 76, 77, + 78, 0, 84, 0, 0, 0, 80, 0, 0, 81, 0, 0, 0, 82, 0, 0, 0, 0, 0, 85, 0, 83, 0, 0, 0, 0, 0, 0, 84, 0, - 0, 0, 0, 0, 0, 0, 186, 187, 188, 0, - 86, 87, 0, 70, 0, 85, 88, 0, 0, 0, - 0, 186, 187, 188, 147, 148, 91, 92, 0, 0, - 93, 0, 94, 0, 0, 0, 86, 87, 0, 0, - 0, 0, 88, 186, 187, 188, 0, 0, 0, 0, - 147, 148, 91, 92, 72, 0, 93, 73, 94, 74, - 75, 76, 77, 78, 189, 0, 0, 0, 0, 80, - 0, 0, 81, 0, 0, 0, 82, 190, 191, 189, - 0, 0, 0, 0, 83, 0, 0, 0, 0, 0, - 0, 84, 190, 191, 0, 0, 0, 186, 187, 188, - 0, 189, 1050, 0, 0, 0, 0, 0, 85, 0, - 0, 0, 0, 0, 190, 191, 192, 193, 0, 194, - 0, 0, 0, 0, 195, 0, 196, 0, 0, 86, - 87, 192, 193, 0, 194, 88, 0, 1013, 0, 195, - 0, 196, 1176, 89, 90, 91, 92, 0, 0, 93, - 0, 94, 1013, 192, 193, 189, 194, 1178, 0, 0, - 0, 195, 73, 196, 74, 75, 76, 77, 190, 191, - 0, 409, 0, 0, 1013, 0, 0, 0, 0, 410, - 411, 412, 413, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 415, 590, 417, 418, 84, 0, 0, 0, - 420, 0, 0, 0, 0, 591, 0, 192, 193, 0, - 194, 0, 0, 237, 0, 195, 0, 196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 428, 0, 0, 0, 86, 87, 0, 0, 0, 0, - 0, 433, 0, 0, 0, 0, 0, 434, 408, 409, - 0, 92, 437, 0, 0, 0, 94, 410, 411, 412, - 413, 0, 439, 440, 0, 441, 0, 0, 414, 0, - 415, 416, 417, 418, 419, 0, 0, 0, 420, 162, - -161, 0, 0, 421, 0, 0, 0, 0, 0, 0, + 86, 87, 0, 70, 71, 85, 88, 0, 0, 0, + 0, 0, 0, 0, 89, 90, 91, 92, 0, 0, + 93, 0, 94, 680, 0, 0, 86, 87, 0, 70, + 0, 0, 88, 0, 0, 0, 0, 0, 0, 0, + 89, 90, 91, 92, 72, 0, 93, 73, 94, 74, + 75, 76, 77, 78, 0, 0, 0, 0, 0, 80, + 0, 0, 81, 0, 0, 0, 82, 0, 0, 0, + 72, 0, 0, 73, 83, 74, 75, 76, 77, 78, + 793, 84, 0, 0, 0, 80, 0, 0, 81, 0, + 0, 0, 82, 0, 0, 0, 0, 0, 85, 0, + 83, 0, 0, 0, 0, 0, 0, 84, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, + 87, 0, 144, 0, 85, 88, 0, 0, 0, 0, + 0, 0, 0, 89, 90, 91, 92, 0, 0, 93, + 0, 94, 0, 0, 0, 86, 87, 0, 144, 0, + 0, 88, 0, 0, 0, 0, 0, 0, 0, 89, + 90, 91, 92, 145, 0, 93, 73, 94, 74, 75, + 76, 77, 78, 982, 0, 0, 0, 0, 146, 0, + 0, 81, 0, 0, 0, 82, 0, 0, 0, 145, + 0, 0, 73, 83, 74, 75, 76, 77, 78, 0, + 84, 0, 0, 0, 146, 0, 0, 81, 0, 0, + 0, 82, 0, 0, 0, 0, 0, 85, 0, 83, + 0, 0, 0, 0, 0, 0, 84, 0, 0, 0, + 0, 0, 0, 0, 186, 187, 188, 0, 86, 87, + 0, 70, 0, 85, 88, 0, 0, 0, 0, 186, + 187, 188, 147, 148, 91, 92, 0, 0, 93, 0, + 94, 0, 0, 0, 86, 87, 0, 0, 0, 0, + 88, 186, 187, 188, 0, 0, 0, 0, 147, 148, + 91, 92, 72, 0, 93, 73, 94, 74, 75, 76, + 77, 78, 189, 0, 0, 0, 0, 80, 0, 0, + 81, 0, 0, 0, 82, 190, 191, 189, 0, 0, + 0, 0, 83, 0, 0, 0, 0, 407, 0, 84, + 190, 191, 0, 0, 0, 408, 409, 410, 411, 189, + 0, 0, 0, 0, 0, 628, 85, 0, 413, 589, + 415, 416, 190, 191, 192, 193, 418, 194, 0, 0, + 0, 590, 195, 0, 196, 0, 0, 86, 87, 192, + 193, 0, 194, 88, 0, 1013, 0, 195, 0, 196, + 1176, 89, 90, 91, 92, 629, 426, 93, 0, 94, + 1013, 192, 193, 0, 194, 1178, 0, 431, 0, 195, + 0, 196, 0, 432, 406, 407, 0, 0, 435, 0, + 0, 0, 0, 408, 409, 410, 411, 0, 437, 438, + 0, 439, 0, 0, 412, 0, 413, 414, 415, 416, + 417, 0, 0, 0, 418, 0, -161, 0, 0, 419, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 422, 423, 424, 425, 426, 427, 428, 429, - 0, 0, 0, 0, 0, 0, 430, 431, 432, 433, - 0, 0, 0, 0, 0, 434, 435, 409, 0, 436, - 437, 0, 0, 0, 438, 410, 411, 412, 413, 0, - 439, 440, 0, 441, 0, 0, 0, 0, 415, 416, - 417, 418, 0, 0, 409, 0, 420, 0, 409, 0, - 0, 591, 410, 411, 412, 413, 410, 411, 412, 413, - 0, 0, 0, 0, 0, 415, 590, 417, 418, 415, - 590, 417, 418, 0, 0, 0, 428, 0, 591, 0, - 0, 0, 591, 0, 0, 0, 0, 433, 0, 0, - 0, 0, 0, 434, 0, 0, 0, 436, 437, 0, - 0, 0, 0, 428, 605, 0, 0, 428, 439, 440, - 0, 441, 0, 0, 433, 0, 0, 0, 433, 0, - 434, 0, 0, 0, 434, 437, 0, 0, 0, 437, - 0, 0, 0, 0, 0, 0, 440, 0, 441, 0, - 440, 0, 441 + 0, 0, 0, 0, 0, 0, 0, 0, 420, 421, + 422, 423, 424, 425, 426, 427, 0, 0, 0, 0, + 0, 0, 428, 429, 430, 431, 0, 0, 0, 0, + 0, 432, 433, 407, 0, 434, 435, 0, 0, 0, + 436, 408, 409, 410, 411, 0, 437, 438, 0, 439, + 0, 0, 0, 0, 413, 414, 415, 416, 0, 0, + 407, 0, 418, 0, 407, 0, 0, 590, 408, 409, + 410, 411, 408, 409, 410, 411, 0, 0, 0, 0, + 0, 413, 589, 415, 416, 413, 589, 415, 416, 0, + 0, 0, 426, 0, 590, 0, 0, 73, 590, 74, + 75, 76, 77, 431, 0, 0, 0, 0, 0, 432, + 0, 0, 236, 434, 435, 0, 0, 0, 0, 426, + 604, 0, 0, 426, 437, 438, 0, 439, 0, 0, + 431, 84, 0, 0, 431, 0, 432, 0, 0, 0, + 432, 435, 0, 0, 0, 435, 0, 0, 237, 0, + 0, 0, 438, 0, 439, 0, 438, 0, 439, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, + 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, + 0, 94 }; static const yytype_int16 yycheck[] = { - 1, 96, 503, 394, 64, 850, 416, 436, 394, 436, - 114, 263, 116, 117, 118, 119, 120, 1092, 122, 46, - 124, 79, 126, 263, 46, 79, 561, 46, 931, 952, - 544, 263, 502, 15, 257, 258, 533, 34, 263, 143, - 6, 155, 8, 940, 15, 784, 943, 944, 13, 393, - 531, 155, 156, 158, 155, 15, 15, 677, 162, 163, - 158, 0, 985, 177, 65, 154, 158, 10, 173, 61, - 13, 15, 532, 174, 155, 173, 938, 85, 86, 87, - 48, 173, 50, 172, 92, 1010, 1011, 1012, 48, 154, - 50, 155, 81, 174, 95, 96, 173, 174, 158, 48, - 48, 50, 50, 965, 48, 967, 50, 172, 970, 48, - 174, 50, 113, 114, 163, 116, 117, 118, 119, 120, - 6, 122, 8, 124, 15, 126, 17, 972, 10, 11, - 12, 13, 48, 15, 50, 17, 231, 232, 48, 530, - 50, 133, 143, 0, 535, 48, 48, 50, 50, 10, - 11, 12, 247, 248, 155, 156, 545, 48, 172, 50, - 157, 162, 163, 172, 48, 154, 50, 227, 157, 34, - 178, 179, 180, 181, 1071, 172, 173, 1074, 1075, 565, - 62, 247, 248, 6, 155, 8, 154, 409, 410, 411, - 412, 413, 174, 415, 416, 417, 155, 172, 302, 421, - 201, 682, 167, 547, 1066, 445, 428, 688, 174, 172, - 691, 433, 434, 445, 436, 437, 438, 837, 440, 441, - 445, 172, 692, 683, 167, 614, 175, 175, 848, 237, - 231, 232, 155, 703, 973, 158, 263, 1099, 120, 699, - 156, 263, 702, 48, 263, 50, 247, 248, 172, 1174, - 251, 1176, 81, 1178, 81, 256, 1181, 1182, 1183, 120, - 173, 174, 34, 81, 265, 175, 148, 10, 11, 12, - 13, 162, 175, 175, 17, 155, 167, 173, 174, 814, - 162, 155, 1144, 1145, 154, 167, 156, 157, 158, 172, - 172, 175, 358, 48, 174, 50, 157, 363, 364, 155, - 174, 302, 167, 168, 169, 34, 171, 172, 173, 163, - 1155, 369, 34, 155, 811, 369, 1239, 172, 174, 62, - 172, 322, 155, 1062, 172, 154, 172, 154, 157, 13, - 157, 15, 174, 17, 1231, 34, 154, 173, 174, 157, - 172, 174, 155, 734, 172, 826, 172, 155, 734, 163, - 831, 172, 155, 834, 835, 172, 173, 358, 828, 829, - 155, 174, 363, 364, 587, 588, 174, 827, 590, 591, - 175, 174, 172, 374, 382, 627, 598, 120, 62, 174, - 172, 770, 842, 623, 155, 845, 846, 627, 902, 173, - 174, 623, 1467, 394, 155, 627, 68, 69, 623, 171, - 172, 173, 627, 174, 172, 148, 795, 172, 409, 410, - 411, 412, 413, 174, 415, 416, 417, 163, 445, 162, - 421, 172, 155, 445, 167, 172, 445, 428, 172, 172, - 172, 173, 433, 434, 935, 436, 437, 438, 939, 440, - 441, 174, 171, 172, 173, 926, 155, 513, 983, 171, - 172, 173, 518, 519, 121, 122, 123, 1077, 155, 172, - 526, 527, 528, 155, 148, 174, 926, 155, 167, 168, - 169, 529, 171, 172, 173, 529, 172, 174, 162, 155, - 155, 155, 174, 167, 154, 155, 174, 988, 989, 990, - 154, 13, 156, 15, 158, 17, 156, 155, 174, 174, - 174, 502, 503, 973, 10, 11, 12, 172, 10, 11, - 12, 13, 513, 573, 995, 17, 174, 518, 519, 155, - 172, 991, 992, 1385, 155, 526, 527, 528, 914, 1149, - 531, 154, 533, 156, 561, 158, 544, 172, 174, 561, - 62, 1001, 561, 174, 545, 546, 768, 1450, 172, 172, - 13, 1474, 15, 154, 17, 156, 172, 158, 172, 154, - 62, 156, 68, 158, 172, 173, 1047, 172, 151, 152, - 153, 794, 172, 172, 1055, 81, 82, 1058, 172, 1080, - 803, 154, 636, 643, 644, 172, 172, 1047, 167, 590, - 591, 651, 1062, 653, 172, 1055, 623, 598, 1058, 62, - 627, 623, 172, 604, 623, 627, 672, 172, 627, 675, - 676, 174, 158, 614, 120, 121, 173, 123, 120, 1048, - 173, 1048, 128, 681, 130, 49, 148, 681, 155, 1018, - 172, 173, 174, 172, 173, 174, 172, 175, 1048, 155, - 162, 174, 10, 11, 12, 167, 148, 164, 1037, 174, - 172, 172, 173, 174, 174, 1044, 174, 22, 23, 24, - 162, 721, 174, 174, 174, 167, 667, 1168, 174, 34, - 1171, 672, 164, 174, 675, 676, 677, 174, 174, 174, - 174, 682, 155, 174, 155, 148, 687, 688, 174, 174, - 691, 692, 174, 174, 174, 174, 174, 757, 174, 162, - 68, 15, 703, 164, 167, 1550, 1551, 1552, 931, 172, - 174, 712, 174, 81, 82, 938, 174, 940, 174, 17, - 943, 944, 10, 11, 12, 13, 174, 174, 1225, 17, - 174, 164, 1229, 174, 1235, 1216, 1217, 1218, 174, 793, - 174, 172, 965, 175, 967, 174, 174, 970, 174, 174, - 157, 817, 120, 121, 781, 123, 1216, 1217, 1218, 863, - 128, 157, 130, 172, 62, 34, 64, 768, 172, 770, - 157, 174, 172, 172, 62, 172, 157, 172, 172, 172, - 781, 157, 157, 81, 5, 174, 172, 814, 172, 172, - 172, 81, 814, 794, 795, 814, 174, 174, 172, 172, - 165, 166, 167, 168, 169, 173, 171, 172, 173, 173, - 811, 167, 1657, 173, 177, 113, 817, 163, 116, 117, - 1665, 163, 120, 163, 163, 826, 1048, 828, 829, 172, - 831, 119, 120, 834, 835, 163, 837, 174, 136, 174, - 172, 156, 34, 1066, 174, 174, 172, 848, 1071, 850, - 148, 1074, 1075, 174, 174, 10, 11, 12, 167, 167, - 148, 154, 863, 157, 162, 49, 172, 172, 157, 154, - 174, 174, 174, 155, 162, 155, 1099, 155, 155, 167, - 155, 102, 103, 155, 172, 172, 154, 158, 172, 984, - 156, 156, 154, 920, 902, 155, 165, 166, 167, 168, - 169, 177, 171, 172, 173, 172, 1403, 1404, 1405, 172, - 154, 172, 164, 68, 173, 173, 173, 164, 174, 164, - 174, 1144, 1145, 164, 174, 926, 81, 82, 10, 150, - 151, 10, 10, 10, 935, 10, 10, 156, 939, 940, - 164, 155, 943, 944, 174, 167, 175, 167, 156, 156, - 167, 1452, 177, 1434, 172, 1456, 983, 958, 15, 172, - 961, 983, 177, 1460, 983, 120, 121, 172, 123, 172, - 174, 972, 973, 128, 1434, 130, 172, 174, 172, 155, - 155, 1478, 1479, 984, 155, 155, 155, 988, 989, 990, - 991, 992, 158, 167, 995, 156, 174, 174, 156, 172, - 156, 173, 155, 158, 1395, 10, 174, 162, 1231, 1395, - 175, 175, 167, 155, 177, 174, 10, 1018, 175, 10, - 174, 156, 1049, 174, 174, 246, 10, 174, 249, 250, - 10, 10, 10, 156, 155, 1536, 1037, 177, 172, 1040, - 177, 174, 1539, 1044, 175, 154, 1047, 1048, 174, 174, - 1547, 155, 174, 1054, 1055, 2, 156, 1058, 1059, 174, - 172, 1062, 163, 1158, 163, 163, 163, 172, 174, 156, - 1071, 156, 175, 1074, 1075, 10, 1077, 10, 17, 1080, - 175, 10, 11, 12, 174, 174, 10, 156, 156, 10, - 156, 1092, 172, 174, 155, 15, 1597, 155, 174, 1596, - 47, 174, 1599, 175, 175, 164, 53, 174, 164, 48, - 174, 50, 59, 60, 61, 62, 63, 164, 164, 66, - 174, 174, 10, 62, 174, 64, 156, 1187, 1188, 10, - 1190, 10, 1192, 1630, 156, 356, 357, 1241, 1242, 68, - 172, 172, 81, 172, 172, 366, 367, 368, 1149, 1646, - 174, 174, 81, 82, 1155, 156, 34, 1158, 174, 156, - 10, 156, 1385, 174, 22, 23, 24, 1168, 156, 1240, - 1171, 392, 1398, 1450, 113, 1398, 34, 116, 117, 920, - 1049, 120, 604, 404, 405, 627, 1556, 1395, 1206, 734, - 627, 120, 121, 1358, 123, 1019, 565, 136, -1, 128, - -1, 130, 321, -1, -1, 1206, -1, -1, 429, 148, - -1, -1, -1, -1, 161, 1216, 1217, 1218, -1, -1, - -1, -1, -1, 162, 1225, -1, -1, 1450, 1229, -1, - 1231, -1, -1, 162, 1235, -1, -1, -1, 167, -1, - 1241, 1242, -1, -1, -1, -1, -1, -1, -1, 3, - 4, 5, 6, -1, 8, 9, 10, -1, 205, 206, - 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, - 217, 218, 219, 220, 221, 222, 223, 224, 225, -1, - -1, 228, -1, 504, -1, -1, 233, 165, 166, 167, - 168, 169, -1, 171, 172, 173, 517, 51, -1, 520, - 521, -1, -1, -1, -1, -1, -1, 165, 166, 167, - 168, 169, 66, 171, 172, 173, 263, 71, 539, -1, - -1, -1, -1, -1, -1, -1, 80, 81, -1, -1, - -1, -1, 86, -1, -1, -1, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 299, -1, -1, -1, -1, 1358, -1, -1, - -1, -1, -1, -1, 118, 586, 120, -1, 589, 316, - 317, 125, -1, -1, -1, 129, 323, -1, 132, 23, - 24, -1, -1, 137, -1, -1, 1446, -1, -1, -1, - 34, -1, -1, -1, 1395, -1, -1, -1, -1, -1, - -1, -1, 1403, 1404, 1405, -1, -1, -1, 162, -1, - 631, 165, 166, 167, -1, -1, 170, -1, 172, 173, - 23, 24, 176, -1, -1, -1, -1, 374, -1, -1, - -1, 34, -1, 1434, -1, -1, 64, -1, -1, 1499, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 670, - 671, 1452, -1, -1, -1, 1456, -1, -1, -1, 1460, - -1, -1, -1, -1, -1, 686, 1467, -1, 689, 690, - 1530, 418, 693, -1, -1, -1, 697, 1478, 1479, 700, - 701, -1, -1, 704, -1, -1, 707, 115, -1, 710, - -1, -1, -1, 121, -1, 123, -1, 125, -1, 127, - 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, - 138, 139, 140, 141, 142, -1, -1, 65, -1, -1, - -1, 165, 166, 167, 168, 169, 154, 171, 172, 173, - 158, -1, 160, 161, -1, 1536, -1, -1, 1539, -1, - -1, 89, -1, -1, -1, 492, 1547, -1, -1, 1550, - 1551, 1552, -1, -1, -1, 1556, -1, 778, -1, -1, - 507, 109, 165, 166, 167, 168, 169, -1, 171, 172, - 173, -1, -1, -1, -1, 10, 11, 12, -1, 1639, - 1640, 1641, -1, 1643, -1, -1, -1, 18, 19, 20, - 21, 22, 23, 24, -1, 1596, 1597, -1, 1599, 147, - -1, -1, -1, 34, -1, -1, -1, -1, -1, 830, - -1, -1, -1, -1, 242, -1, -1, -1, -1, 840, - 841, -1, 569, 570, 571, 572, -1, 574, -1, 1630, - -1, -1, -1, 68, -1, 1219, 583, -1, 859, -1, - -1, -1, -1, -1, -1, 1646, 81, 82, -1, -1, - 198, 199, -1, -1, -1, -1, 1657, -1, -1, -1, - -1, -1, -1, -1, 1665, -1, -1, -1, -1, -1, - -1, -1, -1, 301, 621, -1, -1, -1, 226, -1, - -1, -1, -1, 904, -1, 120, 121, -1, 123, -1, - -1, -1, -1, 128, -1, 130, -1, 245, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 258, 259, -1, -1, -1, 662, -1, -1, -1, -1, - -1, 942, 157, -1, 945, 946, -1, 948, -1, 950, - 677, 162, 163, 164, 165, 166, 167, 168, 169, -1, - 171, 172, 173, 964, -1, -1, -1, 968, 969, -1, - -1, -1, -1, 974, -1, 303, 304, -1, 979, -1, - -1, 309, -1, -1, -1, -1, 987, 20, 21, 22, - 23, 24, -1, 321, -1, -1, -1, 724, -1, -1, - -1, 34, -1, -1, -1, -1, -1, -1, 735, 736, - 737, 738, 739, 740, 741, 742, 743, 744, 745, 746, - 747, 748, 749, 750, 751, 752, 753, 754, 755, 1219, - -1, 758, 18, 19, 20, 21, 22, 23, 24, -1, - -1, -1, -1, -1, -1, -1, -1, 375, 34, -1, - -1, -1, 1053, -1, -1, 1056, 1057, -1, 466, -1, - 468, -1, 470, -1, -1, 393, -1, -1, -1, 1070, - 398, -1, -1, 800, -1, 1439, -1, 1441, 1442, 1443, - 1444, 1445, -1, 1447, -1, -1, 16, 17, 18, 19, - 20, 21, 22, 23, 24, -1, -1, 1098, -1, -1, - -1, -1, -1, -1, 34, -1, -1, -1, -1, -1, - 837, 439, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 848, -1, -1, -1, -1, 853, -1, -1, -1, - 163, 164, 165, 166, 167, 168, 169, -1, 171, 172, - 173, 1142, -1, 870, -1, -1, 1510, 1511, 1512, 1513, + 1, 114, 392, 116, 117, 118, 119, 120, 392, 122, + 79, 124, 414, 126, 434, 434, 79, 500, 930, 544, + 560, 96, 951, 1092, 46, 263, 263, 46, 543, 784, + 143, 676, 391, 529, 85, 86, 87, 10, 11, 12, + 15, 92, 155, 156, 530, 501, 531, 937, 15, 162, + 163, 48, 263, 50, 6, 984, 8, 64, 15, 10, + 850, 0, 13, 263, 65, 155, 939, 13, 61, 942, + 943, 15, 81, 81, 964, 158, 966, 81, 154, 969, + 46, 155, 0, 155, 174, 1010, 1011, 1012, 613, 156, + 173, 48, 154, 50, 95, 96, 172, 34, 48, 15, + 50, 81, 174, 177, 172, 155, 48, 155, 50, 48, + 172, 50, 113, 114, 172, 116, 117, 118, 119, 120, + 172, 122, 34, 124, 174, 126, 174, 178, 179, 180, + 181, 48, 48, 50, 50, 48, 172, 50, 528, 48, + 133, 50, 143, 533, 155, 154, 154, 120, 157, 157, + 154, 158, 155, 157, 155, 156, 231, 232, 173, 174, + 155, 162, 163, 174, 13, 34, 15, 158, 17, 68, + 69, 174, 247, 248, 154, 158, 1066, 157, 175, 174, + 564, 971, 173, 172, 157, 681, 237, 546, 155, 302, + 173, 687, 837, 13, 690, 15, 682, 17, 1071, 174, + 201, 1074, 1075, 848, 172, 443, 247, 248, 691, 1099, + 34, 155, 698, 62, 156, 701, 167, 972, 64, 702, + 227, 167, 174, 172, 173, 175, 10, 11, 12, 13, + 231, 232, 443, 17, 171, 172, 173, 154, 15, 163, + 17, 263, 62, 443, 263, 770, 247, 248, 163, 1174, + 251, 1176, 172, 1178, 1144, 1145, 1181, 1182, 1183, 171, + 172, 173, 175, 174, 265, 48, 175, 50, 172, 115, + 795, 48, 172, 50, 814, 121, 172, 123, 62, 125, + 172, 127, 128, 129, 130, 131, 132, 133, 134, 135, + 136, 137, 138, 139, 140, 141, 142, 263, 172, 148, + 369, 302, 171, 172, 173, 155, 369, 1062, 154, 172, + 1239, 34, 158, 162, 160, 161, 155, 358, 167, 158, + 172, 322, 363, 364, 174, 6, 811, 8, 148, 380, + 826, 172, 48, 157, 50, 831, 120, 172, 834, 835, + 172, 827, 162, 172, 734, 828, 829, 167, 172, 173, + 734, 172, 172, 48, 172, 50, 842, 358, 1231, 845, + 846, 155, 363, 364, 148, 1155, 172, 154, 13, 156, + 15, 158, 17, 374, 375, 155, 155, 172, 162, 155, + 174, 155, 155, 167, 622, 162, 901, 172, 626, 626, + 167, 392, 175, 158, 174, 174, 242, 155, 174, 1468, + 174, 174, 172, 6, 155, 8, 407, 408, 409, 410, + 411, 622, 413, 414, 415, 626, 174, 62, 419, 173, + 174, 443, 622, 174, 443, 426, 626, 172, 155, 925, + 431, 432, 1077, 434, 435, 436, 172, 438, 439, 925, + 172, 155, 982, 155, 167, 168, 169, 174, 171, 172, + 173, 172, 155, 155, 155, 301, 173, 174, 527, 175, + 174, 154, 174, 156, 527, 158, 163, 257, 258, 155, + 511, 174, 174, 174, 172, 516, 517, 443, 934, 172, + 175, 163, 938, 524, 525, 526, 155, 155, 174, 972, + 173, 174, 543, 1018, 48, 1385, 50, 172, 994, 500, + 501, 173, 174, 148, 1149, 174, 174, 990, 991, 172, + 511, 172, 1037, 172, 1000, 516, 517, 162, 172, 1044, + 172, 173, 167, 524, 525, 526, 172, 172, 529, 913, + 531, 987, 988, 989, 151, 152, 153, 172, 560, 1451, + 172, 560, 172, 544, 545, 154, 1475, 156, 157, 158, + 172, 1047, 17, 154, 154, 156, 156, 158, 158, 1055, + 167, 1047, 1058, 154, 155, 572, 635, 172, 173, 1055, + 34, 173, 1058, 121, 122, 123, 172, 173, 174, 1062, + 173, 154, 10, 11, 12, 172, 173, 174, 589, 590, + 172, 173, 174, 49, 560, 155, 597, 62, 172, 64, + 622, 164, 603, 622, 626, 175, 155, 626, 174, 174, + 174, 680, 613, 174, 164, 174, 81, 680, 464, 174, + 466, 174, 468, 174, 1080, 155, 155, 174, 1048, 1048, + 671, 174, 174, 674, 675, 642, 643, 174, 174, 174, + 68, 174, 174, 650, 164, 652, 1048, 174, 113, 15, + 174, 116, 117, 81, 82, 120, 622, 174, 174, 174, + 626, 10, 11, 12, 13, 666, 174, 174, 17, 174, + 671, 136, 174, 674, 675, 676, 174, 174, 174, 164, + 681, 174, 174, 148, 174, 686, 687, 174, 172, 690, + 691, 174, 120, 121, 174, 123, 174, 162, 157, 157, + 128, 702, 130, 167, 168, 169, 172, 171, 172, 173, + 172, 712, 1168, 62, 721, 1171, 157, 174, 172, 172, + 1216, 1217, 1218, 172, 793, 172, 572, 172, 172, 172, + 1216, 1217, 1218, 157, 5, 157, 157, 172, 584, 172, + 1225, 177, 174, 174, 1229, 172, 174, 172, 174, 862, + 757, 167, 175, 173, 173, 81, 163, 172, 163, 781, + 163, 1551, 1552, 1553, 163, 174, 172, 768, 163, 770, + 119, 120, 174, 156, 172, 34, 817, 174, 174, 1235, + 781, 174, 10, 11, 12, 174, 172, 167, 167, 154, + 157, 49, 814, 794, 795, 814, 586, 587, 172, 148, + 172, 174, 157, 174, 174, 10, 11, 12, 13, 154, + 811, 155, 17, 162, 155, 155, 817, 155, 167, 155, + 155, 154, 172, 172, 156, 826, 156, 828, 829, 158, + 831, 102, 103, 834, 835, 172, 837, 154, 177, 173, + 68, 172, 154, 10, 172, 172, 155, 848, 814, 850, + 901, 173, 173, 81, 82, 174, 164, 62, 164, 164, + 174, 862, 164, 174, 10, 10, 10, 10, 1658, 715, + 716, 717, 10, 719, 156, 721, 1666, 723, 724, 150, + 151, 164, 407, 408, 409, 410, 411, 34, 413, 414, + 415, 155, 120, 121, 419, 123, 174, 919, 167, 167, + 128, 426, 130, 175, 156, 156, 431, 432, 983, 434, + 435, 436, 167, 438, 439, 120, 172, 177, 1403, 1404, + 1405, 15, 172, 177, 925, 172, 172, 158, 172, 174, + 172, 174, 155, 934, 155, 155, 155, 938, 939, 1435, + 155, 942, 943, 148, 156, 173, 172, 174, 173, 1435, + 167, 175, 174, 156, 156, 155, 957, 162, 10, 960, + 982, 175, 167, 982, 174, 1219, 177, 172, 34, 155, + 971, 972, 10, 174, 10, 246, 1461, 175, 249, 250, + 174, 174, 983, 174, 156, 10, 987, 988, 989, 990, + 991, 174, 10, 994, 1479, 1480, 10, 1453, 10, 156, + 155, 1457, 172, 177, 794, 1395, 174, 10, 11, 12, + 13, 1395, 15, 803, 17, 175, 982, 1018, 165, 166, + 167, 168, 169, 177, 171, 172, 173, 1049, 154, 156, + 155, 163, 174, 174, 174, 174, 1037, 172, 172, 1040, + 163, 163, 163, 1044, 174, 174, 1047, 1048, 156, 10, + 156, 175, 10, 1054, 1055, 1540, 175, 1058, 1059, 62, + 174, 1062, 10, 1548, 589, 590, 156, 156, 10, 156, + 1071, 172, 597, 1074, 1075, 174, 1077, 23, 24, 1080, + 15, 1537, 174, 1158, 175, 356, 357, 933, 34, 174, + 155, 1092, 175, 174, 155, 366, 367, 368, 174, 165, + 166, 167, 168, 169, 164, 171, 172, 173, 164, 164, + 174, 164, 1597, 10, 156, 1600, 174, 120, 10, 390, + 174, 10, 156, 172, 172, 172, 172, 156, 1241, 1242, + 174, 402, 403, 174, 174, 156, 10, 156, 1240, 174, + 930, 156, 1598, 603, 1451, 148, 1631, 937, 1149, 939, + 23, 24, 942, 943, 1155, 1398, 427, 1158, 626, 162, + 1049, 34, 1647, 919, 167, 1557, 1395, 1168, 1206, 172, + 1171, 626, 734, 1358, 964, 1019, 966, 564, -1, 969, + 1187, 1188, -1, 1190, 321, 1192, 1440, -1, 1442, 1443, + 1444, 1445, 1446, -1, 1448, -1, -1, 17, 18, 19, + 20, 21, 22, 23, 24, 1206, -1, -1, -1, -1, + -1, -1, -1, -1, 34, 1216, 1217, 1218, -1, 165, + 166, 167, 168, 169, 1225, 171, 172, 173, 1229, -1, + 1231, 502, -1, -1, 1235, -1, -1, -1, -1, -1, + 1241, 1242, -1, 768, 515, -1, -1, 518, 519, -1, + -1, -1, -1, 10, 11, 12, -1, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, 1523, - 1524, 1525, 1526, 1527, 1528, 573, -1, -1, 1169, -1, - -1, 1172, -1, 501, 160, 161, 162, 585, -1, 165, - 166, 167, 168, 169, 1185, 171, 172, 173, 516, -1, - -1, -1, -1, 1194, 18, 19, 20, 21, 22, 23, - 24, -1, -1, 1204, -1, -1, -1, 1571, -1, -1, - 34, -1, -1, -1, 1215, -1, -1, -1, -1, 547, - -1, -1, -1, -1, -1, -1, -1, 157, -1, 159, - 160, 161, 162, -1, 961, 165, 166, 167, 168, 169, - -1, 171, 172, 173, -1, -1, 10, 11, 12, 1439, - -1, 1441, 1442, 1443, 1444, 1445, -1, 1447, 1622, 587, - 588, 1625, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, 605, -1, 607, - 608, 609, 610, 611, 612, -1, -1, 615, -1, -1, + 1524, 1525, 1526, 1527, 1528, 1529, 1066, -1, -1, -1, + -1, 1071, -1, -1, 1074, 1075, -1, -1, -1, -1, + -1, -1, 165, 166, 167, 168, 169, -1, 171, 172, + 173, -1, -1, -1, -1, -1, -1, -1, -1, 1099, + -1, 68, -1, -1, 585, -1, -1, 588, 1572, -1, + -1, -1, -1, -1, 81, 82, -1, -1, -1, -1, + -1, -1, 3, 4, 5, 6, -1, 8, 9, 10, + 160, 161, 162, -1, 15, 165, 166, 167, 168, 169, + -1, 171, 172, 173, 1144, 1145, -1, 1358, -1, 630, + -1, -1, -1, 120, 121, -1, 123, -1, 1214, 1623, + -1, 128, 1626, 130, -1, -1, -1, 48, -1, 50, + 51, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 1395, 66, -1, 154, 669, 670, + 71, -1, 1403, 1404, 1405, -1, -1, -1, -1, 80, + 81, -1, -1, -1, 685, -1, -1, 688, 689, -1, + -1, 692, -1, -1, 65, 696, -1, -1, 699, 700, + -1, -1, 703, -1, 1435, 706, 707, -1, -1, 710, + 1447, 1231, -1, -1, 115, -1, -1, 118, 89, 120, + -1, -1, 1453, -1, 125, -1, 1457, -1, 129, -1, + 1461, 132, -1, -1, -1, -1, 137, 1468, 109, 140, + -1, 10, 11, 12, -1, -1, -1, -1, 1479, 1480, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 1027, 629, 630, -1, 68, 1032, -1, 715, 716, 717, - 638, 719, -1, 721, 11, 723, 724, 81, 82, -1, - 1510, 1511, 1512, 1513, 1514, 1515, 1516, 1517, 1518, 1519, - 1520, 1521, 1522, 1523, 1524, 1525, 1526, 1527, 1528, 163, - 164, 165, 166, 167, 168, 169, -1, 171, 172, 173, - 1077, -1, -1, -1, -1, -1, 120, 121, 55, 123, - 57, 58, 59, 60, 128, 1092, 130, -1, 696, -1, + -1, 162, -1, 1500, 165, 166, -1, -1, -1, 170, + -1, 172, -1, -1, -1, 176, 147, 778, -1, -1, + -1, -1, -1, -1, -1, -1, 2, -1, -1, -1, + -1, -1, -1, 1048, 1531, -1, -1, -1, -1, 68, + -1, -1, -1, -1, -1, -1, 1537, -1, -1, 1540, + -1, -1, 81, 82, -1, -1, 1219, 1548, -1, -1, + 1551, 1552, 1553, -1, -1, -1, 1557, 198, 199, 830, + -1, 47, -1, -1, -1, -1, -1, 53, -1, 840, + 841, -1, -1, 59, 60, 61, 62, 63, -1, -1, + 66, 120, 121, -1, 123, 226, -1, 858, -1, 128, + -1, 130, -1, -1, -1, 1385, 1597, 1598, -1, 1600, + -1, 1447, -1, -1, 245, -1, -1, -1, 1398, -1, + -1, -1, -1, -1, -1, -1, -1, 258, 259, 158, + -1, -1, -1, 162, -1, -1, -1, -1, 167, -1, + 1631, -1, 903, 1640, 1641, 1642, -1, 1644, -1, -1, + -1, 10, 11, 12, -1, -1, 1647, -1, -1, 1495, + 1496, 1497, 1498, -1, 1500, -1, 1502, 1658, -1, -1, + -1, 1451, 303, 304, -1, 1666, -1, -1, 309, -1, + 941, -1, -1, 944, 945, 161, 947, -1, 949, -1, + 321, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 963, -1, -1, -1, 967, 968, -1, 68, + -1, -1, 973, -1, -1, -1, -1, 978, 10, 11, + 12, -1, 81, 82, -1, 986, -1, -1, -1, 205, + 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, + 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, + -1, -1, 228, -1, -1, -1, -1, 233, -1, -1, + 391, 120, 121, -1, 123, 396, -1, -1, -1, 128, + -1, 130, -1, -1, -1, -1, 68, 1440, -1, 1442, + 1443, 1444, 1445, 1446, -1, 1448, -1, 263, -1, 81, + 82, -1, 1053, -1, -1, 1056, 1057, -1, -1, -1, + -1, -1, -1, 162, -1, -1, 437, -1, 167, 1070, + -1, -1, -1, -1, -1, -1, 10, 11, 12, -1, + -1, -1, -1, 299, -1, -1, -1, -1, 120, 121, + -1, 123, -1, -1, -1, -1, 128, 1098, 130, -1, + 316, 317, -1, -1, -1, -1, -1, 323, 1511, 1512, + 1513, 1514, 1515, 1516, 1517, 1518, 1519, 1520, 1521, 1522, + 1523, 1524, 1525, 1526, 1527, 1528, 1529, -1, 499, -1, + -1, -1, -1, -1, 68, -1, -1, -1, -1, -1, + -1, 1142, -1, 514, -1, -1, -1, 81, 82, -1, + 3, 4, 5, 6, -1, 8, 9, 10, 374, -1, + -1, -1, 15, -1, -1, -1, 537, -1, 1169, -1, + -1, 1172, -1, -1, -1, 546, -1, -1, -1, -1, + -1, -1, -1, -1, 1185, -1, 120, 121, -1, 123, + -1, -1, -1, 1194, 128, 48, 130, 50, 51, -1, + 416, -1, -1, 1204, -1, 3, 4, 5, 6, -1, + 8, 9, 10, 66, 1215, 586, 587, 15, 71, -1, + 154, -1, -1, 1626, -1, -1, -1, 80, 81, -1, + -1, -1, -1, 604, -1, 606, 607, 608, 609, 610, + 611, -1, -1, 614, 17, 18, 19, 20, 21, 22, + 23, 24, -1, 51, -1, -1, -1, 628, 629, -1, + -1, 34, 115, -1, -1, 118, 637, 120, 66, 22, + 23, 24, 125, 71, 490, -1, 129, -1, -1, 132, + -1, 34, 80, 81, 137, -1, -1, 140, 86, 505, + -1, -1, 90, 91, 92, 93, 94, 95, 96, 97, + 98, 99, 100, 101, 102, 103, 104, 105, -1, 162, + -1, -1, 165, 166, -1, -1, -1, 170, -1, 172, + 118, -1, 120, 176, 695, -1, -1, 125, -1, -1, + -1, 129, -1, 11, 132, -1, -1, -1, -1, 137, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1387, -1, -1, -1, - 154, -1, 89, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 3, 4, 5, 6, 106, - 8, 9, 10, 11, -1, -1, -1, 15, -1, -1, - 1147, -1, 1149, -1, 1151, -1, -1, -1, 756, -1, - 127, 128, -1, -1, -1, 1625, -1, 16, 17, 18, - 19, 20, 21, 22, 23, 24, -1, 144, -1, -1, - 1451, -1, 149, 51, 1455, 34, -1, 55, 1459, 57, - 58, 59, 60, 20, 21, 22, 23, 24, 66, -1, - -1, 1472, 70, 71, 1475, 1476, 1477, 34, -1, -1, - -1, -1, 80, 81, 82, 813, -1, -1, 86, -1, - -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, - -1, -1, -1, -1, -1, -1, -1, 115, -1, 117, - 118, -1, 120, -1, -1, -1, 934, 125, -1, 127, - 128, 129, -1, -1, 132, -1, -1, 865, -1, 137, - 1541, -1, 140, -1, -1, -1, 144, -1, -1, -1, - -1, 149, 1553, 1554, 17, 18, 19, 20, 21, 22, - 23, 24, -1, -1, 162, -1, -1, 165, 166, 167, - -1, 34, 170, -1, 172, 173, -1, -1, 176, -1, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, -1, 171, 172, 173, -1, 924, -1, 177, -1, - -1, -1, 55, 1604, 57, 58, 59, 60, 165, 166, - 167, 168, 169, -1, 171, 172, 173, 70, -1, -1, - -1, -1, -1, -1, -1, -1, 954, 1628, -1, -1, - -1, -1, -1, -1, -1, -1, 89, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1647, -1, -1, -1, - -1, -1, -1, 106, -1, 1656, -1, 1384, -1, -1, - -1, -1, 18, 19, 20, 21, 22, 23, 24, -1, - -1, -1, -1, -1, 127, 128, -1, -1, 34, -1, - -1, -1, -1, -1, -1, 1013, -1, -1, -1, -1, - -1, 144, -1, -1, -1, -1, 149, 160, 161, 162, + -1, -1, 568, 569, 570, 571, -1, 573, -1, -1, + -1, -1, -1, -1, 162, -1, 582, 165, 166, 167, + -1, -1, 170, -1, 172, 173, -1, 55, 176, 57, + 58, 59, 60, -1, -1, 756, 1387, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, -1, 171, 172, - 173, 3, 4, 5, 6, 7, 8, 9, 10, 11, - 12, 13, 1050, 15, 16, 17, 18, 19, 20, 21, - 22, 23, 24, 25, 26, -1, -1, -1, -1, -1, - 1467, -1, 34, 35, 36, 37, 38, 39, 40, 41, - 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, - 52, -1, -1, 55, 56, 57, 58, 59, 60, 61, - 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, - 72, -1, 74, -1, 76, 77, 78, 79, 80, 81, - 82, 83, 84, 85, -1, 87, 88, 89, -1, -1, - -1, -1, -1, -1, 1531, -1, 1214, -1, -1, 165, - 166, 167, 168, 169, 106, 171, 172, 173, -1, -1, - -1, 113, 114, 115, 116, 117, 118, 119, 120, 121, - 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, - 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, - 142, 143, 144, 145, 146, 147, 148, 149, 150, -1, - -1, -1, 154, 155, 156, 157, 158, 159, 160, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, - 172, 173, 174, 175, 176, 177, -1, -1, 3, 4, - 5, 6, 7, 8, 9, 10, 11, 12, 13, -1, - 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, - 25, 26, 1240, -1, -1, -1, -1, -1, -1, 34, - 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, 48, 49, 50, 51, 52, -1, -1, - 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, - 65, 66, 67, 68, 69, 70, 71, 72, -1, 74, - -1, 76, 77, 78, 79, 80, 81, 82, 83, 84, - 85, -1, 87, 88, 89, -1, -1, -1, -1, -1, + 173, -1, -1, -1, 620, -1, -1, -1, -1, -1, + -1, 89, 165, 166, 167, 168, 169, -1, 171, 172, + 173, -1, -1, -1, -1, -1, -1, -1, 106, -1, + -1, -1, -1, -1, 3, 4, 5, 6, -1, 8, + 9, 10, 813, -1, -1, 661, 15, -1, -1, 127, + 128, 1452, -1, -1, -1, 1456, -1, -1, -1, 1460, + 676, -1, -1, -1, -1, -1, 144, -1, -1, -1, + -1, 149, 1473, -1, -1, 1476, 1477, 1478, -1, -1, + -1, -1, 51, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, 864, 22, 23, 24, 66, -1, -1, + -1, -1, 71, -1, -1, -1, 34, -1, 724, -1, + -1, 80, 81, -1, -1, -1, 10, 11, 12, 735, + 736, 737, 738, 739, 740, 741, 742, 743, 744, 745, + 746, 747, 748, 749, 750, 751, 752, 753, 754, 755, + -1, 1542, 758, -1, -1, -1, 115, -1, -1, 118, + -1, 120, 923, 1554, 1555, -1, 125, -1, -1, -1, + 129, -1, -1, 132, -1, -1, -1, -1, 137, -1, + -1, 140, -1, -1, 68, -1, -1, -1, -1, -1, + -1, -1, 953, -1, 800, -1, -1, 81, 82, -1, + -1, -1, -1, 162, -1, -1, 165, 166, -1, -1, + -1, 170, -1, 172, 1605, -1, -1, 176, -1, 3, + 4, 5, 6, -1, 8, 9, 10, 11, 12, -1, + -1, 837, -1, -1, -1, -1, 120, 121, 1629, 123, + -1, -1, 848, -1, 128, -1, 130, 165, 166, 167, + 168, 169, 1013, 171, 172, 173, -1, 1648, -1, -1, + -1, 145, -1, 869, -1, -1, 1657, 51, 52, -1, + -1, 55, -1, 57, 58, 59, 60, 61, 62, -1, + -1, -1, 66, 67, -1, -1, 70, 71, -1, 1050, + 74, -1, -1, -1, -1, -1, 80, 81, 82, -1, + -1, -1, 86, -1, -1, 89, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, 106, -1, -1, -1, 10, 11, 12, -1, + -1, 115, -1, 117, 118, -1, 120, -1, 10, 11, + 12, 125, -1, 127, 128, 129, -1, -1, 132, 133, + -1, -1, -1, 137, 960, -1, 140, 141, 142, 143, + 144, -1, -1, 147, -1, 149, -1, -1, -1, -1, + -1, 6, -1, -1, -1, -1, -1, -1, 162, -1, + -1, 165, 166, 167, 68, -1, 170, -1, 172, 173, + -1, -1, 176, -1, -1, -1, 68, 81, 82, -1, + -1, -1, -1, 1009, -1, -1, -1, -1, -1, 81, + 82, -1, -1, -1, -1, -1, -1, -1, -1, 54, + -1, 1027, -1, -1, -1, -1, 1032, 62, 63, 64, + 65, -1, -1, -1, -1, -1, 120, 121, -1, 123, + 75, 76, 77, 78, 128, -1, 130, -1, 120, 121, + 122, 123, -1, 88, -1, -1, 128, -1, 130, 16, + 17, 18, 19, 20, 21, 22, 23, 24, -1, 141, + -1, 1077, -1, 157, 146, -1, -1, 34, 113, 1240, + -1, -1, -1, -1, -1, -1, 1092, -1, -1, 124, + -1, -1, -1, -1, -1, 130, -1, -1, -1, 134, + 135, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 146, -1, 148, -1, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, -1, 15, 16, 17, + 18, 19, 20, 21, 22, 23, 24, 25, 26, -1, + -1, 1147, -1, 1149, -1, 1151, 34, 35, 36, 37, + 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, -1, -1, 55, 56, 57, + 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, + 68, 69, 70, 71, 72, -1, 74, -1, 76, 77, + 78, 79, 80, 81, 82, 83, 84, 85, -1, 87, + 88, 89, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, -1, 171, 172, 173, -1, 106, -1, + 177, -1, -1, -1, -1, 113, 114, 115, 116, 117, + 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, + 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, + 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, + 148, 149, 150, 10, 11, -1, 154, 155, 156, 157, + 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, + -1, -1, -1, 10, 11, 12, -1, -1, -1, 10, + 11, 12, -1, -1, -1, 52, -1, -1, 55, -1, + 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, + 67, -1, -1, 70, -1, -1, 55, 74, 57, 58, + 59, 60, -1, -1, -1, 82, -1, -1, -1, -1, + -1, 70, 89, -1, -1, -1, -1, -1, -1, -1, + -1, 68, -1, -1, -1, -1, -1, 68, -1, 106, + 89, -1, -1, -1, 81, 82, -1, -1, -1, 1530, + 81, 82, 119, -1, -1, -1, -1, 106, 1384, -1, + 127, 128, -1, -1, -1, -1, 133, -1, -1, -1, + -1, -1, -1, -1, 141, 142, 143, 144, 127, 128, + 147, -1, 149, 120, 121, -1, 123, 154, 1569, 120, + 121, 128, 123, 130, -1, 144, -1, 128, -1, 130, + 149, -1, -1, 170, 141, -1, -1, -1, -1, 146, + 141, -1, 3, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 172, 15, 16, 17, 18, 19, 20, + 21, 22, 23, 24, 25, 26, -1, -1, -1, -1, + -1, -1, 1468, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, -1, -1, 55, 56, 57, 58, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, + 71, 72, -1, 74, -1, 76, 77, 78, 79, 80, + 81, 82, 83, 84, 85, -1, 87, 88, 89, -1, + -1, -1, -1, -1, -1, -1, 1532, -1, -1, -1, + -1, -1, -1, -1, -1, 106, -1, -1, -1, -1, + -1, -1, 113, 114, 115, 116, 117, 118, 119, 120, + 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, + 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + -1, -1, -1, 154, 155, 156, 157, 158, 159, 160, + 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, + 171, 172, 173, 174, -1, 176, 177, 3, 4, 5, + 6, -1, 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 106, -1, -1, -1, -1, -1, -1, 113, 114, - 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, - 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, - 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, - 145, 146, 147, 148, 149, 150, -1, -1, 1446, 154, - 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - -1, 176, 177, -1, -1, 3, 4, 5, 6, -1, - 8, 9, 10, 11, 12, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 1494, 1495, 1496, 1497, - -1, 1499, -1, 1501, -1, -1, -1, -1, 16, 17, - 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, - -1, -1, -1, 51, 52, -1, 34, 55, -1, 57, - 58, 59, 60, 61, 62, -1, -1, -1, 66, 67, - -1, -1, 70, 71, -1, -1, 74, -1, -1, -1, - -1, -1, 80, 81, 82, -1, -1, -1, 86, -1, - -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, - -1, -1, -1, -1, -1, -1, -1, 115, -1, 117, - 118, -1, 120, -1, -1, -1, -1, 125, -1, 127, - 128, 129, -1, -1, 132, 133, -1, -1, -1, 137, - -1, 1529, 140, 141, 142, 143, 144, -1, -1, 147, - -1, 149, 3, 4, 5, 6, -1, 8, 9, 10, - 11, -1, -1, -1, 162, -1, -1, 165, 166, 167, - -1, -1, 170, -1, 172, 173, -1, -1, 176, -1, - 1568, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, -1, 171, 172, 173, -1, -1, -1, 177, - 51, 52, -1, -1, 55, -1, 57, 58, 59, 60, - 61, -1, -1, -1, -1, 66, 67, -1, -1, 70, - 71, -1, -1, 74, -1, -1, -1, -1, -1, 80, - 81, 82, -1, -1, -1, 86, -1, -1, 89, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 106, -1, -1, -1, -1, - -1, -1, -1, -1, 115, -1, 117, 118, -1, 120, - -1, -1, -1, -1, 125, -1, 127, 128, 129, -1, - -1, 132, 133, -1, -1, -1, 137, -1, -1, 140, - 141, 142, 143, 144, -1, -1, 147, -1, 149, 3, - 4, 5, 6, -1, 8, 9, 10, 11, -1, -1, - -1, 162, -1, -1, 165, 166, 167, -1, -1, 170, - -1, 172, 173, -1, -1, 176, -1, -1, -1, -1, - 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, - -1, -1, -1, -1, -1, -1, -1, 51, 34, -1, - -1, 55, -1, 57, 58, 59, 60, -1, -1, -1, - -1, -1, 66, -1, 68, 69, 70, 71, -1, -1, - -1, -1, -1, -1, -1, -1, 80, 81, 82, -1, - -1, -1, 86, -1, -1, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, - -1, 115, -1, 117, 118, -1, 120, -1, -1, -1, - -1, 125, -1, 127, 128, 129, -1, -1, 132, -1, - -1, -1, -1, 137, -1, -1, 140, -1, -1, -1, - 144, 3, 4, 5, 6, 149, 8, 9, 10, 11, - 154, -1, -1, -1, -1, -1, -1, -1, 162, -1, - -1, 165, 166, 167, -1, -1, 170, -1, 172, 173, - -1, -1, 176, 159, 160, 161, 162, 163, 164, 165, - 166, 167, 168, 169, -1, 171, 172, 173, -1, 51, - -1, 177, -1, 55, -1, 57, 58, 59, 60, -1, - -1, -1, -1, -1, 66, -1, -1, -1, 70, 71, - -1, -1, -1, -1, -1, -1, -1, -1, 80, 81, - 82, -1, -1, -1, 86, -1, -1, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, -1, -1, -1, -1, -1, - -1, -1, -1, 115, -1, 117, 118, -1, 120, -1, - -1, -1, -1, 125, -1, 127, 128, 129, -1, -1, - 132, -1, -1, -1, -1, 137, -1, -1, 140, -1, - -1, -1, 144, 3, 4, 5, 6, 149, 8, 9, - 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, - 162, -1, -1, 165, 166, 167, -1, -1, 170, -1, - 172, 173, 174, -1, 176, 16, 17, 18, 19, 20, - 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, - -1, 51, 52, 34, -1, 55, -1, 57, 58, 59, - 60, -1, -1, -1, -1, -1, 66, -1, -1, -1, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - 80, 81, 82, -1, -1, -1, 86, -1, -1, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, -1, -1, -1, - -1, -1, -1, -1, -1, 115, -1, 117, 118, -1, - 120, -1, -1, -1, -1, 125, -1, 127, 128, 129, - -1, -1, 132, -1, -1, -1, -1, 137, -1, -1, - 140, -1, -1, -1, 144, 3, 4, 5, 6, 149, - 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, - -1, -1, 162, -1, -1, 165, 166, 167, -1, -1, - 170, -1, 172, 173, -1, 156, 176, -1, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, -1, - 171, 172, 173, 51, 52, -1, -1, 55, -1, 57, - 58, 59, 60, -1, -1, -1, -1, -1, 66, -1, - -1, -1, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, 80, 81, 82, -1, -1, -1, 86, -1, - -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, - -1, 55, -1, 57, 58, 59, 60, 115, -1, 117, - 118, -1, 120, -1, -1, -1, 70, 125, -1, 127, - 128, 129, -1, -1, 132, -1, -1, -1, -1, 137, - -1, -1, 140, -1, -1, 89, 144, 3, 4, 5, - 6, 149, 8, 9, 10, 11, -1, -1, -1, -1, - -1, -1, 106, -1, 162, -1, -1, 165, 166, 167, - -1, -1, 170, -1, 172, 173, -1, -1, 176, -1, - -1, -1, -1, 127, 128, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 51, -1, -1, -1, 55, - 144, 57, 58, 59, 60, 149, -1, -1, -1, -1, - 66, -1, -1, -1, 70, 71, -1, -1, -1, -1, - -1, -1, -1, -1, 80, 81, 82, -1, 172, -1, - 86, -1, -1, 89, 90, 91, 92, 93, 94, 95, - 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, - 106, -1, -1, -1, -1, -1, -1, -1, -1, 115, - -1, 117, 118, -1, 120, -1, -1, -1, -1, 125, - -1, 127, 128, 129, -1, -1, 132, -1, -1, -1, - -1, 137, -1, -1, 140, -1, -1, -1, 144, 3, - 4, 5, 6, 149, 8, 9, 10, 11, -1, -1, - -1, -1, -1, -1, -1, -1, 162, -1, -1, 165, - 166, 167, -1, -1, 170, -1, 172, 173, 174, -1, - 176, 16, 17, 18, 19, 20, 21, 22, 23, 24, - -1, -1, -1, -1, -1, -1, -1, 51, -1, 34, - -1, 55, -1, 57, 58, 59, 60, -1, -1, -1, - -1, -1, 66, -1, -1, -1, 70, 71, -1, -1, - -1, -1, -1, -1, -1, -1, 80, 81, 82, -1, - -1, -1, 86, -1, -1, 89, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, - -1, 115, -1, 117, 118, -1, 120, -1, -1, -1, - -1, 125, -1, 127, 128, 129, -1, -1, 132, -1, - -1, -1, -1, 137, -1, -1, 140, -1, -1, -1, - 144, 3, 4, 5, 6, 149, 8, 9, 10, 11, - 154, -1, -1, -1, -1, -1, -1, -1, 162, -1, - -1, 165, 166, 167, -1, -1, 170, -1, 172, 173, - 155, -1, 176, -1, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, -1, 171, 172, 173, 51, - -1, -1, -1, 55, -1, 57, 58, 59, 60, -1, - -1, -1, -1, -1, 66, -1, -1, -1, 70, 71, - -1, -1, -1, -1, -1, -1, -1, -1, 80, 81, - 82, -1, -1, -1, 86, -1, -1, 89, 90, 91, - 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, - 102, 103, 104, 105, 106, -1, -1, -1, -1, -1, - -1, -1, -1, 115, -1, 117, 118, -1, 120, -1, - -1, -1, -1, 125, -1, 127, 128, 129, -1, -1, - 132, -1, -1, -1, -1, 137, -1, -1, 140, -1, - -1, -1, 144, 3, 4, 5, 6, 149, 8, 9, - 10, 11, 154, -1, -1, -1, -1, -1, -1, -1, - 162, -1, -1, 165, 166, 167, -1, -1, 170, -1, - 172, 173, -1, -1, 176, 16, 17, 18, 19, 20, - 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, - -1, 51, -1, 34, -1, 55, -1, 57, 58, 59, - 60, -1, -1, -1, -1, -1, 66, -1, -1, -1, - 70, 71, -1, -1, -1, -1, -1, -1, -1, -1, - 80, 81, 82, -1, -1, -1, 86, -1, -1, 89, - 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, - 100, 101, 102, 103, 104, 105, 106, -1, -1, -1, - -1, -1, -1, -1, -1, 115, -1, 117, 118, -1, - 120, -1, -1, -1, -1, 125, -1, 127, 128, 129, - -1, -1, 132, -1, -1, -1, -1, 137, -1, -1, - 140, -1, -1, -1, 144, 3, 4, 5, 6, 149, - 8, 9, 10, 11, -1, -1, -1, -1, -1, -1, - -1, -1, 162, -1, -1, 165, 166, 167, -1, -1, - 170, -1, 172, 173, 174, -1, 176, -1, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, -1, - 171, 172, 173, 51, -1, -1, -1, 55, -1, 57, - 58, 59, 60, -1, -1, -1, -1, -1, 66, -1, - -1, -1, 70, 71, -1, -1, -1, -1, -1, -1, - -1, -1, 80, 81, 82, -1, -1, -1, 86, -1, - -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, - 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, - -1, -1, -1, -1, -1, -1, -1, 115, -1, 117, - 118, -1, 120, -1, -1, -1, -1, 125, -1, 127, - 128, 129, -1, -1, 132, -1, -1, -1, -1, 137, - -1, -1, 140, -1, -1, -1, 144, 3, 4, 5, - 6, 149, 8, 9, 10, 11, -1, -1, -1, -1, - -1, -1, -1, -1, 162, -1, -1, 165, 166, 167, - -1, -1, 170, -1, 172, 173, -1, -1, 176, 16, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, - -1, -1, -1, -1, -1, 51, -1, 34, -1, 55, - -1, 57, 58, 59, 60, -1, -1, -1, -1, -1, - 66, -1, -1, -1, 70, 71, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 51, 52, 34, -1, 55, + -1, 57, 58, 59, 60, 61, -1, -1, -1, -1, + 66, 67, -1, -1, 70, 71, -1, -1, 74, -1, -1, -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, -1, -1, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, 117, 118, -1, 120, -1, -1, -1, -1, 125, - -1, 127, 128, 129, -1, -1, 132, -1, -1, -1, - -1, 137, -1, -1, 140, -1, -1, -1, 144, 3, - 4, 5, 6, 149, 8, 9, 10, -1, -1, -1, - -1, 15, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 170, -1, 172, 173, -1, -1, + -1, 127, 128, 129, -1, -1, 132, 133, -1, -1, + -1, 137, -1, -1, 140, 141, 142, 143, 144, -1, + -1, 147, -1, 149, 3, 4, 5, 6, -1, 8, + 9, 10, 11, -1, -1, -1, 162, -1, -1, 165, + 166, 167, -1, -1, 170, -1, 172, 173, -1, -1, 176, -1, 159, 160, 161, 162, 163, 164, 165, 166, - 167, 168, 169, -1, 171, 172, 173, 51, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 66, -1, 10, 11, 12, 71, -1, -1, - -1, -1, -1, -1, -1, -1, 80, 81, -1, -1, - -1, -1, 86, -1, -1, -1, 90, 91, 92, 93, - 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, - 104, 105, 3, 4, 5, 6, -1, 8, 9, 10, - -1, -1, -1, -1, 118, -1, 120, -1, -1, -1, - -1, 125, 68, -1, -1, 129, -1, -1, 132, -1, - -1, -1, -1, 137, -1, 81, 82, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 51, -1, -1, -1, -1, -1, -1, -1, 162, -1, - -1, 165, 166, 167, -1, 66, 170, -1, 172, 173, - 71, -1, 176, -1, 120, 121, -1, 123, -1, 80, - 81, -1, 128, -1, 130, 86, -1, -1, -1, 90, - 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, - 101, 102, 103, 104, 105, 10, 11, 12, 154, -1, - -1, -1, -1, -1, -1, -1, -1, 118, -1, 120, - 3, 4, 5, 6, 125, 8, 9, 10, 129, -1, - -1, 132, 15, -1, -1, -1, 137, -1, -1, -1, - -1, -1, -1, -1, 3, 4, 5, 6, -1, 8, - 9, 10, -1, -1, -1, -1, 15, -1, -1, -1, - -1, -1, -1, 68, -1, 48, -1, 50, 51, 170, - -1, 172, 173, -1, -1, 176, 81, 82, -1, -1, - -1, -1, -1, 66, -1, -1, -1, -1, 71, 48, - -1, 50, 51, -1, -1, -1, -1, 80, 81, -1, - -1, -1, -1, -1, -1, -1, -1, 66, -1, -1, - -1, -1, 71, -1, -1, 120, 121, 122, 123, -1, - -1, 80, 81, 128, -1, 130, 55, -1, 57, 58, - 59, 60, 115, -1, -1, 118, 141, 120, -1, -1, - -1, 146, 125, -1, -1, -1, 129, -1, -1, 132, - -1, -1, -1, -1, 137, -1, 115, 140, -1, 118, - 89, 120, 3, 4, 5, 6, 125, 8, 9, 10, - 129, -1, -1, 132, 15, -1, -1, 106, 137, 162, - -1, 140, 165, 166, -1, -1, -1, 170, -1, 172, - -1, -1, -1, 176, -1, -1, -1, -1, 127, 128, - -1, -1, -1, 162, -1, -1, 165, 166, -1, -1, - 51, 170, -1, 172, -1, 144, -1, 176, -1, -1, - 149, -1, -1, -1, -1, 66, -1, -1, -1, -1, - 71, 6, -1, -1, -1, -1, -1, -1, -1, 80, - 81, 16, 17, 18, 19, 20, 21, 22, 23, 24, - -1, -1, -1, -1, -1, 10, 11, 12, -1, 34, - -1, 36, 37, 38, 39, 40, 41, 42, 43, 44, - 45, 46, 47, -1, 115, -1, -1, 118, -1, 120, - -1, -1, -1, -1, 125, -1, -1, -1, 129, -1, - -1, 132, -1, -1, 69, -1, 137, -1, -1, 140, - 10, 11, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 68, -1, -1, -1, -1, -1, 74, - -1, 162, -1, -1, 165, 166, 81, 82, -1, 170, - -1, 172, -1, -1, -1, 176, -1, -1, -1, -1, - 115, -1, 52, -1, -1, 55, -1, 57, 58, 59, - 60, 61, -1, -1, -1, -1, -1, 67, -1, 114, - 70, -1, -1, -1, 74, 120, 121, -1, 123, 10, - 11, 12, 82, 128, -1, 130, -1, -1, -1, 89, - 155, -1, -1, 158, -1, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, 170, 106, 172, 173, -1, - -1, 176, -1, -1, 10, 11, -1, -1, -1, 119, - -1, -1, -1, 10, 11, 12, -1, 127, 128, -1, - -1, -1, -1, 133, -1, -1, -1, 68, -1, -1, - -1, 141, 142, 143, 144, -1, -1, 147, -1, 149, - 81, 82, -1, -1, 154, -1, 52, -1, -1, 55, - -1, 57, 58, 59, 60, 61, -1, -1, -1, -1, - 170, 67, -1, -1, 70, -1, -1, -1, 74, -1, - -1, 68, -1, -1, -1, -1, 82, -1, -1, 120, - 121, -1, 123, 89, 81, 82, -1, 128, -1, 130, - -1, 10, 11, 12, -1, -1, -1, 10, 11, -1, - 106, -1, -1, -1, 145, -1, -1, -1, -1, -1, - -1, -1, -1, 119, -1, -1, -1, -1, -1, -1, - -1, 127, 128, 120, 121, -1, 123, 133, -1, -1, - -1, 128, -1, 130, -1, 141, 142, 143, 144, 52, - -1, 147, 55, 149, 57, 58, 59, 60, 61, 68, - -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, - -1, 74, 81, 82, 170, -1, -1, -1, -1, 82, - -1, -1, -1, -1, -1, -1, 89, 16, 17, 18, - 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, - -1, -1, -1, 106, -1, 34, -1, -1, -1, -1, - -1, 120, 121, -1, 123, -1, 119, -1, -1, 128, - -1, 130, -1, -1, 127, 128, -1, -1, -1, -1, - 133, -1, 141, -1, -1, -1, -1, 146, 141, 142, - 143, 144, -1, -1, 147, -1, 149, 16, 17, 18, - 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 34, -1, 170, 16, 17, + 167, 168, 169, -1, 171, 172, 173, -1, -1, -1, + 177, -1, 51, -1, -1, -1, 55, -1, 57, 58, + 59, 60, -1, -1, -1, -1, -1, 66, -1, 68, + 69, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, 80, 81, 82, -1, -1, -1, 86, -1, -1, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, -1, -1, + -1, -1, -1, -1, -1, -1, 115, -1, 117, 118, + -1, 120, -1, -1, -1, -1, 125, -1, 127, 128, + 129, -1, -1, 132, -1, -1, -1, -1, 137, -1, + -1, 140, -1, -1, -1, 144, 3, 4, 5, 6, + 149, 8, 9, 10, 11, 154, -1, -1, 15, -1, + -1, -1, -1, 162, -1, -1, 165, 166, 167, -1, + -1, 170, -1, 172, 173, -1, -1, 176, 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 34, 16, 17, 18, + -1, -1, -1, -1, 51, -1, 34, -1, 55, -1, + 57, 58, 59, 60, -1, -1, -1, -1, -1, 66, + -1, -1, -1, 70, 71, -1, -1, -1, -1, -1, + -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, + -1, -1, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, + 117, 118, -1, 120, -1, -1, -1, -1, 125, -1, + 127, 128, 129, -1, -1, 132, -1, -1, -1, -1, + 137, -1, -1, 140, -1, -1, -1, 144, 3, 4, + 5, 6, 149, 8, 9, 10, 11, -1, -1, -1, + -1, -1, -1, -1, -1, 162, -1, -1, 165, 166, + 167, -1, -1, 170, -1, 172, 173, -1, -1, 176, + -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, -1, 171, 172, 173, 51, -1, -1, 177, + 55, -1, 57, 58, 59, 60, -1, -1, -1, -1, + -1, 66, -1, -1, -1, 70, 71, -1, -1, -1, + -1, -1, -1, -1, -1, 80, 81, 82, -1, -1, + -1, 86, -1, -1, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, + 115, -1, 117, 118, -1, 120, -1, -1, -1, -1, + 125, -1, 127, 128, 129, -1, -1, 132, -1, -1, + -1, -1, 137, -1, -1, 140, -1, -1, -1, 144, + 3, 4, 5, 6, 149, 8, 9, 10, 11, -1, + -1, -1, -1, -1, -1, -1, -1, 162, -1, -1, + 165, 166, 167, -1, -1, 170, -1, 172, 173, 174, + -1, 176, 16, 17, 18, 19, 20, 21, 22, 23, + 24, -1, -1, -1, -1, -1, -1, -1, 51, 52, + 34, -1, 55, -1, 57, 58, 59, 60, -1, -1, + -1, -1, -1, 66, -1, -1, -1, 70, 71, -1, + -1, -1, -1, -1, -1, -1, -1, 80, 81, 82, + -1, -1, -1, 86, -1, -1, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, -1, -1, -1, -1, -1, -1, + -1, -1, 115, -1, 117, 118, -1, 120, -1, -1, + -1, -1, 125, -1, 127, 128, 129, -1, -1, 132, + -1, -1, -1, -1, 137, -1, -1, 140, -1, -1, + -1, 144, 3, 4, 5, 6, 149, 8, 9, 10, + 11, -1, -1, -1, -1, -1, -1, -1, -1, 162, + -1, -1, 165, 166, 167, -1, -1, 170, -1, 172, + 173, -1, 156, 176, -1, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, -1, 171, 172, 173, + 51, 52, -1, -1, 55, -1, 57, 58, 59, 60, + -1, -1, -1, -1, -1, 66, -1, -1, -1, 70, + 71, -1, -1, -1, -1, -1, -1, -1, -1, 80, + 81, 82, -1, -1, -1, 86, -1, -1, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, -1, -1, 55, -1, + 57, 58, 59, 60, 115, -1, 117, 118, -1, 120, + -1, -1, -1, -1, 125, -1, 127, 128, 129, -1, + -1, 132, -1, -1, -1, -1, 137, -1, -1, 140, + -1, -1, 89, 144, 3, 4, 5, 6, 149, 8, + 9, 10, 11, -1, -1, -1, -1, -1, -1, 106, + -1, 162, -1, -1, 165, 166, 167, -1, -1, 170, + -1, 172, 173, -1, -1, 176, -1, -1, -1, -1, + 127, 128, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 51, -1, -1, -1, 55, 144, 57, 58, + 59, 60, 149, -1, -1, -1, -1, 66, -1, -1, + -1, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, 80, 81, 82, -1, 172, -1, 86, -1, -1, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, -1, -1, + -1, -1, -1, -1, -1, -1, 115, -1, 117, 118, + -1, 120, -1, -1, -1, -1, 125, -1, 127, 128, + 129, -1, -1, 132, -1, -1, -1, -1, 137, -1, + -1, 140, -1, -1, -1, 144, 3, 4, 5, 6, + 149, 8, 9, 10, 11, -1, -1, -1, -1, -1, + -1, -1, -1, 162, -1, -1, 165, 166, 167, -1, + -1, 170, -1, 172, 173, 174, -1, 176, 16, 17, + 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, + -1, -1, -1, -1, 51, -1, 34, -1, 55, -1, + 57, 58, 59, 60, -1, -1, -1, -1, -1, 66, + -1, -1, -1, 70, 71, -1, -1, -1, -1, -1, + -1, -1, -1, 80, 81, 82, -1, -1, -1, 86, + -1, -1, 89, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, + -1, -1, -1, -1, -1, -1, -1, -1, 115, -1, + 117, 118, -1, 120, -1, -1, -1, -1, 125, -1, + 127, 128, 129, -1, -1, 132, -1, -1, -1, -1, + 137, -1, -1, 140, -1, -1, -1, 144, 3, 4, + 5, 6, 149, 8, 9, 10, 11, 154, -1, -1, + -1, -1, -1, -1, -1, 162, -1, -1, 165, 166, + 167, -1, -1, 170, -1, 172, 173, 155, -1, 176, + -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, -1, 171, 172, 173, 51, -1, -1, -1, + 55, -1, 57, 58, 59, 60, -1, -1, -1, -1, + -1, 66, -1, -1, -1, 70, 71, -1, -1, -1, + -1, -1, -1, -1, -1, 80, 81, 82, -1, -1, + -1, 86, -1, -1, 89, 90, 91, 92, 93, 94, + 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, + 105, 106, -1, -1, -1, -1, -1, -1, -1, -1, + 115, -1, 117, 118, -1, 120, -1, -1, -1, -1, + 125, -1, 127, 128, 129, -1, -1, 132, -1, -1, + -1, -1, 137, -1, -1, 140, -1, -1, -1, 144, + 3, 4, 5, 6, 149, 8, 9, 10, 11, 154, + -1, -1, -1, -1, -1, -1, -1, 162, -1, -1, + 165, 166, 167, -1, -1, 170, -1, 172, 173, -1, + -1, 176, 16, 17, 18, 19, 20, 21, 22, 23, + 24, -1, -1, -1, -1, -1, -1, -1, 51, -1, + 34, -1, 55, -1, 57, 58, 59, 60, -1, -1, + -1, -1, -1, 66, -1, -1, -1, 70, 71, -1, + -1, -1, -1, -1, -1, -1, -1, 80, 81, 82, + -1, -1, -1, 86, -1, -1, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, -1, -1, -1, -1, -1, -1, + -1, -1, 115, -1, 117, 118, -1, 120, -1, -1, + -1, -1, 125, -1, 127, 128, 129, -1, -1, 132, + -1, -1, -1, -1, 137, -1, -1, 140, -1, -1, + -1, 144, 3, 4, 5, 6, 149, 8, 9, 10, + 11, -1, -1, -1, -1, -1, -1, -1, -1, 162, + -1, -1, 165, 166, 167, -1, -1, 170, -1, 172, + 173, 174, -1, 176, -1, 159, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, -1, 171, 172, 173, + 51, -1, -1, -1, 55, -1, 57, 58, 59, 60, + -1, -1, -1, -1, -1, 66, -1, -1, -1, 70, + 71, -1, -1, -1, -1, -1, -1, -1, -1, 80, + 81, 82, -1, -1, -1, 86, -1, -1, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 106, -1, -1, -1, -1, + -1, -1, -1, -1, 115, -1, 117, 118, -1, 120, + -1, -1, -1, -1, 125, -1, 127, 128, 129, -1, + -1, 132, -1, -1, -1, -1, 137, -1, -1, 140, + -1, -1, -1, 144, 3, 4, 5, 6, 149, 8, + 9, 10, 11, -1, 18, 19, 20, 21, 22, 23, + 24, 162, -1, -1, 165, 166, 167, -1, -1, 170, + 34, 172, 173, -1, -1, 176, 16, 17, 18, 19, + 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, + -1, -1, 51, -1, 34, -1, 55, -1, 57, 58, + 59, 60, -1, -1, -1, -1, -1, 66, -1, -1, + -1, 70, 71, -1, -1, -1, -1, -1, -1, -1, + -1, 80, 81, 82, -1, -1, -1, 86, -1, -1, + 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, + 99, 100, 101, 102, 103, 104, 105, 106, -1, -1, + -1, -1, -1, -1, -1, -1, 115, -1, 117, 118, + -1, 120, -1, -1, -1, -1, 125, -1, 127, 128, + 129, -1, -1, 132, -1, -1, -1, -1, 137, -1, + -1, 140, -1, -1, -1, 144, 3, 4, 5, 6, + 149, 8, 9, 10, -1, -1, 160, 161, 162, 163, + 164, 165, 166, 167, 168, 169, -1, 171, 172, 173, + -1, 170, -1, 172, 173, -1, -1, 176, -1, 159, + 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, + -1, 171, 172, 173, 51, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 66, + -1, -1, -1, -1, 71, -1, -1, -1, -1, -1, + -1, -1, -1, 80, 81, -1, -1, -1, -1, 86, + -1, -1, -1, 90, 91, 92, 93, 94, 95, 96, + 97, 98, 99, 100, 101, 102, 103, 104, 105, 3, + 4, 5, 6, -1, 8, 9, 10, -1, -1, -1, + -1, 118, -1, 120, -1, -1, -1, -1, 125, -1, + -1, -1, 129, -1, -1, 132, -1, -1, -1, -1, + 137, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 51, -1, -1, + -1, -1, -1, -1, -1, 162, -1, -1, 165, 166, + 167, -1, 66, 170, -1, 172, 173, 71, -1, 176, + 20, 21, 22, 23, 24, -1, 80, 81, -1, -1, + -1, -1, 86, -1, 34, -1, 90, 91, 92, 93, + 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, + 104, 105, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 118, -1, 120, -1, -1, -1, + -1, 125, -1, -1, 6, 129, -1, -1, 132, 10, + 11, -1, -1, 137, 16, 17, 18, 19, 20, 21, + 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 34, -1, 36, 37, 38, 39, 40, 41, + 42, 43, 44, 45, 46, 47, 170, -1, 172, 173, + -1, 52, 176, -1, 55, -1, 57, 58, 59, 60, + 61, -1, -1, -1, -1, -1, 67, 69, -1, 70, + -1, -1, -1, 74, -1, -1, -1, -1, 10, 11, + 12, 82, -1, 15, -1, -1, -1, -1, 89, -1, + -1, -1, -1, 163, 164, 165, 166, 167, 168, 169, + -1, 171, 172, 173, -1, 106, -1, -1, -1, -1, + -1, -1, -1, 115, -1, -1, -1, -1, 119, -1, + -1, -1, -1, -1, -1, -1, 127, 128, -1, -1, + 10, 11, 133, -1, -1, -1, 68, -1, -1, -1, + 141, 142, 143, 144, -1, -1, 147, -1, 149, 81, + 82, -1, -1, 155, -1, -1, 158, -1, 160, 161, + 162, 163, 164, 165, 166, 167, 168, 169, 170, 170, + 172, 173, 52, -1, 176, 55, -1, 57, 58, 59, + 60, 61, -1, -1, -1, -1, -1, 67, 120, 121, + 70, 123, -1, -1, 74, -1, 128, -1, 130, -1, + -1, -1, 82, -1, -1, -1, -1, -1, -1, 89, + 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, + -1, -1, -1, -1, -1, -1, 106, -1, 34, -1, + -1, 55, -1, 57, 58, 59, 60, -1, -1, 119, + -1, -1, -1, -1, -1, -1, -1, 127, 128, -1, + -1, -1, -1, 133, -1, -1, -1, -1, -1, -1, + -1, 141, 142, 143, 144, 89, -1, 147, -1, 149, + 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, + -1, -1, 106, -1, -1, -1, -1, -1, 34, -1, + 170, 16, 17, 18, 19, 20, 21, 22, 23, 24, + -1, -1, -1, 127, 128, -1, -1, -1, -1, 34, + 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, + 144, -1, -1, -1, -1, 149, -1, -1, 34, 16, + 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 34, 172, 155, + -1, -1, -1, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, -1, 171, 172, 173, 174, 16, + 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 34, 16, 17, + 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 34, -1, -1, -1, + -1, -1, -1, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, -1, 171, 172, 173, 174, -1, + -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, + 165, 166, 167, 168, 169, -1, 171, 172, 173, 174, + -1, -1, -1, 159, 160, 161, 162, 163, 164, 165, + 166, 167, 168, 169, -1, 171, 172, 173, 174, -1, + -1, -1, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, -1, 171, 172, 173, 174, 16, 17, + 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 34, -1, -1, -1, + -1, -1, 159, 160, 161, 162, 163, 164, 165, 166, + 167, 168, 169, -1, 171, 172, 173, 174, -1, -1, + -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, + 168, 169, -1, 171, 172, 173, 174, 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, 16, 17, 18, 19, - 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, - -1, -1, -1, -1, 34, -1, 155, -1, -1, -1, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, -1, 171, 172, 173, 174, 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, 16, 17, 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 34, -1, -1, -1, -1, -1, -1, - 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, -1, 171, 172, 173, 174, -1, -1, -1, -1, + -1, -1, -1, 34, 16, 17, 18, 19, 20, 21, + 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, + -1, -1, 34, -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, - 168, 169, -1, 171, 172, 173, 174, -1, -1, -1, + 168, 169, -1, 171, 172, 173, 174, 16, 17, 18, + 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 34, 16, 17, 18, 19, + 20, 21, 22, 23, 24, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 34, -1, -1, -1, -1, -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, -1, 171, 172, 173, 174, -1, -1, -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - -1, 171, 172, 173, 174, 16, 17, 18, 19, 20, - 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 34, -1, -1, -1, -1, -1, 159, - 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, - -1, 171, 172, 173, 174, -1, -1, -1, 159, 160, + -1, 171, 172, 173, 174, -1, 157, -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, -1, - 171, 172, 173, 174, 16, 17, 18, 19, 20, 21, - 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 34, 16, 17, 18, 19, 20, 21, 22, - 23, 24, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 34, 16, 17, 18, 19, 20, 21, 22, 23, - 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 34, 16, 17, 18, 19, 20, 21, 22, 23, 24, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 34, - -1, -1, -1, -1, -1, -1, -1, -1, 159, 160, - 161, 162, 163, 164, 165, 166, 167, 168, 169, -1, - 171, 172, 173, 174, 16, 17, 18, 19, 20, 21, - 22, 23, 24, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 34, 17, 18, 19, 20, 21, 22, 23, - 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 34, -1, -1, -1, -1, -1, -1, 159, 160, 161, + 171, 172, 173, -1, -1, 157, -1, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, -1, 171, - 172, 173, 174, -1, -1, -1, 159, 160, 161, 162, - 163, 164, 165, 166, 167, 168, 169, -1, 171, 172, - 173, 174, -1, 157, -1, 159, 160, 161, 162, 163, - 164, 165, 166, 167, 168, 169, -1, 171, 172, 173, - -1, -1, 157, -1, 159, 160, 161, 162, 163, 164, - 165, 166, 167, 168, 169, -1, 171, 172, 173, 18, - 19, 20, 21, 22, 23, 24, -1, -1, -1, -1, - -1, -1, -1, -1, -1, 34, 18, 19, 20, 21, - 22, 23, 24, -1, -1, -1, -1, 159, 160, 161, - 162, -1, 34, 165, 166, 167, 168, 169, -1, 171, - 172, 173, -1, -1, -1, -1, 160, 161, 162, -1, - 6, 165, 166, 167, 168, 169, -1, 171, 172, 173, - 18, 19, 20, 21, 22, 23, 24, -1, -1, -1, - -1, -1, -1, -1, -1, -1, 34, 18, 19, 20, - 21, 22, 23, 24, -1, -1, -1, -1, -1, -1, - -1, -1, -1, 34, -1, -1, -1, -1, 54, -1, - 55, -1, 57, 58, 59, 60, 62, 63, 64, 65, - -1, -1, -1, -1, -1, -1, -1, -1, -1, 75, + 172, 173, 18, 19, 20, 21, 22, 23, 24, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 34, 18, + 19, 20, 21, 22, 23, 24, -1, -1, 157, -1, + 159, 160, 161, 162, -1, 34, 165, 166, 167, 168, + 169, -1, 171, 172, 173, -1, -1, -1, -1, 159, + 160, 161, 162, -1, -1, 165, 166, 167, 168, 169, + -1, 171, 172, 173, 18, 19, 20, 21, 22, 23, + 24, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 34, 18, 19, 20, 21, 22, 23, 24, -1, -1, + -1, -1, -1, -1, -1, -1, -1, 34, 18, 19, + 20, 21, 22, 23, 24, -1, -1, -1, 55, -1, + 57, 58, 59, 60, 34, 18, 19, 20, 21, 22, + 23, 24, -1, -1, 18, 19, 20, 21, 22, 23, + 24, 34, -1, -1, -1, -1, -1, -1, -1, -1, + 34, -1, 89, -1, -1, 161, 162, 163, 164, 165, + 166, 167, 168, 169, -1, 171, 172, 173, -1, 106, + -1, -1, -1, 162, 163, 164, 165, 166, 167, 168, + 169, -1, 171, 172, 173, 20, 21, 22, 23, 24, + 127, 128, -1, -1, -1, -1, -1, -1, -1, 34, + -1, -1, -1, -1, -1, -1, -1, 144, -1, -1, + -1, -1, 149, -1, -1, -1, 160, 161, 162, -1, + -1, 165, 166, 167, 168, 169, -1, 171, 172, 173, + -1, -1, -1, -1, -1, 172, 163, 164, 165, 166, + 167, 168, 169, -1, 171, 172, 173, -1, -1, -1, + -1, 161, 162, -1, -1, 165, 166, 167, 168, 169, + 17, 171, 172, 173, -1, -1, -1, -1, -1, 162, + 6, -1, 165, 166, 167, 168, 169, -1, 171, 172, + 173, 165, 166, 167, 168, 169, -1, 171, 172, 173, + -1, 48, -1, 50, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, 62, -1, 64, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 54, -1, + -1, 10, 11, 12, 81, -1, 62, 63, 64, 65, + 165, 166, 167, 168, 169, -1, 171, 172, 173, 75, 76, 77, 78, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 88, -1, 89, -1, -1, -1, -1, -1, - -1, 160, 161, 162, 163, 164, 165, 166, 167, 168, - 169, 106, 171, 172, 173, -1, -1, 113, -1, 161, - 162, 163, 164, 165, 166, 167, 168, 169, 124, 171, - 172, 173, 127, 128, 130, -1, -1, -1, 134, 135, - -1, 6, -1, -1, -1, -1, -1, -1, -1, 144, - 146, -1, 148, -1, 149, -1, 10, 11, 12, -1, - -1, -1, -1, 161, 162, -1, -1, 165, 166, 167, - 168, 169, -1, 171, 172, 173, -1, 172, -1, -1, - -1, 162, -1, -1, 165, 166, 167, 168, 169, 54, - 171, 172, 173, -1, -1, -1, -1, 62, 63, 64, - 65, 55, -1, 57, 58, 59, 60, 61, 62, -1, - 75, 76, 77, 78, -1, -1, 70, -1, -1, 10, - 11, 12, -1, 88, -1, -1, -1, -1, 82, -1, - -1, -1, -1, -1, -1, 89, -1, -1, 55, -1, - 57, 58, 59, 60, -1, -1, -1, -1, 113, -1, - -1, -1, 106, 11, 12, -1, -1, -1, -1, 124, - -1, -1, -1, -1, 55, 130, 57, 58, 59, 60, - 135, -1, 89, 127, 128, -1, -1, -1, -1, 70, - -1, 146, -1, 148, -1, -1, -1, 141, -1, 106, - 144, 82, -1, 147, 52, 149, -1, 55, 89, 57, - 58, 59, 60, 61, 62, -1, -1, -1, -1, 67, - 127, 128, 70, -1, -1, 106, 74, -1, -1, -1, - -1, -1, -1, -1, 82, -1, -1, 144, -1, -1, - -1, 89, 149, -1, -1, -1, 127, 128, -1, -1, - -1, -1, -1, -1, -1, -1, 11, 12, 106, -1, - -1, -1, -1, 144, -1, 172, 147, -1, 149, -1, - -1, -1, -1, -1, -1, -1, 124, -1, -1, 127, - 128, -1, 11, 12, -1, 133, -1, -1, -1, -1, - -1, -1, -1, 141, 142, 143, 144, 52, -1, 147, - 55, 149, 57, 58, 59, 60, 61, 62, -1, -1, - -1, -1, 67, -1, -1, 70, -1, -1, -1, 74, - -1, -1, -1, 52, -1, -1, 55, 82, 57, 58, - 59, 60, 61, -1, 89, -1, -1, -1, 67, -1, - -1, 70, -1, -1, -1, 74, -1, -1, -1, -1, - -1, 106, -1, 82, -1, -1, -1, -1, -1, -1, - 89, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 127, 128, -1, 11, 12, 106, 133, -1, - -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, - -1, -1, 147, -1, 149, 124, -1, -1, 127, 128, - -1, 11, -1, -1, 133, -1, -1, -1, -1, -1, - -1, -1, 141, 142, 143, 144, 52, -1, 147, 55, - 149, 57, 58, 59, 60, 61, -1, -1, -1, -1, - -1, 67, -1, -1, 70, -1, -1, -1, 74, -1, - -1, -1, 52, -1, -1, 55, 82, 57, 58, 59, - 60, 61, 62, 89, -1, -1, -1, 67, -1, -1, - 70, -1, -1, -1, 74, -1, -1, -1, -1, -1, - 106, -1, 82, -1, -1, -1, -1, -1, -1, 89, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, 127, 128, -1, 11, -1, 106, 133, -1, -1, - -1, -1, -1, -1, -1, 141, 142, 143, 144, -1, - -1, 147, -1, 149, -1, -1, -1, 127, 128, -1, - 11, -1, -1, 133, -1, -1, -1, -1, -1, -1, - -1, 141, 142, 143, 144, 52, -1, 147, 55, 149, + -1, -1, 88, -1, -1, -1, 113, -1, -1, 116, + 117, -1, -1, 120, -1, -1, 55, -1, 57, 58, + 59, 60, 61, 62, 10, 11, 12, 113, -1, 136, + -1, 70, -1, -1, -1, -1, -1, -1, 124, -1, + -1, 148, -1, 82, 130, -1, -1, -1, -1, 135, + 89, -1, -1, -1, -1, 162, -1, -1, -1, -1, + 146, -1, 148, -1, -1, 11, 12, 106, -1, 55, + -1, 57, 58, 59, 60, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 70, -1, -1, -1, 127, 128, + -1, -1, -1, -1, -1, 55, 82, 57, 58, 59, + 60, -1, 141, 89, -1, 144, 52, -1, 147, 55, + 149, 57, 58, 59, 60, 61, 62, -1, -1, -1, + 106, 67, -1, -1, 70, -1, -1, -1, 74, 89, + -1, -1, -1, -1, -1, -1, 82, -1, -1, -1, + -1, 127, 128, 89, -1, -1, 106, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 144, -1, + 106, 147, -1, 149, 11, 12, -1, 127, 128, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 124, -1, + -1, 127, 128, -1, 144, -1, -1, 133, -1, 149, + 11, 12, -1, -1, -1, 141, 142, 143, 144, -1, + -1, 147, -1, 149, -1, 52, -1, -1, 55, -1, 57, 58, 59, 60, 61, 62, -1, -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, 74, -1, -1, -1, 52, -1, -1, 55, 82, 57, 58, 59, 60, 61, -1, 89, -1, -1, -1, 67, -1, -1, 70, -1, -1, -1, 74, -1, -1, -1, -1, -1, 106, -1, 82, -1, -1, -1, -1, -1, -1, 89, -1, - -1, -1, -1, -1, -1, -1, 10, 11, 12, -1, - 127, 128, -1, 11, -1, 106, 133, -1, -1, -1, - -1, 10, 11, 12, 141, 142, 143, 144, -1, -1, - 147, -1, 149, -1, -1, -1, 127, 128, -1, -1, - -1, -1, 133, 10, 11, 12, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + 127, 128, -1, 11, 12, 106, 133, -1, -1, -1, + -1, -1, -1, -1, 141, 142, 143, 144, -1, -1, + 147, -1, 149, 124, -1, -1, 127, 128, -1, 11, + -1, -1, 133, -1, -1, -1, -1, -1, -1, -1, 141, 142, 143, 144, 52, -1, 147, 55, 149, 57, - 58, 59, 60, 61, 68, -1, -1, -1, -1, 67, - -1, -1, 70, -1, -1, -1, 74, 81, 82, 68, - -1, -1, -1, -1, 82, -1, -1, -1, -1, -1, - -1, 89, 81, 82, -1, -1, -1, 10, 11, 12, - -1, 68, 15, -1, -1, -1, -1, -1, 106, -1, - -1, -1, -1, -1, 81, 82, 120, 121, -1, 123, - -1, -1, -1, -1, 128, -1, 130, -1, -1, 127, - 128, 120, 121, -1, 123, 133, -1, 141, -1, 128, - -1, 130, 146, 141, 142, 143, 144, -1, -1, 147, - -1, 149, 141, 120, 121, 68, 123, 146, -1, -1, - -1, 128, 55, 130, 57, 58, 59, 60, 81, 82, - -1, 54, -1, -1, 141, -1, -1, -1, -1, 62, - 63, 64, 65, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 75, 76, 77, 78, 89, -1, -1, -1, - 83, -1, -1, -1, -1, 88, -1, 120, 121, -1, - 123, -1, -1, 106, -1, 128, -1, 130, -1, -1, + 58, 59, 60, 61, -1, -1, -1, -1, -1, 67, + -1, -1, 70, -1, -1, -1, 74, -1, -1, -1, + 52, -1, -1, 55, 82, 57, 58, 59, 60, 61, + 62, 89, -1, -1, -1, 67, -1, -1, 70, -1, + -1, -1, 74, -1, -1, -1, -1, -1, 106, -1, + 82, -1, -1, -1, -1, -1, -1, 89, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 127, + 128, -1, 11, -1, 106, 133, -1, -1, -1, -1, + -1, -1, -1, 141, 142, 143, 144, -1, -1, 147, + -1, 149, -1, -1, -1, 127, 128, -1, 11, -1, + -1, 133, -1, -1, -1, -1, -1, -1, -1, 141, + 142, 143, 144, 52, -1, 147, 55, 149, 57, 58, + 59, 60, 61, 62, -1, -1, -1, -1, 67, -1, + -1, 70, -1, -1, -1, 74, -1, -1, -1, 52, + -1, -1, 55, 82, 57, 58, 59, 60, 61, -1, + 89, -1, -1, -1, 67, -1, -1, 70, -1, -1, + -1, 74, -1, -1, -1, -1, -1, 106, -1, 82, + -1, -1, -1, -1, -1, -1, 89, -1, -1, -1, + -1, -1, -1, -1, 10, 11, 12, -1, 127, 128, + -1, 11, -1, 106, 133, -1, -1, -1, -1, 10, + 11, 12, 141, 142, 143, 144, -1, -1, 147, -1, + 149, -1, -1, -1, 127, 128, -1, -1, -1, -1, + 133, 10, 11, 12, -1, -1, -1, -1, 141, 142, + 143, 144, 52, -1, 147, 55, 149, 57, 58, 59, + 60, 61, 68, -1, -1, -1, -1, 67, -1, -1, + 70, -1, -1, -1, 74, 81, 82, 68, -1, -1, + -1, -1, 82, -1, -1, -1, -1, 54, -1, 89, + 81, 82, -1, -1, -1, 62, 63, 64, 65, 68, + -1, -1, -1, -1, -1, 74, 106, -1, 75, 76, + 77, 78, 81, 82, 120, 121, 83, 123, -1, -1, + -1, 88, 128, -1, 130, -1, -1, 127, 128, 120, + 121, -1, 123, 133, -1, 141, -1, 128, -1, 130, + 146, 141, 142, 143, 144, 114, 113, 147, -1, 149, + 141, 120, 121, -1, 123, 146, -1, 124, -1, 128, + -1, 130, -1, 130, 53, 54, -1, -1, 135, -1, + -1, -1, -1, 62, 63, 64, 65, -1, 145, 146, + -1, 148, -1, -1, 73, -1, 75, 76, 77, 78, + 79, -1, -1, -1, 83, -1, 163, -1, -1, 88, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - 113, -1, -1, -1, 127, 128, -1, -1, -1, -1, - -1, 124, -1, -1, -1, -1, -1, 130, 53, 54, - -1, 144, 135, -1, -1, -1, 149, 62, 63, 64, - 65, -1, 145, 146, -1, 148, -1, -1, 73, -1, - 75, 76, 77, 78, 79, -1, -1, -1, 83, 172, - 163, -1, -1, 88, -1, -1, -1, -1, -1, -1, - -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, - -1, -1, 107, 108, 109, 110, 111, 112, 113, 114, - -1, -1, -1, -1, -1, -1, 121, 122, 123, 124, - -1, -1, -1, -1, -1, 130, 131, 54, -1, 134, - 135, -1, -1, -1, 139, 62, 63, 64, 65, -1, - 145, 146, -1, 148, -1, -1, -1, -1, 75, 76, - 77, 78, -1, -1, 54, -1, 83, -1, 54, -1, - -1, 88, 62, 63, 64, 65, 62, 63, 64, 65, - -1, -1, -1, -1, -1, 75, 76, 77, 78, 75, - 76, 77, 78, -1, -1, -1, 113, -1, 88, -1, - -1, -1, 88, -1, -1, -1, -1, 124, -1, -1, - -1, -1, -1, 130, -1, -1, -1, 134, 135, -1, - -1, -1, -1, 113, 114, -1, -1, 113, 145, 146, - -1, 148, -1, -1, 124, -1, -1, -1, 124, -1, - 130, -1, -1, -1, 130, 135, -1, -1, -1, 135, - -1, -1, -1, -1, -1, -1, 146, -1, 148, -1, - 146, -1, 148 + -1, -1, -1, -1, -1, -1, -1, -1, 107, 108, + 109, 110, 111, 112, 113, 114, -1, -1, -1, -1, + -1, -1, 121, 122, 123, 124, -1, -1, -1, -1, + -1, 130, 131, 54, -1, 134, 135, -1, -1, -1, + 139, 62, 63, 64, 65, -1, 145, 146, -1, 148, + -1, -1, -1, -1, 75, 76, 77, 78, -1, -1, + 54, -1, 83, -1, 54, -1, -1, 88, 62, 63, + 64, 65, 62, 63, 64, 65, -1, -1, -1, -1, + -1, 75, 76, 77, 78, 75, 76, 77, 78, -1, + -1, -1, 113, -1, 88, -1, -1, 55, 88, 57, + 58, 59, 60, 124, -1, -1, -1, -1, -1, 130, + -1, -1, 70, 134, 135, -1, -1, -1, -1, 113, + 114, -1, -1, 113, 145, 146, -1, 148, -1, -1, + 124, 89, -1, -1, 124, -1, 130, -1, -1, -1, + 130, 135, -1, -1, -1, 135, -1, -1, 106, -1, + -1, -1, 146, -1, 148, -1, 146, -1, 148, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, 127, + 128, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, 144, -1, -1, -1, + -1, 149 }; /* YYSTOS[STATE-NUM] -- The symbol kind of the accessing symbol of state STATE-NUM. */ static const yytype_int16 yystos[] = { - 0, 151, 152, 153, 179, 180, 289, 3, 4, 5, + 0, 151, 152, 153, 179, 180, 290, 3, 4, 5, 6, 8, 9, 10, 11, 51, 55, 57, 58, 59, 60, 66, 70, 71, 80, 81, 82, 86, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 115, 117, 118, 120, 125, 127, 128, 129, 132, 137, 140, 144, 149, 162, - 165, 166, 167, 170, 172, 173, 176, 279, 280, 288, + 165, 166, 167, 170, 172, 173, 176, 280, 281, 289, 11, 12, 52, 55, 57, 58, 59, 60, 61, 62, 67, 70, 74, 82, 89, 106, 127, 128, 133, 141, 142, 143, 144, 147, 149, 242, 243, 247, 248, 250, - 256, 257, 261, 262, 267, 268, 269, 270, 0, 48, - 50, 190, 289, 154, 172, 172, 172, 172, 172, 172, + 256, 258, 262, 263, 268, 269, 270, 271, 0, 48, + 50, 190, 290, 154, 172, 172, 172, 172, 172, 172, 172, 163, 172, 163, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 172, 11, 52, 67, 141, 142, 245, - 261, 262, 267, 279, 163, 172, 172, 15, 172, 279, - 163, 172, 172, 172, 279, 279, 279, 279, 279, 11, + 262, 263, 268, 280, 163, 172, 172, 15, 172, 280, + 163, 172, 172, 172, 280, 280, 280, 280, 280, 11, 55, 57, 58, 59, 60, 70, 82, 89, 106, 127, - 128, 144, 149, 247, 277, 279, 10, 11, 12, 68, + 128, 144, 149, 247, 278, 280, 10, 11, 12, 68, 81, 82, 120, 121, 123, 128, 130, 158, 162, 167, - 283, 284, 286, 289, 279, 16, 17, 18, 19, 20, + 284, 285, 287, 290, 280, 16, 17, 18, 19, 20, 21, 22, 23, 24, 34, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 171, 172, 173, 6, - 8, 242, 243, 172, 61, 133, 70, 106, 268, 268, - 268, 286, 172, 268, 13, 15, 17, 62, 148, 162, - 167, 172, 240, 241, 289, 241, 154, 190, 190, 145, - 191, 192, 286, 172, 156, 181, 276, 277, 289, 276, - 247, 276, 276, 276, 276, 276, 247, 276, 247, 276, - 247, 276, 247, 247, 247, 247, 247, 247, 247, 247, - 247, 247, 247, 247, 247, 247, 247, 247, 276, 172, - 286, 172, 172, 190, 190, 174, 247, 276, 276, 172, - 247, 247, 247, 279, 276, 276, 174, 155, 174, 286, - 286, 155, 177, 158, 230, 289, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 286, 174, 277, - 279, 241, 241, 52, 279, 247, 167, 286, 190, 240, + 8, 242, 243, 172, 61, 133, 70, 106, 269, 269, + 269, 287, 172, 269, 13, 15, 17, 62, 148, 162, + 167, 172, 240, 241, 290, 241, 257, 190, 190, 145, + 191, 192, 287, 172, 156, 181, 277, 278, 290, 277, + 247, 277, 277, 277, 277, 277, 247, 277, 247, 277, + 247, 277, 247, 247, 247, 247, 247, 247, 247, 247, + 247, 247, 247, 247, 247, 247, 247, 247, 277, 172, + 287, 172, 172, 190, 190, 174, 247, 277, 277, 172, + 247, 247, 247, 280, 277, 277, 174, 155, 174, 287, + 287, 155, 177, 158, 230, 290, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 287, 174, 278, + 280, 241, 241, 52, 280, 247, 167, 287, 190, 240, 241, 240, 241, 190, 190, 15, 17, 162, 167, 190, - 225, 226, 235, 289, 173, 259, 260, 289, 10, 11, - 12, 120, 157, 287, 10, 11, 12, 120, 154, 286, - 287, 286, 49, 155, 172, 11, 52, 67, 141, 142, - 244, 248, 250, 256, 261, 262, 267, 279, 53, 54, - 62, 63, 64, 65, 73, 75, 76, 77, 78, 79, - 83, 88, 107, 108, 109, 110, 111, 112, 113, 114, - 121, 122, 123, 124, 130, 131, 134, 135, 139, 145, - 146, 148, 184, 186, 187, 189, 193, 213, 263, 266, - 289, 175, 174, 174, 174, 174, 174, 174, 174, 164, - 174, 164, 174, 174, 174, 174, 155, 174, 155, 174, - 155, 174, 174, 174, 174, 174, 174, 174, 174, 174, - 174, 174, 174, 279, 247, 276, 286, 286, 164, 174, - 174, 286, 174, 164, 174, 174, 174, 174, 279, 279, - 15, 162, 284, 172, 210, 289, 279, 157, 174, 177, - 174, 174, 174, 190, 190, 13, 15, 17, 62, 148, - 162, 167, 240, 289, 240, 240, 190, 190, 190, 62, - 124, 242, 243, 174, 15, 155, 275, 279, 289, 286, - 175, 11, 258, 268, 157, 249, 251, 157, 190, 191, - 3, 4, 5, 9, 10, 15, 51, 66, 71, 80, - 81, 115, 118, 120, 125, 129, 132, 137, 140, 162, - 165, 166, 170, 172, 176, 227, 228, 235, 236, 281, - 282, 288, 289, 172, 286, 172, 174, 190, 190, 174, - 76, 88, 189, 189, 189, 189, 189, 189, 6, 189, - 213, 189, 279, 157, 188, 114, 189, 172, 172, 172, - 172, 172, 172, 189, 154, 190, 157, 157, 157, 189, - 189, 172, 187, 189, 193, 214, 189, 189, 197, 74, - 114, 286, 189, 189, 10, 11, 119, 154, 170, 200, - 204, 244, 246, 172, 172, 247, 247, 247, 174, 174, - 174, 172, 174, 172, 230, 225, 17, 62, 64, 81, - 113, 116, 117, 120, 136, 148, 162, 190, 279, 240, - 167, 286, 190, 240, 240, 190, 190, 173, 240, 240, - 240, 124, 242, 243, 235, 13, 17, 62, 148, 162, - 167, 172, 238, 287, 289, 13, 15, 17, 62, 148, - 162, 167, 172, 239, 210, 15, 235, 177, 190, 258, - 180, 81, 252, 289, 191, 172, 163, 163, 245, 163, - 15, 172, 281, 163, 172, 279, 279, 279, 279, 247, - 277, 279, 174, 15, 155, 16, 17, 18, 19, 20, + 225, 226, 235, 290, 173, 154, 10, 11, 12, 120, + 157, 288, 10, 11, 12, 120, 154, 287, 288, 287, + 49, 155, 172, 11, 52, 67, 141, 142, 244, 248, + 250, 256, 262, 263, 268, 280, 53, 54, 62, 63, + 64, 65, 73, 75, 76, 77, 78, 79, 83, 88, + 107, 108, 109, 110, 111, 112, 113, 114, 121, 122, + 123, 124, 130, 131, 134, 135, 139, 145, 146, 148, + 184, 186, 187, 189, 193, 213, 264, 267, 290, 175, + 174, 174, 174, 174, 174, 174, 174, 164, 174, 164, + 174, 174, 174, 174, 155, 174, 155, 174, 155, 174, + 174, 174, 174, 174, 174, 174, 174, 174, 174, 174, + 174, 280, 247, 277, 287, 287, 164, 174, 174, 287, + 174, 164, 174, 174, 174, 174, 280, 280, 15, 162, + 285, 172, 210, 290, 280, 157, 174, 177, 174, 174, + 174, 190, 190, 13, 15, 17, 62, 148, 162, 167, + 240, 290, 240, 240, 190, 190, 190, 62, 124, 242, + 243, 174, 15, 155, 276, 280, 290, 260, 261, 290, + 11, 259, 269, 157, 249, 251, 157, 190, 191, 3, + 4, 5, 9, 10, 15, 51, 66, 71, 80, 81, + 115, 118, 120, 125, 129, 132, 137, 140, 162, 165, + 166, 170, 172, 176, 227, 228, 235, 236, 282, 283, + 289, 290, 172, 287, 172, 174, 190, 190, 174, 76, + 88, 189, 189, 189, 189, 189, 189, 6, 189, 213, + 189, 280, 157, 188, 114, 189, 172, 172, 172, 172, + 172, 172, 189, 154, 190, 157, 157, 157, 189, 189, + 172, 187, 189, 193, 214, 189, 189, 197, 74, 114, + 287, 189, 189, 10, 11, 119, 154, 170, 200, 204, + 244, 246, 172, 172, 247, 247, 247, 174, 174, 174, + 172, 174, 172, 230, 225, 17, 62, 64, 81, 113, + 116, 117, 120, 136, 148, 162, 190, 280, 240, 167, + 287, 190, 240, 240, 190, 190, 173, 240, 240, 240, + 124, 242, 243, 235, 13, 17, 62, 148, 162, 167, + 172, 238, 288, 290, 13, 15, 17, 62, 148, 162, + 167, 172, 239, 210, 15, 235, 177, 287, 175, 259, + 180, 81, 252, 290, 191, 172, 163, 163, 245, 163, + 15, 172, 282, 163, 172, 280, 280, 280, 280, 247, + 278, 280, 174, 15, 155, 16, 17, 18, 19, 20, 21, 22, 23, 24, 34, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 171, 172, 173, 52, - 279, 247, 190, 286, 287, 286, 190, 189, 174, 186, - 154, 286, 286, 286, 286, 286, 286, 286, 180, 286, - 279, 163, 10, 11, 204, 244, 246, 286, 286, 156, - 190, 172, 172, 62, 242, 185, 286, 195, 154, 156, - 158, 232, 156, 194, 277, 277, 174, 174, 174, 277, - 277, 174, 279, 172, 34, 223, 289, 190, 190, 240, - 240, 240, 275, 174, 174, 174, 242, 243, 238, 239, + 280, 247, 190, 287, 288, 287, 190, 189, 174, 186, + 154, 287, 287, 287, 287, 287, 287, 287, 180, 287, + 280, 163, 10, 11, 204, 244, 246, 287, 287, 156, + 190, 172, 172, 62, 242, 185, 287, 195, 154, 156, + 158, 232, 156, 194, 278, 278, 174, 174, 174, 278, + 278, 174, 280, 172, 34, 223, 290, 190, 190, 240, + 240, 240, 276, 174, 174, 174, 242, 243, 238, 239, 167, 190, 238, 238, 190, 190, 238, 173, 230, 190, - 167, 286, 190, 239, 239, 190, 190, 239, 173, 230, - 190, 190, 155, 158, 175, 157, 253, 254, 289, 49, - 247, 247, 247, 172, 247, 172, 247, 247, 247, 279, - 174, 174, 15, 236, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 286, 174, 277, 279, 174, - 174, 174, 157, 189, 180, 154, 155, 155, 155, 155, - 155, 155, 175, 154, 155, 174, 10, 11, 12, 61, - 62, 141, 215, 216, 217, 218, 219, 267, 289, 172, - 232, 198, 156, 156, 158, 201, 10, 13, 167, 203, - 242, 13, 17, 62, 148, 162, 167, 237, 287, 289, - 180, 172, 154, 156, 157, 158, 231, 271, 272, 68, - 69, 154, 279, 13, 17, 62, 119, 148, 162, 167, - 172, 196, 220, 222, 287, 174, 174, 174, 174, 210, - 174, 174, 286, 62, 245, 154, 240, 177, 172, 172, - 172, 238, 239, 230, 230, 190, 238, 238, 238, 174, - 275, 190, 190, 239, 239, 239, 174, 275, 223, 279, - 121, 122, 123, 141, 146, 255, 285, 286, 154, 155, - 190, 174, 164, 164, 276, 164, 286, 174, 164, 174, - 174, 279, 157, 174, 177, 258, 175, 265, 10, 10, - 10, 10, 10, 10, 264, 288, 156, 219, 164, 155, - 15, 286, 13, 17, 62, 148, 162, 167, 172, 238, + 167, 287, 190, 239, 239, 190, 190, 239, 173, 230, + 190, 190, 190, 175, 157, 253, 254, 290, 49, 247, + 247, 247, 172, 247, 172, 247, 247, 247, 280, 174, + 174, 15, 236, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 287, 174, 278, 280, 174, 174, + 174, 157, 189, 180, 154, 155, 155, 155, 155, 155, + 155, 175, 154, 155, 174, 10, 11, 12, 61, 62, + 141, 215, 216, 217, 218, 219, 268, 290, 172, 232, + 198, 156, 156, 158, 201, 10, 13, 167, 203, 242, + 13, 17, 62, 148, 162, 167, 237, 288, 290, 180, + 172, 154, 156, 157, 158, 231, 272, 273, 68, 69, + 154, 280, 13, 17, 62, 119, 148, 162, 167, 172, + 196, 220, 222, 288, 174, 174, 174, 174, 210, 174, + 174, 287, 62, 245, 154, 240, 177, 172, 172, 172, + 238, 239, 230, 230, 190, 238, 238, 238, 174, 276, + 190, 190, 239, 239, 239, 174, 276, 223, 155, 158, + 121, 122, 123, 141, 146, 255, 286, 287, 154, 155, + 190, 174, 164, 164, 277, 164, 287, 174, 164, 174, + 174, 280, 157, 174, 177, 259, 175, 266, 10, 10, + 10, 10, 10, 10, 265, 289, 156, 219, 164, 155, + 15, 287, 13, 17, 62, 148, 162, 167, 172, 238, 239, 199, 222, 247, 225, 174, 167, 220, 225, 237, 167, 190, 237, 237, 190, 190, 172, 173, 190, 175, - 205, 271, 182, 183, 286, 68, 69, 175, 273, 289, - 156, 156, 154, 233, 234, 279, 289, 156, 167, 190, + 205, 272, 182, 183, 287, 68, 69, 175, 274, 290, + 156, 156, 154, 233, 234, 280, 290, 156, 167, 190, 220, 6, 16, 17, 18, 19, 20, 21, 22, 23, 24, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 69, 115, 155, 158, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 172, 173, 176, 211, 220, 190, 190, 220, 157, 172, 173, 223, 158, 230, 232, 190, 190, 15, 174, 245, 241, - 271, 190, 225, 225, 225, 230, 230, 238, 172, 177, - 239, 172, 177, 155, 146, 285, 146, 285, 146, 285, - 286, 121, 122, 123, 15, 180, 255, 172, 172, 174, - 172, 174, 172, 279, 180, 155, 155, 174, 155, 224, - 289, 155, 155, 155, 180, 174, 238, 239, 187, 193, - 212, 213, 218, 286, 158, 167, 190, 190, 190, 158, - 229, 289, 230, 232, 156, 174, 172, 220, 174, 174, - 172, 190, 237, 237, 237, 208, 275, 225, 175, 154, + 272, 190, 225, 225, 225, 230, 230, 238, 172, 177, + 239, 172, 177, 280, 146, 286, 146, 286, 146, 286, + 287, 121, 122, 123, 15, 180, 255, 172, 172, 174, + 172, 174, 172, 280, 180, 155, 155, 174, 155, 224, + 290, 155, 155, 155, 180, 174, 238, 239, 187, 193, + 212, 213, 218, 287, 158, 167, 190, 190, 190, 158, + 229, 290, 230, 232, 156, 174, 172, 220, 174, 174, + 172, 190, 237, 237, 237, 208, 276, 225, 175, 154, 155, 154, 172, 156, 156, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 34, 35, @@ -3126,35 +3129,36 @@ static const yytype_int16 yystos[] = 143, 144, 145, 146, 147, 148, 149, 150, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 176, - 177, 274, 233, 175, 155, 190, 220, 10, 174, 177, - 190, 220, 220, 174, 279, 221, 275, 279, 155, 223, + 177, 275, 233, 175, 155, 190, 220, 10, 174, 177, + 190, 220, 220, 174, 280, 221, 276, 280, 155, 223, 174, 241, 175, 174, 174, 174, 225, 190, 225, 190, - 285, 285, 285, 285, 285, 285, 175, 277, 277, 277, - 277, 175, 10, 10, 156, 10, 174, 10, 10, 10, - 175, 156, 229, 247, 190, 51, 66, 71, 125, 129, - 132, 162, 165, 166, 167, 170, 172, 176, 278, 280, - 155, 210, 202, 174, 172, 210, 209, 237, 225, 177, - 174, 271, 183, 276, 276, 273, 175, 154, 279, 220, - 190, 227, 177, 196, 154, 210, 210, 210, 174, 174, - 174, 174, 174, 174, 174, 155, 174, 155, 156, 155, - 174, 174, 155, 174, 172, 163, 163, 163, 15, 172, - 278, 163, 278, 278, 278, 278, 278, 247, 277, 278, - 16, 17, 18, 19, 20, 21, 22, 23, 24, 34, - 159, 160, 161, 162, 165, 166, 167, 168, 169, 171, - 172, 173, 199, 190, 225, 172, 206, 190, 225, 174, - 190, 210, 175, 175, 174, 175, 233, 174, 190, 271, - 190, 190, 190, 210, 210, 156, 10, 156, 10, 10, - 156, 156, 10, 156, 247, 247, 247, 247, 172, 247, - 247, 174, 174, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 286, 174, 277, 279, 174, 207, 225, 174, - 210, 190, 15, 175, 210, 175, 223, 223, 223, 190, - 190, 155, 224, 174, 155, 155, 174, 174, 164, 164, - 164, 286, 174, 164, 278, 157, 174, 177, 210, 225, - 174, 210, 190, 10, 174, 156, 10, 10, 156, 172, - 172, 172, 174, 172, 278, 190, 174, 210, 156, 174, - 155, 174, 277, 277, 277, 277, 210, 190, 156, 10, - 156, 174, 174, 174, 174, 190, 223, 174, 223, 156 + 155, 286, 286, 286, 286, 286, 286, 175, 278, 278, + 278, 278, 175, 10, 10, 156, 10, 174, 10, 10, + 10, 175, 156, 229, 247, 190, 51, 66, 71, 125, + 129, 132, 162, 165, 166, 167, 170, 172, 176, 279, + 281, 155, 210, 202, 174, 172, 210, 209, 237, 225, + 177, 174, 272, 183, 277, 277, 274, 175, 154, 280, + 220, 190, 227, 177, 196, 154, 210, 210, 210, 174, + 174, 174, 174, 174, 174, 174, 155, 174, 155, 156, + 155, 174, 174, 155, 174, 172, 163, 163, 163, 15, + 172, 279, 163, 279, 279, 279, 279, 279, 247, 278, + 279, 16, 17, 18, 19, 20, 21, 22, 23, 24, + 34, 159, 160, 161, 162, 165, 166, 167, 168, 169, + 171, 172, 173, 199, 190, 225, 172, 206, 190, 225, + 174, 190, 210, 175, 175, 174, 175, 233, 174, 190, + 272, 190, 190, 190, 210, 210, 156, 10, 156, 10, + 10, 156, 156, 10, 156, 247, 247, 247, 247, 172, + 247, 247, 174, 174, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 279, 279, 279, 287, 174, 278, 280, 174, 207, 225, + 174, 210, 190, 15, 175, 210, 175, 223, 223, 223, + 190, 190, 155, 224, 174, 155, 155, 174, 174, 164, + 164, 164, 287, 174, 164, 279, 157, 174, 177, 210, + 225, 174, 210, 190, 10, 174, 156, 10, 10, 156, + 172, 172, 172, 174, 172, 279, 190, 174, 210, 156, + 174, 155, 174, 278, 278, 278, 278, 210, 190, 156, + 10, 156, 174, 174, 174, 174, 190, 223, 174, 223, + 156 }; /* YYR1[RULE-NUM] -- Symbol kind of the left-hand side of rule RULE-NUM. */ @@ -3196,49 +3200,49 @@ static const yytype_int16 yyr1[] = 245, 245, 245, 245, 245, 245, 245, 245, 246, 246, 247, 247, 247, 247, 249, 248, 251, 250, 252, 252, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255, - 255, 255, 255, 255, 256, 257, 257, 257, 257, 258, - 258, 259, 259, 259, 260, 260, 260, 261, 261, 261, - 262, 262, 262, 264, 263, 265, 263, 263, 263, 266, - 266, 266, 266, 267, 267, 267, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 268, 269, 269, 269, 270, 272, 271, 273, 273, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 274, 274, 274, 274, 274, - 274, 274, 274, 274, 274, 275, 275, 276, 276, 277, - 277, 278, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 278, 278, 278, 278, 278, 278, 278, 278, 278, - 278, 279, 279, 279, 279, 279, 279, 279, 279, 279, + 255, 255, 255, 255, 257, 256, 258, 258, 258, 258, + 259, 259, 260, 260, 260, 261, 261, 261, 262, 262, + 262, 263, 263, 263, 265, 264, 266, 264, 264, 264, + 267, 267, 267, 267, 268, 268, 268, 269, 269, 269, + 269, 269, 269, 269, 269, 269, 269, 269, 269, 269, + 269, 269, 270, 270, 270, 271, 273, 272, 274, 274, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 275, 275, 275, 275, + 275, 275, 275, 275, 275, 275, 276, 276, 277, 277, + 278, 278, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 279, 279, 279, 279, 279, 279, 279, - 279, 279, 279, 280, 280, 280, 280, 280, 280, 280, + 279, 279, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, + 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 280, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, - 281, 281, 281, 281, 281, 281, 281, 281, 281, 281, - 281, 281, 281, 281, 281, 281, 281, 281, 281, 282, + 281, 281, 281, 281, 281, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, - 283, 283, 283, 283, 283, 284, 284, 284, 284, 285, - 285, 285, 286, 286, 286, 286, 286, 286, 286, 286, - 286, 286, 286, 287, 287, 287, 287, 288, 288, 288, - 288, 289 + 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, + 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, + 282, 282, 282, 282, 282, 282, 282, 282, 282, 282, + 283, 283, 283, 283, 283, 283, 283, 283, 283, 283, + 283, 284, 284, 284, 284, 284, 285, 285, 285, 285, + 286, 286, 286, 287, 287, 287, 287, 287, 287, 287, + 287, 287, 287, 287, 288, 288, 288, 288, 289, 289, + 289, 289, 290 }; /* YYR2[RULE-NUM] -- Number of symbols on the right-hand side of rule RULE-NUM. */ @@ -3280,12 +3284,12 @@ static const yytype_int8 yyr2[] = 1, 1, 2, 3, 3, 4, 4, 1, 1, 1, 2, 3, 2, 3, 0, 6, 0, 9, 1, 1, 1, 1, 2, 3, 1, 2, 2, 2, 3, 3, - 3, 3, 3, 3, 4, 4, 2, 5, 3, 1, - 1, 1, 4, 6, 1, 3, 5, 1, 2, 2, - 1, 1, 1, 0, 7, 0, 7, 4, 5, 3, - 6, 4, 4, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, - 2, 1, 1, 2, 1, 0, 2, 1, 2, 1, + 3, 3, 3, 3, 0, 5, 4, 2, 5, 3, + 1, 1, 1, 4, 6, 1, 3, 5, 1, 2, + 2, 1, 1, 1, 0, 7, 0, 7, 4, 5, + 3, 6, 4, 4, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, + 2, 2, 1, 1, 2, 1, 0, 2, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -3299,30 +3303,30 @@ static const yytype_int8 yyr2[] = 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 3, 1, 1, 1, 1, 1, - 3, 1, 4, 7, 7, 7, 7, 4, 2, 5, - 4, 2, 2, 2, 2, 2, 2, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 5, 4, 4, 3, 3, 3, - 3, 1, 4, 7, 7, 7, 7, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 2, 5, 4, 2, 5, 4, 4, - 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, + 1, 1, 1, 1, 1, 3, 1, 1, 1, 1, + 1, 3, 1, 4, 7, 7, 7, 7, 4, 2, + 5, 4, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 4, 4, 3, 3, - 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 9, 12, 4, 4, 6, 4, - 4, 6, 6, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 1, 4, 7, 7, 7, 7, - 4, 2, 5, 4, 2, 5, 4, 4, 2, 2, - 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 1, 4, 7, 7, 7, 7, 4, 4, + 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 2, 5, 4, 2, 5, 4, + 4, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 5, 4, 4, 3, 3, 3, 3, 1, + 3, 3, 3, 3, 3, 3, 5, 4, 4, 3, + 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 9, 12, 4, 4, 6, + 4, 4, 6, 6, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 1, 4, 7, 7, 7, + 7, 4, 2, 5, 4, 2, 5, 4, 4, 2, + 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 5, 4, 4, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 2, 4, 2, 3, 1, 2, 1, - 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, - 2, 0 + 1, 1, 1, 1, 2, 4, 2, 3, 1, 2, + 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 2, 2, 0 }; @@ -3911,7 +3915,7 @@ yyreduce: { current_expr = (yyvsp[0].u.expr); } -#line 3915 "built/tmp/cppBison.yxx.c" +#line 3919 "built/tmp/cppBison.yxx.c" break; case 4: /* grammar: START_TYPE full_type */ @@ -3919,7 +3923,7 @@ yyreduce: { current_type = (yyvsp[0].u.type); } -#line 3923 "built/tmp/cppBison.yxx.c" +#line 3927 "built/tmp/cppBison.yxx.c" break; case 6: /* cpp: cpp optional_attributes ';' */ @@ -3929,7 +3933,7 @@ yyreduce: current_scope->add_declaration(new CPPDeclaration((yylsp[-1]).file, (yyvsp[-1].attr_list)), global_scope, current_lexer, (yylsp[-1])); } } -#line 3933 "built/tmp/cppBison.yxx.c" +#line 3937 "built/tmp/cppBison.yxx.c" break; case 7: /* $@1: %empty */ @@ -3937,7 +3941,7 @@ yyreduce: { current_attributes = (yyvsp[0].attr_list); } -#line 3941 "built/tmp/cppBison.yxx.c" +#line 3945 "built/tmp/cppBison.yxx.c" break; case 8: /* cpp: cpp optional_attributes $@1 declaration */ @@ -3945,7 +3949,7 @@ yyreduce: { current_attributes = CPPAttributeList(); } -#line 3949 "built/tmp/cppBison.yxx.c" +#line 3953 "built/tmp/cppBison.yxx.c" break; case 11: /* constructor_init: name '(' optional_const_expr_comma ')' */ @@ -3953,7 +3957,7 @@ yyreduce: { delete (yyvsp[-1].u.expr); } -#line 3957 "built/tmp/cppBison.yxx.c" +#line 3961 "built/tmp/cppBison.yxx.c" break; case 12: /* constructor_init: name '(' optional_const_expr_comma ')' ELLIPSIS */ @@ -3961,7 +3965,7 @@ yyreduce: { delete (yyvsp[-2].u.expr); } -#line 3965 "built/tmp/cppBison.yxx.c" +#line 3969 "built/tmp/cppBison.yxx.c" break; case 13: /* constructor_init: name '{' optional_const_expr_comma '}' */ @@ -3969,7 +3973,7 @@ yyreduce: { delete (yyvsp[-1].u.expr); } -#line 3973 "built/tmp/cppBison.yxx.c" +#line 3977 "built/tmp/cppBison.yxx.c" break; case 14: /* $@2: %empty */ @@ -3978,7 +3982,7 @@ yyreduce: push_storage_class((current_storage_class & ~CPPInstance::SC_c_binding) | ((yyvsp[-1].u.integer) & CPPInstance::SC_c_binding)); } -#line 3982 "built/tmp/cppBison.yxx.c" +#line 3986 "built/tmp/cppBison.yxx.c" break; case 15: /* extern_c: storage_class '{' $@2 cpp '}' */ @@ -3986,7 +3990,7 @@ yyreduce: { pop_storage_class(); } -#line 3990 "built/tmp/cppBison.yxx.c" +#line 3994 "built/tmp/cppBison.yxx.c" break; case 22: /* declaration: KW_BEGIN_PUBLISH */ @@ -4003,7 +4007,7 @@ yyreduce: publish_nest_level++; current_scope->set_current_vis(V_published); } -#line 4007 "built/tmp/cppBison.yxx.c" +#line 4011 "built/tmp/cppBison.yxx.c" break; case 23: /* declaration: KW_END_PUBLISH */ @@ -4016,7 +4020,7 @@ yyreduce: } publish_nest_level = 0; } -#line 4020 "built/tmp/cppBison.yxx.c" +#line 4024 "built/tmp/cppBison.yxx.c" break; case 24: /* declaration: KW_PUBLISHED ':' */ @@ -4024,7 +4028,7 @@ yyreduce: { current_scope->set_current_vis(V_published); } -#line 4028 "built/tmp/cppBison.yxx.c" +#line 4032 "built/tmp/cppBison.yxx.c" break; case 25: /* declaration: KW_PUBLIC ':' */ @@ -4036,7 +4040,7 @@ yyreduce: current_scope->set_current_vis(V_public); } } -#line 4040 "built/tmp/cppBison.yxx.c" +#line 4044 "built/tmp/cppBison.yxx.c" break; case 26: /* declaration: KW_PROTECTED ':' */ @@ -4044,7 +4048,7 @@ yyreduce: { current_scope->set_current_vis(V_protected); } -#line 4048 "built/tmp/cppBison.yxx.c" +#line 4052 "built/tmp/cppBison.yxx.c" break; case 27: /* declaration: KW_PRIVATE ':' */ @@ -4052,7 +4056,7 @@ yyreduce: { current_scope->set_current_vis(V_private); } -#line 4056 "built/tmp/cppBison.yxx.c" +#line 4060 "built/tmp/cppBison.yxx.c" break; case 28: /* declaration: KW_MAKE_PROPERTY '(' name ',' IDENTIFIER maybe_comma_identifier ')' ';' */ @@ -4077,7 +4081,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-7])); } } -#line 4081 "built/tmp/cppBison.yxx.c" +#line 4085 "built/tmp/cppBison.yxx.c" break; case 29: /* declaration: KW_MAKE_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4108,7 +4112,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-10])); } } -#line 4112 "built/tmp/cppBison.yxx.c" +#line 4116 "built/tmp/cppBison.yxx.c" break; case 30: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4133,7 +4137,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8])); } } -#line 4137 "built/tmp/cppBison.yxx.c" +#line 4141 "built/tmp/cppBison.yxx.c" break; case 31: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4166,7 +4170,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-10])); } } -#line 4170 "built/tmp/cppBison.yxx.c" +#line 4174 "built/tmp/cppBison.yxx.c" break; case 32: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4206,7 +4210,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-12])); } } -#line 4210 "built/tmp/cppBison.yxx.c" +#line 4214 "built/tmp/cppBison.yxx.c" break; case 33: /* declaration: KW_MAKE_SEQ_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4253,7 +4257,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-14])); } } -#line 4257 "built/tmp/cppBison.yxx.c" +#line 4261 "built/tmp/cppBison.yxx.c" break; case 34: /* declaration: KW_MAKE_MAP_PROPERTY '(' name ',' IDENTIFIER ')' ';' */ @@ -4269,7 +4273,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-6])); } } -#line 4273 "built/tmp/cppBison.yxx.c" +#line 4277 "built/tmp/cppBison.yxx.c" break; case 35: /* declaration: KW_MAKE_MAP_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4294,7 +4298,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8])); } } -#line 4298 "built/tmp/cppBison.yxx.c" +#line 4302 "built/tmp/cppBison.yxx.c" break; case 36: /* declaration: KW_MAKE_MAP_PROPERTY '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER maybe_comma_identifier ')' ';' */ @@ -4334,7 +4338,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-11])); } } -#line 4338 "built/tmp/cppBison.yxx.c" +#line 4342 "built/tmp/cppBison.yxx.c" break; case 37: /* declaration: KW_MAKE_MAP_KEYS_SEQ '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4372,7 +4376,7 @@ yyreduce: } } } -#line 4376 "built/tmp/cppBison.yxx.c" +#line 4380 "built/tmp/cppBison.yxx.c" break; case 38: /* declaration: KW_MAKE_PROPERTY2 '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4398,7 +4402,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-8])); } } -#line 4402 "built/tmp/cppBison.yxx.c" +#line 4406 "built/tmp/cppBison.yxx.c" break; case 39: /* declaration: KW_MAKE_PROPERTY2 '(' name ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4438,7 +4442,7 @@ yyreduce: current_scope->add_declaration(make_property, global_scope, current_lexer, (yylsp[-12])); } } -#line 4442 "built/tmp/cppBison.yxx.c" +#line 4446 "built/tmp/cppBison.yxx.c" break; case 40: /* declaration: KW_MAKE_SEQ '(' name ',' IDENTIFIER ',' IDENTIFIER ')' ';' */ @@ -4464,7 +4468,7 @@ yyreduce: current_scope->add_declaration(make_seq, global_scope, current_lexer, (yylsp[-8])); } } -#line 4468 "built/tmp/cppBison.yxx.c" +#line 4472 "built/tmp/cppBison.yxx.c" break; case 41: /* declaration: KW_STATIC_ASSERT '(' const_expr ',' string_literal ')' ';' */ @@ -4479,7 +4483,7 @@ yyreduce: yywarning("static_assert failed: " + str.str(), (yylsp[-4])); } } -#line 4483 "built/tmp/cppBison.yxx.c" +#line 4487 "built/tmp/cppBison.yxx.c" break; case 42: /* declaration: KW_STATIC_ASSERT '(' const_expr ')' ';' */ @@ -4493,7 +4497,7 @@ yyreduce: yywarning("static_assert failed", (yylsp[-2])); } } -#line 4497 "built/tmp/cppBison.yxx.c" +#line 4501 "built/tmp/cppBison.yxx.c" break; case 43: /* $@3: %empty */ @@ -4503,7 +4507,7 @@ yyreduce: V_public); push_scope(new_scope); } -#line 4507 "built/tmp/cppBison.yxx.c" +#line 4511 "built/tmp/cppBison.yxx.c" break; case 44: /* friend_declaration: KW_FRIEND $@3 declaration */ @@ -4512,7 +4516,7 @@ yyreduce: delete current_scope; pop_scope(); } -#line 4516 "built/tmp/cppBison.yxx.c" +#line 4520 "built/tmp/cppBison.yxx.c" break; case 45: /* storage_class: empty */ @@ -4520,7 +4524,7 @@ yyreduce: { (yyval.u.integer) = 0; } -#line 4524 "built/tmp/cppBison.yxx.c" +#line 4528 "built/tmp/cppBison.yxx.c" break; case 46: /* storage_class: KW_CONST storage_class */ @@ -4529,7 +4533,7 @@ yyreduce: // This isn't really a storage class, but it helps with parsing. (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_const; } -#line 4533 "built/tmp/cppBison.yxx.c" +#line 4537 "built/tmp/cppBison.yxx.c" break; case 47: /* storage_class: KW_EXTERN storage_class */ @@ -4537,7 +4541,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extern; } -#line 4541 "built/tmp/cppBison.yxx.c" +#line 4545 "built/tmp/cppBison.yxx.c" break; case 48: /* storage_class: KW_EXTERN SIMPLE_STRING storage_class */ @@ -4552,7 +4556,7 @@ yyreduce: yywarning("Ignoring unknown linkage type \"" + (yyvsp[-1].str) + "\"", (yylsp[-1])); } } -#line 4556 "built/tmp/cppBison.yxx.c" +#line 4560 "built/tmp/cppBison.yxx.c" break; case 49: /* storage_class: KW_STATIC storage_class */ @@ -4560,7 +4564,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_static; } -#line 4564 "built/tmp/cppBison.yxx.c" +#line 4568 "built/tmp/cppBison.yxx.c" break; case 50: /* storage_class: KW_INLINE storage_class */ @@ -4568,7 +4572,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_inline; } -#line 4572 "built/tmp/cppBison.yxx.c" +#line 4576 "built/tmp/cppBison.yxx.c" break; case 51: /* storage_class: KW_VIRTUAL storage_class */ @@ -4576,7 +4580,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_virtual; } -#line 4580 "built/tmp/cppBison.yxx.c" +#line 4584 "built/tmp/cppBison.yxx.c" break; case 52: /* storage_class: KW_EXPLICIT storage_class */ @@ -4584,7 +4588,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_explicit; } -#line 4588 "built/tmp/cppBison.yxx.c" +#line 4592 "built/tmp/cppBison.yxx.c" break; case 53: /* storage_class: KW_EXPLICIT_LPAREN const_expr ')' storage_class */ @@ -4597,7 +4601,7 @@ yyreduce: (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_explicit; } } -#line 4601 "built/tmp/cppBison.yxx.c" +#line 4605 "built/tmp/cppBison.yxx.c" break; case 54: /* storage_class: KW_REGISTER storage_class */ @@ -4605,7 +4609,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_register; } -#line 4609 "built/tmp/cppBison.yxx.c" +#line 4613 "built/tmp/cppBison.yxx.c" break; case 55: /* storage_class: KW_VOLATILE storage_class */ @@ -4613,7 +4617,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_volatile; } -#line 4617 "built/tmp/cppBison.yxx.c" +#line 4621 "built/tmp/cppBison.yxx.c" break; case 56: /* storage_class: KW_MUTABLE storage_class */ @@ -4621,7 +4625,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_mutable; } -#line 4625 "built/tmp/cppBison.yxx.c" +#line 4629 "built/tmp/cppBison.yxx.c" break; case 57: /* storage_class: KW_CONSTEVAL storage_class */ @@ -4629,7 +4633,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_consteval; } -#line 4633 "built/tmp/cppBison.yxx.c" +#line 4637 "built/tmp/cppBison.yxx.c" break; case 58: /* storage_class: KW_CONSTEXPR storage_class */ @@ -4637,7 +4641,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_constexpr; } -#line 4641 "built/tmp/cppBison.yxx.c" +#line 4645 "built/tmp/cppBison.yxx.c" break; case 59: /* storage_class: KW_CONSTINIT storage_class */ @@ -4645,7 +4649,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_constinit; } -#line 4649 "built/tmp/cppBison.yxx.c" +#line 4653 "built/tmp/cppBison.yxx.c" break; case 60: /* storage_class: KW_BLOCKING storage_class */ @@ -4653,7 +4657,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_blocking; } -#line 4657 "built/tmp/cppBison.yxx.c" +#line 4661 "built/tmp/cppBison.yxx.c" break; case 61: /* storage_class: KW_EXTENSION storage_class */ @@ -4661,7 +4665,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_extension; } -#line 4665 "built/tmp/cppBison.yxx.c" +#line 4669 "built/tmp/cppBison.yxx.c" break; case 62: /* storage_class: KW_THREAD_LOCAL storage_class */ @@ -4669,7 +4673,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[0].u.integer) | (int)CPPInstance::SC_thread_local; } -#line 4673 "built/tmp/cppBison.yxx.c" +#line 4677 "built/tmp/cppBison.yxx.c" break; case 63: /* optional_attributes: empty */ @@ -4677,7 +4681,7 @@ yyreduce: { (yyval.attr_list) = CPPAttributeList(); } -#line 4681 "built/tmp/cppBison.yxx.c" +#line 4685 "built/tmp/cppBison.yxx.c" break; case 64: /* optional_attributes: ATTR_LEFT attribute_specifiers ATTR_RIGHT optional_attributes */ @@ -4686,7 +4690,7 @@ yyreduce: (yyval.attr_list) = (yyvsp[-2].attr_list); (yyval.attr_list).add_attributes_from((yyvsp[0].attr_list)); } -#line 4690 "built/tmp/cppBison.yxx.c" +#line 4694 "built/tmp/cppBison.yxx.c" break; case 65: /* optional_attributes: ATTR_LEFT KW_USING name ':' attribute_specifiers ATTR_RIGHT optional_attributes */ @@ -4698,7 +4702,7 @@ yyreduce: } (yyval.attr_list).add_attributes_from((yyvsp[0].attr_list)); } -#line 4702 "built/tmp/cppBison.yxx.c" +#line 4706 "built/tmp/cppBison.yxx.c" break; case 66: /* optional_attributes: KW_ALIGNAS '(' const_expr ')' optional_attributes */ @@ -4707,7 +4711,7 @@ yyreduce: (yyval.attr_list) = (yyvsp[0].attr_list); (yyval.attr_list).add_alignas((yyvsp[-2].u.expr)->as_expression()); } -#line 4711 "built/tmp/cppBison.yxx.c" +#line 4715 "built/tmp/cppBison.yxx.c" break; case 67: /* optional_attributes: KW_ALIGNAS '(' type_decl ')' optional_attributes */ @@ -4716,7 +4720,7 @@ yyreduce: (yyval.attr_list) = (yyvsp[0].attr_list); (yyval.attr_list).add_alignas((yyvsp[-2].u.decl)->as_type()); } -#line 4720 "built/tmp/cppBison.yxx.c" +#line 4724 "built/tmp/cppBison.yxx.c" break; case 68: /* attribute_specifiers: attribute_specifier */ @@ -4724,7 +4728,7 @@ yyreduce: { (yyval.attr_list) = (yyvsp[0].attr_list); } -#line 4728 "built/tmp/cppBison.yxx.c" +#line 4732 "built/tmp/cppBison.yxx.c" break; case 69: /* attribute_specifiers: attribute_specifier ',' attribute_specifiers */ @@ -4733,7 +4737,7 @@ yyreduce: (yyval.attr_list) = (yyvsp[-2].attr_list); (yyval.attr_list).add_attributes_from((yyvsp[0].attr_list)); } -#line 4737 "built/tmp/cppBison.yxx.c" +#line 4741 "built/tmp/cppBison.yxx.c" break; case 70: /* attribute_specifier: name */ @@ -4742,7 +4746,7 @@ yyreduce: (yyval.attr_list) = CPPAttributeList(); (yyval.attr_list).add_attribute((yyvsp[0].u.identifier)); } -#line 4746 "built/tmp/cppBison.yxx.c" +#line 4750 "built/tmp/cppBison.yxx.c" break; case 71: /* attribute_specifier: name '(' formal_parameter_list ')' */ @@ -4751,7 +4755,7 @@ yyreduce: (yyval.attr_list) = CPPAttributeList(); (yyval.attr_list).add_attribute((yyvsp[-3].u.identifier)); } -#line 4755 "built/tmp/cppBison.yxx.c" +#line 4759 "built/tmp/cppBison.yxx.c" break; case 72: /* $@4: %empty */ @@ -4766,7 +4770,7 @@ yyreduce: } push_storage_class((yyvsp[-1].u.integer)); } -#line 4770 "built/tmp/cppBison.yxx.c" +#line 4774 "built/tmp/cppBison.yxx.c" break; case 73: /* type_like_declaration: storage_class var_type_decl $@4 multiple_instance_identifiers */ @@ -4774,7 +4778,7 @@ yyreduce: { pop_storage_class(); } -#line 4778 "built/tmp/cppBison.yxx.c" +#line 4782 "built/tmp/cppBison.yxx.c" break; case 74: /* type_like_declaration: storage_class type_decl ';' */ @@ -4787,7 +4791,7 @@ yyreduce: current_scope->add_declaration((yyvsp[-1].u.decl), global_scope, current_lexer, (yylsp[-1])); } -#line 4791 "built/tmp/cppBison.yxx.c" +#line 4795 "built/tmp/cppBison.yxx.c" break; case 75: /* $@5: %empty */ @@ -4800,7 +4804,7 @@ yyreduce: (yyvsp[0].u.instance)->_storage_class |= (current_storage_class | (yyvsp[-1].u.integer)); } } -#line 4804 "built/tmp/cppBison.yxx.c" +#line 4808 "built/tmp/cppBison.yxx.c" break; case 76: /* type_like_declaration: storage_class constructor_prototype $@5 maybe_initialize_or_constructor_body */ @@ -4812,7 +4816,7 @@ yyreduce: (yyvsp[-2].u.instance)->set_initializer((yyvsp[0].u.expr)); } } -#line 4816 "built/tmp/cppBison.yxx.c" +#line 4820 "built/tmp/cppBison.yxx.c" break; case 77: /* type_like_declaration: storage_class function_prototype maybe_initialize_or_function_body */ @@ -4824,7 +4828,7 @@ yyreduce: (yyvsp[-1].u.instance)->set_initializer((yyvsp[0].u.expr)); } } -#line 4828 "built/tmp/cppBison.yxx.c" +#line 4832 "built/tmp/cppBison.yxx.c" break; case 79: /* multiple_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize_or_function_body */ @@ -4840,7 +4844,7 @@ yyreduce: inst->set_initializer((yyvsp[0].u.expr)); current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-1])); } -#line 4844 "built/tmp/cppBison.yxx.c" +#line 4848 "built/tmp/cppBison.yxx.c" break; case 80: /* multiple_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize ',' multiple_instance_identifiers */ @@ -4856,7 +4860,7 @@ yyreduce: inst->set_initializer((yyvsp[-2].u.expr)); current_scope->add_declaration(inst, global_scope, current_lexer, (yylsp[-3])); } -#line 4860 "built/tmp/cppBison.yxx.c" +#line 4864 "built/tmp/cppBison.yxx.c" break; case 81: /* $@6: %empty */ @@ -4871,7 +4875,7 @@ yyreduce: } push_storage_class((yyvsp[-1].u.integer)); } -#line 4875 "built/tmp/cppBison.yxx.c" +#line 4879 "built/tmp/cppBison.yxx.c" break; case 82: /* typedef_declaration: storage_class var_type_decl $@6 typedef_instance_identifiers */ @@ -4879,7 +4883,7 @@ yyreduce: { pop_storage_class(); } -#line 4883 "built/tmp/cppBison.yxx.c" +#line 4887 "built/tmp/cppBison.yxx.c" break; case 83: /* typedef_declaration: storage_class function_prototype maybe_initialize_or_function_body */ @@ -4895,7 +4899,7 @@ yyreduce: } } } -#line 4899 "built/tmp/cppBison.yxx.c" +#line 4903 "built/tmp/cppBison.yxx.c" break; case 84: /* typedef_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize_or_function_body */ @@ -4909,7 +4913,7 @@ yyreduce: CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[-1].u.inst_ident), current_scope, (yylsp[-1]).file); current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-1])); } -#line 4913 "built/tmp/cppBison.yxx.c" +#line 4917 "built/tmp/cppBison.yxx.c" break; case 85: /* typedef_instance_identifiers: instance_identifier_and_maybe_trailing_return_type maybe_initialize ',' typedef_instance_identifiers */ @@ -4923,7 +4927,7 @@ yyreduce: CPPTypedefType *typedef_type = new CPPTypedefType(target_type, (yyvsp[-3].u.inst_ident), current_scope, (yylsp[-3]).file); current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-3])); } -#line 4927 "built/tmp/cppBison.yxx.c" +#line 4931 "built/tmp/cppBison.yxx.c" break; case 86: /* $@7: %empty */ @@ -4940,7 +4944,7 @@ yyreduce: push_scope(scope); } -#line 4944 "built/tmp/cppBison.yxx.c" +#line 4948 "built/tmp/cppBison.yxx.c" break; case 87: /* constructor_prototype: IDENTIFIER '(' $@7 function_parameter_list ')' function_post optional_attributes */ @@ -4971,7 +4975,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-6]).file); } -#line 4975 "built/tmp/cppBison.yxx.c" +#line 4979 "built/tmp/cppBison.yxx.c" break; case 88: /* $@8: %empty */ @@ -4988,7 +4992,7 @@ yyreduce: push_scope(scope); } -#line 4992 "built/tmp/cppBison.yxx.c" +#line 4996 "built/tmp/cppBison.yxx.c" break; case 89: /* constructor_prototype: TYPENAME_IDENTIFIER '(' IDENTIFIER ')' '(' $@8 function_parameter_list ')' function_post optional_attributes */ @@ -5007,7 +5011,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-9]).file); } -#line 5011 "built/tmp/cppBison.yxx.c" +#line 5015 "built/tmp/cppBison.yxx.c" break; case 90: /* $@9: %empty */ @@ -5024,7 +5028,7 @@ yyreduce: push_scope(scope); } -#line 5028 "built/tmp/cppBison.yxx.c" +#line 5032 "built/tmp/cppBison.yxx.c" break; case 91: /* constructor_prototype: TYPENAME_IDENTIFIER '(' $@9 function_parameter_list ')' function_post optional_attributes */ @@ -5047,7 +5051,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-6]).file); } -#line 5051 "built/tmp/cppBison.yxx.c" +#line 5055 "built/tmp/cppBison.yxx.c" break; case 92: /* $@10: %empty */ @@ -5055,7 +5059,7 @@ yyreduce: { push_scope((yyvsp[-1].u.identifier)->get_scope(current_scope, global_scope)); } -#line 5059 "built/tmp/cppBison.yxx.c" +#line 5063 "built/tmp/cppBison.yxx.c" break; case 93: /* function_prototype: '~' name '(' $@10 function_parameter_list ')' function_post optional_attributes */ @@ -5079,7 +5083,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-6]).file); } } -#line 5083 "built/tmp/cppBison.yxx.c" +#line 5087 "built/tmp/cppBison.yxx.c" break; case 94: /* $@11: %empty */ @@ -5087,7 +5091,7 @@ yyreduce: { push_scope((yyvsp[-2].u.inst_ident)->get_scope(current_scope, global_scope)); } -#line 5091 "built/tmp/cppBison.yxx.c" +#line 5095 "built/tmp/cppBison.yxx.c" break; case 95: /* function_prototype: TYPENAME_IDENTIFIER '(' '*' instance_identifier ')' '(' $@11 function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type */ @@ -5106,7 +5110,7 @@ yyreduce: ii->add_attributes(current_attributes); (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-11]).file); } -#line 5110 "built/tmp/cppBison.yxx.c" +#line 5114 "built/tmp/cppBison.yxx.c" break; case 96: /* $@12: %empty */ @@ -5114,7 +5118,7 @@ yyreduce: { push_scope((yyvsp[-2].u.inst_ident)->get_scope(current_scope, global_scope)); } -#line 5118 "built/tmp/cppBison.yxx.c" +#line 5122 "built/tmp/cppBison.yxx.c" break; case 97: /* function_prototype: TYPENAME_IDENTIFIER '(' SCOPING '*' instance_identifier ')' '(' $@12 function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type */ @@ -5133,7 +5137,7 @@ yyreduce: ii->add_attributes(current_attributes); (yyval.u.instance) = new CPPInstance(type, ii, 0, (yylsp[-12]).file); } -#line 5137 "built/tmp/cppBison.yxx.c" +#line 5141 "built/tmp/cppBison.yxx.c" break; case 98: /* $@13: %empty */ @@ -5143,7 +5147,7 @@ yyreduce: push_scope((yyvsp[-3].u.identifier)->get_scope(current_scope, global_scope)); } } -#line 5147 "built/tmp/cppBison.yxx.c" +#line 5151 "built/tmp/cppBison.yxx.c" break; case 99: /* function_prototype: KW_OPERATOR type not_paren_formal_parameter_identifier '(' $@13 function_parameter_list ')' function_post */ @@ -5173,7 +5177,7 @@ yyreduce: (new CPPInstance((yyvsp[-6].u.type), (yyvsp[-5].u.inst_ident), 0, (yylsp[-5]).file), ident, (yyvsp[-2].u.param_list), (yyvsp[0].u.integer)); (yyval.u.instance)->_attributes.add_attributes_from(current_attributes); } -#line 5177 "built/tmp/cppBison.yxx.c" +#line 5181 "built/tmp/cppBison.yxx.c" break; case 100: /* $@14: %empty */ @@ -5183,7 +5187,7 @@ yyreduce: push_scope((yyvsp[-4].u.identifier)->get_scope(current_scope, global_scope)); } } -#line 5187 "built/tmp/cppBison.yxx.c" +#line 5191 "built/tmp/cppBison.yxx.c" break; case 101: /* function_prototype: KW_OPERATOR KW_CONST type not_paren_formal_parameter_identifier '(' $@14 function_parameter_list ')' function_post */ @@ -5204,7 +5208,7 @@ yyreduce: (yyval.u.instance) = CPPInstance::make_typecast_function (new CPPInstance((yyvsp[-6].u.type), (yyvsp[-5].u.inst_ident), 0, (yylsp[-5]).file), ident, (yyvsp[-2].u.param_list), (yyvsp[0].u.integer)); } -#line 5208 "built/tmp/cppBison.yxx.c" +#line 5212 "built/tmp/cppBison.yxx.c" break; case 102: /* function_prototype: IDENTIFIER */ @@ -5218,7 +5222,7 @@ yyreduce: (yyval.u.instance) = nullptr; } } -#line 5222 "built/tmp/cppBison.yxx.c" +#line 5226 "built/tmp/cppBison.yxx.c" break; case 103: /* function_post: empty */ @@ -5226,7 +5230,7 @@ yyreduce: { (yyval.u.integer) = 0; } -#line 5230 "built/tmp/cppBison.yxx.c" +#line 5234 "built/tmp/cppBison.yxx.c" break; case 104: /* function_post: function_post KW_CONST */ @@ -5234,7 +5238,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_const_method; } -#line 5238 "built/tmp/cppBison.yxx.c" +#line 5242 "built/tmp/cppBison.yxx.c" break; case 105: /* function_post: function_post KW_VOLATILE */ @@ -5242,7 +5246,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_volatile_method; } -#line 5246 "built/tmp/cppBison.yxx.c" +#line 5250 "built/tmp/cppBison.yxx.c" break; case 106: /* function_post: function_post KW_NOEXCEPT */ @@ -5250,7 +5254,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_noexcept; } -#line 5254 "built/tmp/cppBison.yxx.c" +#line 5258 "built/tmp/cppBison.yxx.c" break; case 107: /* function_post: function_post KW_NOEXCEPT_LPAREN const_expr ')' */ @@ -5263,7 +5267,7 @@ yyreduce: (yyval.u.integer) = (yyvsp[-3].u.integer) | (int)CPPFunctionType::F_noexcept; } } -#line 5267 "built/tmp/cppBison.yxx.c" +#line 5271 "built/tmp/cppBison.yxx.c" break; case 108: /* function_post: function_post KW_FINAL */ @@ -5271,7 +5275,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_final; } -#line 5275 "built/tmp/cppBison.yxx.c" +#line 5279 "built/tmp/cppBison.yxx.c" break; case 109: /* function_post: function_post KW_OVERRIDE */ @@ -5279,7 +5283,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_override; } -#line 5283 "built/tmp/cppBison.yxx.c" +#line 5287 "built/tmp/cppBison.yxx.c" break; case 110: /* function_post: function_post '&' */ @@ -5287,7 +5291,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_lvalue_method; } -#line 5291 "built/tmp/cppBison.yxx.c" +#line 5295 "built/tmp/cppBison.yxx.c" break; case 111: /* function_post: function_post ANDAND */ @@ -5295,7 +5299,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-1].u.integer) | (int)CPPFunctionType::F_rvalue_method; } -#line 5299 "built/tmp/cppBison.yxx.c" +#line 5303 "built/tmp/cppBison.yxx.c" break; case 112: /* function_post: function_post KW_MUTABLE */ @@ -5304,7 +5308,7 @@ yyreduce: // Used for lambdas, currently ignored. (yyval.u.integer) = (yyvsp[-1].u.integer); } -#line 5308 "built/tmp/cppBison.yxx.c" +#line 5312 "built/tmp/cppBison.yxx.c" break; case 113: /* function_post: function_post KW_CONSTEXPR */ @@ -5313,7 +5317,7 @@ yyreduce: // Used for lambdas in C++17, currently ignored. (yyval.u.integer) = (yyvsp[-1].u.integer); } -#line 5317 "built/tmp/cppBison.yxx.c" +#line 5321 "built/tmp/cppBison.yxx.c" break; case 114: /* function_post: function_post KW_THROW '(' ')' */ @@ -5321,7 +5325,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-3].u.integer); } -#line 5325 "built/tmp/cppBison.yxx.c" +#line 5329 "built/tmp/cppBison.yxx.c" break; case 115: /* function_post: function_post KW_THROW '(' name ')' */ @@ -5329,7 +5333,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-4].u.integer); } -#line 5333 "built/tmp/cppBison.yxx.c" +#line 5337 "built/tmp/cppBison.yxx.c" break; case 116: /* function_post: function_post KW_THROW '(' name ELLIPSIS ')' */ @@ -5337,7 +5341,7 @@ yyreduce: { (yyval.u.integer) = (yyvsp[-5].u.integer); } -#line 5341 "built/tmp/cppBison.yxx.c" +#line 5345 "built/tmp/cppBison.yxx.c" break; case 117: /* function_operator: '!' */ @@ -5345,7 +5349,7 @@ yyreduce: { (yyval.str) = "!"; } -#line 5349 "built/tmp/cppBison.yxx.c" +#line 5353 "built/tmp/cppBison.yxx.c" break; case 118: /* function_operator: '~' */ @@ -5353,7 +5357,7 @@ yyreduce: { (yyval.str) = "~"; } -#line 5357 "built/tmp/cppBison.yxx.c" +#line 5361 "built/tmp/cppBison.yxx.c" break; case 119: /* function_operator: '*' */ @@ -5361,7 +5365,7 @@ yyreduce: { (yyval.str) = "*"; } -#line 5365 "built/tmp/cppBison.yxx.c" +#line 5369 "built/tmp/cppBison.yxx.c" break; case 120: /* function_operator: '/' */ @@ -5369,7 +5373,7 @@ yyreduce: { (yyval.str) = "/"; } -#line 5373 "built/tmp/cppBison.yxx.c" +#line 5377 "built/tmp/cppBison.yxx.c" break; case 121: /* function_operator: '%' */ @@ -5377,7 +5381,7 @@ yyreduce: { (yyval.str) = "%"; } -#line 5381 "built/tmp/cppBison.yxx.c" +#line 5385 "built/tmp/cppBison.yxx.c" break; case 122: /* function_operator: '+' */ @@ -5385,7 +5389,7 @@ yyreduce: { (yyval.str) = "+"; } -#line 5389 "built/tmp/cppBison.yxx.c" +#line 5393 "built/tmp/cppBison.yxx.c" break; case 123: /* function_operator: '-' */ @@ -5393,7 +5397,7 @@ yyreduce: { (yyval.str) = "-"; } -#line 5397 "built/tmp/cppBison.yxx.c" +#line 5401 "built/tmp/cppBison.yxx.c" break; case 124: /* function_operator: '|' */ @@ -5401,7 +5405,7 @@ yyreduce: { (yyval.str) = "|"; } -#line 5405 "built/tmp/cppBison.yxx.c" +#line 5409 "built/tmp/cppBison.yxx.c" break; case 125: /* function_operator: '&' */ @@ -5409,7 +5413,7 @@ yyreduce: { (yyval.str) = "&"; } -#line 5413 "built/tmp/cppBison.yxx.c" +#line 5417 "built/tmp/cppBison.yxx.c" break; case 126: /* function_operator: '^' */ @@ -5417,7 +5421,7 @@ yyreduce: { (yyval.str) = "^"; } -#line 5421 "built/tmp/cppBison.yxx.c" +#line 5425 "built/tmp/cppBison.yxx.c" break; case 127: /* function_operator: OROR */ @@ -5425,7 +5429,7 @@ yyreduce: { (yyval.str) = "||"; } -#line 5429 "built/tmp/cppBison.yxx.c" +#line 5433 "built/tmp/cppBison.yxx.c" break; case 128: /* function_operator: ANDAND */ @@ -5433,7 +5437,7 @@ yyreduce: { (yyval.str) = "&&"; } -#line 5437 "built/tmp/cppBison.yxx.c" +#line 5441 "built/tmp/cppBison.yxx.c" break; case 129: /* function_operator: EQCOMPARE */ @@ -5441,7 +5445,7 @@ yyreduce: { (yyval.str) = "=="; } -#line 5445 "built/tmp/cppBison.yxx.c" +#line 5449 "built/tmp/cppBison.yxx.c" break; case 130: /* function_operator: NECOMPARE */ @@ -5449,7 +5453,7 @@ yyreduce: { (yyval.str) = "!="; } -#line 5453 "built/tmp/cppBison.yxx.c" +#line 5457 "built/tmp/cppBison.yxx.c" break; case 131: /* function_operator: LECOMPARE */ @@ -5457,7 +5461,7 @@ yyreduce: { (yyval.str) = "<="; } -#line 5461 "built/tmp/cppBison.yxx.c" +#line 5465 "built/tmp/cppBison.yxx.c" break; case 132: /* function_operator: GECOMPARE */ @@ -5465,7 +5469,7 @@ yyreduce: { (yyval.str) = ">="; } -#line 5469 "built/tmp/cppBison.yxx.c" +#line 5473 "built/tmp/cppBison.yxx.c" break; case 133: /* function_operator: '<' */ @@ -5473,7 +5477,7 @@ yyreduce: { (yyval.str) = "<"; } -#line 5477 "built/tmp/cppBison.yxx.c" +#line 5481 "built/tmp/cppBison.yxx.c" break; case 134: /* function_operator: '>' */ @@ -5481,7 +5485,7 @@ yyreduce: { (yyval.str) = ">"; } -#line 5485 "built/tmp/cppBison.yxx.c" +#line 5489 "built/tmp/cppBison.yxx.c" break; case 135: /* function_operator: SPACESHIP */ @@ -5489,7 +5493,7 @@ yyreduce: { (yyval.str) = "<=>"; } -#line 5493 "built/tmp/cppBison.yxx.c" +#line 5497 "built/tmp/cppBison.yxx.c" break; case 136: /* function_operator: LSHIFT */ @@ -5497,7 +5501,7 @@ yyreduce: { (yyval.str) = "<<"; } -#line 5501 "built/tmp/cppBison.yxx.c" +#line 5505 "built/tmp/cppBison.yxx.c" break; case 137: /* function_operator: RSHIFT */ @@ -5505,7 +5509,7 @@ yyreduce: { (yyval.str) = ">>"; } -#line 5509 "built/tmp/cppBison.yxx.c" +#line 5513 "built/tmp/cppBison.yxx.c" break; case 138: /* function_operator: '=' */ @@ -5513,7 +5517,7 @@ yyreduce: { (yyval.str) = "="; } -#line 5517 "built/tmp/cppBison.yxx.c" +#line 5521 "built/tmp/cppBison.yxx.c" break; case 139: /* function_operator: ',' */ @@ -5521,7 +5525,7 @@ yyreduce: { (yyval.str) = ","; } -#line 5525 "built/tmp/cppBison.yxx.c" +#line 5529 "built/tmp/cppBison.yxx.c" break; case 140: /* function_operator: PLUSPLUS */ @@ -5529,7 +5533,7 @@ yyreduce: { (yyval.str) = "++"; } -#line 5533 "built/tmp/cppBison.yxx.c" +#line 5537 "built/tmp/cppBison.yxx.c" break; case 141: /* function_operator: MINUSMINUS */ @@ -5537,7 +5541,7 @@ yyreduce: { (yyval.str) = "--"; } -#line 5541 "built/tmp/cppBison.yxx.c" +#line 5545 "built/tmp/cppBison.yxx.c" break; case 142: /* function_operator: TIMESEQUAL */ @@ -5545,7 +5549,7 @@ yyreduce: { (yyval.str) = "*="; } -#line 5549 "built/tmp/cppBison.yxx.c" +#line 5553 "built/tmp/cppBison.yxx.c" break; case 143: /* function_operator: DIVIDEEQUAL */ @@ -5553,7 +5557,7 @@ yyreduce: { (yyval.str) = "/="; } -#line 5557 "built/tmp/cppBison.yxx.c" +#line 5561 "built/tmp/cppBison.yxx.c" break; case 144: /* function_operator: MODEQUAL */ @@ -5561,7 +5565,7 @@ yyreduce: { (yyval.str) = "%="; } -#line 5565 "built/tmp/cppBison.yxx.c" +#line 5569 "built/tmp/cppBison.yxx.c" break; case 145: /* function_operator: PLUSEQUAL */ @@ -5569,7 +5573,7 @@ yyreduce: { (yyval.str) = "+="; } -#line 5573 "built/tmp/cppBison.yxx.c" +#line 5577 "built/tmp/cppBison.yxx.c" break; case 146: /* function_operator: MINUSEQUAL */ @@ -5577,7 +5581,7 @@ yyreduce: { (yyval.str) = "-="; } -#line 5581 "built/tmp/cppBison.yxx.c" +#line 5585 "built/tmp/cppBison.yxx.c" break; case 147: /* function_operator: OREQUAL */ @@ -5585,7 +5589,7 @@ yyreduce: { (yyval.str) = "|="; } -#line 5589 "built/tmp/cppBison.yxx.c" +#line 5593 "built/tmp/cppBison.yxx.c" break; case 148: /* function_operator: ANDEQUAL */ @@ -5593,7 +5597,7 @@ yyreduce: { (yyval.str) = "&="; } -#line 5597 "built/tmp/cppBison.yxx.c" +#line 5601 "built/tmp/cppBison.yxx.c" break; case 149: /* function_operator: XOREQUAL */ @@ -5601,7 +5605,7 @@ yyreduce: { (yyval.str) = "^="; } -#line 5605 "built/tmp/cppBison.yxx.c" +#line 5609 "built/tmp/cppBison.yxx.c" break; case 150: /* function_operator: LSHIFTEQUAL */ @@ -5609,7 +5613,7 @@ yyreduce: { (yyval.str) = "<<="; } -#line 5613 "built/tmp/cppBison.yxx.c" +#line 5617 "built/tmp/cppBison.yxx.c" break; case 151: /* function_operator: RSHIFTEQUAL */ @@ -5617,7 +5621,7 @@ yyreduce: { (yyval.str) = ">>="; } -#line 5621 "built/tmp/cppBison.yxx.c" +#line 5625 "built/tmp/cppBison.yxx.c" break; case 152: /* function_operator: POINTSAT */ @@ -5625,7 +5629,7 @@ yyreduce: { (yyval.str) = "->"; } -#line 5629 "built/tmp/cppBison.yxx.c" +#line 5633 "built/tmp/cppBison.yxx.c" break; case 153: /* function_operator: '[' ']' */ @@ -5633,7 +5637,7 @@ yyreduce: { (yyval.str) = "[]"; } -#line 5637 "built/tmp/cppBison.yxx.c" +#line 5641 "built/tmp/cppBison.yxx.c" break; case 154: /* function_operator: '(' ')' */ @@ -5641,7 +5645,7 @@ yyreduce: { (yyval.str) = "()"; } -#line 5645 "built/tmp/cppBison.yxx.c" +#line 5649 "built/tmp/cppBison.yxx.c" break; case 155: /* function_operator: KW_NEW */ @@ -5649,7 +5653,7 @@ yyreduce: { (yyval.str) = "new"; } -#line 5653 "built/tmp/cppBison.yxx.c" +#line 5657 "built/tmp/cppBison.yxx.c" break; case 156: /* function_operator: KW_DELETE */ @@ -5657,7 +5661,7 @@ yyreduce: { (yyval.str) = "delete"; } -#line 5661 "built/tmp/cppBison.yxx.c" +#line 5665 "built/tmp/cppBison.yxx.c" break; case 161: /* $@15: %empty */ @@ -5665,7 +5669,7 @@ yyreduce: { push_scope(new CPPTemplateScope(current_scope)); } -#line 5669 "built/tmp/cppBison.yxx.c" +#line 5673 "built/tmp/cppBison.yxx.c" break; case 162: /* template_declaration: KW_TEMPLATE $@15 '<' template_formal_parameters '>' more_template_declaration */ @@ -5673,7 +5677,7 @@ yyreduce: { pop_scope(); } -#line 5677 "built/tmp/cppBison.yxx.c" +#line 5681 "built/tmp/cppBison.yxx.c" break; case 167: /* template_nonempty_formal_parameters: template_formal_parameter */ @@ -5683,7 +5687,7 @@ yyreduce: assert(ts != nullptr); ts->add_template_parameter((yyvsp[0].u.decl)); } -#line 5687 "built/tmp/cppBison.yxx.c" +#line 5691 "built/tmp/cppBison.yxx.c" break; case 168: /* template_nonempty_formal_parameters: template_nonempty_formal_parameters ',' template_formal_parameter */ @@ -5693,7 +5697,7 @@ yyreduce: assert(ts != nullptr); ts->add_template_parameter((yyvsp[0].u.decl)); } -#line 5697 "built/tmp/cppBison.yxx.c" +#line 5701 "built/tmp/cppBison.yxx.c" break; case 171: /* template_formal_parameter: typename_keyword */ @@ -5701,7 +5705,7 @@ yyreduce: { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter(nullptr)); } -#line 5705 "built/tmp/cppBison.yxx.c" +#line 5709 "built/tmp/cppBison.yxx.c" break; case 172: /* template_formal_parameter: typename_keyword name */ @@ -5709,7 +5713,7 @@ yyreduce: { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[0].u.identifier))); } -#line 5713 "built/tmp/cppBison.yxx.c" +#line 5717 "built/tmp/cppBison.yxx.c" break; case 173: /* template_formal_parameter: typename_keyword name '=' full_type */ @@ -5717,7 +5721,7 @@ yyreduce: { (yyval.u.decl) = CPPType::new_type(new CPPClassTemplateParameter((yyvsp[-2].u.identifier), (yyvsp[0].u.type))); } -#line 5721 "built/tmp/cppBison.yxx.c" +#line 5725 "built/tmp/cppBison.yxx.c" break; case 174: /* template_formal_parameter: typename_keyword ELLIPSIS */ @@ -5727,7 +5731,7 @@ yyreduce: ctp->_packed = true; (yyval.u.decl) = CPPType::new_type(ctp); } -#line 5731 "built/tmp/cppBison.yxx.c" +#line 5735 "built/tmp/cppBison.yxx.c" break; case 175: /* template_formal_parameter: typename_keyword ELLIPSIS name */ @@ -5737,7 +5741,7 @@ yyreduce: ctp->_packed = true; (yyval.u.decl) = CPPType::new_type(ctp); } -#line 5741 "built/tmp/cppBison.yxx.c" +#line 5745 "built/tmp/cppBison.yxx.c" break; case 176: /* template_formal_parameter: template_formal_parameter_type formal_parameter_identifier template_parameter_maybe_initialize */ @@ -5747,7 +5751,7 @@ yyreduce: inst->set_initializer((yyvsp[0].u.expr)); (yyval.u.decl) = inst; } -#line 5751 "built/tmp/cppBison.yxx.c" +#line 5755 "built/tmp/cppBison.yxx.c" break; case 177: /* template_formal_parameter: KW_CONST template_formal_parameter_type formal_parameter_identifier template_parameter_maybe_initialize */ @@ -5758,7 +5762,7 @@ yyreduce: inst->set_initializer((yyvsp[0].u.expr)); (yyval.u.decl) = inst; } -#line 5762 "built/tmp/cppBison.yxx.c" +#line 5766 "built/tmp/cppBison.yxx.c" break; case 178: /* template_formal_parameter: template_formal_parameter_type parameter_pack_identifier */ @@ -5767,7 +5771,7 @@ yyreduce: CPPInstance *inst = new CPPInstance((yyvsp[-1].u.type), (yyvsp[0].u.inst_ident), 0, (yylsp[0]).file); (yyval.u.decl) = inst; } -#line 5771 "built/tmp/cppBison.yxx.c" +#line 5775 "built/tmp/cppBison.yxx.c" break; case 179: /* template_formal_parameter: KW_CONST template_formal_parameter_type parameter_pack_identifier */ @@ -5777,7 +5781,7 @@ yyreduce: CPPInstance *inst = new CPPInstance((yyvsp[-1].u.type), (yyvsp[0].u.inst_ident), 0, (yylsp[0]).file); (yyval.u.decl) = inst; } -#line 5781 "built/tmp/cppBison.yxx.c" +#line 5785 "built/tmp/cppBison.yxx.c" break; case 180: /* template_formal_parameter_type: simple_type */ @@ -5785,7 +5789,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 5789 "built/tmp/cppBison.yxx.c" +#line 5793 "built/tmp/cppBison.yxx.c" break; case 181: /* template_formal_parameter_type: IDENTIFIER */ @@ -5794,7 +5798,7 @@ yyreduce: yywarning("Not a type: " + (yyvsp[0].u.identifier)->get_fully_scoped_name(), (yylsp[0])); (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_unknown)); } -#line 5798 "built/tmp/cppBison.yxx.c" +#line 5802 "built/tmp/cppBison.yxx.c" break; case 182: /* template_formal_parameter_type: TYPENAME_IDENTIFIER */ @@ -5806,7 +5810,7 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 5810 "built/tmp/cppBison.yxx.c" +#line 5814 "built/tmp/cppBison.yxx.c" break; case 183: /* template_formal_parameter_type: TYPEPACK_IDENTIFIER */ @@ -5818,7 +5822,7 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 5822 "built/tmp/cppBison.yxx.c" +#line 5826 "built/tmp/cppBison.yxx.c" break; case 184: /* instance_identifier: name_no_final optional_attributes */ @@ -5826,7 +5830,7 @@ yyreduce: { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier), (yyvsp[0].attr_list)); } -#line 5830 "built/tmp/cppBison.yxx.c" +#line 5834 "built/tmp/cppBison.yxx.c" break; case 185: /* instance_identifier: KW_OPERATOR function_operator optional_attributes */ @@ -5844,7 +5848,7 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier(ident, (yyvsp[0].attr_list)); } -#line 5848 "built/tmp/cppBison.yxx.c" +#line 5852 "built/tmp/cppBison.yxx.c" break; case 186: /* instance_identifier: KW_OPERATOR SIMPLE_STRING IDENTIFIER optional_attributes */ @@ -5863,7 +5867,7 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier(ident, (yyvsp[0].attr_list)); } -#line 5867 "built/tmp/cppBison.yxx.c" +#line 5871 "built/tmp/cppBison.yxx.c" break; case 187: /* instance_identifier: KW_CONST instance_identifier */ @@ -5872,7 +5876,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 5876 "built/tmp/cppBison.yxx.c" +#line 5880 "built/tmp/cppBison.yxx.c" break; case 188: /* instance_identifier: KW_VOLATILE instance_identifier */ @@ -5881,7 +5885,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 5885 "built/tmp/cppBison.yxx.c" +#line 5889 "built/tmp/cppBison.yxx.c" break; case 189: /* instance_identifier: '*' optional_attributes instance_identifier */ @@ -5890,7 +5894,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer, (yyvsp[-1].attr_list)); } -#line 5894 "built/tmp/cppBison.yxx.c" +#line 5898 "built/tmp/cppBison.yxx.c" break; case 190: /* instance_identifier: '&' optional_attributes instance_identifier */ @@ -5899,7 +5903,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference, (yyvsp[-1].attr_list)); } -#line 5903 "built/tmp/cppBison.yxx.c" +#line 5907 "built/tmp/cppBison.yxx.c" break; case 191: /* instance_identifier: ANDAND optional_attributes instance_identifier */ @@ -5908,7 +5912,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference, (yyvsp[-1].attr_list)); } -#line 5912 "built/tmp/cppBison.yxx.c" +#line 5916 "built/tmp/cppBison.yxx.c" break; case 192: /* instance_identifier: SCOPING '*' optional_attributes instance_identifier */ @@ -5917,7 +5921,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier), (yyvsp[-1].attr_list)); } -#line 5921 "built/tmp/cppBison.yxx.c" +#line 5925 "built/tmp/cppBison.yxx.c" break; case 193: /* instance_identifier: instance_identifier '[' optional_const_expr ']' optional_attributes */ @@ -5926,7 +5930,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr), (yyvsp[0].attr_list)); } -#line 5930 "built/tmp/cppBison.yxx.c" +#line 5934 "built/tmp/cppBison.yxx.c" break; case 194: /* instance_identifier: '(' instance_identifier ')' */ @@ -5935,7 +5939,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); } -#line 5939 "built/tmp/cppBison.yxx.c" +#line 5943 "built/tmp/cppBison.yxx.c" break; case 195: /* $@16: %empty */ @@ -5952,7 +5956,7 @@ yyreduce: push_scope(scope); } -#line 5956 "built/tmp/cppBison.yxx.c" +#line 5960 "built/tmp/cppBison.yxx.c" break; case 196: /* instance_identifier: instance_identifier '(' $@16 formal_parameter_list ')' function_post optional_attributes */ @@ -5970,7 +5974,7 @@ yyreduce: (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), nullptr, (yyvsp[0].attr_list)); } } -#line 5974 "built/tmp/cppBison.yxx.c" +#line 5978 "built/tmp/cppBison.yxx.c" break; case 197: /* instance_identifier_and_maybe_trailing_return_type: instance_identifier maybe_trailing_return_type */ @@ -5984,7 +5988,7 @@ yyreduce: } (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); } -#line 5988 "built/tmp/cppBison.yxx.c" +#line 5992 "built/tmp/cppBison.yxx.c" break; case 198: /* instance_identifier_and_maybe_trailing_return_type: instance_identifier ':' const_expr */ @@ -5994,7 +5998,7 @@ yyreduce: (yyvsp[-2].u.inst_ident)->_bit_width = (yyvsp[0].u.expr); (yyval.u.inst_ident) = (yyvsp[-2].u.inst_ident); } -#line 5998 "built/tmp/cppBison.yxx.c" +#line 6002 "built/tmp/cppBison.yxx.c" break; case 199: /* maybe_trailing_return_type: empty */ @@ -6002,7 +6006,7 @@ yyreduce: { (yyval.u.type) = nullptr; } -#line 6006 "built/tmp/cppBison.yxx.c" +#line 6010 "built/tmp/cppBison.yxx.c" break; case 200: /* maybe_trailing_return_type: POINTSAT predefined_type empty_instance_identifier */ @@ -6010,7 +6014,7 @@ yyreduce: { (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 6014 "built/tmp/cppBison.yxx.c" +#line 6018 "built/tmp/cppBison.yxx.c" break; case 201: /* maybe_trailing_return_type: POINTSAT KW_CONST predefined_type empty_instance_identifier */ @@ -6019,7 +6023,7 @@ yyreduce: (yyvsp[0].u.inst_ident)->add_modifier(IIT_const); (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 6023 "built/tmp/cppBison.yxx.c" +#line 6027 "built/tmp/cppBison.yxx.c" break; case 202: /* maybe_comma_identifier: empty */ @@ -6027,7 +6031,7 @@ yyreduce: { (yyval.u.identifier) = nullptr; } -#line 6031 "built/tmp/cppBison.yxx.c" +#line 6035 "built/tmp/cppBison.yxx.c" break; case 203: /* maybe_comma_identifier: ',' IDENTIFIER */ @@ -6035,7 +6039,7 @@ yyreduce: { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 6039 "built/tmp/cppBison.yxx.c" +#line 6043 "built/tmp/cppBison.yxx.c" break; case 204: /* function_parameter_list: empty */ @@ -6043,7 +6047,7 @@ yyreduce: { (yyval.u.param_list) = new CPPParameterList; } -#line 6047 "built/tmp/cppBison.yxx.c" +#line 6051 "built/tmp/cppBison.yxx.c" break; case 205: /* function_parameter_list: ELLIPSIS */ @@ -6052,7 +6056,7 @@ yyreduce: (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6056 "built/tmp/cppBison.yxx.c" +#line 6060 "built/tmp/cppBison.yxx.c" break; case 206: /* function_parameter_list: function_parameters */ @@ -6060,7 +6064,7 @@ yyreduce: { (yyval.u.param_list) = (yyvsp[0].u.param_list); } -#line 6064 "built/tmp/cppBison.yxx.c" +#line 6068 "built/tmp/cppBison.yxx.c" break; case 207: /* function_parameter_list: function_parameters ',' ELLIPSIS */ @@ -6069,7 +6073,7 @@ yyreduce: (yyval.u.param_list) = (yyvsp[-2].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6073 "built/tmp/cppBison.yxx.c" +#line 6077 "built/tmp/cppBison.yxx.c" break; case 208: /* function_parameter_list: function_parameters ELLIPSIS */ @@ -6078,7 +6082,7 @@ yyreduce: (yyval.u.param_list) = (yyvsp[-1].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6082 "built/tmp/cppBison.yxx.c" +#line 6086 "built/tmp/cppBison.yxx.c" break; case 209: /* function_parameters: function_parameter */ @@ -6087,7 +6091,7 @@ yyreduce: (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); } -#line 6091 "built/tmp/cppBison.yxx.c" +#line 6095 "built/tmp/cppBison.yxx.c" break; case 210: /* function_parameters: function_parameters ',' function_parameter */ @@ -6096,7 +6100,7 @@ yyreduce: (yyval.u.param_list) = (yyvsp[-2].u.param_list); (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); } -#line 6100 "built/tmp/cppBison.yxx.c" +#line 6104 "built/tmp/cppBison.yxx.c" break; case 211: /* formal_parameter_list: empty */ @@ -6104,7 +6108,7 @@ yyreduce: { (yyval.u.param_list) = new CPPParameterList; } -#line 6108 "built/tmp/cppBison.yxx.c" +#line 6112 "built/tmp/cppBison.yxx.c" break; case 212: /* formal_parameter_list: ELLIPSIS */ @@ -6113,7 +6117,7 @@ yyreduce: (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6117 "built/tmp/cppBison.yxx.c" +#line 6121 "built/tmp/cppBison.yxx.c" break; case 213: /* formal_parameter_list: formal_parameters */ @@ -6121,7 +6125,7 @@ yyreduce: { (yyval.u.param_list) = (yyvsp[0].u.param_list); } -#line 6125 "built/tmp/cppBison.yxx.c" +#line 6129 "built/tmp/cppBison.yxx.c" break; case 214: /* formal_parameter_list: formal_parameters ',' ELLIPSIS */ @@ -6130,7 +6134,7 @@ yyreduce: (yyval.u.param_list) = (yyvsp[-2].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6134 "built/tmp/cppBison.yxx.c" +#line 6138 "built/tmp/cppBison.yxx.c" break; case 215: /* formal_parameter_list: formal_parameters ELLIPSIS */ @@ -6139,7 +6143,7 @@ yyreduce: (yyval.u.param_list) = (yyvsp[-1].u.param_list); (yyval.u.param_list)->_includes_ellipsis = true; } -#line 6143 "built/tmp/cppBison.yxx.c" +#line 6147 "built/tmp/cppBison.yxx.c" break; case 216: /* formal_parameters: formal_parameter */ @@ -6148,7 +6152,7 @@ yyreduce: (yyval.u.param_list) = new CPPParameterList; (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); } -#line 6152 "built/tmp/cppBison.yxx.c" +#line 6156 "built/tmp/cppBison.yxx.c" break; case 217: /* formal_parameters: formal_parameters ',' formal_parameter */ @@ -6157,7 +6161,7 @@ yyreduce: (yyval.u.param_list) = (yyvsp[-2].u.param_list); (yyval.u.param_list)->_parameters.push_back((yyvsp[0].u.instance)); } -#line 6161 "built/tmp/cppBison.yxx.c" +#line 6165 "built/tmp/cppBison.yxx.c" break; case 218: /* template_parameter_maybe_initialize: empty */ @@ -6165,7 +6169,7 @@ yyreduce: { (yyval.u.expr) = nullptr; } -#line 6169 "built/tmp/cppBison.yxx.c" +#line 6173 "built/tmp/cppBison.yxx.c" break; case 219: /* template_parameter_maybe_initialize: '=' no_angle_bracket_const_expr */ @@ -6173,7 +6177,7 @@ yyreduce: { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 6177 "built/tmp/cppBison.yxx.c" +#line 6181 "built/tmp/cppBison.yxx.c" break; case 220: /* maybe_initialize: empty */ @@ -6181,7 +6185,7 @@ yyreduce: { (yyval.u.expr) = nullptr; } -#line 6185 "built/tmp/cppBison.yxx.c" +#line 6189 "built/tmp/cppBison.yxx.c" break; case 221: /* maybe_initialize: '=' const_expr */ @@ -6189,7 +6193,7 @@ yyreduce: { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 6193 "built/tmp/cppBison.yxx.c" +#line 6197 "built/tmp/cppBison.yxx.c" break; case 222: /* maybe_initialize_or_constructor_body: ';' */ @@ -6197,7 +6201,7 @@ yyreduce: { (yyval.u.expr) = nullptr; } -#line 6201 "built/tmp/cppBison.yxx.c" +#line 6205 "built/tmp/cppBison.yxx.c" break; case 223: /* maybe_initialize_or_constructor_body: '{' code '}' */ @@ -6205,7 +6209,7 @@ yyreduce: { (yyval.u.expr) = nullptr; } -#line 6209 "built/tmp/cppBison.yxx.c" +#line 6213 "built/tmp/cppBison.yxx.c" break; case 224: /* maybe_initialize_or_constructor_body: ':' constructor_inits '{' code '}' */ @@ -6213,7 +6217,7 @@ yyreduce: { (yyval.u.expr) = nullptr; } -#line 6217 "built/tmp/cppBison.yxx.c" +#line 6221 "built/tmp/cppBison.yxx.c" break; case 225: /* maybe_initialize_or_constructor_body: '=' KW_DEFAULT ';' */ @@ -6221,7 +6225,7 @@ yyreduce: { (yyval.u.expr) = new CPPExpression(CPPExpression::get_default()); } -#line 6225 "built/tmp/cppBison.yxx.c" +#line 6229 "built/tmp/cppBison.yxx.c" break; case 226: /* maybe_initialize_or_constructor_body: '=' KW_DELETE ';' */ @@ -6229,7 +6233,7 @@ yyreduce: { (yyval.u.expr) = new CPPExpression(CPPExpression::get_delete()); } -#line 6233 "built/tmp/cppBison.yxx.c" +#line 6237 "built/tmp/cppBison.yxx.c" break; case 227: /* maybe_initialize_or_function_body: ';' */ @@ -6237,7 +6241,7 @@ yyreduce: { (yyval.u.expr) = nullptr; } -#line 6241 "built/tmp/cppBison.yxx.c" +#line 6245 "built/tmp/cppBison.yxx.c" break; case 228: /* maybe_initialize_or_function_body: '{' code '}' */ @@ -6245,7 +6249,7 @@ yyreduce: { (yyval.u.expr) = nullptr; } -#line 6249 "built/tmp/cppBison.yxx.c" +#line 6253 "built/tmp/cppBison.yxx.c" break; case 229: /* maybe_initialize_or_function_body: '=' const_expr ';' */ @@ -6253,7 +6257,7 @@ yyreduce: { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 6257 "built/tmp/cppBison.yxx.c" +#line 6261 "built/tmp/cppBison.yxx.c" break; case 230: /* maybe_initialize_or_function_body: '=' KW_DEFAULT ';' */ @@ -6261,7 +6265,7 @@ yyreduce: { (yyval.u.expr) = new CPPExpression(CPPExpression::get_default()); } -#line 6265 "built/tmp/cppBison.yxx.c" +#line 6269 "built/tmp/cppBison.yxx.c" break; case 231: /* maybe_initialize_or_function_body: '=' KW_DELETE ';' */ @@ -6269,7 +6273,7 @@ yyreduce: { (yyval.u.expr) = new CPPExpression(CPPExpression::get_delete()); } -#line 6273 "built/tmp/cppBison.yxx.c" +#line 6277 "built/tmp/cppBison.yxx.c" break; case 232: /* maybe_initialize_or_function_body: '=' '{' structure_init '}' */ @@ -6277,14 +6281,14 @@ yyreduce: { (yyval.u.expr) = nullptr; } -#line 6281 "built/tmp/cppBison.yxx.c" +#line 6285 "built/tmp/cppBison.yxx.c" break; case 236: /* structure_init_body: const_expr */ #line 2176 "dtool/src/cppparser/cppBison.yxx" { } -#line 6288 "built/tmp/cppBison.yxx.c" +#line 6292 "built/tmp/cppBison.yxx.c" break; case 240: /* function_parameter: optional_attributes type formal_parameter_identifier maybe_initialize */ @@ -6294,7 +6298,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6298 "built/tmp/cppBison.yxx.c" +#line 6302 "built/tmp/cppBison.yxx.c" break; case 241: /* function_parameter: optional_attributes KW_CONST type formal_parameter_identifier maybe_initialize */ @@ -6305,7 +6309,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6309 "built/tmp/cppBison.yxx.c" +#line 6313 "built/tmp/cppBison.yxx.c" break; case 242: /* function_parameter: optional_attributes KW_CONST KW_REGISTER type formal_parameter_identifier maybe_initialize */ @@ -6316,7 +6320,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-2]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6320 "built/tmp/cppBison.yxx.c" +#line 6324 "built/tmp/cppBison.yxx.c" break; case 243: /* function_parameter: optional_attributes type_pack parameter_pack_identifier maybe_initialize */ @@ -6326,7 +6330,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6330 "built/tmp/cppBison.yxx.c" +#line 6334 "built/tmp/cppBison.yxx.c" break; case 244: /* function_parameter: optional_attributes KW_CONST type_pack parameter_pack_identifier maybe_initialize */ @@ -6337,7 +6341,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-1]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6341 "built/tmp/cppBison.yxx.c" +#line 6345 "built/tmp/cppBison.yxx.c" break; case 245: /* function_parameter: optional_attributes KW_CONST KW_REGISTER type_pack parameter_pack_identifier maybe_initialize */ @@ -6348,7 +6352,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance((yyvsp[-2].u.type), (yyvsp[-1].u.inst_ident), 0, (yylsp[-2]).file); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6352 "built/tmp/cppBison.yxx.c" +#line 6356 "built/tmp/cppBison.yxx.c" break; case 246: /* function_parameter: optional_attributes KW_REGISTER function_parameter */ @@ -6357,7 +6361,7 @@ yyreduce: (yyval.u.instance) = (yyvsp[0].u.instance); (yyval.u.instance)->_attributes.add_attributes_from((yyvsp[-2].attr_list)); } -#line 6361 "built/tmp/cppBison.yxx.c" +#line 6365 "built/tmp/cppBison.yxx.c" break; case 247: /* formal_parameter: function_parameter */ @@ -6365,7 +6369,7 @@ yyreduce: { (yyval.u.instance) = (yyvsp[0].u.instance); } -#line 6369 "built/tmp/cppBison.yxx.c" +#line 6373 "built/tmp/cppBison.yxx.c" break; case 248: /* formal_parameter: formal_const_expr */ @@ -6376,7 +6380,7 @@ yyreduce: (yyval.u.instance) = new CPPInstance(type, "expr"); (yyval.u.instance)->set_initializer((yyvsp[0].u.expr)); } -#line 6380 "built/tmp/cppBison.yxx.c" +#line 6384 "built/tmp/cppBison.yxx.c" break; case 249: /* not_paren_formal_parameter_identifier: empty */ @@ -6384,7 +6388,7 @@ yyreduce: { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6388 "built/tmp/cppBison.yxx.c" +#line 6392 "built/tmp/cppBison.yxx.c" break; case 250: /* not_paren_formal_parameter_identifier: name_no_final optional_attributes */ @@ -6392,7 +6396,7 @@ yyreduce: { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier), (yyvsp[0].attr_list)); } -#line 6396 "built/tmp/cppBison.yxx.c" +#line 6400 "built/tmp/cppBison.yxx.c" break; case 251: /* not_paren_formal_parameter_identifier: KW_CONST not_paren_formal_parameter_identifier */ @@ -6401,7 +6405,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6405 "built/tmp/cppBison.yxx.c" +#line 6409 "built/tmp/cppBison.yxx.c" break; case 252: /* not_paren_formal_parameter_identifier: KW_VOLATILE not_paren_formal_parameter_identifier */ @@ -6410,7 +6414,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6414 "built/tmp/cppBison.yxx.c" +#line 6418 "built/tmp/cppBison.yxx.c" break; case 253: /* not_paren_formal_parameter_identifier: '*' optional_attributes not_paren_formal_parameter_identifier */ @@ -6419,7 +6423,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer, (yyvsp[-1].attr_list)); } -#line 6423 "built/tmp/cppBison.yxx.c" +#line 6427 "built/tmp/cppBison.yxx.c" break; case 254: /* not_paren_formal_parameter_identifier: '&' optional_attributes not_paren_formal_parameter_identifier */ @@ -6428,7 +6432,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference, (yyvsp[-1].attr_list)); } -#line 6432 "built/tmp/cppBison.yxx.c" +#line 6436 "built/tmp/cppBison.yxx.c" break; case 255: /* not_paren_formal_parameter_identifier: ANDAND optional_attributes not_paren_formal_parameter_identifier */ @@ -6437,7 +6441,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference, (yyvsp[-1].attr_list)); } -#line 6441 "built/tmp/cppBison.yxx.c" +#line 6445 "built/tmp/cppBison.yxx.c" break; case 256: /* not_paren_formal_parameter_identifier: SCOPING '*' optional_attributes not_paren_formal_parameter_identifier */ @@ -6446,7 +6450,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier), (yyvsp[-1].attr_list)); } -#line 6450 "built/tmp/cppBison.yxx.c" +#line 6454 "built/tmp/cppBison.yxx.c" break; case 257: /* not_paren_formal_parameter_identifier: not_paren_formal_parameter_identifier '[' optional_const_expr ']' optional_attributes */ @@ -6455,7 +6459,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr), (yyvsp[0].attr_list)); } -#line 6459 "built/tmp/cppBison.yxx.c" +#line 6463 "built/tmp/cppBison.yxx.c" break; case 258: /* formal_parameter_identifier: empty */ @@ -6463,7 +6467,7 @@ yyreduce: { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6467 "built/tmp/cppBison.yxx.c" +#line 6471 "built/tmp/cppBison.yxx.c" break; case 259: /* formal_parameter_identifier: name_no_final optional_attributes */ @@ -6471,7 +6475,7 @@ yyreduce: { (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier), (yyvsp[0].attr_list)); } -#line 6475 "built/tmp/cppBison.yxx.c" +#line 6479 "built/tmp/cppBison.yxx.c" break; case 260: /* formal_parameter_identifier: KW_CONST formal_parameter_identifier */ @@ -6480,7 +6484,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6484 "built/tmp/cppBison.yxx.c" +#line 6488 "built/tmp/cppBison.yxx.c" break; case 261: /* formal_parameter_identifier: KW_VOLATILE formal_parameter_identifier */ @@ -6489,7 +6493,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6493 "built/tmp/cppBison.yxx.c" +#line 6497 "built/tmp/cppBison.yxx.c" break; case 262: /* formal_parameter_identifier: '*' optional_attributes formal_parameter_identifier */ @@ -6498,7 +6502,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer, (yyvsp[-1].attr_list)); } -#line 6502 "built/tmp/cppBison.yxx.c" +#line 6506 "built/tmp/cppBison.yxx.c" break; case 263: /* formal_parameter_identifier: '&' optional_attributes formal_parameter_identifier */ @@ -6507,7 +6511,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference, (yyvsp[-1].attr_list)); } -#line 6511 "built/tmp/cppBison.yxx.c" +#line 6515 "built/tmp/cppBison.yxx.c" break; case 264: /* formal_parameter_identifier: ANDAND optional_attributes formal_parameter_identifier */ @@ -6516,7 +6520,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference, (yyvsp[-1].attr_list)); } -#line 6520 "built/tmp/cppBison.yxx.c" +#line 6524 "built/tmp/cppBison.yxx.c" break; case 265: /* formal_parameter_identifier: SCOPING '*' optional_attributes formal_parameter_identifier */ @@ -6525,7 +6529,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier), (yyvsp[-1].attr_list)); } -#line 6529 "built/tmp/cppBison.yxx.c" +#line 6533 "built/tmp/cppBison.yxx.c" break; case 266: /* formal_parameter_identifier: formal_parameter_identifier '[' optional_const_expr ']' optional_attributes */ @@ -6534,7 +6538,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr), (yyvsp[0].attr_list)); } -#line 6538 "built/tmp/cppBison.yxx.c" +#line 6542 "built/tmp/cppBison.yxx.c" break; case 267: /* formal_parameter_identifier: '(' formal_parameter_identifier ')' '(' function_parameter_list ')' function_post optional_attributes */ @@ -6544,7 +6548,7 @@ yyreduce: (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), nullptr, (yyvsp[0].attr_list)); } -#line 6548 "built/tmp/cppBison.yxx.c" +#line 6552 "built/tmp/cppBison.yxx.c" break; case 268: /* formal_parameter_identifier: '(' formal_parameter_identifier ')' */ @@ -6553,7 +6557,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); } -#line 6557 "built/tmp/cppBison.yxx.c" +#line 6561 "built/tmp/cppBison.yxx.c" break; case 269: /* parameter_pack_identifier: ELLIPSIS */ @@ -6562,7 +6566,7 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); (yyval.u.inst_ident)->_packed = true; } -#line 6566 "built/tmp/cppBison.yxx.c" +#line 6570 "built/tmp/cppBison.yxx.c" break; case 270: /* parameter_pack_identifier: ELLIPSIS name optional_attributes */ @@ -6571,7 +6575,7 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier), (yyvsp[0].attr_list)); (yyval.u.inst_ident)->_packed = true; } -#line 6575 "built/tmp/cppBison.yxx.c" +#line 6579 "built/tmp/cppBison.yxx.c" break; case 271: /* parameter_pack_identifier: KW_CONST parameter_pack_identifier */ @@ -6580,7 +6584,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6584 "built/tmp/cppBison.yxx.c" +#line 6588 "built/tmp/cppBison.yxx.c" break; case 272: /* parameter_pack_identifier: KW_VOLATILE parameter_pack_identifier */ @@ -6589,7 +6593,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6593 "built/tmp/cppBison.yxx.c" +#line 6597 "built/tmp/cppBison.yxx.c" break; case 273: /* parameter_pack_identifier: '*' optional_attributes parameter_pack_identifier */ @@ -6598,7 +6602,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer, (yyvsp[-1].attr_list)); } -#line 6602 "built/tmp/cppBison.yxx.c" +#line 6606 "built/tmp/cppBison.yxx.c" break; case 274: /* parameter_pack_identifier: '&' optional_attributes parameter_pack_identifier */ @@ -6607,7 +6611,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference, (yyvsp[-1].attr_list)); } -#line 6611 "built/tmp/cppBison.yxx.c" +#line 6615 "built/tmp/cppBison.yxx.c" break; case 275: /* parameter_pack_identifier: ANDAND optional_attributes parameter_pack_identifier */ @@ -6616,7 +6620,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference, (yyvsp[-1].attr_list)); } -#line 6620 "built/tmp/cppBison.yxx.c" +#line 6624 "built/tmp/cppBison.yxx.c" break; case 276: /* parameter_pack_identifier: SCOPING '*' optional_attributes parameter_pack_identifier */ @@ -6625,7 +6629,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier), (yyvsp[-1].attr_list)); } -#line 6629 "built/tmp/cppBison.yxx.c" +#line 6633 "built/tmp/cppBison.yxx.c" break; case 277: /* parameter_pack_identifier: parameter_pack_identifier '[' optional_const_expr ']' optional_attributes */ @@ -6634,7 +6638,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr), (yyvsp[0].attr_list)); } -#line 6638 "built/tmp/cppBison.yxx.c" +#line 6642 "built/tmp/cppBison.yxx.c" break; case 278: /* parameter_pack_identifier: '(' parameter_pack_identifier ')' '(' function_parameter_list ')' function_post optional_attributes */ @@ -6644,7 +6648,7 @@ yyreduce: (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-3].u.param_list), (yyvsp[-1].u.integer), nullptr, (yyvsp[0].attr_list)); } -#line 6648 "built/tmp/cppBison.yxx.c" +#line 6652 "built/tmp/cppBison.yxx.c" break; case 279: /* parameter_pack_identifier: '(' parameter_pack_identifier ')' */ @@ -6653,7 +6657,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-1].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_paren); } -#line 6657 "built/tmp/cppBison.yxx.c" +#line 6661 "built/tmp/cppBison.yxx.c" break; case 280: /* not_paren_empty_instance_identifier: empty */ @@ -6661,7 +6665,7 @@ yyreduce: { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6665 "built/tmp/cppBison.yxx.c" +#line 6669 "built/tmp/cppBison.yxx.c" break; case 281: /* not_paren_empty_instance_identifier: ELLIPSIS */ @@ -6670,7 +6674,7 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); (yyval.u.inst_ident)->_packed = true; } -#line 6674 "built/tmp/cppBison.yxx.c" +#line 6678 "built/tmp/cppBison.yxx.c" break; case 282: /* not_paren_empty_instance_identifier: ELLIPSIS name optional_attributes */ @@ -6679,7 +6683,7 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier), (yyvsp[0].attr_list)); (yyval.u.inst_ident)->_packed = true; } -#line 6683 "built/tmp/cppBison.yxx.c" +#line 6687 "built/tmp/cppBison.yxx.c" break; case 283: /* not_paren_empty_instance_identifier: KW_CONST not_paren_empty_instance_identifier */ @@ -6688,7 +6692,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6692 "built/tmp/cppBison.yxx.c" +#line 6696 "built/tmp/cppBison.yxx.c" break; case 284: /* not_paren_empty_instance_identifier: KW_VOLATILE not_paren_empty_instance_identifier */ @@ -6697,7 +6701,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6701 "built/tmp/cppBison.yxx.c" +#line 6705 "built/tmp/cppBison.yxx.c" break; case 285: /* not_paren_empty_instance_identifier: '*' optional_attributes not_paren_empty_instance_identifier */ @@ -6706,7 +6710,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer, (yyvsp[-1].attr_list)); } -#line 6710 "built/tmp/cppBison.yxx.c" +#line 6714 "built/tmp/cppBison.yxx.c" break; case 286: /* not_paren_empty_instance_identifier: '&' optional_attributes not_paren_empty_instance_identifier */ @@ -6715,7 +6719,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference, (yyvsp[-1].attr_list)); } -#line 6719 "built/tmp/cppBison.yxx.c" +#line 6723 "built/tmp/cppBison.yxx.c" break; case 287: /* not_paren_empty_instance_identifier: ANDAND optional_attributes not_paren_empty_instance_identifier */ @@ -6724,7 +6728,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference, (yyvsp[-1].attr_list)); } -#line 6728 "built/tmp/cppBison.yxx.c" +#line 6732 "built/tmp/cppBison.yxx.c" break; case 288: /* not_paren_empty_instance_identifier: SCOPING '*' optional_attributes not_paren_empty_instance_identifier */ @@ -6733,7 +6737,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier), (yyvsp[-1].attr_list)); } -#line 6737 "built/tmp/cppBison.yxx.c" +#line 6741 "built/tmp/cppBison.yxx.c" break; case 289: /* not_paren_empty_instance_identifier: not_paren_empty_instance_identifier '[' optional_const_expr ']' optional_attributes */ @@ -6742,7 +6746,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr), (yyvsp[0].attr_list)); } -#line 6746 "built/tmp/cppBison.yxx.c" +#line 6750 "built/tmp/cppBison.yxx.c" break; case 290: /* empty_instance_identifier: empty */ @@ -6750,7 +6754,7 @@ yyreduce: { (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); } -#line 6754 "built/tmp/cppBison.yxx.c" +#line 6758 "built/tmp/cppBison.yxx.c" break; case 291: /* empty_instance_identifier: ELLIPSIS */ @@ -6759,7 +6763,7 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier(nullptr); (yyval.u.inst_ident)->_packed = true; } -#line 6763 "built/tmp/cppBison.yxx.c" +#line 6767 "built/tmp/cppBison.yxx.c" break; case 292: /* empty_instance_identifier: ELLIPSIS name optional_attributes */ @@ -6768,7 +6772,7 @@ yyreduce: (yyval.u.inst_ident) = new CPPInstanceIdentifier((yyvsp[-1].u.identifier), (yyvsp[0].attr_list)); (yyval.u.inst_ident)->_packed = true; } -#line 6772 "built/tmp/cppBison.yxx.c" +#line 6776 "built/tmp/cppBison.yxx.c" break; case 293: /* empty_instance_identifier: KW_CONST empty_instance_identifier */ @@ -6777,7 +6781,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_const); } -#line 6781 "built/tmp/cppBison.yxx.c" +#line 6785 "built/tmp/cppBison.yxx.c" break; case 294: /* empty_instance_identifier: KW_VOLATILE empty_instance_identifier */ @@ -6786,7 +6790,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_volatile); } -#line 6790 "built/tmp/cppBison.yxx.c" +#line 6794 "built/tmp/cppBison.yxx.c" break; case 295: /* empty_instance_identifier: '*' optional_attributes not_paren_empty_instance_identifier */ @@ -6795,7 +6799,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_pointer, (yyvsp[-1].attr_list)); } -#line 6799 "built/tmp/cppBison.yxx.c" +#line 6803 "built/tmp/cppBison.yxx.c" break; case 296: /* empty_instance_identifier: '&' optional_attributes not_paren_empty_instance_identifier */ @@ -6804,7 +6808,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_reference, (yyvsp[-1].attr_list)); } -#line 6808 "built/tmp/cppBison.yxx.c" +#line 6812 "built/tmp/cppBison.yxx.c" break; case 297: /* empty_instance_identifier: ANDAND optional_attributes not_paren_empty_instance_identifier */ @@ -6813,7 +6817,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_modifier(IIT_rvalue_reference, (yyvsp[-1].attr_list)); } -#line 6817 "built/tmp/cppBison.yxx.c" +#line 6821 "built/tmp/cppBison.yxx.c" break; case 298: /* empty_instance_identifier: SCOPING '*' optional_attributes not_paren_empty_instance_identifier */ @@ -6822,7 +6826,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[0].u.inst_ident); (yyval.u.inst_ident)->add_scoped_pointer_modifier((yyvsp[-3].u.identifier), (yyvsp[-1].attr_list)); } -#line 6826 "built/tmp/cppBison.yxx.c" +#line 6830 "built/tmp/cppBison.yxx.c" break; case 299: /* empty_instance_identifier: not_paren_empty_instance_identifier '[' optional_const_expr ']' optional_attributes */ @@ -6831,7 +6835,7 @@ yyreduce: (yyval.u.inst_ident) = (yyvsp[-4].u.inst_ident); (yyval.u.inst_ident)->add_array_modifier((yyvsp[-2].u.expr), (yyvsp[0].attr_list)); } -#line 6835 "built/tmp/cppBison.yxx.c" +#line 6839 "built/tmp/cppBison.yxx.c" break; case 300: /* empty_instance_identifier: '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type */ @@ -6841,7 +6845,7 @@ yyreduce: (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-4].u.param_list), (yyvsp[-2].u.integer), (yyvsp[0].u.type), (yyvsp[-1].attr_list)); } -#line 6845 "built/tmp/cppBison.yxx.c" +#line 6849 "built/tmp/cppBison.yxx.c" break; case 301: /* empty_instance_identifier: '(' '*' optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type */ @@ -6852,7 +6856,7 @@ yyreduce: (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-4].u.param_list), (yyvsp[-2].u.integer), (yyvsp[0].u.type), (yyvsp[-1].attr_list)); } -#line 6856 "built/tmp/cppBison.yxx.c" +#line 6860 "built/tmp/cppBison.yxx.c" break; case 302: /* empty_instance_identifier: '(' '&' optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type */ @@ -6863,7 +6867,7 @@ yyreduce: (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-4].u.param_list), (yyvsp[-2].u.integer), (yyvsp[0].u.type), (yyvsp[-1].attr_list)); } -#line 6867 "built/tmp/cppBison.yxx.c" +#line 6871 "built/tmp/cppBison.yxx.c" break; case 303: /* empty_instance_identifier: '(' ANDAND optional_attributes not_paren_empty_instance_identifier ')' '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type */ @@ -6874,7 +6878,7 @@ yyreduce: (yyval.u.inst_ident)->add_modifier(IIT_paren); (yyval.u.inst_ident)->add_func_modifier((yyvsp[-4].u.param_list), (yyvsp[-2].u.integer), (yyvsp[0].u.type), (yyvsp[-1].attr_list)); } -#line 6878 "built/tmp/cppBison.yxx.c" +#line 6882 "built/tmp/cppBison.yxx.c" break; case 304: /* type: simple_type */ @@ -6882,7 +6886,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 6886 "built/tmp/cppBison.yxx.c" +#line 6890 "built/tmp/cppBison.yxx.c" break; case 305: /* type: TYPENAME_IDENTIFIER */ @@ -6894,7 +6898,7 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 6898 "built/tmp/cppBison.yxx.c" +#line 6902 "built/tmp/cppBison.yxx.c" break; case 306: /* type: KW_TYPENAME name */ @@ -6902,7 +6906,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 6906 "built/tmp/cppBison.yxx.c" +#line 6910 "built/tmp/cppBison.yxx.c" break; case 307: /* type: anonymous_struct */ @@ -6910,7 +6914,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.struct_type)); } -#line 6914 "built/tmp/cppBison.yxx.c" +#line 6918 "built/tmp/cppBison.yxx.c" break; case 308: /* type: named_struct */ @@ -6918,7 +6922,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.struct_type)); } -#line 6922 "built/tmp/cppBison.yxx.c" +#line 6926 "built/tmp/cppBison.yxx.c" break; case 309: /* type: enum */ @@ -6926,7 +6930,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.enum_type)); } -#line 6930 "built/tmp/cppBison.yxx.c" +#line 6934 "built/tmp/cppBison.yxx.c" break; case 310: /* type: struct_keyword optional_attributes name */ @@ -6946,7 +6950,7 @@ yyreduce: (yyval.u.type) = et; } } -#line 6950 "built/tmp/cppBison.yxx.c" +#line 6954 "built/tmp/cppBison.yxx.c" break; case 311: /* type: enum_keyword optional_attributes name_no_final ':' enum_element_type */ @@ -6966,7 +6970,7 @@ yyreduce: (yyval.u.type) = et; } } -#line 6970 "built/tmp/cppBison.yxx.c" +#line 6974 "built/tmp/cppBison.yxx.c" break; case 312: /* type: KW_DECLTYPE '(' const_expr ')' */ @@ -6979,7 +6983,7 @@ yyreduce: yyerror("could not determine type of " + str.str(), (yylsp[-1])); } } -#line 6983 "built/tmp/cppBison.yxx.c" +#line 6987 "built/tmp/cppBison.yxx.c" break; case 313: /* type: KW_DECLTYPE '(' KW_AUTO ')' */ @@ -6987,7 +6991,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 6991 "built/tmp/cppBison.yxx.c" +#line 6995 "built/tmp/cppBison.yxx.c" break; case 314: /* type: KW_UNDERLYING_TYPE '(' full_type ')' */ @@ -7001,7 +7005,7 @@ yyreduce: (yyval.u.type) = enum_type->get_underlying_type(); } } -#line 7005 "built/tmp/cppBison.yxx.c" +#line 7009 "built/tmp/cppBison.yxx.c" break; case 315: /* type: KW_AUTO */ @@ -7009,7 +7013,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7013 "built/tmp/cppBison.yxx.c" +#line 7017 "built/tmp/cppBison.yxx.c" break; case 316: /* type_pack: TYPEPACK_IDENTIFIER */ @@ -7021,7 +7025,7 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 7025 "built/tmp/cppBison.yxx.c" +#line 7029 "built/tmp/cppBison.yxx.c" break; case 317: /* type_decl: simple_type */ @@ -7029,7 +7033,7 @@ yyreduce: { (yyval.u.decl) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 7033 "built/tmp/cppBison.yxx.c" +#line 7037 "built/tmp/cppBison.yxx.c" break; case 318: /* type_decl: TYPENAME_IDENTIFIER */ @@ -7041,7 +7045,7 @@ yyreduce: } assert((yyval.u.decl) != nullptr); } -#line 7045 "built/tmp/cppBison.yxx.c" +#line 7049 "built/tmp/cppBison.yxx.c" break; case 319: /* type_decl: KW_TYPENAME name */ @@ -7049,7 +7053,7 @@ yyreduce: { (yyval.u.decl) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 7053 "built/tmp/cppBison.yxx.c" +#line 7057 "built/tmp/cppBison.yxx.c" break; case 320: /* type_decl: anonymous_struct */ @@ -7057,7 +7061,7 @@ yyreduce: { (yyval.u.decl) = CPPType::new_type((yyvsp[0].u.struct_type)); } -#line 7061 "built/tmp/cppBison.yxx.c" +#line 7065 "built/tmp/cppBison.yxx.c" break; case 321: /* type_decl: named_struct */ @@ -7065,7 +7069,7 @@ yyreduce: { (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[0].u.struct_type))); } -#line 7069 "built/tmp/cppBison.yxx.c" +#line 7073 "built/tmp/cppBison.yxx.c" break; case 322: /* type_decl: enum */ @@ -7073,7 +7077,7 @@ yyreduce: { (yyval.u.decl) = new CPPTypeDeclaration(CPPType::new_type((yyvsp[0].u.enum_type))); } -#line 7077 "built/tmp/cppBison.yxx.c" +#line 7081 "built/tmp/cppBison.yxx.c" break; case 323: /* type_decl: struct_keyword optional_attributes name */ @@ -7093,7 +7097,7 @@ yyreduce: (yyval.u.decl) = et; } } -#line 7097 "built/tmp/cppBison.yxx.c" +#line 7101 "built/tmp/cppBison.yxx.c" break; case 324: /* type_decl: enum_keyword optional_attributes name_no_final ':' enum_element_type */ @@ -7113,7 +7117,7 @@ yyreduce: (yyval.u.decl) = et; } } -#line 7117 "built/tmp/cppBison.yxx.c" +#line 7121 "built/tmp/cppBison.yxx.c" break; case 325: /* type_decl: enum_keyword optional_attributes name */ @@ -7135,7 +7139,7 @@ yyreduce: (yyval.u.decl) = et; } } -#line 7139 "built/tmp/cppBison.yxx.c" +#line 7143 "built/tmp/cppBison.yxx.c" break; case 326: /* type_decl: KW_DECLTYPE '(' const_expr ')' */ @@ -7148,7 +7152,7 @@ yyreduce: yyerror("could not determine type of " + str.str(), (yylsp[-1])); } } -#line 7152 "built/tmp/cppBison.yxx.c" +#line 7156 "built/tmp/cppBison.yxx.c" break; case 327: /* type_decl: KW_DECLTYPE '(' KW_AUTO ')' */ @@ -7156,7 +7160,7 @@ yyreduce: { (yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7160 "built/tmp/cppBison.yxx.c" +#line 7164 "built/tmp/cppBison.yxx.c" break; case 328: /* type_decl: KW_UNDERLYING_TYPE '(' full_type ')' */ @@ -7170,7 +7174,7 @@ yyreduce: (yyval.u.decl) = enum_type->get_underlying_type(); } } -#line 7174 "built/tmp/cppBison.yxx.c" +#line 7178 "built/tmp/cppBison.yxx.c" break; case 329: /* type_decl: KW_AUTO */ @@ -7178,7 +7182,7 @@ yyreduce: { (yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7182 "built/tmp/cppBison.yxx.c" +#line 7186 "built/tmp/cppBison.yxx.c" break; case 330: /* predefined_type: simple_type */ @@ -7186,7 +7190,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } -#line 7190 "built/tmp/cppBison.yxx.c" +#line 7194 "built/tmp/cppBison.yxx.c" break; case 331: /* predefined_type: TYPENAME_IDENTIFIER */ @@ -7198,7 +7202,7 @@ yyreduce: } assert((yyval.u.type) != nullptr); } -#line 7202 "built/tmp/cppBison.yxx.c" +#line 7206 "built/tmp/cppBison.yxx.c" break; case 332: /* predefined_type: KW_TYPENAME name */ @@ -7206,7 +7210,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 7210 "built/tmp/cppBison.yxx.c" +#line 7214 "built/tmp/cppBison.yxx.c" break; case 333: /* predefined_type: struct_keyword optional_attributes name */ @@ -7226,7 +7230,7 @@ yyreduce: (yyval.u.type) = et; } } -#line 7230 "built/tmp/cppBison.yxx.c" +#line 7234 "built/tmp/cppBison.yxx.c" break; case 334: /* predefined_type: enum_keyword optional_attributes name */ @@ -7246,7 +7250,7 @@ yyreduce: (yyval.u.type) = et; } } -#line 7250 "built/tmp/cppBison.yxx.c" +#line 7254 "built/tmp/cppBison.yxx.c" break; case 335: /* predefined_type: KW_DECLTYPE '(' const_expr ')' */ @@ -7259,7 +7263,7 @@ yyreduce: yyerror("could not determine type of " + str.str(), (yylsp[-1])); } } -#line 7263 "built/tmp/cppBison.yxx.c" +#line 7267 "built/tmp/cppBison.yxx.c" break; case 336: /* predefined_type: KW_UNDERLYING_TYPE '(' full_type ')' */ @@ -7273,7 +7277,7 @@ yyreduce: (yyval.u.type) = enum_type->get_underlying_type(); } } -#line 7277 "built/tmp/cppBison.yxx.c" +#line 7281 "built/tmp/cppBison.yxx.c" break; case 337: /* predefined_type: KW_AUTO */ @@ -7281,7 +7285,7 @@ yyreduce: { (yyval.u.type) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_auto)); } -#line 7285 "built/tmp/cppBison.yxx.c" +#line 7289 "built/tmp/cppBison.yxx.c" break; case 338: /* var_type_decl: type_decl */ @@ -7289,7 +7293,7 @@ yyreduce: { (yyval.u.decl) = (yyvsp[0].u.decl); } -#line 7293 "built/tmp/cppBison.yxx.c" +#line 7297 "built/tmp/cppBison.yxx.c" break; case 339: /* var_type_decl: IDENTIFIER */ @@ -7299,7 +7303,7 @@ yyreduce: (yyval.u.decl) = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_unknown)); } -#line 7303 "built/tmp/cppBison.yxx.c" +#line 7307 "built/tmp/cppBison.yxx.c" break; case 340: /* full_type: type empty_instance_identifier */ @@ -7307,7 +7311,7 @@ yyreduce: { (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 7311 "built/tmp/cppBison.yxx.c" +#line 7315 "built/tmp/cppBison.yxx.c" break; case 341: /* full_type: KW_CONST type empty_instance_identifier */ @@ -7316,7 +7320,7 @@ yyreduce: (yyvsp[0].u.inst_ident)->add_modifier(IIT_const); (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 7320 "built/tmp/cppBison.yxx.c" +#line 7324 "built/tmp/cppBison.yxx.c" break; case 342: /* full_type: type_pack empty_instance_identifier */ @@ -7324,7 +7328,7 @@ yyreduce: { (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 7328 "built/tmp/cppBison.yxx.c" +#line 7332 "built/tmp/cppBison.yxx.c" break; case 343: /* full_type: KW_CONST type_pack empty_instance_identifier */ @@ -7333,7 +7337,7 @@ yyreduce: (yyvsp[0].u.inst_ident)->add_modifier(IIT_const); (yyval.u.type) = (yyvsp[0].u.inst_ident)->unroll_type((yyvsp[-1].u.type)); } -#line 7337 "built/tmp/cppBison.yxx.c" +#line 7341 "built/tmp/cppBison.yxx.c" break; case 344: /* $@17: %empty */ @@ -7351,7 +7355,7 @@ yyreduce: push_scope(new_scope); push_struct(st); } -#line 7355 "built/tmp/cppBison.yxx.c" +#line 7359 "built/tmp/cppBison.yxx.c" break; case 345: /* anonymous_struct: struct_keyword optional_attributes '{' $@17 cpp '}' */ @@ -7362,7 +7366,7 @@ yyreduce: pop_struct(); pop_scope(); } -#line 7366 "built/tmp/cppBison.yxx.c" +#line 7370 "built/tmp/cppBison.yxx.c" break; case 346: /* $@18: %empty */ @@ -7386,7 +7390,7 @@ yyreduce: push_scope(new_scope); push_struct(st); } -#line 7390 "built/tmp/cppBison.yxx.c" +#line 7394 "built/tmp/cppBison.yxx.c" break; case 347: /* named_struct: struct_keyword optional_attributes name_no_final $@18 maybe_final maybe_class_derivation '{' cpp '}' */ @@ -7397,7 +7401,7 @@ yyreduce: pop_struct(); pop_scope(); } -#line 7401 "built/tmp/cppBison.yxx.c" +#line 7405 "built/tmp/cppBison.yxx.c" break; case 349: /* maybe_final: KW_FINAL */ @@ -7405,7 +7409,7 @@ yyreduce: { current_struct->_final = true; } -#line 7409 "built/tmp/cppBison.yxx.c" +#line 7413 "built/tmp/cppBison.yxx.c" break; case 354: /* base_specification: class_derivation_name */ @@ -7413,7 +7417,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_unknown, false); } -#line 7417 "built/tmp/cppBison.yxx.c" +#line 7421 "built/tmp/cppBison.yxx.c" break; case 355: /* base_specification: KW_PUBLIC class_derivation_name */ @@ -7421,7 +7425,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_public, false); } -#line 7425 "built/tmp/cppBison.yxx.c" +#line 7429 "built/tmp/cppBison.yxx.c" break; case 356: /* base_specification: KW_PROTECTED class_derivation_name */ @@ -7429,7 +7433,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_protected, false); } -#line 7433 "built/tmp/cppBison.yxx.c" +#line 7437 "built/tmp/cppBison.yxx.c" break; case 357: /* base_specification: KW_PRIVATE class_derivation_name */ @@ -7437,7 +7441,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_private, false); } -#line 7441 "built/tmp/cppBison.yxx.c" +#line 7445 "built/tmp/cppBison.yxx.c" break; case 358: /* base_specification: KW_VIRTUAL KW_PUBLIC class_derivation_name */ @@ -7445,7 +7449,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_public, true); } -#line 7449 "built/tmp/cppBison.yxx.c" +#line 7453 "built/tmp/cppBison.yxx.c" break; case 359: /* base_specification: KW_VIRTUAL KW_PROTECTED class_derivation_name */ @@ -7453,7 +7457,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_protected, true); } -#line 7457 "built/tmp/cppBison.yxx.c" +#line 7461 "built/tmp/cppBison.yxx.c" break; case 360: /* base_specification: KW_VIRTUAL KW_PRIVATE class_derivation_name */ @@ -7461,7 +7465,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_private, true); } -#line 7465 "built/tmp/cppBison.yxx.c" +#line 7469 "built/tmp/cppBison.yxx.c" break; case 361: /* base_specification: KW_PUBLIC KW_VIRTUAL class_derivation_name */ @@ -7469,7 +7473,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_public, true); } -#line 7473 "built/tmp/cppBison.yxx.c" +#line 7477 "built/tmp/cppBison.yxx.c" break; case 362: /* base_specification: KW_PROTECTED KW_VIRTUAL class_derivation_name */ @@ -7477,7 +7481,7 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_protected, true); } -#line 7481 "built/tmp/cppBison.yxx.c" +#line 7485 "built/tmp/cppBison.yxx.c" break; case 363: /* base_specification: KW_PRIVATE KW_VIRTUAL class_derivation_name */ @@ -7485,154 +7489,167 @@ yyreduce: { current_struct->append_derivation((yyvsp[0].u.type), V_private, true); } -#line 7489 "built/tmp/cppBison.yxx.c" +#line 7493 "built/tmp/cppBison.yxx.c" break; - case 364: /* enum: enum_decl '{' enum_body '}' */ + case 364: /* $@19: %empty */ #line 2975 "dtool/src/cppparser/cppBison.yxx" { + if (current_enum->_scope != nullptr) { + push_scope(current_enum->_scope); + } +} +#line 7503 "built/tmp/cppBison.yxx.c" + break; + + case 365: /* enum: enum_decl $@19 '{' enum_body '}' */ +#line 2981 "dtool/src/cppparser/cppBison.yxx" +{ + if (current_enum->_scope != nullptr) { + pop_scope(); + } (yyval.u.enum_type) = current_enum; current_enum = nullptr; } -#line 7498 "built/tmp/cppBison.yxx.c" +#line 7515 "built/tmp/cppBison.yxx.c" break; - case 365: /* enum_decl: enum_keyword optional_attributes ':' enum_element_type */ -#line 2983 "dtool/src/cppparser/cppBison.yxx" + case 366: /* enum_decl: enum_keyword optional_attributes ':' enum_element_type */ +#line 2992 "dtool/src/cppparser/cppBison.yxx" { current_enum = new CPPEnumType((yyvsp[-3].u.extension_enum), nullptr, (yyvsp[0].u.type), current_scope, nullptr, (yylsp[-3]).file, (yyvsp[-2].attr_list)); } -#line 7506 "built/tmp/cppBison.yxx.c" - break; - - case 366: /* enum_decl: enum_keyword optional_attributes */ -#line 2987 "dtool/src/cppparser/cppBison.yxx" -{ - current_enum = new CPPEnumType((yyvsp[-1].u.extension_enum), nullptr, current_scope, nullptr, (yylsp[-1]).file, (yyvsp[0].attr_list)); -} -#line 7514 "built/tmp/cppBison.yxx.c" - break; - - case 367: /* enum_decl: enum_keyword optional_attributes name_no_final ':' enum_element_type */ -#line 2991 "dtool/src/cppparser/cppBison.yxx" -{ - CPPScope *new_scope = new CPPScope(current_scope, (yyvsp[-2].u.identifier)->_names.back(), V_public); - current_enum = new CPPEnumType((yyvsp[-4].u.extension_enum), (yyvsp[-2].u.identifier), (yyvsp[0].u.type), current_scope, new_scope, (yylsp[-4]).file, (yyvsp[-3].attr_list)); -} #line 7523 "built/tmp/cppBison.yxx.c" break; - case 368: /* enum_decl: enum_keyword optional_attributes name_no_final */ + case 367: /* enum_decl: enum_keyword optional_attributes */ #line 2996 "dtool/src/cppparser/cppBison.yxx" { - CPPScope *new_scope = new CPPScope(current_scope, (yyvsp[0].u.identifier)->_names.back(), V_public); - current_enum = new CPPEnumType((yyvsp[-2].u.extension_enum), (yyvsp[0].u.identifier), current_scope, new_scope, (yylsp[-2]).file, (yyvsp[-1].attr_list)); + current_enum = new CPPEnumType((yyvsp[-1].u.extension_enum), nullptr, current_scope, nullptr, (yylsp[-1]).file, (yyvsp[0].attr_list)); } -#line 7532 "built/tmp/cppBison.yxx.c" +#line 7531 "built/tmp/cppBison.yxx.c" break; - case 369: /* enum_element_type: simple_int_type */ -#line 3004 "dtool/src/cppparser/cppBison.yxx" + case 368: /* enum_decl: enum_keyword optional_attributes name_no_final ':' enum_element_type */ +#line 3000 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); + CPPScope *new_scope = new CPPScope(current_scope, (yyvsp[-2].u.identifier)->_names.back(), V_public); + current_enum = new CPPEnumType((yyvsp[-4].u.extension_enum), (yyvsp[-2].u.identifier), (yyvsp[0].u.type), current_scope, new_scope, (yylsp[-4]).file, (yyvsp[-3].attr_list)); } #line 7540 "built/tmp/cppBison.yxx.c" break; - case 370: /* enum_element_type: TYPENAME_IDENTIFIER */ -#line 3008 "dtool/src/cppparser/cppBison.yxx" + case 369: /* enum_decl: enum_keyword optional_attributes name_no_final */ +#line 3005 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); + CPPScope *new_scope = new CPPScope(current_scope, (yyvsp[0].u.identifier)->_names.back(), V_public); + current_enum = new CPPEnumType((yyvsp[-2].u.extension_enum), (yyvsp[0].u.identifier), current_scope, new_scope, (yylsp[-2]).file, (yyvsp[-1].attr_list)); } -#line 7548 "built/tmp/cppBison.yxx.c" +#line 7549 "built/tmp/cppBison.yxx.c" break; - case 372: /* enum_body_trailing_comma: enum_body_trailing_comma name optional_attributes ',' */ -#line 3016 "dtool/src/cppparser/cppBison.yxx" + case 370: /* enum_element_type: simple_int_type */ +#line 3013 "dtool/src/cppparser/cppBison.yxx" { - assert(current_enum != nullptr); - current_enum->add_element((yyvsp[-2].u.identifier)->get_simple_name(), nullptr, current_lexer, (yylsp[-2]), (yyvsp[-1].attr_list)); + (yyval.u.type) = CPPType::new_type((yyvsp[0].u.simple_type)); } #line 7557 "built/tmp/cppBison.yxx.c" break; - case 373: /* enum_body_trailing_comma: enum_body_trailing_comma name optional_attributes '=' const_expr ',' */ -#line 3021 "dtool/src/cppparser/cppBison.yxx" + case 371: /* enum_element_type: TYPENAME_IDENTIFIER */ +#line 3017 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.type) = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); +} +#line 7565 "built/tmp/cppBison.yxx.c" + break; + + case 373: /* enum_body_trailing_comma: enum_body_trailing_comma name optional_attributes ',' */ +#line 3025 "dtool/src/cppparser/cppBison.yxx" +{ + assert(current_enum != nullptr); + current_enum->add_element((yyvsp[-2].u.identifier)->get_simple_name(), nullptr, current_lexer, (yylsp[-2]), (yyvsp[-1].attr_list)); +} +#line 7574 "built/tmp/cppBison.yxx.c" + break; + + case 374: /* enum_body_trailing_comma: enum_body_trailing_comma name optional_attributes '=' const_expr ',' */ +#line 3030 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != nullptr); current_enum->add_element((yyvsp[-4].u.identifier)->get_simple_name(), (yyvsp[-1].u.expr), current_lexer, (yylsp[-4]), (yyvsp[-3].attr_list)); } -#line 7566 "built/tmp/cppBison.yxx.c" +#line 7583 "built/tmp/cppBison.yxx.c" break; - case 375: /* enum_body: enum_body_trailing_comma name optional_attributes */ -#line 3029 "dtool/src/cppparser/cppBison.yxx" + case 376: /* enum_body: enum_body_trailing_comma name optional_attributes */ +#line 3038 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != nullptr); current_enum->add_element((yyvsp[-1].u.identifier)->get_simple_name(), nullptr, current_lexer, (yylsp[-1]), (yyvsp[0].attr_list)); } -#line 7575 "built/tmp/cppBison.yxx.c" +#line 7592 "built/tmp/cppBison.yxx.c" break; - case 376: /* enum_body: enum_body_trailing_comma name optional_attributes '=' const_expr */ -#line 3034 "dtool/src/cppparser/cppBison.yxx" + case 377: /* enum_body: enum_body_trailing_comma name optional_attributes '=' const_expr */ +#line 3043 "dtool/src/cppparser/cppBison.yxx" { assert(current_enum != nullptr); current_enum->add_element((yyvsp[-3].u.identifier)->get_simple_name(), (yyvsp[0].u.expr), current_lexer, (yylsp[-3]), (yyvsp[-2].attr_list)); } -#line 7584 "built/tmp/cppBison.yxx.c" +#line 7601 "built/tmp/cppBison.yxx.c" break; - case 377: /* enum_keyword: KW_ENUM */ -#line 3042 "dtool/src/cppparser/cppBison.yxx" + case 378: /* enum_keyword: KW_ENUM */ +#line 3051 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum; } -#line 7592 "built/tmp/cppBison.yxx.c" +#line 7609 "built/tmp/cppBison.yxx.c" break; - case 378: /* enum_keyword: KW_ENUM KW_CLASS */ -#line 3046 "dtool/src/cppparser/cppBison.yxx" + case 379: /* enum_keyword: KW_ENUM KW_CLASS */ +#line 3055 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum_class; } -#line 7600 "built/tmp/cppBison.yxx.c" +#line 7617 "built/tmp/cppBison.yxx.c" break; - case 379: /* enum_keyword: KW_ENUM KW_STRUCT */ -#line 3050 "dtool/src/cppparser/cppBison.yxx" + case 380: /* enum_keyword: KW_ENUM KW_STRUCT */ +#line 3059 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_enum_struct; } -#line 7608 "built/tmp/cppBison.yxx.c" +#line 7625 "built/tmp/cppBison.yxx.c" break; - case 380: /* struct_keyword: KW_CLASS */ -#line 3057 "dtool/src/cppparser/cppBison.yxx" + case 381: /* struct_keyword: KW_CLASS */ +#line 3066 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_class; } -#line 7616 "built/tmp/cppBison.yxx.c" +#line 7633 "built/tmp/cppBison.yxx.c" break; - case 381: /* struct_keyword: KW_STRUCT */ -#line 3061 "dtool/src/cppparser/cppBison.yxx" + case 382: /* struct_keyword: KW_STRUCT */ +#line 3070 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_struct; } -#line 7624 "built/tmp/cppBison.yxx.c" +#line 7641 "built/tmp/cppBison.yxx.c" break; - case 382: /* struct_keyword: KW_UNION */ -#line 3065 "dtool/src/cppparser/cppBison.yxx" + case 383: /* struct_keyword: KW_UNION */ +#line 3074 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.extension_enum) = CPPExtensionType::T_union; } -#line 7632 "built/tmp/cppBison.yxx.c" +#line 7649 "built/tmp/cppBison.yxx.c" break; - case 383: /* $@19: %empty */ -#line 3072 "dtool/src/cppparser/cppBison.yxx" + case 384: /* $@20: %empty */ +#line 3081 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[-1].u.identifier)->find_scope(current_scope, global_scope, current_lexer); if (scope == nullptr) { @@ -7650,19 +7667,19 @@ yyreduce: current_scope->define_namespace(nspace); push_scope(scope); } -#line 7654 "built/tmp/cppBison.yxx.c" +#line 7671 "built/tmp/cppBison.yxx.c" break; - case 384: /* namespace_declaration: KW_NAMESPACE optional_attributes name '{' $@19 cpp '}' */ -#line 3090 "dtool/src/cppparser/cppBison.yxx" + case 385: /* namespace_declaration: KW_NAMESPACE optional_attributes name '{' $@20 cpp '}' */ +#line 3099 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } -#line 7662 "built/tmp/cppBison.yxx.c" +#line 7679 "built/tmp/cppBison.yxx.c" break; - case 385: /* $@20: %empty */ -#line 3094 "dtool/src/cppparser/cppBison.yxx" + case 386: /* $@21: %empty */ +#line 3103 "dtool/src/cppparser/cppBison.yxx" { CPPScope *scope = (yyvsp[-1].u.identifier)->find_scope(current_scope, global_scope, current_lexer); if (scope == nullptr) { @@ -7681,161 +7698,161 @@ yyreduce: current_scope->define_namespace(nspace); push_scope(scope); } -#line 7685 "built/tmp/cppBison.yxx.c" +#line 7702 "built/tmp/cppBison.yxx.c" break; - case 386: /* namespace_declaration: KW_INLINE KW_NAMESPACE name '{' $@20 cpp '}' */ -#line 3113 "dtool/src/cppparser/cppBison.yxx" + case 387: /* namespace_declaration: KW_INLINE KW_NAMESPACE name '{' $@21 cpp '}' */ +#line 3122 "dtool/src/cppparser/cppBison.yxx" { pop_scope(); } -#line 7693 "built/tmp/cppBison.yxx.c" +#line 7710 "built/tmp/cppBison.yxx.c" break; - case 389: /* using_declaration: KW_USING name ';' */ -#line 3122 "dtool/src/cppparser/cppBison.yxx" + case 390: /* using_declaration: KW_USING name ';' */ +#line 3131 "dtool/src/cppparser/cppBison.yxx" { CPPUsing *using_decl = new CPPUsing((yyvsp[-1].u.identifier), false, (yylsp[-2]).file); current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[-2])); current_scope->add_using(using_decl, global_scope, current_lexer); } -#line 7703 "built/tmp/cppBison.yxx.c" +#line 7720 "built/tmp/cppBison.yxx.c" break; - case 390: /* using_declaration: KW_USING name optional_attributes '=' full_type ';' */ -#line 3128 "dtool/src/cppparser/cppBison.yxx" + case 391: /* using_declaration: KW_USING name optional_attributes '=' full_type ';' */ +#line 3137 "dtool/src/cppparser/cppBison.yxx" { // This is really just an alternative way to declare a typedef. CPPTypedefType *typedef_type = new CPPTypedefType((yyvsp[-1].u.type), (yyvsp[-4].u.identifier), current_scope, (yyvsp[-3].attr_list)); typedef_type->_using = true; current_scope->add_declaration(CPPType::new_type(typedef_type), global_scope, current_lexer, (yylsp[-5])); } -#line 7714 "built/tmp/cppBison.yxx.c" +#line 7731 "built/tmp/cppBison.yxx.c" break; - case 391: /* using_declaration: KW_USING KW_NAMESPACE name ';' */ -#line 3135 "dtool/src/cppparser/cppBison.yxx" + case 392: /* using_declaration: KW_USING KW_NAMESPACE name ';' */ +#line 3144 "dtool/src/cppparser/cppBison.yxx" { CPPUsing *using_decl = new CPPUsing((yyvsp[-1].u.identifier), true, (yylsp[-3]).file); current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[-3])); current_scope->add_using(using_decl, global_scope, current_lexer); } -#line 7724 "built/tmp/cppBison.yxx.c" +#line 7741 "built/tmp/cppBison.yxx.c" break; - case 392: /* using_declaration: KW_USING KW_ENUM name ';' */ -#line 3141 "dtool/src/cppparser/cppBison.yxx" + case 393: /* using_declaration: KW_USING KW_ENUM name ';' */ +#line 3150 "dtool/src/cppparser/cppBison.yxx" { CPPUsing *using_decl = new CPPUsing((yyvsp[-1].u.identifier), false, (yylsp[-3]).file); current_scope->add_declaration(using_decl, global_scope, current_lexer, (yylsp[-3])); current_scope->add_using(using_decl, global_scope, current_lexer); } -#line 7734 "built/tmp/cppBison.yxx.c" +#line 7751 "built/tmp/cppBison.yxx.c" break; - case 396: /* simple_int_type: KW_BOOL */ -#line 3156 "dtool/src/cppparser/cppBison.yxx" + case 397: /* simple_int_type: KW_BOOL */ +#line 3165 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_bool); } -#line 7742 "built/tmp/cppBison.yxx.c" +#line 7759 "built/tmp/cppBison.yxx.c" break; - case 397: /* simple_int_type: KW_CHAR */ -#line 3160 "dtool/src/cppparser/cppBison.yxx" + case 398: /* simple_int_type: KW_CHAR */ +#line 3169 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char); } -#line 7750 "built/tmp/cppBison.yxx.c" +#line 7767 "built/tmp/cppBison.yxx.c" break; - case 398: /* simple_int_type: KW_WCHAR_T */ -#line 3164 "dtool/src/cppparser/cppBison.yxx" + case 399: /* simple_int_type: KW_WCHAR_T */ +#line 3173 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_wchar_t); } -#line 7758 "built/tmp/cppBison.yxx.c" +#line 7775 "built/tmp/cppBison.yxx.c" break; - case 399: /* simple_int_type: KW_CHAR8_T */ -#line 3168 "dtool/src/cppparser/cppBison.yxx" + case 400: /* simple_int_type: KW_CHAR8_T */ +#line 3177 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char8_t); } -#line 7766 "built/tmp/cppBison.yxx.c" +#line 7783 "built/tmp/cppBison.yxx.c" break; - case 400: /* simple_int_type: KW_CHAR16_T */ -#line 3172 "dtool/src/cppparser/cppBison.yxx" + case 401: /* simple_int_type: KW_CHAR16_T */ +#line 3181 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char16_t); } -#line 7774 "built/tmp/cppBison.yxx.c" - break; - - case 401: /* simple_int_type: KW_CHAR32_T */ -#line 3176 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char32_t); -} -#line 7782 "built/tmp/cppBison.yxx.c" - break; - - case 402: /* simple_int_type: KW_SHORT */ -#line 3180 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, - CPPSimpleType::F_short); -} #line 7791 "built/tmp/cppBison.yxx.c" break; - case 403: /* simple_int_type: KW_LONG */ + case 402: /* simple_int_type: KW_CHAR32_T */ #line 3185 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_char32_t); +} +#line 7799 "built/tmp/cppBison.yxx.c" + break; + + case 403: /* simple_int_type: KW_SHORT */ +#line 3189 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, + CPPSimpleType::F_short); +} +#line 7808 "built/tmp/cppBison.yxx.c" + break; + + case 404: /* simple_int_type: KW_LONG */ +#line 3194 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_long); } -#line 7800 "built/tmp/cppBison.yxx.c" +#line 7817 "built/tmp/cppBison.yxx.c" break; - case 404: /* simple_int_type: KW_UNSIGNED */ -#line 3190 "dtool/src/cppparser/cppBison.yxx" + case 405: /* simple_int_type: KW_UNSIGNED */ +#line 3199 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_unsigned); } -#line 7809 "built/tmp/cppBison.yxx.c" +#line 7826 "built/tmp/cppBison.yxx.c" break; - case 405: /* simple_int_type: KW_SIGNED */ -#line 3195 "dtool/src/cppparser/cppBison.yxx" + case 406: /* simple_int_type: KW_SIGNED */ +#line 3204 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_signed); } -#line 7818 "built/tmp/cppBison.yxx.c" +#line 7835 "built/tmp/cppBison.yxx.c" break; - case 406: /* simple_int_type: KW_INT */ -#line 3200 "dtool/src/cppparser/cppBison.yxx" + case 407: /* simple_int_type: KW_INT */ +#line 3209 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_int); } -#line 7826 "built/tmp/cppBison.yxx.c" +#line 7843 "built/tmp/cppBison.yxx.c" break; - case 407: /* simple_int_type: KW_SHORT simple_int_type */ -#line 3204 "dtool/src/cppparser/cppBison.yxx" + case 408: /* simple_int_type: KW_SHORT simple_int_type */ +#line 3213 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_short; } -#line 7835 "built/tmp/cppBison.yxx.c" +#line 7852 "built/tmp/cppBison.yxx.c" break; - case 408: /* simple_int_type: KW_LONG simple_int_type */ -#line 3209 "dtool/src/cppparser/cppBison.yxx" + case 409: /* simple_int_type: KW_LONG simple_int_type */ +#line 3218 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); if ((yyval.u.simple_type)->_flags & CPPSimpleType::F_long) { @@ -7844,501 +7861,501 @@ yyreduce: (yyval.u.simple_type)->_flags |= CPPSimpleType::F_long; } } -#line 7848 "built/tmp/cppBison.yxx.c" +#line 7865 "built/tmp/cppBison.yxx.c" break; - case 409: /* simple_int_type: KW_UNSIGNED simple_int_type */ -#line 3218 "dtool/src/cppparser/cppBison.yxx" + case 410: /* simple_int_type: KW_UNSIGNED simple_int_type */ +#line 3227 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_unsigned; } -#line 7857 "built/tmp/cppBison.yxx.c" +#line 7874 "built/tmp/cppBison.yxx.c" break; - case 410: /* simple_int_type: KW_SIGNED simple_int_type */ -#line 3223 "dtool/src/cppparser/cppBison.yxx" + case 411: /* simple_int_type: KW_SIGNED simple_int_type */ +#line 3232 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = (yyvsp[0].u.simple_type); (yyval.u.simple_type)->_flags |= CPPSimpleType::F_signed; } -#line 7866 "built/tmp/cppBison.yxx.c" +#line 7883 "built/tmp/cppBison.yxx.c" break; - case 411: /* simple_float_type: KW_FLOAT */ -#line 3231 "dtool/src/cppparser/cppBison.yxx" + case 412: /* simple_float_type: KW_FLOAT */ +#line 3240 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_float); } -#line 7874 "built/tmp/cppBison.yxx.c" - break; - - case 412: /* simple_float_type: KW_DOUBLE */ -#line 3235 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double); -} -#line 7882 "built/tmp/cppBison.yxx.c" - break; - - case 413: /* simple_float_type: KW_LONG KW_DOUBLE */ -#line 3239 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double, - CPPSimpleType::F_long); -} #line 7891 "built/tmp/cppBison.yxx.c" break; - case 414: /* simple_void_type: KW_VOID */ -#line 3247 "dtool/src/cppparser/cppBison.yxx" + case 413: /* simple_float_type: KW_DOUBLE */ +#line 3244 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_void); + (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double); } #line 7899 "built/tmp/cppBison.yxx.c" break; - case 415: /* $@21: %empty */ + case 414: /* simple_float_type: KW_LONG KW_DOUBLE */ +#line 3248 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_double, + CPPSimpleType::F_long); +} +#line 7908 "built/tmp/cppBison.yxx.c" + break; + + case 415: /* simple_void_type: KW_VOID */ #line 3256 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.simple_type) = new CPPSimpleType(CPPSimpleType::T_void); +} +#line 7916 "built/tmp/cppBison.yxx.c" + break; + + case 416: /* $@22: %empty */ +#line 3265 "dtool/src/cppparser/cppBison.yxx" { current_lexer->_resolve_identifiers = false; } -#line 7907 "built/tmp/cppBison.yxx.c" +#line 7924 "built/tmp/cppBison.yxx.c" break; - case 416: /* code: $@21 code_block */ -#line 3260 "dtool/src/cppparser/cppBison.yxx" + case 417: /* code: $@22 code_block */ +#line 3269 "dtool/src/cppparser/cppBison.yxx" { current_lexer->_resolve_identifiers = true; } -#line 7915 "built/tmp/cppBison.yxx.c" +#line 7932 "built/tmp/cppBison.yxx.c" break; - case 531: /* element: KW_WHILE */ -#line 3305 "dtool/src/cppparser/cppBison.yxx" -{ -} -#line 7922 "built/tmp/cppBison.yxx.c" - break; - - case 555: /* optional_const_expr: empty */ + case 532: /* element: KW_WHILE */ #line 3314 "dtool/src/cppparser/cppBison.yxx" { - (yyval.u.expr) = nullptr; } -#line 7930 "built/tmp/cppBison.yxx.c" +#line 7939 "built/tmp/cppBison.yxx.c" break; - case 556: /* optional_const_expr: const_expr */ -#line 3318 "dtool/src/cppparser/cppBison.yxx" -{ - (yyval.u.expr) = (yyvsp[0].u.expr); -} -#line 7938 "built/tmp/cppBison.yxx.c" - break; - - case 557: /* optional_const_expr_comma: empty */ -#line 3325 "dtool/src/cppparser/cppBison.yxx" + case 556: /* optional_const_expr: empty */ +#line 3323 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = nullptr; } -#line 7946 "built/tmp/cppBison.yxx.c" +#line 7947 "built/tmp/cppBison.yxx.c" break; - case 558: /* optional_const_expr_comma: const_expr_comma */ -#line 3329 "dtool/src/cppparser/cppBison.yxx" + case 557: /* optional_const_expr: const_expr */ +#line 3327 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 7954 "built/tmp/cppBison.yxx.c" +#line 7955 "built/tmp/cppBison.yxx.c" break; - case 559: /* const_expr_comma: const_expr */ -#line 3336 "dtool/src/cppparser/cppBison.yxx" + case 558: /* optional_const_expr_comma: empty */ +#line 3334 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = nullptr; +} +#line 7963 "built/tmp/cppBison.yxx.c" + break; + + case 559: /* optional_const_expr_comma: const_expr_comma */ +#line 3338 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 7962 "built/tmp/cppBison.yxx.c" +#line 7971 "built/tmp/cppBison.yxx.c" break; - case 560: /* const_expr_comma: const_expr_comma ',' const_expr */ -#line 3340 "dtool/src/cppparser/cppBison.yxx" + case 560: /* const_expr_comma: const_expr */ +#line 3345 "dtool/src/cppparser/cppBison.yxx" +{ + (yyval.u.expr) = (yyvsp[0].u.expr); +} +#line 7979 "built/tmp/cppBison.yxx.c" + break; + + case 561: /* const_expr_comma: const_expr_comma ',' const_expr */ +#line 3349 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(',', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 7970 "built/tmp/cppBison.yxx.c" +#line 7987 "built/tmp/cppBison.yxx.c" break; - case 561: /* no_angle_bracket_const_expr: const_operand */ -#line 3347 "dtool/src/cppparser/cppBison.yxx" + case 562: /* no_angle_bracket_const_expr: const_operand */ +#line 3356 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 7978 "built/tmp/cppBison.yxx.c" +#line 7995 "built/tmp/cppBison.yxx.c" break; - case 562: /* no_angle_bracket_const_expr: '(' full_type ')' no_angle_bracket_const_expr */ -#line 3351 "dtool/src/cppparser/cppBison.yxx" + case 563: /* no_angle_bracket_const_expr: '(' full_type ')' no_angle_bracket_const_expr */ +#line 3360 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr))); } -#line 7986 "built/tmp/cppBison.yxx.c" +#line 8003 "built/tmp/cppBison.yxx.c" break; - case 563: /* no_angle_bracket_const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3355 "dtool/src/cppparser/cppBison.yxx" + case 564: /* no_angle_bracket_const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3364 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_static_cast)); } -#line 7994 "built/tmp/cppBison.yxx.c" +#line 8011 "built/tmp/cppBison.yxx.c" break; - case 564: /* no_angle_bracket_const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3359 "dtool/src/cppparser/cppBison.yxx" + case 565: /* no_angle_bracket_const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3368 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_dynamic_cast)); } -#line 8002 "built/tmp/cppBison.yxx.c" +#line 8019 "built/tmp/cppBison.yxx.c" break; - case 565: /* no_angle_bracket_const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3363 "dtool/src/cppparser/cppBison.yxx" + case 566: /* no_angle_bracket_const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3372 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_const_cast)); } -#line 8010 "built/tmp/cppBison.yxx.c" +#line 8027 "built/tmp/cppBison.yxx.c" break; - case 566: /* no_angle_bracket_const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3367 "dtool/src/cppparser/cppBison.yxx" + case 567: /* no_angle_bracket_const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3376 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_reinterpret_cast)); } -#line 8018 "built/tmp/cppBison.yxx.c" +#line 8035 "built/tmp/cppBison.yxx.c" break; - case 567: /* no_angle_bracket_const_expr: KW_SIZEOF '(' full_type ')' */ -#line 3371 "dtool/src/cppparser/cppBison.yxx" + case 568: /* no_angle_bracket_const_expr: KW_SIZEOF '(' full_type ')' */ +#line 3380 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type))); } -#line 8026 "built/tmp/cppBison.yxx.c" +#line 8043 "built/tmp/cppBison.yxx.c" break; - case 568: /* no_angle_bracket_const_expr: KW_SIZEOF no_angle_bracket_const_expr */ -#line 3375 "dtool/src/cppparser/cppBison.yxx" + case 569: /* no_angle_bracket_const_expr: KW_SIZEOF no_angle_bracket_const_expr */ +#line 3384 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[0].u.expr))); } -#line 8034 "built/tmp/cppBison.yxx.c" +#line 8051 "built/tmp/cppBison.yxx.c" break; - case 569: /* no_angle_bracket_const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ -#line 3379 "dtool/src/cppparser/cppBison.yxx" + case 570: /* no_angle_bracket_const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ +#line 3388 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier))); } -#line 8042 "built/tmp/cppBison.yxx.c" +#line 8059 "built/tmp/cppBison.yxx.c" break; - case 570: /* no_angle_bracket_const_expr: KW_ALIGNOF '(' full_type ')' */ -#line 3383 "dtool/src/cppparser/cppBison.yxx" + case 571: /* no_angle_bracket_const_expr: KW_ALIGNOF '(' full_type ')' */ +#line 3392 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type))); } -#line 8050 "built/tmp/cppBison.yxx.c" +#line 8067 "built/tmp/cppBison.yxx.c" break; - case 571: /* no_angle_bracket_const_expr: '!' no_angle_bracket_const_expr */ -#line 3387 "dtool/src/cppparser/cppBison.yxx" + case 572: /* no_angle_bracket_const_expr: '!' no_angle_bracket_const_expr */ +#line 3396 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr)); } -#line 8058 "built/tmp/cppBison.yxx.c" +#line 8075 "built/tmp/cppBison.yxx.c" break; - case 572: /* no_angle_bracket_const_expr: '~' no_angle_bracket_const_expr */ -#line 3391 "dtool/src/cppparser/cppBison.yxx" + case 573: /* no_angle_bracket_const_expr: '~' no_angle_bracket_const_expr */ +#line 3400 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr)); } -#line 8066 "built/tmp/cppBison.yxx.c" +#line 8083 "built/tmp/cppBison.yxx.c" break; - case 573: /* no_angle_bracket_const_expr: '-' no_angle_bracket_const_expr */ -#line 3395 "dtool/src/cppparser/cppBison.yxx" + case 574: /* no_angle_bracket_const_expr: '-' no_angle_bracket_const_expr */ +#line 3404 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr)); } -#line 8074 "built/tmp/cppBison.yxx.c" +#line 8091 "built/tmp/cppBison.yxx.c" break; - case 574: /* no_angle_bracket_const_expr: '+' no_angle_bracket_const_expr */ -#line 3399 "dtool/src/cppparser/cppBison.yxx" + case 575: /* no_angle_bracket_const_expr: '+' no_angle_bracket_const_expr */ +#line 3408 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr)); } -#line 8082 "built/tmp/cppBison.yxx.c" +#line 8099 "built/tmp/cppBison.yxx.c" break; - case 575: /* no_angle_bracket_const_expr: '*' no_angle_bracket_const_expr */ -#line 3403 "dtool/src/cppparser/cppBison.yxx" + case 576: /* no_angle_bracket_const_expr: '*' no_angle_bracket_const_expr */ +#line 3412 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[0].u.expr)); } -#line 8090 "built/tmp/cppBison.yxx.c" +#line 8107 "built/tmp/cppBison.yxx.c" break; - case 576: /* no_angle_bracket_const_expr: '&' no_angle_bracket_const_expr */ -#line 3407 "dtool/src/cppparser/cppBison.yxx" + case 577: /* no_angle_bracket_const_expr: '&' no_angle_bracket_const_expr */ +#line 3416 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr)); } -#line 8098 "built/tmp/cppBison.yxx.c" +#line 8115 "built/tmp/cppBison.yxx.c" break; - case 577: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '*' no_angle_bracket_const_expr */ -#line 3411 "dtool/src/cppparser/cppBison.yxx" + case 578: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '*' no_angle_bracket_const_expr */ +#line 3420 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8106 "built/tmp/cppBison.yxx.c" +#line 8123 "built/tmp/cppBison.yxx.c" break; - case 578: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '/' no_angle_bracket_const_expr */ -#line 3415 "dtool/src/cppparser/cppBison.yxx" + case 579: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '/' no_angle_bracket_const_expr */ +#line 3424 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8114 "built/tmp/cppBison.yxx.c" +#line 8131 "built/tmp/cppBison.yxx.c" break; - case 579: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '%' no_angle_bracket_const_expr */ -#line 3419 "dtool/src/cppparser/cppBison.yxx" + case 580: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '%' no_angle_bracket_const_expr */ +#line 3428 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8122 "built/tmp/cppBison.yxx.c" +#line 8139 "built/tmp/cppBison.yxx.c" break; - case 580: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '+' no_angle_bracket_const_expr */ -#line 3423 "dtool/src/cppparser/cppBison.yxx" + case 581: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '+' no_angle_bracket_const_expr */ +#line 3432 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8130 "built/tmp/cppBison.yxx.c" +#line 8147 "built/tmp/cppBison.yxx.c" break; - case 581: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '-' no_angle_bracket_const_expr */ -#line 3427 "dtool/src/cppparser/cppBison.yxx" + case 582: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '-' no_angle_bracket_const_expr */ +#line 3436 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8138 "built/tmp/cppBison.yxx.c" +#line 8155 "built/tmp/cppBison.yxx.c" break; - case 582: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '|' no_angle_bracket_const_expr */ -#line 3431 "dtool/src/cppparser/cppBison.yxx" + case 583: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '|' no_angle_bracket_const_expr */ +#line 3440 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8146 "built/tmp/cppBison.yxx.c" +#line 8163 "built/tmp/cppBison.yxx.c" break; - case 583: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '^' no_angle_bracket_const_expr */ -#line 3435 "dtool/src/cppparser/cppBison.yxx" + case 584: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '^' no_angle_bracket_const_expr */ +#line 3444 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8154 "built/tmp/cppBison.yxx.c" +#line 8171 "built/tmp/cppBison.yxx.c" break; - case 584: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '&' no_angle_bracket_const_expr */ -#line 3439 "dtool/src/cppparser/cppBison.yxx" + case 585: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '&' no_angle_bracket_const_expr */ +#line 3448 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8162 "built/tmp/cppBison.yxx.c" +#line 8179 "built/tmp/cppBison.yxx.c" break; - case 585: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr OROR no_angle_bracket_const_expr */ -#line 3443 "dtool/src/cppparser/cppBison.yxx" + case 586: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr OROR no_angle_bracket_const_expr */ +#line 3452 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8170 "built/tmp/cppBison.yxx.c" +#line 8187 "built/tmp/cppBison.yxx.c" break; - case 586: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr ANDAND no_angle_bracket_const_expr */ -#line 3447 "dtool/src/cppparser/cppBison.yxx" + case 587: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr ANDAND no_angle_bracket_const_expr */ +#line 3456 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8178 "built/tmp/cppBison.yxx.c" +#line 8195 "built/tmp/cppBison.yxx.c" break; - case 587: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr EQCOMPARE no_angle_bracket_const_expr */ -#line 3451 "dtool/src/cppparser/cppBison.yxx" + case 588: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr EQCOMPARE no_angle_bracket_const_expr */ +#line 3460 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8186 "built/tmp/cppBison.yxx.c" +#line 8203 "built/tmp/cppBison.yxx.c" break; - case 588: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr NECOMPARE no_angle_bracket_const_expr */ -#line 3455 "dtool/src/cppparser/cppBison.yxx" + case 589: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr NECOMPARE no_angle_bracket_const_expr */ +#line 3464 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8194 "built/tmp/cppBison.yxx.c" +#line 8211 "built/tmp/cppBison.yxx.c" break; - case 589: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr LECOMPARE no_angle_bracket_const_expr */ -#line 3459 "dtool/src/cppparser/cppBison.yxx" + case 590: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr LECOMPARE no_angle_bracket_const_expr */ +#line 3468 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8202 "built/tmp/cppBison.yxx.c" +#line 8219 "built/tmp/cppBison.yxx.c" break; - case 590: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr GECOMPARE no_angle_bracket_const_expr */ -#line 3463 "dtool/src/cppparser/cppBison.yxx" + case 591: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr GECOMPARE no_angle_bracket_const_expr */ +#line 3472 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8210 "built/tmp/cppBison.yxx.c" +#line 8227 "built/tmp/cppBison.yxx.c" break; - case 591: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr SPACESHIP no_angle_bracket_const_expr */ -#line 3467 "dtool/src/cppparser/cppBison.yxx" + case 592: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr SPACESHIP no_angle_bracket_const_expr */ +#line 3476 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(SPACESHIP, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8218 "built/tmp/cppBison.yxx.c" +#line 8235 "built/tmp/cppBison.yxx.c" break; - case 592: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr LSHIFT no_angle_bracket_const_expr */ -#line 3471 "dtool/src/cppparser/cppBison.yxx" + case 593: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr LSHIFT no_angle_bracket_const_expr */ +#line 3480 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8226 "built/tmp/cppBison.yxx.c" +#line 8243 "built/tmp/cppBison.yxx.c" break; - case 593: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr RSHIFT no_angle_bracket_const_expr */ -#line 3475 "dtool/src/cppparser/cppBison.yxx" + case 594: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr RSHIFT no_angle_bracket_const_expr */ +#line 3484 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8234 "built/tmp/cppBison.yxx.c" +#line 8251 "built/tmp/cppBison.yxx.c" break; - case 594: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '?' no_angle_bracket_const_expr ':' no_angle_bracket_const_expr */ -#line 3479 "dtool/src/cppparser/cppBison.yxx" + case 595: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '?' no_angle_bracket_const_expr ':' no_angle_bracket_const_expr */ +#line 3488 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8242 "built/tmp/cppBison.yxx.c" +#line 8259 "built/tmp/cppBison.yxx.c" break; - case 595: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '[' const_expr ']' */ -#line 3483 "dtool/src/cppparser/cppBison.yxx" + case 596: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '[' const_expr ']' */ +#line 3492 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8250 "built/tmp/cppBison.yxx.c" +#line 8267 "built/tmp/cppBison.yxx.c" break; - case 596: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '(' const_expr_comma ')' */ -#line 3487 "dtool/src/cppparser/cppBison.yxx" + case 597: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '(' const_expr_comma ')' */ +#line 3496 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8258 "built/tmp/cppBison.yxx.c" +#line 8275 "built/tmp/cppBison.yxx.c" break; - case 597: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '(' ')' */ -#line 3491 "dtool/src/cppparser/cppBison.yxx" + case 598: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '(' ')' */ +#line 3500 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr)); } -#line 8266 "built/tmp/cppBison.yxx.c" +#line 8283 "built/tmp/cppBison.yxx.c" break; - case 598: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '.' name */ -#line 3495 "dtool/src/cppparser/cppBison.yxx" + case 599: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr '.' name */ +#line 3504 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('.', (yyvsp[-2].u.expr), new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer)); } -#line 8274 "built/tmp/cppBison.yxx.c" +#line 8291 "built/tmp/cppBison.yxx.c" break; - case 599: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr POINTSAT no_angle_bracket_const_expr */ -#line 3499 "dtool/src/cppparser/cppBison.yxx" + case 600: /* no_angle_bracket_const_expr: no_angle_bracket_const_expr POINTSAT no_angle_bracket_const_expr */ +#line 3508 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8282 "built/tmp/cppBison.yxx.c" +#line 8299 "built/tmp/cppBison.yxx.c" break; - case 600: /* no_angle_bracket_const_expr: '(' const_expr_comma ')' */ -#line 3503 "dtool/src/cppparser/cppBison.yxx" + case 601: /* no_angle_bracket_const_expr: '(' const_expr_comma ')' */ +#line 3512 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 8290 "built/tmp/cppBison.yxx.c" +#line 8307 "built/tmp/cppBison.yxx.c" break; - case 601: /* const_expr: const_operand */ -#line 3511 "dtool/src/cppparser/cppBison.yxx" + case 602: /* const_expr: const_operand */ +#line 3520 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8298 "built/tmp/cppBison.yxx.c" +#line 8315 "built/tmp/cppBison.yxx.c" break; - case 602: /* const_expr: '(' full_type ')' const_expr */ -#line 3515 "dtool/src/cppparser/cppBison.yxx" + case 603: /* const_expr: '(' full_type ')' const_expr */ +#line 3524 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr))); } -#line 8306 "built/tmp/cppBison.yxx.c" +#line 8323 "built/tmp/cppBison.yxx.c" break; - case 603: /* const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3519 "dtool/src/cppparser/cppBison.yxx" + case 604: /* const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3528 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_static_cast)); } -#line 8314 "built/tmp/cppBison.yxx.c" +#line 8331 "built/tmp/cppBison.yxx.c" break; - case 604: /* const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3523 "dtool/src/cppparser/cppBison.yxx" + case 605: /* const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3532 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_dynamic_cast)); } -#line 8322 "built/tmp/cppBison.yxx.c" +#line 8339 "built/tmp/cppBison.yxx.c" break; - case 605: /* const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3527 "dtool/src/cppparser/cppBison.yxx" + case 606: /* const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3536 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_const_cast)); } -#line 8330 "built/tmp/cppBison.yxx.c" +#line 8347 "built/tmp/cppBison.yxx.c" break; - case 606: /* const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3531 "dtool/src/cppparser/cppBison.yxx" + case 607: /* const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3540 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_reinterpret_cast)); } -#line 8338 "built/tmp/cppBison.yxx.c" +#line 8355 "built/tmp/cppBison.yxx.c" break; - case 607: /* const_expr: TYPENAME_IDENTIFIER '(' optional_const_expr_comma ')' */ -#line 3535 "dtool/src/cppparser/cppBison.yxx" + case 608: /* const_expr: TYPENAME_IDENTIFIER '(' optional_const_expr_comma ')' */ +#line 3544 "dtool/src/cppparser/cppBison.yxx" { // A constructor call. CPPType *type = (yyvsp[-3].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -8348,11 +8365,11 @@ yyreduce: assert(type != nullptr); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8352 "built/tmp/cppBison.yxx.c" +#line 8369 "built/tmp/cppBison.yxx.c" break; - case 608: /* const_expr: TYPENAME_IDENTIFIER '{' optional_const_expr_comma '}' */ -#line 3545 "dtool/src/cppparser/cppBison.yxx" + case 609: /* const_expr: TYPENAME_IDENTIFIER '{' optional_const_expr_comma '}' */ +#line 3554 "dtool/src/cppparser/cppBison.yxx" { // Aggregate initialization. CPPType *type = (yyvsp[-3].u.identifier)->find_type(current_scope, global_scope, false, current_lexer); @@ -8362,193 +8379,193 @@ yyreduce: assert(type != nullptr); (yyval.u.expr) = new CPPExpression(CPPExpression::aggregate_init_op(type, (yyvsp[-1].u.expr))); } -#line 8366 "built/tmp/cppBison.yxx.c" +#line 8383 "built/tmp/cppBison.yxx.c" break; - case 609: /* const_expr: KW_INT '(' optional_const_expr_comma ')' */ -#line 3555 "dtool/src/cppparser/cppBison.yxx" + case 610: /* const_expr: KW_INT '(' optional_const_expr_comma ')' */ +#line 3564 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8376 "built/tmp/cppBison.yxx.c" +#line 8393 "built/tmp/cppBison.yxx.c" break; - case 610: /* const_expr: KW_CHAR '(' optional_const_expr_comma ')' */ -#line 3561 "dtool/src/cppparser/cppBison.yxx" + case 611: /* const_expr: KW_CHAR '(' optional_const_expr_comma ')' */ +#line 3570 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8386 "built/tmp/cppBison.yxx.c" +#line 8403 "built/tmp/cppBison.yxx.c" break; - case 611: /* const_expr: KW_WCHAR_T '(' optional_const_expr_comma ')' */ -#line 3567 "dtool/src/cppparser/cppBison.yxx" + case 612: /* const_expr: KW_WCHAR_T '(' optional_const_expr_comma ')' */ +#line 3576 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_wchar_t)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8396 "built/tmp/cppBison.yxx.c" +#line 8413 "built/tmp/cppBison.yxx.c" break; - case 612: /* const_expr: KW_CHAR8_T '(' optional_const_expr_comma ')' */ -#line 3573 "dtool/src/cppparser/cppBison.yxx" + case 613: /* const_expr: KW_CHAR8_T '(' optional_const_expr_comma ')' */ +#line 3582 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char8_t)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8406 "built/tmp/cppBison.yxx.c" +#line 8423 "built/tmp/cppBison.yxx.c" break; - case 613: /* const_expr: KW_CHAR16_T '(' optional_const_expr_comma ')' */ -#line 3579 "dtool/src/cppparser/cppBison.yxx" + case 614: /* const_expr: KW_CHAR16_T '(' optional_const_expr_comma ')' */ +#line 3588 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char16_t)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8416 "built/tmp/cppBison.yxx.c" +#line 8433 "built/tmp/cppBison.yxx.c" break; - case 614: /* const_expr: KW_CHAR32_T '(' optional_const_expr_comma ')' */ -#line 3585 "dtool/src/cppparser/cppBison.yxx" + case 615: /* const_expr: KW_CHAR32_T '(' optional_const_expr_comma ')' */ +#line 3594 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_char32_t)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8426 "built/tmp/cppBison.yxx.c" +#line 8443 "built/tmp/cppBison.yxx.c" break; - case 615: /* const_expr: KW_BOOL '(' optional_const_expr_comma ')' */ -#line 3591 "dtool/src/cppparser/cppBison.yxx" + case 616: /* const_expr: KW_BOOL '(' optional_const_expr_comma ')' */ +#line 3600 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_bool)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8436 "built/tmp/cppBison.yxx.c" +#line 8453 "built/tmp/cppBison.yxx.c" break; - case 616: /* const_expr: KW_SHORT '(' optional_const_expr_comma ')' */ -#line 3597 "dtool/src/cppparser/cppBison.yxx" + case 617: /* const_expr: KW_SHORT '(' optional_const_expr_comma ')' */ +#line 3606 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_short)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8447 "built/tmp/cppBison.yxx.c" +#line 8464 "built/tmp/cppBison.yxx.c" break; - case 617: /* const_expr: KW_LONG '(' optional_const_expr_comma ')' */ -#line 3604 "dtool/src/cppparser/cppBison.yxx" + case 618: /* const_expr: KW_LONG '(' optional_const_expr_comma ')' */ +#line 3613 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_long)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8458 "built/tmp/cppBison.yxx.c" +#line 8475 "built/tmp/cppBison.yxx.c" break; - case 618: /* const_expr: KW_UNSIGNED '(' optional_const_expr_comma ')' */ -#line 3611 "dtool/src/cppparser/cppBison.yxx" + case 619: /* const_expr: KW_UNSIGNED '(' optional_const_expr_comma ')' */ +#line 3620 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_unsigned)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8469 "built/tmp/cppBison.yxx.c" +#line 8486 "built/tmp/cppBison.yxx.c" break; - case 619: /* const_expr: KW_SIGNED '(' optional_const_expr_comma ')' */ -#line 3618 "dtool/src/cppparser/cppBison.yxx" + case 620: /* const_expr: KW_SIGNED '(' optional_const_expr_comma ')' */ +#line 3627 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_int, CPPSimpleType::F_signed)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8480 "built/tmp/cppBison.yxx.c" +#line 8497 "built/tmp/cppBison.yxx.c" break; - case 620: /* const_expr: KW_FLOAT '(' optional_const_expr_comma ')' */ -#line 3625 "dtool/src/cppparser/cppBison.yxx" + case 621: /* const_expr: KW_FLOAT '(' optional_const_expr_comma ')' */ +#line 3634 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_float)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8490 "built/tmp/cppBison.yxx.c" +#line 8507 "built/tmp/cppBison.yxx.c" break; - case 621: /* const_expr: KW_DOUBLE '(' optional_const_expr_comma ')' */ -#line 3631 "dtool/src/cppparser/cppBison.yxx" + case 622: /* const_expr: KW_DOUBLE '(' optional_const_expr_comma ')' */ +#line 3640 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = CPPType::new_type(new CPPSimpleType(CPPSimpleType::T_double)); (yyval.u.expr) = new CPPExpression(CPPExpression::construct_op(type, (yyvsp[-1].u.expr))); } -#line 8500 "built/tmp/cppBison.yxx.c" +#line 8517 "built/tmp/cppBison.yxx.c" break; - case 622: /* const_expr: KW_SIZEOF '(' full_type ')' */ -#line 3637 "dtool/src/cppparser/cppBison.yxx" + case 623: /* const_expr: KW_SIZEOF '(' full_type ')' */ +#line 3646 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type))); } -#line 8508 "built/tmp/cppBison.yxx.c" +#line 8525 "built/tmp/cppBison.yxx.c" break; - case 623: /* const_expr: KW_SIZEOF const_expr */ -#line 3641 "dtool/src/cppparser/cppBison.yxx" + case 624: /* const_expr: KW_SIZEOF const_expr */ +#line 3650 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[0].u.expr))); } -#line 8516 "built/tmp/cppBison.yxx.c" +#line 8533 "built/tmp/cppBison.yxx.c" break; - case 624: /* const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ -#line 3645 "dtool/src/cppparser/cppBison.yxx" + case 625: /* const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ +#line 3654 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier))); } -#line 8524 "built/tmp/cppBison.yxx.c" +#line 8541 "built/tmp/cppBison.yxx.c" break; - case 625: /* const_expr: KW_ALIGNOF '(' full_type ')' */ -#line 3649 "dtool/src/cppparser/cppBison.yxx" + case 626: /* const_expr: KW_ALIGNOF '(' full_type ')' */ +#line 3658 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type))); } -#line 8532 "built/tmp/cppBison.yxx.c" +#line 8549 "built/tmp/cppBison.yxx.c" break; - case 626: /* const_expr: KW_NEW predefined_type */ -#line 3653 "dtool/src/cppparser/cppBison.yxx" + case 627: /* const_expr: KW_NEW predefined_type */ +#line 3662 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[0].u.type))); } -#line 8540 "built/tmp/cppBison.yxx.c" +#line 8557 "built/tmp/cppBison.yxx.c" break; - case 627: /* const_expr: KW_NEW predefined_type '(' optional_const_expr_comma ')' */ -#line 3657 "dtool/src/cppparser/cppBison.yxx" + case 628: /* const_expr: KW_NEW predefined_type '(' optional_const_expr_comma ')' */ +#line 3666 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[-3].u.type), (yyvsp[-1].u.expr))); } -#line 8548 "built/tmp/cppBison.yxx.c" +#line 8565 "built/tmp/cppBison.yxx.c" break; - case 628: /* const_expr: KW_TYPEID '(' full_type ')' */ -#line 3661 "dtool/src/cppparser/cppBison.yxx" + case 629: /* const_expr: KW_TYPEID '(' full_type ')' */ +#line 3670 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -8559,11 +8576,11 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.type), std_type_info)); } -#line 8563 "built/tmp/cppBison.yxx.c" +#line 8580 "built/tmp/cppBison.yxx.c" break; - case 629: /* const_expr: KW_TYPEID '(' const_expr ')' */ -#line 3672 "dtool/src/cppparser/cppBison.yxx" + case 630: /* const_expr: KW_TYPEID '(' const_expr ')' */ +#line 3681 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -8574,378 +8591,378 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.expr), std_type_info)); } -#line 8578 "built/tmp/cppBison.yxx.c" +#line 8595 "built/tmp/cppBison.yxx.c" break; - case 630: /* const_expr: '!' const_expr */ -#line 3683 "dtool/src/cppparser/cppBison.yxx" + case 631: /* const_expr: '!' const_expr */ +#line 3692 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr)); } -#line 8586 "built/tmp/cppBison.yxx.c" +#line 8603 "built/tmp/cppBison.yxx.c" break; - case 631: /* const_expr: '~' const_expr */ -#line 3687 "dtool/src/cppparser/cppBison.yxx" + case 632: /* const_expr: '~' const_expr */ +#line 3696 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr)); } -#line 8594 "built/tmp/cppBison.yxx.c" +#line 8611 "built/tmp/cppBison.yxx.c" break; - case 632: /* const_expr: '-' const_expr */ -#line 3691 "dtool/src/cppparser/cppBison.yxx" + case 633: /* const_expr: '-' const_expr */ +#line 3700 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr)); } -#line 8602 "built/tmp/cppBison.yxx.c" +#line 8619 "built/tmp/cppBison.yxx.c" break; - case 633: /* const_expr: '+' const_expr */ -#line 3695 "dtool/src/cppparser/cppBison.yxx" + case 634: /* const_expr: '+' const_expr */ +#line 3704 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr)); } -#line 8610 "built/tmp/cppBison.yxx.c" +#line 8627 "built/tmp/cppBison.yxx.c" break; - case 634: /* const_expr: '*' const_expr */ -#line 3699 "dtool/src/cppparser/cppBison.yxx" + case 635: /* const_expr: '*' const_expr */ +#line 3708 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_STAR, (yyvsp[0].u.expr)); } -#line 8618 "built/tmp/cppBison.yxx.c" +#line 8635 "built/tmp/cppBison.yxx.c" break; - case 635: /* const_expr: '&' const_expr */ -#line 3703 "dtool/src/cppparser/cppBison.yxx" + case 636: /* const_expr: '&' const_expr */ +#line 3712 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr)); } -#line 8626 "built/tmp/cppBison.yxx.c" +#line 8643 "built/tmp/cppBison.yxx.c" break; - case 636: /* const_expr: const_expr '*' const_expr */ -#line 3707 "dtool/src/cppparser/cppBison.yxx" + case 637: /* const_expr: const_expr '*' const_expr */ +#line 3716 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8634 "built/tmp/cppBison.yxx.c" +#line 8651 "built/tmp/cppBison.yxx.c" break; - case 637: /* const_expr: const_expr '/' const_expr */ -#line 3711 "dtool/src/cppparser/cppBison.yxx" + case 638: /* const_expr: const_expr '/' const_expr */ +#line 3720 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8642 "built/tmp/cppBison.yxx.c" +#line 8659 "built/tmp/cppBison.yxx.c" break; - case 638: /* const_expr: const_expr '%' const_expr */ -#line 3715 "dtool/src/cppparser/cppBison.yxx" + case 639: /* const_expr: const_expr '%' const_expr */ +#line 3724 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8650 "built/tmp/cppBison.yxx.c" +#line 8667 "built/tmp/cppBison.yxx.c" break; - case 639: /* const_expr: const_expr '+' const_expr */ -#line 3719 "dtool/src/cppparser/cppBison.yxx" + case 640: /* const_expr: const_expr '+' const_expr */ +#line 3728 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8658 "built/tmp/cppBison.yxx.c" +#line 8675 "built/tmp/cppBison.yxx.c" break; - case 640: /* const_expr: const_expr '-' const_expr */ -#line 3723 "dtool/src/cppparser/cppBison.yxx" + case 641: /* const_expr: const_expr '-' const_expr */ +#line 3732 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8666 "built/tmp/cppBison.yxx.c" +#line 8683 "built/tmp/cppBison.yxx.c" break; - case 641: /* const_expr: const_expr '|' const_expr */ -#line 3727 "dtool/src/cppparser/cppBison.yxx" + case 642: /* const_expr: const_expr '|' const_expr */ +#line 3736 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8674 "built/tmp/cppBison.yxx.c" +#line 8691 "built/tmp/cppBison.yxx.c" break; - case 642: /* const_expr: const_expr '^' const_expr */ -#line 3731 "dtool/src/cppparser/cppBison.yxx" + case 643: /* const_expr: const_expr '^' const_expr */ +#line 3740 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8682 "built/tmp/cppBison.yxx.c" +#line 8699 "built/tmp/cppBison.yxx.c" break; - case 643: /* const_expr: const_expr '&' const_expr */ -#line 3735 "dtool/src/cppparser/cppBison.yxx" + case 644: /* const_expr: const_expr '&' const_expr */ +#line 3744 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8690 "built/tmp/cppBison.yxx.c" +#line 8707 "built/tmp/cppBison.yxx.c" break; - case 644: /* const_expr: const_expr OROR const_expr */ -#line 3739 "dtool/src/cppparser/cppBison.yxx" + case 645: /* const_expr: const_expr OROR const_expr */ +#line 3748 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8698 "built/tmp/cppBison.yxx.c" +#line 8715 "built/tmp/cppBison.yxx.c" break; - case 645: /* const_expr: const_expr ANDAND const_expr */ -#line 3743 "dtool/src/cppparser/cppBison.yxx" + case 646: /* const_expr: const_expr ANDAND const_expr */ +#line 3752 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8706 "built/tmp/cppBison.yxx.c" +#line 8723 "built/tmp/cppBison.yxx.c" break; - case 646: /* const_expr: const_expr EQCOMPARE const_expr */ -#line 3747 "dtool/src/cppparser/cppBison.yxx" + case 647: /* const_expr: const_expr EQCOMPARE const_expr */ +#line 3756 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8714 "built/tmp/cppBison.yxx.c" +#line 8731 "built/tmp/cppBison.yxx.c" break; - case 647: /* const_expr: const_expr NECOMPARE const_expr */ -#line 3751 "dtool/src/cppparser/cppBison.yxx" + case 648: /* const_expr: const_expr NECOMPARE const_expr */ +#line 3760 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8722 "built/tmp/cppBison.yxx.c" +#line 8739 "built/tmp/cppBison.yxx.c" break; - case 648: /* const_expr: const_expr LECOMPARE const_expr */ -#line 3755 "dtool/src/cppparser/cppBison.yxx" + case 649: /* const_expr: const_expr LECOMPARE const_expr */ +#line 3764 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8730 "built/tmp/cppBison.yxx.c" +#line 8747 "built/tmp/cppBison.yxx.c" break; - case 649: /* const_expr: const_expr GECOMPARE const_expr */ -#line 3759 "dtool/src/cppparser/cppBison.yxx" + case 650: /* const_expr: const_expr GECOMPARE const_expr */ +#line 3768 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8738 "built/tmp/cppBison.yxx.c" +#line 8755 "built/tmp/cppBison.yxx.c" break; - case 650: /* const_expr: const_expr SPACESHIP const_expr */ -#line 3763 "dtool/src/cppparser/cppBison.yxx" + case 651: /* const_expr: const_expr SPACESHIP const_expr */ +#line 3772 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(SPACESHIP, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8746 "built/tmp/cppBison.yxx.c" +#line 8763 "built/tmp/cppBison.yxx.c" break; - case 651: /* const_expr: const_expr '<' const_expr */ -#line 3767 "dtool/src/cppparser/cppBison.yxx" + case 652: /* const_expr: const_expr '<' const_expr */ +#line 3776 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('<', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8754 "built/tmp/cppBison.yxx.c" +#line 8771 "built/tmp/cppBison.yxx.c" break; - case 652: /* const_expr: const_expr '>' const_expr */ -#line 3771 "dtool/src/cppparser/cppBison.yxx" + case 653: /* const_expr: const_expr '>' const_expr */ +#line 3780 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('>', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8762 "built/tmp/cppBison.yxx.c" +#line 8779 "built/tmp/cppBison.yxx.c" break; - case 653: /* const_expr: const_expr LSHIFT const_expr */ -#line 3775 "dtool/src/cppparser/cppBison.yxx" + case 654: /* const_expr: const_expr LSHIFT const_expr */ +#line 3784 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8770 "built/tmp/cppBison.yxx.c" +#line 8787 "built/tmp/cppBison.yxx.c" break; - case 654: /* const_expr: const_expr RSHIFT const_expr */ -#line 3779 "dtool/src/cppparser/cppBison.yxx" + case 655: /* const_expr: const_expr RSHIFT const_expr */ +#line 3788 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8778 "built/tmp/cppBison.yxx.c" +#line 8795 "built/tmp/cppBison.yxx.c" break; - case 655: /* const_expr: const_expr '?' const_expr ':' const_expr */ -#line 3783 "dtool/src/cppparser/cppBison.yxx" + case 656: /* const_expr: const_expr '?' const_expr ':' const_expr */ +#line 3792 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8786 "built/tmp/cppBison.yxx.c" +#line 8803 "built/tmp/cppBison.yxx.c" break; - case 656: /* const_expr: const_expr '[' const_expr ']' */ -#line 3787 "dtool/src/cppparser/cppBison.yxx" + case 657: /* const_expr: const_expr '[' const_expr ']' */ +#line 3796 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8794 "built/tmp/cppBison.yxx.c" +#line 8811 "built/tmp/cppBison.yxx.c" break; - case 657: /* const_expr: const_expr '(' const_expr_comma ')' */ -#line 3791 "dtool/src/cppparser/cppBison.yxx" + case 658: /* const_expr: const_expr '(' const_expr_comma ')' */ +#line 3800 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 8802 "built/tmp/cppBison.yxx.c" +#line 8819 "built/tmp/cppBison.yxx.c" break; - case 658: /* const_expr: const_expr '(' ')' */ -#line 3795 "dtool/src/cppparser/cppBison.yxx" + case 659: /* const_expr: const_expr '(' ')' */ +#line 3804 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr)); } -#line 8810 "built/tmp/cppBison.yxx.c" +#line 8827 "built/tmp/cppBison.yxx.c" break; - case 659: /* const_expr: KW_NOEXCEPT_LPAREN const_expr ')' */ -#line 3799 "dtool/src/cppparser/cppBison.yxx" + case 660: /* const_expr: KW_NOEXCEPT_LPAREN const_expr ')' */ +#line 3808 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(KW_NOEXCEPT, (yyvsp[-1].u.expr)); } -#line 8818 "built/tmp/cppBison.yxx.c" +#line 8835 "built/tmp/cppBison.yxx.c" break; - case 660: /* const_expr: const_expr '.' name */ -#line 3803 "dtool/src/cppparser/cppBison.yxx" + case 661: /* const_expr: const_expr '.' name */ +#line 3812 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('.', (yyvsp[-2].u.expr), new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer)); } -#line 8826 "built/tmp/cppBison.yxx.c" +#line 8843 "built/tmp/cppBison.yxx.c" break; - case 661: /* const_expr: const_expr POINTSAT const_expr */ -#line 3807 "dtool/src/cppparser/cppBison.yxx" + case 662: /* const_expr: const_expr POINTSAT const_expr */ +#line 3816 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 8834 "built/tmp/cppBison.yxx.c" +#line 8851 "built/tmp/cppBison.yxx.c" break; - case 662: /* const_expr: '(' const_expr_comma ')' */ -#line 3811 "dtool/src/cppparser/cppBison.yxx" + case 663: /* const_expr: '(' const_expr_comma ')' */ +#line 3820 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 8842 "built/tmp/cppBison.yxx.c" +#line 8859 "built/tmp/cppBison.yxx.c" break; - case 663: /* const_operand: INTEGER */ -#line 3818 "dtool/src/cppparser/cppBison.yxx" + case 664: /* const_operand: INTEGER */ +#line 3827 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 8850 "built/tmp/cppBison.yxx.c" +#line 8867 "built/tmp/cppBison.yxx.c" break; - case 664: /* const_operand: KW_TRUE */ -#line 3822 "dtool/src/cppparser/cppBison.yxx" + case 665: /* const_operand: KW_TRUE */ +#line 3831 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(true); } -#line 8858 "built/tmp/cppBison.yxx.c" +#line 8875 "built/tmp/cppBison.yxx.c" break; - case 665: /* const_operand: KW_FALSE */ -#line 3826 "dtool/src/cppparser/cppBison.yxx" + case 666: /* const_operand: KW_FALSE */ +#line 3835 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(false); } -#line 8866 "built/tmp/cppBison.yxx.c" +#line 8883 "built/tmp/cppBison.yxx.c" break; - case 666: /* const_operand: CHAR_TOK */ -#line 3830 "dtool/src/cppparser/cppBison.yxx" + case 667: /* const_operand: CHAR_TOK */ +#line 3839 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 8874 "built/tmp/cppBison.yxx.c" +#line 8891 "built/tmp/cppBison.yxx.c" break; - case 667: /* const_operand: REAL */ -#line 3834 "dtool/src/cppparser/cppBison.yxx" + case 668: /* const_operand: REAL */ +#line 3843 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.real)); } -#line 8882 "built/tmp/cppBison.yxx.c" +#line 8899 "built/tmp/cppBison.yxx.c" break; - case 668: /* const_operand: string_literal */ -#line 3838 "dtool/src/cppparser/cppBison.yxx" + case 669: /* const_operand: string_literal */ +#line 3847 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8890 "built/tmp/cppBison.yxx.c" +#line 8907 "built/tmp/cppBison.yxx.c" break; - case 669: /* const_operand: CUSTOM_LITERAL */ -#line 3842 "dtool/src/cppparser/cppBison.yxx" + case 670: /* const_operand: CUSTOM_LITERAL */ +#line 3851 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 8898 "built/tmp/cppBison.yxx.c" +#line 8915 "built/tmp/cppBison.yxx.c" break; - case 670: /* const_operand: IDENTIFIER */ -#line 3846 "dtool/src/cppparser/cppBison.yxx" + case 671: /* const_operand: IDENTIFIER */ +#line 3855 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer); } -#line 8906 "built/tmp/cppBison.yxx.c" +#line 8923 "built/tmp/cppBison.yxx.c" break; - case 671: /* const_operand: KW_FINAL */ -#line 3850 "dtool/src/cppparser/cppBison.yxx" + case 672: /* const_operand: KW_FINAL */ +#line 3859 "dtool/src/cppparser/cppBison.yxx" { // A variable named "final". C++11 explicitly permits this. CPPIdentifier *ident = new CPPIdentifier("final", (yylsp[0])); (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer); } -#line 8916 "built/tmp/cppBison.yxx.c" +#line 8933 "built/tmp/cppBison.yxx.c" break; - case 672: /* const_operand: KW_OVERRIDE */ -#line 3856 "dtool/src/cppparser/cppBison.yxx" + case 673: /* const_operand: KW_OVERRIDE */ +#line 3865 "dtool/src/cppparser/cppBison.yxx" { // A variable named "override". C++11 explicitly permits this. CPPIdentifier *ident = new CPPIdentifier("override", (yylsp[0])); (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer); } -#line 8926 "built/tmp/cppBison.yxx.c" +#line 8943 "built/tmp/cppBison.yxx.c" break; - case 673: /* const_operand: KW_NULLPTR */ -#line 3862 "dtool/src/cppparser/cppBison.yxx" + case 674: /* const_operand: KW_NULLPTR */ +#line 3871 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); } -#line 8934 "built/tmp/cppBison.yxx.c" +#line 8951 "built/tmp/cppBison.yxx.c" break; - case 674: /* const_operand: '[' capture_list ']' function_post optional_attributes maybe_trailing_return_type '{' code '}' */ -#line 3866 "dtool/src/cppparser/cppBison.yxx" + case 675: /* const_operand: '[' capture_list ']' function_post optional_attributes maybe_trailing_return_type '{' code '}' */ +#line 3875 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[-7].u.closure_type)->_flags = (yyvsp[-5].u.integer); (yyvsp[-7].u.closure_type)->_attributes = (yyvsp[-4].attr_list); (yyvsp[-7].u.closure_type)->_return_type = (yyvsp[-3].u.type); (yyval.u.expr) = new CPPExpression(CPPExpression::lambda((yyvsp[-7].u.closure_type))); } -#line 8945 "built/tmp/cppBison.yxx.c" +#line 8962 "built/tmp/cppBison.yxx.c" break; - case 675: /* const_operand: '[' capture_list ']' '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type '{' code '}' */ -#line 3873 "dtool/src/cppparser/cppBison.yxx" + case 676: /* const_operand: '[' capture_list ']' '(' function_parameter_list ')' function_post optional_attributes maybe_trailing_return_type '{' code '}' */ +#line 3882 "dtool/src/cppparser/cppBison.yxx" { (yyvsp[-10].u.closure_type)->_parameters = (yyvsp[-7].u.param_list); (yyvsp[-10].u.closure_type)->_flags = (yyvsp[-5].u.integer); @@ -8953,251 +8970,251 @@ yyreduce: (yyvsp[-10].u.closure_type)->_return_type = (yyvsp[-3].u.type); (yyval.u.expr) = new CPPExpression(CPPExpression::lambda((yyvsp[-10].u.closure_type))); } -#line 8957 "built/tmp/cppBison.yxx.c" +#line 8974 "built/tmp/cppBison.yxx.c" break; - case 676: /* const_operand: KW_HAS_VIRTUAL_DESTRUCTOR '(' full_type ')' */ -#line 3881 "dtool/src/cppparser/cppBison.yxx" + case 677: /* const_operand: KW_HAS_VIRTUAL_DESTRUCTOR '(' full_type ')' */ +#line 3890 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_HAS_VIRTUAL_DESTRUCTOR, (yyvsp[-1].u.type))); } -#line 8965 "built/tmp/cppBison.yxx.c" +#line 8982 "built/tmp/cppBison.yxx.c" break; - case 677: /* const_operand: KW_IS_ABSTRACT '(' full_type ')' */ -#line 3885 "dtool/src/cppparser/cppBison.yxx" + case 678: /* const_operand: KW_IS_ABSTRACT '(' full_type ')' */ +#line 3894 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_ABSTRACT, (yyvsp[-1].u.type))); } -#line 8973 "built/tmp/cppBison.yxx.c" +#line 8990 "built/tmp/cppBison.yxx.c" break; - case 678: /* const_operand: KW_IS_BASE_OF '(' full_type ',' full_type ')' */ -#line 3889 "dtool/src/cppparser/cppBison.yxx" + case 679: /* const_operand: KW_IS_BASE_OF '(' full_type ',' full_type ')' */ +#line 3898 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CLASS, (yyvsp[-3].u.type), (yyvsp[-1].u.type))); } -#line 8981 "built/tmp/cppBison.yxx.c" +#line 8998 "built/tmp/cppBison.yxx.c" break; - case 679: /* const_operand: KW_IS_CLASS '(' full_type ')' */ -#line 3893 "dtool/src/cppparser/cppBison.yxx" + case 680: /* const_operand: KW_IS_CLASS '(' full_type ')' */ +#line 3902 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CLASS, (yyvsp[-1].u.type))); } -#line 8989 "built/tmp/cppBison.yxx.c" +#line 9006 "built/tmp/cppBison.yxx.c" break; - case 680: /* const_operand: KW_IS_CONSTRUCTIBLE '(' full_type ')' */ -#line 3897 "dtool/src/cppparser/cppBison.yxx" + case 681: /* const_operand: KW_IS_CONSTRUCTIBLE '(' full_type ')' */ +#line 3906 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CONSTRUCTIBLE, (yyvsp[-1].u.type))); } -#line 8997 "built/tmp/cppBison.yxx.c" +#line 9014 "built/tmp/cppBison.yxx.c" break; - case 681: /* const_operand: KW_IS_CONSTRUCTIBLE '(' full_type ',' full_type ')' */ -#line 3901 "dtool/src/cppparser/cppBison.yxx" + case 682: /* const_operand: KW_IS_CONSTRUCTIBLE '(' full_type ',' full_type ')' */ +#line 3910 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CONSTRUCTIBLE, (yyvsp[-3].u.type), (yyvsp[-1].u.type))); } -#line 9005 "built/tmp/cppBison.yxx.c" +#line 9022 "built/tmp/cppBison.yxx.c" break; - case 682: /* const_operand: KW_IS_CONVERTIBLE_TO '(' full_type ',' full_type ')' */ -#line 3905 "dtool/src/cppparser/cppBison.yxx" + case 683: /* const_operand: KW_IS_CONVERTIBLE_TO '(' full_type ',' full_type ')' */ +#line 3914 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_CONVERTIBLE_TO, (yyvsp[-3].u.type), (yyvsp[-1].u.type))); } -#line 9013 "built/tmp/cppBison.yxx.c" +#line 9030 "built/tmp/cppBison.yxx.c" break; - case 683: /* const_operand: KW_IS_DESTRUCTIBLE '(' full_type ')' */ -#line 3909 "dtool/src/cppparser/cppBison.yxx" + case 684: /* const_operand: KW_IS_DESTRUCTIBLE '(' full_type ')' */ +#line 3918 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_DESTRUCTIBLE, (yyvsp[-1].u.type))); } -#line 9021 "built/tmp/cppBison.yxx.c" +#line 9038 "built/tmp/cppBison.yxx.c" break; - case 684: /* const_operand: KW_IS_EMPTY '(' full_type ')' */ -#line 3913 "dtool/src/cppparser/cppBison.yxx" + case 685: /* const_operand: KW_IS_EMPTY '(' full_type ')' */ +#line 3922 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_EMPTY, (yyvsp[-1].u.type))); } -#line 9029 "built/tmp/cppBison.yxx.c" +#line 9046 "built/tmp/cppBison.yxx.c" break; - case 685: /* const_operand: KW_IS_ENUM '(' full_type ')' */ -#line 3917 "dtool/src/cppparser/cppBison.yxx" + case 686: /* const_operand: KW_IS_ENUM '(' full_type ')' */ +#line 3926 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_ENUM, (yyvsp[-1].u.type))); } -#line 9037 "built/tmp/cppBison.yxx.c" +#line 9054 "built/tmp/cppBison.yxx.c" break; - case 686: /* const_operand: KW_IS_FINAL '(' full_type ')' */ -#line 3921 "dtool/src/cppparser/cppBison.yxx" + case 687: /* const_operand: KW_IS_FINAL '(' full_type ')' */ +#line 3930 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_FINAL, (yyvsp[-1].u.type))); } -#line 9045 "built/tmp/cppBison.yxx.c" +#line 9062 "built/tmp/cppBison.yxx.c" break; - case 687: /* const_operand: KW_IS_FUNDAMENTAL '(' full_type ')' */ -#line 3925 "dtool/src/cppparser/cppBison.yxx" + case 688: /* const_operand: KW_IS_FUNDAMENTAL '(' full_type ')' */ +#line 3934 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_FUNDAMENTAL, (yyvsp[-1].u.type))); } -#line 9053 "built/tmp/cppBison.yxx.c" +#line 9070 "built/tmp/cppBison.yxx.c" break; - case 688: /* const_operand: KW_IS_POD '(' full_type ')' */ -#line 3929 "dtool/src/cppparser/cppBison.yxx" + case 689: /* const_operand: KW_IS_POD '(' full_type ')' */ +#line 3938 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_POD, (yyvsp[-1].u.type))); } -#line 9061 "built/tmp/cppBison.yxx.c" +#line 9078 "built/tmp/cppBison.yxx.c" break; - case 689: /* const_operand: KW_IS_POLYMORPHIC '(' full_type ')' */ -#line 3933 "dtool/src/cppparser/cppBison.yxx" + case 690: /* const_operand: KW_IS_POLYMORPHIC '(' full_type ')' */ +#line 3942 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_POLYMORPHIC, (yyvsp[-1].u.type))); } -#line 9069 "built/tmp/cppBison.yxx.c" +#line 9086 "built/tmp/cppBison.yxx.c" break; - case 690: /* const_operand: KW_IS_STANDARD_LAYOUT '(' full_type ')' */ -#line 3937 "dtool/src/cppparser/cppBison.yxx" + case 691: /* const_operand: KW_IS_STANDARD_LAYOUT '(' full_type ')' */ +#line 3946 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_STANDARD_LAYOUT, (yyvsp[-1].u.type))); } -#line 9077 "built/tmp/cppBison.yxx.c" +#line 9094 "built/tmp/cppBison.yxx.c" break; - case 691: /* const_operand: KW_IS_TRIVIAL '(' full_type ')' */ -#line 3941 "dtool/src/cppparser/cppBison.yxx" + case 692: /* const_operand: KW_IS_TRIVIAL '(' full_type ')' */ +#line 3950 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_TRIVIAL, (yyvsp[-1].u.type))); } -#line 9085 "built/tmp/cppBison.yxx.c" +#line 9102 "built/tmp/cppBison.yxx.c" break; - case 692: /* const_operand: KW_IS_TRIVIALLY_COPYABLE '(' full_type ')' */ -#line 3945 "dtool/src/cppparser/cppBison.yxx" + case 693: /* const_operand: KW_IS_TRIVIALLY_COPYABLE '(' full_type ')' */ +#line 3954 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_TRIVIALLY_COPYABLE, (yyvsp[-1].u.type))); } -#line 9093 "built/tmp/cppBison.yxx.c" +#line 9110 "built/tmp/cppBison.yxx.c" break; - case 693: /* const_operand: KW_IS_UNION '(' full_type ')' */ -#line 3949 "dtool/src/cppparser/cppBison.yxx" + case 694: /* const_operand: KW_IS_UNION '(' full_type ')' */ +#line 3958 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::type_trait(KW_IS_UNION, (yyvsp[-1].u.type))); } -#line 9101 "built/tmp/cppBison.yxx.c" +#line 9118 "built/tmp/cppBison.yxx.c" break; - case 694: /* formal_const_expr: formal_const_operand */ -#line 3963 "dtool/src/cppparser/cppBison.yxx" + case 695: /* formal_const_expr: formal_const_operand */ +#line 3972 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9109 "built/tmp/cppBison.yxx.c" +#line 9126 "built/tmp/cppBison.yxx.c" break; - case 695: /* formal_const_expr: '(' full_type ')' const_expr */ -#line 3967 "dtool/src/cppparser/cppBison.yxx" + case 696: /* formal_const_expr: '(' full_type ')' const_expr */ +#line 3976 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-2].u.type), (yyvsp[0].u.expr))); } -#line 9117 "built/tmp/cppBison.yxx.c" +#line 9134 "built/tmp/cppBison.yxx.c" break; - case 696: /* formal_const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3971 "dtool/src/cppparser/cppBison.yxx" + case 697: /* formal_const_expr: KW_STATIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3980 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_static_cast)); } -#line 9125 "built/tmp/cppBison.yxx.c" +#line 9142 "built/tmp/cppBison.yxx.c" break; - case 697: /* formal_const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3975 "dtool/src/cppparser/cppBison.yxx" + case 698: /* formal_const_expr: KW_DYNAMIC_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3984 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_dynamic_cast)); } -#line 9133 "built/tmp/cppBison.yxx.c" +#line 9150 "built/tmp/cppBison.yxx.c" break; - case 698: /* formal_const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3979 "dtool/src/cppparser/cppBison.yxx" + case 699: /* formal_const_expr: KW_CONST_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3988 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_const_cast)); } -#line 9141 "built/tmp/cppBison.yxx.c" +#line 9158 "built/tmp/cppBison.yxx.c" break; - case 699: /* formal_const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ -#line 3983 "dtool/src/cppparser/cppBison.yxx" + case 700: /* formal_const_expr: KW_REINTERPRET_CAST '<' full_type '>' '(' const_expr_comma ')' */ +#line 3992 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::typecast_op((yyvsp[-4].u.type), (yyvsp[-1].u.expr), CPPExpression::T_reinterpret_cast)); } -#line 9149 "built/tmp/cppBison.yxx.c" +#line 9166 "built/tmp/cppBison.yxx.c" break; - case 700: /* formal_const_expr: KW_SIZEOF '(' full_type ')' */ -#line 3987 "dtool/src/cppparser/cppBison.yxx" + case 701: /* formal_const_expr: KW_SIZEOF '(' full_type ')' */ +#line 3996 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[-1].u.type))); } -#line 9157 "built/tmp/cppBison.yxx.c" +#line 9174 "built/tmp/cppBison.yxx.c" break; - case 701: /* formal_const_expr: KW_SIZEOF formal_const_expr */ -#line 3991 "dtool/src/cppparser/cppBison.yxx" + case 702: /* formal_const_expr: KW_SIZEOF formal_const_expr */ +#line 4000 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_func((yyvsp[0].u.expr))); } -#line 9165 "built/tmp/cppBison.yxx.c" +#line 9182 "built/tmp/cppBison.yxx.c" break; - case 702: /* formal_const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ -#line 3995 "dtool/src/cppparser/cppBison.yxx" + case 703: /* formal_const_expr: KW_SIZEOF ELLIPSIS '(' name ')' */ +#line 4004 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::sizeof_ellipsis_func((yyvsp[-1].u.identifier))); } -#line 9173 "built/tmp/cppBison.yxx.c" +#line 9190 "built/tmp/cppBison.yxx.c" break; - case 703: /* formal_const_expr: KW_ALIGNOF '(' full_type ')' */ -#line 3999 "dtool/src/cppparser/cppBison.yxx" + case 704: /* formal_const_expr: KW_ALIGNOF '(' full_type ')' */ +#line 4008 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::alignof_func((yyvsp[-1].u.type))); } -#line 9181 "built/tmp/cppBison.yxx.c" +#line 9198 "built/tmp/cppBison.yxx.c" break; - case 704: /* formal_const_expr: KW_NEW predefined_type */ -#line 4003 "dtool/src/cppparser/cppBison.yxx" + case 705: /* formal_const_expr: KW_NEW predefined_type */ +#line 4012 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[0].u.type))); } -#line 9189 "built/tmp/cppBison.yxx.c" +#line 9206 "built/tmp/cppBison.yxx.c" break; - case 705: /* formal_const_expr: KW_NEW predefined_type '(' optional_const_expr_comma ')' */ -#line 4007 "dtool/src/cppparser/cppBison.yxx" + case 706: /* formal_const_expr: KW_NEW predefined_type '(' optional_const_expr_comma ')' */ +#line 4016 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::new_op((yyvsp[-3].u.type), (yyvsp[-1].u.expr))); } -#line 9197 "built/tmp/cppBison.yxx.c" +#line 9214 "built/tmp/cppBison.yxx.c" break; - case 706: /* formal_const_expr: KW_TYPEID '(' full_type ')' */ -#line 4011 "dtool/src/cppparser/cppBison.yxx" + case 707: /* formal_const_expr: KW_TYPEID '(' full_type ')' */ +#line 4020 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -9208,11 +9225,11 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.type), std_type_info)); } -#line 9212 "built/tmp/cppBison.yxx.c" +#line 9229 "built/tmp/cppBison.yxx.c" break; - case 707: /* formal_const_expr: KW_TYPEID '(' const_expr ')' */ -#line 4022 "dtool/src/cppparser/cppBison.yxx" + case 708: /* formal_const_expr: KW_TYPEID '(' const_expr ')' */ +#line 4031 "dtool/src/cppparser/cppBison.yxx" { CPPIdentifier ident(""); ident.add_name("std"); @@ -9223,417 +9240,417 @@ yyreduce: } (yyval.u.expr) = new CPPExpression(CPPExpression::typeid_op((yyvsp[-1].u.expr), std_type_info)); } -#line 9227 "built/tmp/cppBison.yxx.c" +#line 9244 "built/tmp/cppBison.yxx.c" break; - case 708: /* formal_const_expr: '!' const_expr */ -#line 4033 "dtool/src/cppparser/cppBison.yxx" + case 709: /* formal_const_expr: '!' const_expr */ +#line 4042 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NOT, (yyvsp[0].u.expr)); } -#line 9235 "built/tmp/cppBison.yxx.c" +#line 9252 "built/tmp/cppBison.yxx.c" break; - case 709: /* formal_const_expr: '~' const_expr */ -#line 4037 "dtool/src/cppparser/cppBison.yxx" + case 710: /* formal_const_expr: '~' const_expr */ +#line 4046 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_NEGATE, (yyvsp[0].u.expr)); } -#line 9243 "built/tmp/cppBison.yxx.c" +#line 9260 "built/tmp/cppBison.yxx.c" break; - case 710: /* formal_const_expr: '-' const_expr */ -#line 4041 "dtool/src/cppparser/cppBison.yxx" + case 711: /* formal_const_expr: '-' const_expr */ +#line 4050 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_MINUS, (yyvsp[0].u.expr)); } -#line 9251 "built/tmp/cppBison.yxx.c" +#line 9268 "built/tmp/cppBison.yxx.c" break; - case 711: /* formal_const_expr: '+' const_expr */ -#line 4045 "dtool/src/cppparser/cppBison.yxx" + case 712: /* formal_const_expr: '+' const_expr */ +#line 4054 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_PLUS, (yyvsp[0].u.expr)); } -#line 9259 "built/tmp/cppBison.yxx.c" +#line 9276 "built/tmp/cppBison.yxx.c" break; - case 712: /* formal_const_expr: '&' const_expr */ -#line 4049 "dtool/src/cppparser/cppBison.yxx" + case 713: /* formal_const_expr: '&' const_expr */ +#line 4058 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(UNARY_REF, (yyvsp[0].u.expr)); } -#line 9267 "built/tmp/cppBison.yxx.c" +#line 9284 "built/tmp/cppBison.yxx.c" break; - case 713: /* formal_const_expr: formal_const_expr '*' const_expr */ -#line 4053 "dtool/src/cppparser/cppBison.yxx" + case 714: /* formal_const_expr: formal_const_expr '*' const_expr */ +#line 4062 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('*', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9275 "built/tmp/cppBison.yxx.c" +#line 9292 "built/tmp/cppBison.yxx.c" break; - case 714: /* formal_const_expr: formal_const_expr '/' const_expr */ -#line 4057 "dtool/src/cppparser/cppBison.yxx" + case 715: /* formal_const_expr: formal_const_expr '/' const_expr */ +#line 4066 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('/', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9283 "built/tmp/cppBison.yxx.c" +#line 9300 "built/tmp/cppBison.yxx.c" break; - case 715: /* formal_const_expr: formal_const_expr '%' const_expr */ -#line 4061 "dtool/src/cppparser/cppBison.yxx" + case 716: /* formal_const_expr: formal_const_expr '%' const_expr */ +#line 4070 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('%', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9291 "built/tmp/cppBison.yxx.c" +#line 9308 "built/tmp/cppBison.yxx.c" break; - case 716: /* formal_const_expr: formal_const_expr '+' const_expr */ -#line 4065 "dtool/src/cppparser/cppBison.yxx" + case 717: /* formal_const_expr: formal_const_expr '+' const_expr */ +#line 4074 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('+', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9299 "built/tmp/cppBison.yxx.c" +#line 9316 "built/tmp/cppBison.yxx.c" break; - case 717: /* formal_const_expr: formal_const_expr '-' const_expr */ -#line 4069 "dtool/src/cppparser/cppBison.yxx" + case 718: /* formal_const_expr: formal_const_expr '-' const_expr */ +#line 4078 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('-', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9307 "built/tmp/cppBison.yxx.c" +#line 9324 "built/tmp/cppBison.yxx.c" break; - case 718: /* formal_const_expr: formal_const_expr '|' const_expr */ -#line 4073 "dtool/src/cppparser/cppBison.yxx" + case 719: /* formal_const_expr: formal_const_expr '|' const_expr */ +#line 4082 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('|', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9315 "built/tmp/cppBison.yxx.c" +#line 9332 "built/tmp/cppBison.yxx.c" break; - case 719: /* formal_const_expr: formal_const_expr '^' const_expr */ -#line 4077 "dtool/src/cppparser/cppBison.yxx" + case 720: /* formal_const_expr: formal_const_expr '^' const_expr */ +#line 4086 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('^', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9323 "built/tmp/cppBison.yxx.c" +#line 9340 "built/tmp/cppBison.yxx.c" break; - case 720: /* formal_const_expr: formal_const_expr '&' const_expr */ -#line 4081 "dtool/src/cppparser/cppBison.yxx" + case 721: /* formal_const_expr: formal_const_expr '&' const_expr */ +#line 4090 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('&', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9331 "built/tmp/cppBison.yxx.c" +#line 9348 "built/tmp/cppBison.yxx.c" break; - case 721: /* formal_const_expr: formal_const_expr OROR const_expr */ -#line 4085 "dtool/src/cppparser/cppBison.yxx" + case 722: /* formal_const_expr: formal_const_expr OROR const_expr */ +#line 4094 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(OROR, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9339 "built/tmp/cppBison.yxx.c" +#line 9356 "built/tmp/cppBison.yxx.c" break; - case 722: /* formal_const_expr: formal_const_expr ANDAND const_expr */ -#line 4089 "dtool/src/cppparser/cppBison.yxx" + case 723: /* formal_const_expr: formal_const_expr ANDAND const_expr */ +#line 4098 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(ANDAND, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9347 "built/tmp/cppBison.yxx.c" +#line 9364 "built/tmp/cppBison.yxx.c" break; - case 723: /* formal_const_expr: formal_const_expr EQCOMPARE const_expr */ -#line 4093 "dtool/src/cppparser/cppBison.yxx" + case 724: /* formal_const_expr: formal_const_expr EQCOMPARE const_expr */ +#line 4102 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(EQCOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9355 "built/tmp/cppBison.yxx.c" +#line 9372 "built/tmp/cppBison.yxx.c" break; - case 724: /* formal_const_expr: formal_const_expr NECOMPARE const_expr */ -#line 4097 "dtool/src/cppparser/cppBison.yxx" + case 725: /* formal_const_expr: formal_const_expr NECOMPARE const_expr */ +#line 4106 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(NECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9363 "built/tmp/cppBison.yxx.c" +#line 9380 "built/tmp/cppBison.yxx.c" break; - case 725: /* formal_const_expr: formal_const_expr LECOMPARE const_expr */ -#line 4101 "dtool/src/cppparser/cppBison.yxx" + case 726: /* formal_const_expr: formal_const_expr LECOMPARE const_expr */ +#line 4110 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9371 "built/tmp/cppBison.yxx.c" +#line 9388 "built/tmp/cppBison.yxx.c" break; - case 726: /* formal_const_expr: formal_const_expr GECOMPARE const_expr */ -#line 4105 "dtool/src/cppparser/cppBison.yxx" + case 727: /* formal_const_expr: formal_const_expr GECOMPARE const_expr */ +#line 4114 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(GECOMPARE, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9379 "built/tmp/cppBison.yxx.c" +#line 9396 "built/tmp/cppBison.yxx.c" break; - case 727: /* formal_const_expr: formal_const_expr SPACESHIP const_expr */ -#line 4109 "dtool/src/cppparser/cppBison.yxx" + case 728: /* formal_const_expr: formal_const_expr SPACESHIP const_expr */ +#line 4118 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(SPACESHIP, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9387 "built/tmp/cppBison.yxx.c" +#line 9404 "built/tmp/cppBison.yxx.c" break; - case 728: /* formal_const_expr: formal_const_expr '<' const_expr */ -#line 4113 "dtool/src/cppparser/cppBison.yxx" + case 729: /* formal_const_expr: formal_const_expr '<' const_expr */ +#line 4122 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('<', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9395 "built/tmp/cppBison.yxx.c" +#line 9412 "built/tmp/cppBison.yxx.c" break; - case 729: /* formal_const_expr: formal_const_expr '>' const_expr */ -#line 4117 "dtool/src/cppparser/cppBison.yxx" + case 730: /* formal_const_expr: formal_const_expr '>' const_expr */ +#line 4126 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('>', (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9403 "built/tmp/cppBison.yxx.c" +#line 9420 "built/tmp/cppBison.yxx.c" break; - case 730: /* formal_const_expr: formal_const_expr LSHIFT const_expr */ -#line 4121 "dtool/src/cppparser/cppBison.yxx" + case 731: /* formal_const_expr: formal_const_expr LSHIFT const_expr */ +#line 4130 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(LSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9411 "built/tmp/cppBison.yxx.c" +#line 9428 "built/tmp/cppBison.yxx.c" break; - case 731: /* formal_const_expr: formal_const_expr RSHIFT const_expr */ -#line 4125 "dtool/src/cppparser/cppBison.yxx" + case 732: /* formal_const_expr: formal_const_expr RSHIFT const_expr */ +#line 4134 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(RSHIFT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9419 "built/tmp/cppBison.yxx.c" +#line 9436 "built/tmp/cppBison.yxx.c" break; - case 732: /* formal_const_expr: formal_const_expr '?' const_expr ':' const_expr */ -#line 4129 "dtool/src/cppparser/cppBison.yxx" + case 733: /* formal_const_expr: formal_const_expr '?' const_expr ':' const_expr */ +#line 4138 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('?', (yyvsp[-4].u.expr), (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9427 "built/tmp/cppBison.yxx.c" +#line 9444 "built/tmp/cppBison.yxx.c" break; - case 733: /* formal_const_expr: formal_const_expr '[' const_expr ']' */ -#line 4133 "dtool/src/cppparser/cppBison.yxx" + case 734: /* formal_const_expr: formal_const_expr '[' const_expr ']' */ +#line 4142 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('[', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 9435 "built/tmp/cppBison.yxx.c" +#line 9452 "built/tmp/cppBison.yxx.c" break; - case 734: /* formal_const_expr: formal_const_expr '(' const_expr_comma ')' */ -#line 4137 "dtool/src/cppparser/cppBison.yxx" + case 735: /* formal_const_expr: formal_const_expr '(' const_expr_comma ')' */ +#line 4146 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-3].u.expr), (yyvsp[-1].u.expr)); } -#line 9443 "built/tmp/cppBison.yxx.c" +#line 9460 "built/tmp/cppBison.yxx.c" break; - case 735: /* formal_const_expr: formal_const_expr '(' ')' */ -#line 4141 "dtool/src/cppparser/cppBison.yxx" + case 736: /* formal_const_expr: formal_const_expr '(' ')' */ +#line 4150 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('f', (yyvsp[-2].u.expr)); } -#line 9451 "built/tmp/cppBison.yxx.c" +#line 9468 "built/tmp/cppBison.yxx.c" break; - case 736: /* formal_const_expr: formal_const_expr '.' name */ -#line 4145 "dtool/src/cppparser/cppBison.yxx" + case 737: /* formal_const_expr: formal_const_expr '.' name */ +#line 4154 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression('.', (yyvsp[-2].u.expr), new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer)); } -#line 9459 "built/tmp/cppBison.yxx.c" +#line 9476 "built/tmp/cppBison.yxx.c" break; - case 737: /* formal_const_expr: formal_const_expr POINTSAT const_expr */ -#line 4149 "dtool/src/cppparser/cppBison.yxx" + case 738: /* formal_const_expr: formal_const_expr POINTSAT const_expr */ +#line 4158 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(POINTSAT, (yyvsp[-2].u.expr), (yyvsp[0].u.expr)); } -#line 9467 "built/tmp/cppBison.yxx.c" +#line 9484 "built/tmp/cppBison.yxx.c" break; - case 738: /* formal_const_expr: '(' const_expr_comma ')' */ -#line 4153 "dtool/src/cppparser/cppBison.yxx" + case 739: /* formal_const_expr: '(' const_expr_comma ')' */ +#line 4162 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[-1].u.expr); } -#line 9475 "built/tmp/cppBison.yxx.c" +#line 9492 "built/tmp/cppBison.yxx.c" break; - case 739: /* formal_const_operand: INTEGER */ -#line 4160 "dtool/src/cppparser/cppBison.yxx" + case 740: /* formal_const_operand: INTEGER */ +#line 4169 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 9483 "built/tmp/cppBison.yxx.c" +#line 9500 "built/tmp/cppBison.yxx.c" break; - case 740: /* formal_const_operand: KW_TRUE */ -#line 4164 "dtool/src/cppparser/cppBison.yxx" + case 741: /* formal_const_operand: KW_TRUE */ +#line 4173 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(true); } -#line 9491 "built/tmp/cppBison.yxx.c" +#line 9508 "built/tmp/cppBison.yxx.c" break; - case 741: /* formal_const_operand: KW_FALSE */ -#line 4168 "dtool/src/cppparser/cppBison.yxx" + case 742: /* formal_const_operand: KW_FALSE */ +#line 4177 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(false); } -#line 9499 "built/tmp/cppBison.yxx.c" +#line 9516 "built/tmp/cppBison.yxx.c" break; - case 742: /* formal_const_operand: CHAR_TOK */ -#line 4172 "dtool/src/cppparser/cppBison.yxx" + case 743: /* formal_const_operand: CHAR_TOK */ +#line 4181 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.integer)); } -#line 9507 "built/tmp/cppBison.yxx.c" +#line 9524 "built/tmp/cppBison.yxx.c" break; - case 743: /* formal_const_operand: REAL */ -#line 4176 "dtool/src/cppparser/cppBison.yxx" + case 744: /* formal_const_operand: REAL */ +#line 4185 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.real)); } -#line 9515 "built/tmp/cppBison.yxx.c" +#line 9532 "built/tmp/cppBison.yxx.c" break; - case 744: /* formal_const_operand: string_literal */ -#line 4180 "dtool/src/cppparser/cppBison.yxx" + case 745: /* formal_const_operand: string_literal */ +#line 4189 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9523 "built/tmp/cppBison.yxx.c" +#line 9540 "built/tmp/cppBison.yxx.c" break; - case 745: /* formal_const_operand: CUSTOM_LITERAL */ -#line 4184 "dtool/src/cppparser/cppBison.yxx" + case 746: /* formal_const_operand: CUSTOM_LITERAL */ +#line 4193 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9531 "built/tmp/cppBison.yxx.c" +#line 9548 "built/tmp/cppBison.yxx.c" break; - case 746: /* formal_const_operand: IDENTIFIER */ -#line 4188 "dtool/src/cppparser/cppBison.yxx" + case 747: /* formal_const_operand: IDENTIFIER */ +#line 4197 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].u.identifier), current_scope, global_scope, current_lexer); } -#line 9539 "built/tmp/cppBison.yxx.c" +#line 9556 "built/tmp/cppBison.yxx.c" break; - case 747: /* formal_const_operand: KW_FINAL */ -#line 4192 "dtool/src/cppparser/cppBison.yxx" + case 748: /* formal_const_operand: KW_FINAL */ +#line 4201 "dtool/src/cppparser/cppBison.yxx" { // A variable named "final". C++11 explicitly permits this. CPPIdentifier *ident = new CPPIdentifier("final", (yylsp[0])); (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer); } -#line 9549 "built/tmp/cppBison.yxx.c" +#line 9566 "built/tmp/cppBison.yxx.c" break; - case 748: /* formal_const_operand: KW_OVERRIDE */ -#line 4198 "dtool/src/cppparser/cppBison.yxx" + case 749: /* formal_const_operand: KW_OVERRIDE */ +#line 4207 "dtool/src/cppparser/cppBison.yxx" { // A variable named "override". C++11 explicitly permits this. CPPIdentifier *ident = new CPPIdentifier("override", (yylsp[0])); (yyval.u.expr) = new CPPExpression(ident, current_scope, global_scope, current_lexer); } -#line 9559 "built/tmp/cppBison.yxx.c" +#line 9576 "built/tmp/cppBison.yxx.c" break; - case 749: /* formal_const_operand: KW_NULLPTR */ -#line 4204 "dtool/src/cppparser/cppBison.yxx" + case 750: /* formal_const_operand: KW_NULLPTR */ +#line 4213 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression(CPPExpression::get_nullptr()); } -#line 9567 "built/tmp/cppBison.yxx.c" +#line 9584 "built/tmp/cppBison.yxx.c" break; - case 750: /* capture_list: empty */ -#line 4212 "dtool/src/cppparser/cppBison.yxx" + case 751: /* capture_list: empty */ +#line 4221 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(); } -#line 9575 "built/tmp/cppBison.yxx.c" +#line 9592 "built/tmp/cppBison.yxx.c" break; - case 751: /* capture_list: '=' */ -#line 4216 "dtool/src/cppparser/cppBison.yxx" + case 752: /* capture_list: '=' */ +#line 4225 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(CPPClosureType::CT_by_value); } -#line 9583 "built/tmp/cppBison.yxx.c" +#line 9600 "built/tmp/cppBison.yxx.c" break; - case 752: /* capture_list: '&' */ -#line 4220 "dtool/src/cppparser/cppBison.yxx" + case 753: /* capture_list: '&' */ +#line 4229 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(CPPClosureType::CT_by_reference); } -#line 9591 "built/tmp/cppBison.yxx.c" +#line 9608 "built/tmp/cppBison.yxx.c" break; - case 753: /* capture_list: capture maybe_initialize */ -#line 4224 "dtool/src/cppparser/cppBison.yxx" + case 754: /* capture_list: capture maybe_initialize */ +#line 4233 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = new CPPClosureType(); (yyvsp[-1].u.capture)->_initializer = (yyvsp[0].u.expr); (yyval.u.closure_type)->_captures.push_back(*(yyvsp[-1].u.capture)); delete (yyvsp[-1].u.capture); } -#line 9602 "built/tmp/cppBison.yxx.c" +#line 9619 "built/tmp/cppBison.yxx.c" break; - case 754: /* capture_list: capture_list ',' capture maybe_initialize */ -#line 4231 "dtool/src/cppparser/cppBison.yxx" + case 755: /* capture_list: capture_list ',' capture maybe_initialize */ +#line 4240 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.closure_type) = (yyvsp[-3].u.closure_type); (yyvsp[-1].u.capture)->_initializer = (yyvsp[0].u.expr); (yyval.u.closure_type)->_captures.push_back(*(yyvsp[-1].u.capture)); delete (yyvsp[-1].u.capture); } -#line 9613 "built/tmp/cppBison.yxx.c" +#line 9630 "built/tmp/cppBison.yxx.c" break; - case 755: /* capture: '&' name */ -#line 4241 "dtool/src/cppparser/cppBison.yxx" + case 756: /* capture: '&' name */ +#line 4250 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.capture) = new CPPClosureType::Capture; (yyval.u.capture)->_name = (yyvsp[0].u.identifier)->get_simple_name(); (yyval.u.capture)->_type = CPPClosureType::CT_by_reference; } -#line 9623 "built/tmp/cppBison.yxx.c" +#line 9640 "built/tmp/cppBison.yxx.c" break; - case 756: /* capture: '&' name ELLIPSIS */ -#line 4247 "dtool/src/cppparser/cppBison.yxx" + case 757: /* capture: '&' name ELLIPSIS */ +#line 4256 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.capture) = new CPPClosureType::Capture; (yyval.u.capture)->_name = (yyvsp[-1].u.identifier)->get_simple_name(); (yyval.u.capture)->_type = CPPClosureType::CT_by_reference; } -#line 9633 "built/tmp/cppBison.yxx.c" +#line 9650 "built/tmp/cppBison.yxx.c" break; - case 757: /* capture: name */ -#line 4253 "dtool/src/cppparser/cppBison.yxx" + case 758: /* capture: name */ +#line 4262 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.capture) = new CPPClosureType::Capture; (yyval.u.capture)->_name = (yyvsp[0].u.identifier)->get_simple_name(); @@ -9643,11 +9660,11 @@ yyreduce: (yyval.u.capture)->_type = CPPClosureType::CT_by_value; } } -#line 9647 "built/tmp/cppBison.yxx.c" +#line 9664 "built/tmp/cppBison.yxx.c" break; - case 758: /* capture: '*' name */ -#line 4263 "dtool/src/cppparser/cppBison.yxx" + case 759: /* capture: '*' name */ +#line 4272 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.capture) = new CPPClosureType::Capture; (yyval.u.capture)->_name = (yyvsp[0].u.identifier)->get_simple_name(); @@ -9656,11 +9673,11 @@ yyreduce: yywarning("only capture name 'this' may be preceded by an asterisk", (yylsp[0])); } } -#line 9660 "built/tmp/cppBison.yxx.c" +#line 9677 "built/tmp/cppBison.yxx.c" break; - case 759: /* class_derivation_name: name */ -#line 4275 "dtool/src/cppparser/cppBison.yxx" + case 760: /* class_derivation_name: name */ +#line 4284 "dtool/src/cppparser/cppBison.yxx" { CPPType *type = (yyvsp[0].u.identifier)->find_type(current_scope, global_scope, true); if (type == nullptr) { @@ -9668,177 +9685,177 @@ yyreduce: } (yyval.u.type) = type; } -#line 9672 "built/tmp/cppBison.yxx.c" +#line 9689 "built/tmp/cppBison.yxx.c" break; - case 760: /* class_derivation_name: KW_TYPENAME name */ -#line 4283 "dtool/src/cppparser/cppBison.yxx" + case 761: /* class_derivation_name: KW_TYPENAME name */ +#line 4292 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.type) = CPPType::new_type(new CPPTBDType((yyvsp[0].u.identifier))); } -#line 9680 "built/tmp/cppBison.yxx.c" +#line 9697 "built/tmp/cppBison.yxx.c" break; - case 761: /* class_derivation_name: name ELLIPSIS */ -#line 4287 "dtool/src/cppparser/cppBison.yxx" + case 762: /* class_derivation_name: name ELLIPSIS */ +#line 4296 "dtool/src/cppparser/cppBison.yxx" { CPPClassTemplateParameter *ctp = new CPPClassTemplateParameter((yyvsp[-1].u.identifier)); ctp->_packed = true; (yyval.u.type) = CPPType::new_type(ctp); } -#line 9690 "built/tmp/cppBison.yxx.c" +#line 9707 "built/tmp/cppBison.yxx.c" break; - case 762: /* name: IDENTIFIER */ -#line 4317 "dtool/src/cppparser/cppBison.yxx" + case 763: /* name: IDENTIFIER */ +#line 4326 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9698 "built/tmp/cppBison.yxx.c" +#line 9715 "built/tmp/cppBison.yxx.c" break; - case 763: /* name: TYPENAME_IDENTIFIER */ -#line 4321 "dtool/src/cppparser/cppBison.yxx" + case 764: /* name: TYPENAME_IDENTIFIER */ +#line 4330 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9706 "built/tmp/cppBison.yxx.c" +#line 9723 "built/tmp/cppBison.yxx.c" break; - case 764: /* name: TYPEPACK_IDENTIFIER */ -#line 4325 "dtool/src/cppparser/cppBison.yxx" + case 765: /* name: TYPEPACK_IDENTIFIER */ +#line 4334 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9714 "built/tmp/cppBison.yxx.c" +#line 9731 "built/tmp/cppBison.yxx.c" break; - case 765: /* name: KW_FINAL */ -#line 4329 "dtool/src/cppparser/cppBison.yxx" + case 766: /* name: KW_FINAL */ +#line 4338 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("final", (yylsp[0])); } -#line 9722 "built/tmp/cppBison.yxx.c" +#line 9739 "built/tmp/cppBison.yxx.c" break; - case 766: /* name: KW_OVERRIDE */ -#line 4333 "dtool/src/cppparser/cppBison.yxx" + case 767: /* name: KW_OVERRIDE */ +#line 4342 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("override", (yylsp[0])); } -#line 9730 "built/tmp/cppBison.yxx.c" +#line 9747 "built/tmp/cppBison.yxx.c" break; - case 767: /* name: KW_SIGNED */ -#line 4337 "dtool/src/cppparser/cppBison.yxx" + case 768: /* name: KW_SIGNED */ +#line 4346 "dtool/src/cppparser/cppBison.yxx" { // This is not a keyword in Python, so it is useful to be able to use this // in MAKE_PROPERTY definitions, etc. (yyval.u.identifier) = new CPPIdentifier("signed", (yylsp[0])); } -#line 9740 "built/tmp/cppBison.yxx.c" +#line 9757 "built/tmp/cppBison.yxx.c" break; - case 768: /* name: KW_FLOAT */ -#line 4343 "dtool/src/cppparser/cppBison.yxx" + case 769: /* name: KW_FLOAT */ +#line 4352 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("float", (yylsp[0])); } -#line 9748 "built/tmp/cppBison.yxx.c" +#line 9765 "built/tmp/cppBison.yxx.c" break; - case 769: /* name: KW_PUBLIC */ -#line 4347 "dtool/src/cppparser/cppBison.yxx" + case 770: /* name: KW_PUBLIC */ +#line 4356 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("public", (yylsp[0])); } -#line 9756 "built/tmp/cppBison.yxx.c" +#line 9773 "built/tmp/cppBison.yxx.c" break; - case 770: /* name: KW_PRIVATE */ -#line 4351 "dtool/src/cppparser/cppBison.yxx" + case 771: /* name: KW_PRIVATE */ +#line 4360 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("private", (yylsp[0])); } -#line 9764 "built/tmp/cppBison.yxx.c" +#line 9781 "built/tmp/cppBison.yxx.c" break; - case 771: /* name: KW_STATIC */ -#line 4355 "dtool/src/cppparser/cppBison.yxx" + case 772: /* name: KW_STATIC */ +#line 4364 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("static", (yylsp[0])); } -#line 9772 "built/tmp/cppBison.yxx.c" +#line 9789 "built/tmp/cppBison.yxx.c" break; - case 772: /* name: KW_DEFAULT */ -#line 4359 "dtool/src/cppparser/cppBison.yxx" + case 773: /* name: KW_DEFAULT */ +#line 4368 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("default", (yylsp[0])); } -#line 9780 "built/tmp/cppBison.yxx.c" +#line 9797 "built/tmp/cppBison.yxx.c" break; - case 773: /* name_no_final: IDENTIFIER */ -#line 4370 "dtool/src/cppparser/cppBison.yxx" + case 774: /* name_no_final: IDENTIFIER */ +#line 4379 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9788 "built/tmp/cppBison.yxx.c" +#line 9805 "built/tmp/cppBison.yxx.c" break; - case 774: /* name_no_final: TYPENAME_IDENTIFIER */ -#line 4374 "dtool/src/cppparser/cppBison.yxx" + case 775: /* name_no_final: TYPENAME_IDENTIFIER */ +#line 4383 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9796 "built/tmp/cppBison.yxx.c" +#line 9813 "built/tmp/cppBison.yxx.c" break; - case 775: /* name_no_final: TYPEPACK_IDENTIFIER */ -#line 4378 "dtool/src/cppparser/cppBison.yxx" + case 776: /* name_no_final: TYPEPACK_IDENTIFIER */ +#line 4387 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = (yyvsp[0].u.identifier); } -#line 9804 "built/tmp/cppBison.yxx.c" +#line 9821 "built/tmp/cppBison.yxx.c" break; - case 776: /* name_no_final: KW_OVERRIDE */ -#line 4382 "dtool/src/cppparser/cppBison.yxx" + case 777: /* name_no_final: KW_OVERRIDE */ +#line 4391 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.identifier) = new CPPIdentifier("override", (yylsp[0])); } -#line 9812 "built/tmp/cppBison.yxx.c" +#line 9829 "built/tmp/cppBison.yxx.c" break; - case 777: /* string_literal: SIMPLE_STRING */ -#line 4390 "dtool/src/cppparser/cppBison.yxx" + case 778: /* string_literal: SIMPLE_STRING */ +#line 4399 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = new CPPExpression((yyvsp[0].str)); } -#line 9820 "built/tmp/cppBison.yxx.c" +#line 9837 "built/tmp/cppBison.yxx.c" break; - case 778: /* string_literal: STRING_LITERAL */ -#line 4394 "dtool/src/cppparser/cppBison.yxx" + case 779: /* string_literal: STRING_LITERAL */ +#line 4403 "dtool/src/cppparser/cppBison.yxx" { (yyval.u.expr) = (yyvsp[0].u.expr); } -#line 9828 "built/tmp/cppBison.yxx.c" +#line 9845 "built/tmp/cppBison.yxx.c" break; - case 779: /* string_literal: string_literal SIMPLE_STRING */ -#line 4398 "dtool/src/cppparser/cppBison.yxx" + case 780: /* string_literal: string_literal SIMPLE_STRING */ +#line 4407 "dtool/src/cppparser/cppBison.yxx" { // The right string takes on the literal type of the left. (yyval.u.expr) = (yyvsp[-1].u.expr); (yyval.u.expr)->_str += (yyvsp[0].str); } -#line 9838 "built/tmp/cppBison.yxx.c" +#line 9855 "built/tmp/cppBison.yxx.c" break; - case 780: /* string_literal: string_literal STRING_LITERAL */ -#line 4404 "dtool/src/cppparser/cppBison.yxx" + case 781: /* string_literal: string_literal STRING_LITERAL */ +#line 4413 "dtool/src/cppparser/cppBison.yxx" { // We have to check that the two literal types match up. (yyval.u.expr) = (yyvsp[-1].u.expr); @@ -9847,11 +9864,11 @@ yyreduce: } (yyval.u.expr)->_str += (yyvsp[0].u.expr)->_str; } -#line 9851 "built/tmp/cppBison.yxx.c" +#line 9868 "built/tmp/cppBison.yxx.c" break; -#line 9855 "built/tmp/cppBison.yxx.c" +#line 9872 "built/tmp/cppBison.yxx.c" default: break; } diff --git a/dtool/src/cppparser/cppBison.yxx b/dtool/src/cppparser/cppBison.yxx index 0eed60e0d9..6c0cf2a0d3 100644 --- a/dtool/src/cppparser/cppBison.yxx +++ b/dtool/src/cppparser/cppBison.yxx @@ -2971,8 +2971,17 @@ base_specification: ; enum: - enum_decl '{' enum_body '}' + enum_decl { + if (current_enum->_scope != nullptr) { + push_scope(current_enum->_scope); + } +} + '{' enum_body '}' +{ + if (current_enum->_scope != nullptr) { + pop_scope(); + } $$ = current_enum; current_enum = nullptr; }