#include #if defined(__GNUC__) || defined(__clang__) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wmissing-field-initializers" #endif #define LANGUAGE_VERSION 14 #define STATE_COUNT 493 #define LARGE_STATE_COUNT 48 #define SYMBOL_COUNT 115 #define ALIAS_COUNT 0 #define TOKEN_COUNT 68 #define EXTERNAL_TOKEN_COUNT 0 #define FIELD_COUNT 0 #define MAX_ALIAS_SEQUENCE_LENGTH 6 #define PRODUCTION_ID_COUNT 1 enum { sym_identifier = 1, sym__comment = 2, anon_sym_SEMI = 3, anon_sym_LPAREN = 4, anon_sym_RPAREN = 5, anon_sym_COMMA = 6, anon_sym_async = 7, anon_sym_LBRACE = 8, anon_sym_RBRACE = 9, anon_sym_struct = 10, anon_sym_EQ = 11, anon_sym_new = 12, sym_integer = 13, sym_float = 14, sym_string = 15, anon_sym_true = 16, anon_sym_false = 17, anon_sym_LBRACK = 18, anon_sym_RBRACK = 19, anon_sym_none = 20, anon_sym_some = 21, anon_sym_COLON = 22, anon_sym_DOT_DOT = 23, anon_sym_PLUS = 24, anon_sym_DASH = 25, anon_sym_STAR = 26, anon_sym_SLASH = 27, anon_sym_PERCENT = 28, anon_sym_EQ_EQ = 29, anon_sym_BANG_EQ = 30, anon_sym_AMP_AMP = 31, anon_sym_PIPE_PIPE = 32, anon_sym_GT = 33, anon_sym_LT = 34, anon_sym_GT_EQ = 35, anon_sym_LT_EQ = 36, anon_sym_PLUS_EQ = 37, anon_sym_DASH_EQ = 38, anon_sym_if = 39, anon_sym_elseif = 40, anon_sym_else = 41, anon_sym_match = 42, anon_sym_EQ_GT = 43, anon_sym_while = 44, anon_sym_for = 45, anon_sym_asyncfor = 46, anon_sym_in = 47, anon_sym_return = 48, anon_sym_any = 49, anon_sym_bool = 50, anon_sym_collection = 51, anon_sym_float = 52, anon_sym_int = 53, anon_sym_map = 54, anon_sym_num = 55, anon_sym_str = 56, anon_sym_DASH_GT = 57, anon_sym_option = 58, anon_sym_args = 59, anon_sym_assert_equal = 60, anon_sym_env = 61, anon_sym_fs = 62, anon_sym_json = 63, anon_sym_length = 64, anon_sym_output = 65, anon_sym_random = 66, anon_sym_string = 67, sym_root = 68, sym_statement = 69, sym_expression = 70, sym__expression_kind = 71, aux_sym__expression_list = 72, sym_block = 73, sym_value = 74, sym_structure = 75, sym_new = 76, sym_boolean = 77, sym_list = 78, sym_map = 79, sym_option = 80, sym_index = 81, sym_index_expression = 82, sym_math = 83, sym_math_operator = 84, sym_logic = 85, sym_logic_operator = 86, sym_assignment = 87, sym_index_assignment = 88, sym_assignment_operator = 89, sym_if_else = 90, sym_if = 91, sym_else_if = 92, sym_else = 93, sym_match = 94, sym_while = 95, sym_for = 96, sym_return = 97, sym_type_definition = 98, sym_type = 99, sym_function = 100, sym_function_expression = 101, sym__function_expression_kind = 102, sym_function_call = 103, sym_yield = 104, sym_built_in_value = 105, aux_sym_root_repeat1 = 106, aux_sym_structure_repeat1 = 107, aux_sym_new_repeat1 = 108, aux_sym_list_repeat1 = 109, aux_sym_map_repeat1 = 110, aux_sym_if_else_repeat1 = 111, aux_sym_match_repeat1 = 112, aux_sym_type_repeat1 = 113, aux_sym_function_repeat1 = 114, }; static const char * const ts_symbol_names[] = { [ts_builtin_sym_end] = "end", [sym_identifier] = "identifier", [sym__comment] = "_comment", [anon_sym_SEMI] = ";", [anon_sym_LPAREN] = "(", [anon_sym_RPAREN] = ")", [anon_sym_COMMA] = ",", [anon_sym_async] = "async", [anon_sym_LBRACE] = "{", [anon_sym_RBRACE] = "}", [anon_sym_struct] = "struct", [anon_sym_EQ] = "=", [anon_sym_new] = "new", [sym_integer] = "integer", [sym_float] = "float", [sym_string] = "string", [anon_sym_true] = "true", [anon_sym_false] = "false", [anon_sym_LBRACK] = "[", [anon_sym_RBRACK] = "]", [anon_sym_none] = "none", [anon_sym_some] = "some", [anon_sym_COLON] = ":", [anon_sym_DOT_DOT] = "..", [anon_sym_PLUS] = "+", [anon_sym_DASH] = "-", [anon_sym_STAR] = "*", [anon_sym_SLASH] = "/", [anon_sym_PERCENT] = "%", [anon_sym_EQ_EQ] = "==", [anon_sym_BANG_EQ] = "!=", [anon_sym_AMP_AMP] = "&&", [anon_sym_PIPE_PIPE] = "||", [anon_sym_GT] = ">", [anon_sym_LT] = "<", [anon_sym_GT_EQ] = ">=", [anon_sym_LT_EQ] = "<=", [anon_sym_PLUS_EQ] = "+=", [anon_sym_DASH_EQ] = "-=", [anon_sym_if] = "if", [anon_sym_elseif] = "else if", [anon_sym_else] = "else", [anon_sym_match] = "match", [anon_sym_EQ_GT] = "=>", [anon_sym_while] = "while", [anon_sym_for] = "for", [anon_sym_asyncfor] = "async for", [anon_sym_in] = "in", [anon_sym_return] = "return", [anon_sym_any] = "any", [anon_sym_bool] = "bool", [anon_sym_collection] = "collection", [anon_sym_float] = "float", [anon_sym_int] = "int", [anon_sym_map] = "map", [anon_sym_num] = "num", [anon_sym_str] = "str", [anon_sym_DASH_GT] = "->", [anon_sym_option] = "option", [anon_sym_args] = "args", [anon_sym_assert_equal] = "assert_equal", [anon_sym_env] = "env", [anon_sym_fs] = "fs", [anon_sym_json] = "json", [anon_sym_length] = "length", [anon_sym_output] = "output", [anon_sym_random] = "random", [anon_sym_string] = "string", [sym_root] = "root", [sym_statement] = "statement", [sym_expression] = "expression", [sym__expression_kind] = "_expression_kind", [aux_sym__expression_list] = "_expression_list", [sym_block] = "block", [sym_value] = "value", [sym_structure] = "structure", [sym_new] = "new", [sym_boolean] = "boolean", [sym_list] = "list", [sym_map] = "map", [sym_option] = "option", [sym_index] = "index", [sym_index_expression] = "index_expression", [sym_math] = "math", [sym_math_operator] = "math_operator", [sym_logic] = "logic", [sym_logic_operator] = "logic_operator", [sym_assignment] = "assignment", [sym_index_assignment] = "index_assignment", [sym_assignment_operator] = "assignment_operator", [sym_if_else] = "if_else", [sym_if] = "if", [sym_else_if] = "else_if", [sym_else] = "else", [sym_match] = "match", [sym_while] = "while", [sym_for] = "for", [sym_return] = "return", [sym_type_definition] = "type_definition", [sym_type] = "type", [sym_function] = "function", [sym_function_expression] = "function_expression", [sym__function_expression_kind] = "_function_expression_kind", [sym_function_call] = "function_call", [sym_yield] = "yield", [sym_built_in_value] = "built_in_value", [aux_sym_root_repeat1] = "root_repeat1", [aux_sym_structure_repeat1] = "structure_repeat1", [aux_sym_new_repeat1] = "new_repeat1", [aux_sym_list_repeat1] = "list_repeat1", [aux_sym_map_repeat1] = "map_repeat1", [aux_sym_if_else_repeat1] = "if_else_repeat1", [aux_sym_match_repeat1] = "match_repeat1", [aux_sym_type_repeat1] = "type_repeat1", [aux_sym_function_repeat1] = "function_repeat1", }; static const TSSymbol ts_symbol_map[] = { [ts_builtin_sym_end] = ts_builtin_sym_end, [sym_identifier] = sym_identifier, [sym__comment] = sym__comment, [anon_sym_SEMI] = anon_sym_SEMI, [anon_sym_LPAREN] = anon_sym_LPAREN, [anon_sym_RPAREN] = anon_sym_RPAREN, [anon_sym_COMMA] = anon_sym_COMMA, [anon_sym_async] = anon_sym_async, [anon_sym_LBRACE] = anon_sym_LBRACE, [anon_sym_RBRACE] = anon_sym_RBRACE, [anon_sym_struct] = anon_sym_struct, [anon_sym_EQ] = anon_sym_EQ, [anon_sym_new] = anon_sym_new, [sym_integer] = sym_integer, [sym_float] = sym_float, [sym_string] = sym_string, [anon_sym_true] = anon_sym_true, [anon_sym_false] = anon_sym_false, [anon_sym_LBRACK] = anon_sym_LBRACK, [anon_sym_RBRACK] = anon_sym_RBRACK, [anon_sym_none] = anon_sym_none, [anon_sym_some] = anon_sym_some, [anon_sym_COLON] = anon_sym_COLON, [anon_sym_DOT_DOT] = anon_sym_DOT_DOT, [anon_sym_PLUS] = anon_sym_PLUS, [anon_sym_DASH] = anon_sym_DASH, [anon_sym_STAR] = anon_sym_STAR, [anon_sym_SLASH] = anon_sym_SLASH, [anon_sym_PERCENT] = anon_sym_PERCENT, [anon_sym_EQ_EQ] = anon_sym_EQ_EQ, [anon_sym_BANG_EQ] = anon_sym_BANG_EQ, [anon_sym_AMP_AMP] = anon_sym_AMP_AMP, [anon_sym_PIPE_PIPE] = anon_sym_PIPE_PIPE, [anon_sym_GT] = anon_sym_GT, [anon_sym_LT] = anon_sym_LT, [anon_sym_GT_EQ] = anon_sym_GT_EQ, [anon_sym_LT_EQ] = anon_sym_LT_EQ, [anon_sym_PLUS_EQ] = anon_sym_PLUS_EQ, [anon_sym_DASH_EQ] = anon_sym_DASH_EQ, [anon_sym_if] = anon_sym_if, [anon_sym_elseif] = anon_sym_elseif, [anon_sym_else] = anon_sym_else, [anon_sym_match] = anon_sym_match, [anon_sym_EQ_GT] = anon_sym_EQ_GT, [anon_sym_while] = anon_sym_while, [anon_sym_for] = anon_sym_for, [anon_sym_asyncfor] = anon_sym_asyncfor, [anon_sym_in] = anon_sym_in, [anon_sym_return] = anon_sym_return, [anon_sym_any] = anon_sym_any, [anon_sym_bool] = anon_sym_bool, [anon_sym_collection] = anon_sym_collection, [anon_sym_float] = anon_sym_float, [anon_sym_int] = anon_sym_int, [anon_sym_map] = anon_sym_map, [anon_sym_num] = anon_sym_num, [anon_sym_str] = anon_sym_str, [anon_sym_DASH_GT] = anon_sym_DASH_GT, [anon_sym_option] = anon_sym_option, [anon_sym_args] = anon_sym_args, [anon_sym_assert_equal] = anon_sym_assert_equal, [anon_sym_env] = anon_sym_env, [anon_sym_fs] = anon_sym_fs, [anon_sym_json] = anon_sym_json, [anon_sym_length] = anon_sym_length, [anon_sym_output] = anon_sym_output, [anon_sym_random] = anon_sym_random, [anon_sym_string] = anon_sym_string, [sym_root] = sym_root, [sym_statement] = sym_statement, [sym_expression] = sym_expression, [sym__expression_kind] = sym__expression_kind, [aux_sym__expression_list] = aux_sym__expression_list, [sym_block] = sym_block, [sym_value] = sym_value, [sym_structure] = sym_structure, [sym_new] = sym_new, [sym_boolean] = sym_boolean, [sym_list] = sym_list, [sym_map] = sym_map, [sym_option] = sym_option, [sym_index] = sym_index, [sym_index_expression] = sym_index_expression, [sym_math] = sym_math, [sym_math_operator] = sym_math_operator, [sym_logic] = sym_logic, [sym_logic_operator] = sym_logic_operator, [sym_assignment] = sym_assignment, [sym_index_assignment] = sym_index_assignment, [sym_assignment_operator] = sym_assignment_operator, [sym_if_else] = sym_if_else, [sym_if] = sym_if, [sym_else_if] = sym_else_if, [sym_else] = sym_else, [sym_match] = sym_match, [sym_while] = sym_while, [sym_for] = sym_for, [sym_return] = sym_return, [sym_type_definition] = sym_type_definition, [sym_type] = sym_type, [sym_function] = sym_function, [sym_function_expression] = sym_function_expression, [sym__function_expression_kind] = sym__function_expression_kind, [sym_function_call] = sym_function_call, [sym_yield] = sym_yield, [sym_built_in_value] = sym_built_in_value, [aux_sym_root_repeat1] = aux_sym_root_repeat1, [aux_sym_structure_repeat1] = aux_sym_structure_repeat1, [aux_sym_new_repeat1] = aux_sym_new_repeat1, [aux_sym_list_repeat1] = aux_sym_list_repeat1, [aux_sym_map_repeat1] = aux_sym_map_repeat1, [aux_sym_if_else_repeat1] = aux_sym_if_else_repeat1, [aux_sym_match_repeat1] = aux_sym_match_repeat1, [aux_sym_type_repeat1] = aux_sym_type_repeat1, [aux_sym_function_repeat1] = aux_sym_function_repeat1, }; static const TSSymbolMetadata ts_symbol_metadata[] = { [ts_builtin_sym_end] = { .visible = false, .named = true, }, [sym_identifier] = { .visible = true, .named = true, }, [sym__comment] = { .visible = false, .named = true, }, [anon_sym_SEMI] = { .visible = true, .named = false, }, [anon_sym_LPAREN] = { .visible = true, .named = false, }, [anon_sym_RPAREN] = { .visible = true, .named = false, }, [anon_sym_COMMA] = { .visible = true, .named = false, }, [anon_sym_async] = { .visible = true, .named = false, }, [anon_sym_LBRACE] = { .visible = true, .named = false, }, [anon_sym_RBRACE] = { .visible = true, .named = false, }, [anon_sym_struct] = { .visible = true, .named = false, }, [anon_sym_EQ] = { .visible = true, .named = false, }, [anon_sym_new] = { .visible = true, .named = false, }, [sym_integer] = { .visible = true, .named = true, }, [sym_float] = { .visible = true, .named = true, }, [sym_string] = { .visible = true, .named = true, }, [anon_sym_true] = { .visible = true, .named = false, }, [anon_sym_false] = { .visible = true, .named = false, }, [anon_sym_LBRACK] = { .visible = true, .named = false, }, [anon_sym_RBRACK] = { .visible = true, .named = false, }, [anon_sym_none] = { .visible = true, .named = false, }, [anon_sym_some] = { .visible = true, .named = false, }, [anon_sym_COLON] = { .visible = true, .named = false, }, [anon_sym_DOT_DOT] = { .visible = true, .named = false, }, [anon_sym_PLUS] = { .visible = true, .named = false, }, [anon_sym_DASH] = { .visible = true, .named = false, }, [anon_sym_STAR] = { .visible = true, .named = false, }, [anon_sym_SLASH] = { .visible = true, .named = false, }, [anon_sym_PERCENT] = { .visible = true, .named = false, }, [anon_sym_EQ_EQ] = { .visible = true, .named = false, }, [anon_sym_BANG_EQ] = { .visible = true, .named = false, }, [anon_sym_AMP_AMP] = { .visible = true, .named = false, }, [anon_sym_PIPE_PIPE] = { .visible = true, .named = false, }, [anon_sym_GT] = { .visible = true, .named = false, }, [anon_sym_LT] = { .visible = true, .named = false, }, [anon_sym_GT_EQ] = { .visible = true, .named = false, }, [anon_sym_LT_EQ] = { .visible = true, .named = false, }, [anon_sym_PLUS_EQ] = { .visible = true, .named = false, }, [anon_sym_DASH_EQ] = { .visible = true, .named = false, }, [anon_sym_if] = { .visible = true, .named = false, }, [anon_sym_elseif] = { .visible = true, .named = false, }, [anon_sym_else] = { .visible = true, .named = false, }, [anon_sym_match] = { .visible = true, .named = false, }, [anon_sym_EQ_GT] = { .visible = true, .named = false, }, [anon_sym_while] = { .visible = true, .named = false, }, [anon_sym_for] = { .visible = true, .named = false, }, [anon_sym_asyncfor] = { .visible = true, .named = false, }, [anon_sym_in] = { .visible = true, .named = false, }, [anon_sym_return] = { .visible = true, .named = false, }, [anon_sym_any] = { .visible = true, .named = false, }, [anon_sym_bool] = { .visible = true, .named = false, }, [anon_sym_collection] = { .visible = true, .named = false, }, [anon_sym_float] = { .visible = true, .named = false, }, [anon_sym_int] = { .visible = true, .named = false, }, [anon_sym_map] = { .visible = true, .named = false, }, [anon_sym_num] = { .visible = true, .named = false, }, [anon_sym_str] = { .visible = true, .named = false, }, [anon_sym_DASH_GT] = { .visible = true, .named = false, }, [anon_sym_option] = { .visible = true, .named = false, }, [anon_sym_args] = { .visible = true, .named = false, }, [anon_sym_assert_equal] = { .visible = true, .named = false, }, [anon_sym_env] = { .visible = true, .named = false, }, [anon_sym_fs] = { .visible = true, .named = false, }, [anon_sym_json] = { .visible = true, .named = false, }, [anon_sym_length] = { .visible = true, .named = false, }, [anon_sym_output] = { .visible = true, .named = false, }, [anon_sym_random] = { .visible = true, .named = false, }, [anon_sym_string] = { .visible = true, .named = false, }, [sym_root] = { .visible = true, .named = true, }, [sym_statement] = { .visible = true, .named = true, }, [sym_expression] = { .visible = true, .named = true, }, [sym__expression_kind] = { .visible = false, .named = true, }, [aux_sym__expression_list] = { .visible = false, .named = false, }, [sym_block] = { .visible = true, .named = true, }, [sym_value] = { .visible = true, .named = true, }, [sym_structure] = { .visible = true, .named = true, }, [sym_new] = { .visible = true, .named = true, }, [sym_boolean] = { .visible = true, .named = true, }, [sym_list] = { .visible = true, .named = true, }, [sym_map] = { .visible = true, .named = true, }, [sym_option] = { .visible = true, .named = true, }, [sym_index] = { .visible = true, .named = true, }, [sym_index_expression] = { .visible = true, .named = true, }, [sym_math] = { .visible = true, .named = true, }, [sym_math_operator] = { .visible = true, .named = true, }, [sym_logic] = { .visible = true, .named = true, }, [sym_logic_operator] = { .visible = true, .named = true, }, [sym_assignment] = { .visible = true, .named = true, }, [sym_index_assignment] = { .visible = true, .named = true, }, [sym_assignment_operator] = { .visible = true, .named = true, }, [sym_if_else] = { .visible = true, .named = true, }, [sym_if] = { .visible = true, .named = true, }, [sym_else_if] = { .visible = true, .named = true, }, [sym_else] = { .visible = true, .named = true, }, [sym_match] = { .visible = true, .named = true, }, [sym_while] = { .visible = true, .named = true, }, [sym_for] = { .visible = true, .named = true, }, [sym_return] = { .visible = true, .named = true, }, [sym_type_definition] = { .visible = true, .named = true, }, [sym_type] = { .visible = true, .named = true, }, [sym_function] = { .visible = true, .named = true, }, [sym_function_expression] = { .visible = true, .named = true, }, [sym__function_expression_kind] = { .visible = false, .named = true, }, [sym_function_call] = { .visible = true, .named = true, }, [sym_yield] = { .visible = true, .named = true, }, [sym_built_in_value] = { .visible = true, .named = true, }, [aux_sym_root_repeat1] = { .visible = false, .named = false, }, [aux_sym_structure_repeat1] = { .visible = false, .named = false, }, [aux_sym_new_repeat1] = { .visible = false, .named = false, }, [aux_sym_list_repeat1] = { .visible = false, .named = false, }, [aux_sym_map_repeat1] = { .visible = false, .named = false, }, [aux_sym_if_else_repeat1] = { .visible = false, .named = false, }, [aux_sym_match_repeat1] = { .visible = false, .named = false, }, [aux_sym_type_repeat1] = { .visible = false, .named = false, }, [aux_sym_function_repeat1] = { .visible = false, .named = false, }, }; static const TSSymbol ts_alias_sequences[PRODUCTION_ID_COUNT][MAX_ALIAS_SEQUENCE_LENGTH] = { [0] = {0}, }; static const uint16_t ts_non_terminal_alias_map[] = { 0, }; static const TSStateId ts_primary_state_ids[STATE_COUNT] = { [0] = 0, [1] = 1, [2] = 2, [3] = 2, [4] = 2, [5] = 5, [6] = 6, [7] = 7, [8] = 8, [9] = 7, [10] = 10, [11] = 7, [12] = 7, [13] = 10, [14] = 8, [15] = 6, [16] = 7, [17] = 10, [18] = 8, [19] = 6, [20] = 6, [21] = 6, [22] = 8, [23] = 10, [24] = 24, [25] = 8, [26] = 10, [27] = 27, [28] = 28, [29] = 29, [30] = 30, [31] = 31, [32] = 32, [33] = 33, [34] = 32, [35] = 35, [36] = 31, [37] = 32, [38] = 38, [39] = 31, [40] = 29, [41] = 41, [42] = 41, [43] = 43, [44] = 44, [45] = 41, [46] = 29, [47] = 47, [48] = 48, [49] = 49, [50] = 50, [51] = 51, [52] = 48, [53] = 50, [54] = 49, [55] = 55, [56] = 56, [57] = 57, [58] = 58, [59] = 59, [60] = 60, [61] = 61, [62] = 62, [63] = 63, [64] = 64, [65] = 65, [66] = 66, [67] = 67, [68] = 68, [69] = 69, [70] = 70, [71] = 71, [72] = 72, [73] = 73, [74] = 74, [75] = 64, [76] = 76, [77] = 77, [78] = 78, [79] = 79, [80] = 80, [81] = 81, [82] = 82, [83] = 83, [84] = 84, [85] = 85, [86] = 86, [87] = 87, [88] = 88, [89] = 49, [90] = 50, [91] = 48, [92] = 88, [93] = 48, [94] = 50, [95] = 50, [96] = 87, [97] = 49, [98] = 48, [99] = 76, [100] = 62, [101] = 77, [102] = 78, [103] = 86, [104] = 70, [105] = 79, [106] = 66, [107] = 74, [108] = 64, [109] = 65, [110] = 55, [111] = 61, [112] = 59, [113] = 58, [114] = 68, [115] = 83, [116] = 85, [117] = 57, [118] = 73, [119] = 69, [120] = 60, [121] = 71, [122] = 56, [123] = 82, [124] = 67, [125] = 63, [126] = 87, [127] = 64, [128] = 80, [129] = 81, [130] = 51, [131] = 131, [132] = 132, [133] = 132, [134] = 84, [135] = 135, [136] = 136, [137] = 137, [138] = 138, [139] = 139, [140] = 135, [141] = 141, [142] = 142, [143] = 143, [144] = 50, [145] = 48, [146] = 141, [147] = 137, [148] = 138, [149] = 149, [150] = 137, [151] = 149, [152] = 139, [153] = 143, [154] = 142, [155] = 141, [156] = 137, [157] = 157, [158] = 142, [159] = 137, [160] = 139, [161] = 149, [162] = 137, [163] = 138, [164] = 135, [165] = 87, [166] = 166, [167] = 167, [168] = 168, [169] = 166, [170] = 170, [171] = 171, [172] = 172, [173] = 171, [174] = 167, [175] = 175, [176] = 176, [177] = 167, [178] = 176, [179] = 171, [180] = 171, [181] = 167, [182] = 167, [183] = 176, [184] = 175, [185] = 167, [186] = 176, [187] = 176, [188] = 171, [189] = 171, [190] = 167, [191] = 176, [192] = 167, [193] = 171, [194] = 176, [195] = 176, [196] = 88, [197] = 197, [198] = 171, [199] = 176, [200] = 175, [201] = 88, [202] = 167, [203] = 176, [204] = 197, [205] = 171, [206] = 176, [207] = 171, [208] = 167, [209] = 176, [210] = 168, [211] = 167, [212] = 167, [213] = 172, [214] = 197, [215] = 197, [216] = 170, [217] = 166, [218] = 218, [219] = 218, [220] = 168, [221] = 171, [222] = 222, [223] = 223, [224] = 224, [225] = 225, [226] = 226, [227] = 82, [228] = 228, [229] = 229, [230] = 67, [231] = 60, [232] = 232, [233] = 233, [234] = 234, [235] = 235, [236] = 236, [237] = 237, [238] = 238, [239] = 239, [240] = 232, [241] = 241, [242] = 242, [243] = 243, [244] = 244, [245] = 245, [246] = 224, [247] = 245, [248] = 245, [249] = 245, [250] = 225, [251] = 245, [252] = 245, [253] = 245, [254] = 226, [255] = 50, [256] = 48, [257] = 49, [258] = 258, [259] = 68, [260] = 67, [261] = 57, [262] = 50, [263] = 48, [264] = 73, [265] = 87, [266] = 80, [267] = 60, [268] = 64, [269] = 71, [270] = 62, [271] = 83, [272] = 228, [273] = 49, [274] = 58, [275] = 59, [276] = 61, [277] = 69, [278] = 82, [279] = 81, [280] = 55, [281] = 65, [282] = 85, [283] = 67, [284] = 82, [285] = 74, [286] = 60, [287] = 76, [288] = 63, [289] = 66, [290] = 56, [291] = 77, [292] = 229, [293] = 79, [294] = 70, [295] = 78, [296] = 86, [297] = 64, [298] = 234, [299] = 244, [300] = 232, [301] = 232, [302] = 238, [303] = 233, [304] = 237, [305] = 243, [306] = 239, [307] = 236, [308] = 241, [309] = 235, [310] = 242, [311] = 51, [312] = 312, [313] = 313, [314] = 84, [315] = 87, [316] = 50, [317] = 48, [318] = 318, [319] = 319, [320] = 320, [321] = 321, [322] = 49, [323] = 88, [324] = 88, [325] = 48, [326] = 50, [327] = 327, [328] = 328, [329] = 49, [330] = 48, [331] = 327, [332] = 50, [333] = 333, [334] = 328, [335] = 335, [336] = 335, [337] = 333, [338] = 335, [339] = 327, [340] = 340, [341] = 341, [342] = 342, [343] = 69, [344] = 87, [345] = 64, [346] = 346, [347] = 347, [348] = 346, [349] = 48, [350] = 350, [351] = 351, [352] = 352, [353] = 353, [354] = 347, [355] = 347, [356] = 356, [357] = 50, [358] = 358, [359] = 359, [360] = 360, [361] = 361, [362] = 359, [363] = 359, [364] = 359, [365] = 358, [366] = 359, [367] = 359, [368] = 358, [369] = 359, [370] = 359, [371] = 371, [372] = 359, [373] = 359, [374] = 359, [375] = 359, [376] = 358, [377] = 377, [378] = 377, [379] = 379, [380] = 377, [381] = 381, [382] = 382, [383] = 383, [384] = 384, [385] = 385, [386] = 386, [387] = 225, [388] = 224, [389] = 389, [390] = 390, [391] = 391, [392] = 391, [393] = 391, [394] = 394, [395] = 395, [396] = 396, [397] = 397, [398] = 398, [399] = 399, [400] = 400, [401] = 398, [402] = 402, [403] = 394, [404] = 404, [405] = 399, [406] = 406, [407] = 407, [408] = 407, [409] = 396, [410] = 410, [411] = 411, [412] = 394, [413] = 413, [414] = 396, [415] = 404, [416] = 410, [417] = 404, [418] = 398, [419] = 411, [420] = 410, [421] = 421, [422] = 422, [423] = 422, [424] = 424, [425] = 411, [426] = 422, [427] = 407, [428] = 428, [429] = 399, [430] = 430, [431] = 431, [432] = 432, [433] = 433, [434] = 434, [435] = 435, [436] = 436, [437] = 437, [438] = 435, [439] = 439, [440] = 440, [441] = 432, [442] = 435, [443] = 439, [444] = 444, [445] = 445, [446] = 446, [447] = 437, [448] = 448, [449] = 437, [450] = 439, [451] = 432, [452] = 452, [453] = 453, [454] = 454, [455] = 455, [456] = 456, [457] = 457, [458] = 458, [459] = 459, [460] = 452, [461] = 456, [462] = 454, [463] = 459, [464] = 452, [465] = 465, [466] = 466, [467] = 467, [468] = 468, [469] = 459, [470] = 456, [471] = 457, [472] = 455, [473] = 454, [474] = 454, [475] = 454, [476] = 452, [477] = 477, [478] = 478, [479] = 479, [480] = 480, [481] = 457, [482] = 452, [483] = 483, [484] = 479, [485] = 452, [486] = 458, [487] = 477, [488] = 452, [489] = 477, [490] = 458, [491] = 479, [492] = 455, }; static bool ts_lex(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: if (eof) ADVANCE(26); if (lookahead == '!') ADVANCE(11); if (lookahead == '"') ADVANCE(6); if (lookahead == '#') ADVANCE(21); if (lookahead == '%') ADVANCE(61); if (lookahead == '&') ADVANCE(8); if (lookahead == '\'') ADVANCE(9); if (lookahead == '(') ADVANCE(30); if (lookahead == ')') ADVANCE(31); if (lookahead == '*') ADVANCE(59); if (lookahead == '+') ADVANCE(55); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(58); if (lookahead == '.') ADVANCE(10); if (lookahead == '/') ADVANCE(60); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); if (lookahead == ':') ADVANCE(52); if (lookahead == ';') ADVANCE(29); if (lookahead == '<') ADVANCE(68); if (lookahead == '=') ADVANCE(46); if (lookahead == '>') ADVANCE(67); if (lookahead == '[') ADVANCE(50); if (lookahead == ']') ADVANCE(51); if (lookahead == '`') ADVANCE(15); if (lookahead == 'a') ADVANCE(41); if (lookahead == 'e') ADVANCE(39); if (lookahead == '{') ADVANCE(33); if (lookahead == '|') ADVANCE(22); if (lookahead == '}') ADVANCE(34); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0) if (('A' <= lookahead && lookahead <= 'Z') || ('_' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 1: if (lookahead == '!') ADVANCE(11); if (lookahead == '"') ADVANCE(6); if (lookahead == '#') ADVANCE(21); if (lookahead == '%') ADVANCE(61); if (lookahead == '&') ADVANCE(8); if (lookahead == '\'') ADVANCE(9); if (lookahead == '(') ADVANCE(30); if (lookahead == ')') ADVANCE(31); if (lookahead == '*') ADVANCE(59); if (lookahead == '+') ADVANCE(55); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(58); if (lookahead == '.') ADVANCE(10); if (lookahead == '/') ADVANCE(60); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); if (lookahead == ':') ADVANCE(52); if (lookahead == ';') ADVANCE(29); if (lookahead == '<') ADVANCE(68); if (lookahead == '=') ADVANCE(45); if (lookahead == '>') ADVANCE(67); if (lookahead == '[') ADVANCE(50); if (lookahead == ']') ADVANCE(51); if (lookahead == '`') ADVANCE(15); if (lookahead == '{') ADVANCE(33); if (lookahead == '|') ADVANCE(22); if (lookahead == '}') ADVANCE(34); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(1) if (('A' <= lookahead && lookahead <= 'Z') || ('_' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 2: if (lookahead == '!') ADVANCE(11); if (lookahead == '#') ADVANCE(21); if (lookahead == '%') ADVANCE(61); if (lookahead == '&') ADVANCE(8); if (lookahead == '(') ADVANCE(30); if (lookahead == ')') ADVANCE(31); if (lookahead == '*') ADVANCE(59); if (lookahead == '+') ADVANCE(55); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(56); if (lookahead == '.') ADVANCE(10); if (lookahead == '/') ADVANCE(60); if (lookahead == ':') ADVANCE(52); if (lookahead == ';') ADVANCE(29); if (lookahead == '<') ADVANCE(68); if (lookahead == '=') ADVANCE(46); if (lookahead == '>') ADVANCE(67); if (lookahead == '{') ADVANCE(33); if (lookahead == '|') ADVANCE(22); if (lookahead == '}') ADVANCE(34); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(2) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 3: if (lookahead == '!') ADVANCE(11); if (lookahead == '#') ADVANCE(21); if (lookahead == '%') ADVANCE(61); if (lookahead == '&') ADVANCE(8); if (lookahead == '(') ADVANCE(30); if (lookahead == ')') ADVANCE(31); if (lookahead == '*') ADVANCE(59); if (lookahead == '+') ADVANCE(54); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(57); if (lookahead == '/') ADVANCE(60); if (lookahead == ':') ADVANCE(52); if (lookahead == ';') ADVANCE(29); if (lookahead == '<') ADVANCE(68); if (lookahead == '=') ADVANCE(12); if (lookahead == '>') ADVANCE(67); if (lookahead == '{') ADVANCE(33); if (lookahead == '|') ADVANCE(22); if (lookahead == '}') ADVANCE(34); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(3) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 4: if (lookahead == '!') ADVANCE(11); if (lookahead == '#') ADVANCE(21); if (lookahead == '%') ADVANCE(61); if (lookahead == '&') ADVANCE(8); if (lookahead == '(') ADVANCE(30); if (lookahead == '*') ADVANCE(59); if (lookahead == '+') ADVANCE(55); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(56); if (lookahead == '/') ADVANCE(60); if (lookahead == ':') ADVANCE(52); if (lookahead == ';') ADVANCE(29); if (lookahead == '<') ADVANCE(68); if (lookahead == '=') ADVANCE(45); if (lookahead == '>') ADVANCE(67); if (lookahead == '|') ADVANCE(22); if (lookahead == '}') ADVANCE(34); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(4) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 5: if (lookahead == '"') ADVANCE(6); if (lookahead == '#') ADVANCE(21); if (lookahead == '\'') ADVANCE(9); if (lookahead == '(') ADVANCE(30); if (lookahead == '*') ADVANCE(59); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(23); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); if (lookahead == ';') ADVANCE(29); if (lookahead == '=') ADVANCE(14); if (lookahead == '>') ADVANCE(66); if (lookahead == '[') ADVANCE(50); if (lookahead == '`') ADVANCE(15); if (lookahead == 'e') ADVANCE(39); if (lookahead == '{') ADVANCE(33); if (lookahead == '}') ADVANCE(34); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(5) if (('A' <= lookahead && lookahead <= 'Z') || ('_' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 6: if (lookahead == '"') ADVANCE(49); if (lookahead != 0) ADVANCE(6); END_STATE(); case 7: if (lookahead == '#') ADVANCE(21); if (lookahead == '(') ADVANCE(30); if (lookahead == ')') ADVANCE(31); if (lookahead == ',') ADVANCE(32); if (lookahead == '-') ADVANCE(13); if (lookahead == '>') ADVANCE(66); if (lookahead == '[') ADVANCE(50); if (lookahead == ']') ADVANCE(51); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(7) if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 8: if (lookahead == '&') ADVANCE(64); END_STATE(); case 9: if (lookahead == '\'') ADVANCE(49); if (lookahead != 0) ADVANCE(9); END_STATE(); case 10: if (lookahead == '.') ADVANCE(53); END_STATE(); case 11: if (lookahead == '=') ADVANCE(63); END_STATE(); case 12: if (lookahead == '=') ADVANCE(62); if (lookahead == '>') ADVANCE(74); END_STATE(); case 13: if (lookahead == '>') ADVANCE(76); END_STATE(); case 14: if (lookahead == '>') ADVANCE(74); END_STATE(); case 15: if (lookahead == '`') ADVANCE(49); if (lookahead != 0) ADVANCE(15); END_STATE(); case 16: if (lookahead == 'f') ADVANCE(19); END_STATE(); case 17: if (lookahead == 'f') ADVANCE(73); END_STATE(); case 18: if (lookahead == 'i') ADVANCE(17); END_STATE(); case 19: if (lookahead == 'o') ADVANCE(20); END_STATE(); case 20: if (lookahead == 'r') ADVANCE(75); END_STATE(); case 21: if (lookahead == '|') ADVANCE(28); if (lookahead == '\n' || lookahead == '#') ADVANCE(27); if (lookahead != 0) ADVANCE(21); END_STATE(); case 22: if (lookahead == '|') ADVANCE(65); END_STATE(); case 23: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); END_STATE(); case 24: if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); END_STATE(); case 25: if (eof) ADVANCE(26); if (lookahead == '!') ADVANCE(11); if (lookahead == '"') ADVANCE(6); if (lookahead == '#') ADVANCE(21); if (lookahead == '%') ADVANCE(61); if (lookahead == '&') ADVANCE(8); if (lookahead == '\'') ADVANCE(9); if (lookahead == '(') ADVANCE(30); if (lookahead == '*') ADVANCE(59); if (lookahead == '+') ADVANCE(55); if (lookahead == '-') ADVANCE(58); if (lookahead == '.') ADVANCE(10); if (lookahead == '/') ADVANCE(60); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); if (lookahead == ':') ADVANCE(52); if (lookahead == ';') ADVANCE(29); if (lookahead == '<') ADVANCE(68); if (lookahead == '=') ADVANCE(45); if (lookahead == '>') ADVANCE(67); if (lookahead == '[') ADVANCE(50); if (lookahead == '`') ADVANCE(15); if (lookahead == 'a') ADVANCE(41); if (lookahead == '{') ADVANCE(33); if (lookahead == '|') ADVANCE(22); if (lookahead == '}') ADVANCE(34); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(25) if (('A' <= lookahead && lookahead <= 'Z') || ('_' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 26: ACCEPT_TOKEN(ts_builtin_sym_end); END_STATE(); case 27: ACCEPT_TOKEN(sym__comment); END_STATE(); case 28: ACCEPT_TOKEN(sym__comment); if (lookahead == '|') ADVANCE(28); if (lookahead == '\n' || lookahead == '#') ADVANCE(27); if (lookahead != 0) ADVANCE(21); END_STATE(); case 29: ACCEPT_TOKEN(anon_sym_SEMI); END_STATE(); case 30: ACCEPT_TOKEN(anon_sym_LPAREN); END_STATE(); case 31: ACCEPT_TOKEN(anon_sym_RPAREN); END_STATE(); case 32: ACCEPT_TOKEN(anon_sym_COMMA); END_STATE(); case 33: ACCEPT_TOKEN(anon_sym_LBRACE); END_STATE(); case 34: ACCEPT_TOKEN(anon_sym_RBRACE); END_STATE(); case 35: ACCEPT_TOKEN(sym_identifier); if (lookahead == ' ') ADVANCE(18); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 36: ACCEPT_TOKEN(sym_identifier); if (lookahead == ' ') ADVANCE(16); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 37: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'c') ADVANCE(36); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 38: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'e') ADVANCE(35); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 39: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'l') ADVANCE(42); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 40: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'n') ADVANCE(37); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 41: ACCEPT_TOKEN(sym_identifier); if (lookahead == 's') ADVANCE(43); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 42: ACCEPT_TOKEN(sym_identifier); if (lookahead == 's') ADVANCE(38); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 43: ACCEPT_TOKEN(sym_identifier); if (lookahead == 'y') ADVANCE(40); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 44: ACCEPT_TOKEN(sym_identifier); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(44); if (('A' <= lookahead && lookahead <= 'Z') || lookahead == '_' || ('a' <= lookahead && lookahead <= 'z')) ADVANCE(44); END_STATE(); case 45: ACCEPT_TOKEN(anon_sym_EQ); if (lookahead == '=') ADVANCE(62); END_STATE(); case 46: ACCEPT_TOKEN(anon_sym_EQ); if (lookahead == '=') ADVANCE(62); if (lookahead == '>') ADVANCE(74); END_STATE(); case 47: ACCEPT_TOKEN(sym_integer); if (lookahead == '.') ADVANCE(24); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); END_STATE(); case 48: ACCEPT_TOKEN(sym_float); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(48); END_STATE(); case 49: ACCEPT_TOKEN(sym_string); END_STATE(); case 50: ACCEPT_TOKEN(anon_sym_LBRACK); END_STATE(); case 51: ACCEPT_TOKEN(anon_sym_RBRACK); END_STATE(); case 52: ACCEPT_TOKEN(anon_sym_COLON); END_STATE(); case 53: ACCEPT_TOKEN(anon_sym_DOT_DOT); END_STATE(); case 54: ACCEPT_TOKEN(anon_sym_PLUS); END_STATE(); case 55: ACCEPT_TOKEN(anon_sym_PLUS); if (lookahead == '=') ADVANCE(71); END_STATE(); case 56: ACCEPT_TOKEN(anon_sym_DASH); if (lookahead == '=') ADVANCE(72); if (lookahead == '>') ADVANCE(76); END_STATE(); case 57: ACCEPT_TOKEN(anon_sym_DASH); if (lookahead == '>') ADVANCE(76); END_STATE(); case 58: ACCEPT_TOKEN(anon_sym_DASH); if (('0' <= lookahead && lookahead <= '9')) ADVANCE(47); if (lookahead == '=') ADVANCE(72); if (lookahead == '>') ADVANCE(76); END_STATE(); case 59: ACCEPT_TOKEN(anon_sym_STAR); END_STATE(); case 60: ACCEPT_TOKEN(anon_sym_SLASH); END_STATE(); case 61: ACCEPT_TOKEN(anon_sym_PERCENT); END_STATE(); case 62: ACCEPT_TOKEN(anon_sym_EQ_EQ); END_STATE(); case 63: ACCEPT_TOKEN(anon_sym_BANG_EQ); END_STATE(); case 64: ACCEPT_TOKEN(anon_sym_AMP_AMP); END_STATE(); case 65: ACCEPT_TOKEN(anon_sym_PIPE_PIPE); END_STATE(); case 66: ACCEPT_TOKEN(anon_sym_GT); END_STATE(); case 67: ACCEPT_TOKEN(anon_sym_GT); if (lookahead == '=') ADVANCE(69); END_STATE(); case 68: ACCEPT_TOKEN(anon_sym_LT); if (lookahead == '=') ADVANCE(70); END_STATE(); case 69: ACCEPT_TOKEN(anon_sym_GT_EQ); END_STATE(); case 70: ACCEPT_TOKEN(anon_sym_LT_EQ); END_STATE(); case 71: ACCEPT_TOKEN(anon_sym_PLUS_EQ); END_STATE(); case 72: ACCEPT_TOKEN(anon_sym_DASH_EQ); END_STATE(); case 73: ACCEPT_TOKEN(anon_sym_elseif); END_STATE(); case 74: ACCEPT_TOKEN(anon_sym_EQ_GT); END_STATE(); case 75: ACCEPT_TOKEN(anon_sym_asyncfor); END_STATE(); case 76: ACCEPT_TOKEN(anon_sym_DASH_GT); END_STATE(); default: return false; } } static bool ts_lex_keywords(TSLexer *lexer, TSStateId state) { START_LEXER(); eof = lexer->eof(lexer); switch (state) { case 0: if (lookahead == 'a') ADVANCE(1); if (lookahead == 'b') ADVANCE(2); if (lookahead == 'c') ADVANCE(3); if (lookahead == 'e') ADVANCE(4); if (lookahead == 'f') ADVANCE(5); if (lookahead == 'i') ADVANCE(6); if (lookahead == 'j') ADVANCE(7); if (lookahead == 'l') ADVANCE(8); if (lookahead == 'm') ADVANCE(9); if (lookahead == 'n') ADVANCE(10); if (lookahead == 'o') ADVANCE(11); if (lookahead == 'r') ADVANCE(12); if (lookahead == 's') ADVANCE(13); if (lookahead == 't') ADVANCE(14); if (lookahead == 'w') ADVANCE(15); if (lookahead == '\t' || lookahead == '\n' || lookahead == '\r' || lookahead == ' ') SKIP(0) END_STATE(); case 1: if (lookahead == 'n') ADVANCE(16); if (lookahead == 'r') ADVANCE(17); if (lookahead == 's') ADVANCE(18); END_STATE(); case 2: if (lookahead == 'o') ADVANCE(19); END_STATE(); case 3: if (lookahead == 'o') ADVANCE(20); END_STATE(); case 4: if (lookahead == 'l') ADVANCE(21); if (lookahead == 'n') ADVANCE(22); END_STATE(); case 5: if (lookahead == 'a') ADVANCE(23); if (lookahead == 'l') ADVANCE(24); if (lookahead == 'o') ADVANCE(25); if (lookahead == 's') ADVANCE(26); END_STATE(); case 6: if (lookahead == 'f') ADVANCE(27); if (lookahead == 'n') ADVANCE(28); END_STATE(); case 7: if (lookahead == 's') ADVANCE(29); END_STATE(); case 8: if (lookahead == 'e') ADVANCE(30); END_STATE(); case 9: if (lookahead == 'a') ADVANCE(31); END_STATE(); case 10: if (lookahead == 'e') ADVANCE(32); if (lookahead == 'o') ADVANCE(33); if (lookahead == 'u') ADVANCE(34); END_STATE(); case 11: if (lookahead == 'p') ADVANCE(35); if (lookahead == 'u') ADVANCE(36); END_STATE(); case 12: if (lookahead == 'a') ADVANCE(37); if (lookahead == 'e') ADVANCE(38); END_STATE(); case 13: if (lookahead == 'o') ADVANCE(39); if (lookahead == 't') ADVANCE(40); END_STATE(); case 14: if (lookahead == 'r') ADVANCE(41); END_STATE(); case 15: if (lookahead == 'h') ADVANCE(42); END_STATE(); case 16: if (lookahead == 'y') ADVANCE(43); END_STATE(); case 17: if (lookahead == 'g') ADVANCE(44); END_STATE(); case 18: if (lookahead == 's') ADVANCE(45); if (lookahead == 'y') ADVANCE(46); END_STATE(); case 19: if (lookahead == 'o') ADVANCE(47); END_STATE(); case 20: if (lookahead == 'l') ADVANCE(48); END_STATE(); case 21: if (lookahead == 's') ADVANCE(49); END_STATE(); case 22: if (lookahead == 'v') ADVANCE(50); END_STATE(); case 23: if (lookahead == 'l') ADVANCE(51); END_STATE(); case 24: if (lookahead == 'o') ADVANCE(52); END_STATE(); case 25: if (lookahead == 'r') ADVANCE(53); END_STATE(); case 26: ACCEPT_TOKEN(anon_sym_fs); END_STATE(); case 27: ACCEPT_TOKEN(anon_sym_if); END_STATE(); case 28: ACCEPT_TOKEN(anon_sym_in); if (lookahead == 't') ADVANCE(54); END_STATE(); case 29: if (lookahead == 'o') ADVANCE(55); END_STATE(); case 30: if (lookahead == 'n') ADVANCE(56); END_STATE(); case 31: if (lookahead == 'p') ADVANCE(57); if (lookahead == 't') ADVANCE(58); END_STATE(); case 32: if (lookahead == 'w') ADVANCE(59); END_STATE(); case 33: if (lookahead == 'n') ADVANCE(60); END_STATE(); case 34: if (lookahead == 'm') ADVANCE(61); END_STATE(); case 35: if (lookahead == 't') ADVANCE(62); END_STATE(); case 36: if (lookahead == 't') ADVANCE(63); END_STATE(); case 37: if (lookahead == 'n') ADVANCE(64); END_STATE(); case 38: if (lookahead == 't') ADVANCE(65); END_STATE(); case 39: if (lookahead == 'm') ADVANCE(66); END_STATE(); case 40: if (lookahead == 'r') ADVANCE(67); END_STATE(); case 41: if (lookahead == 'u') ADVANCE(68); END_STATE(); case 42: if (lookahead == 'i') ADVANCE(69); END_STATE(); case 43: ACCEPT_TOKEN(anon_sym_any); END_STATE(); case 44: if (lookahead == 's') ADVANCE(70); END_STATE(); case 45: if (lookahead == 'e') ADVANCE(71); END_STATE(); case 46: if (lookahead == 'n') ADVANCE(72); END_STATE(); case 47: if (lookahead == 'l') ADVANCE(73); END_STATE(); case 48: if (lookahead == 'l') ADVANCE(74); END_STATE(); case 49: if (lookahead == 'e') ADVANCE(75); END_STATE(); case 50: ACCEPT_TOKEN(anon_sym_env); END_STATE(); case 51: if (lookahead == 's') ADVANCE(76); END_STATE(); case 52: if (lookahead == 'a') ADVANCE(77); END_STATE(); case 53: ACCEPT_TOKEN(anon_sym_for); END_STATE(); case 54: ACCEPT_TOKEN(anon_sym_int); END_STATE(); case 55: if (lookahead == 'n') ADVANCE(78); END_STATE(); case 56: if (lookahead == 'g') ADVANCE(79); END_STATE(); case 57: ACCEPT_TOKEN(anon_sym_map); END_STATE(); case 58: if (lookahead == 'c') ADVANCE(80); END_STATE(); case 59: ACCEPT_TOKEN(anon_sym_new); END_STATE(); case 60: if (lookahead == 'e') ADVANCE(81); END_STATE(); case 61: ACCEPT_TOKEN(anon_sym_num); END_STATE(); case 62: if (lookahead == 'i') ADVANCE(82); END_STATE(); case 63: if (lookahead == 'p') ADVANCE(83); END_STATE(); case 64: if (lookahead == 'd') ADVANCE(84); END_STATE(); case 65: if (lookahead == 'u') ADVANCE(85); END_STATE(); case 66: if (lookahead == 'e') ADVANCE(86); END_STATE(); case 67: ACCEPT_TOKEN(anon_sym_str); if (lookahead == 'i') ADVANCE(87); if (lookahead == 'u') ADVANCE(88); END_STATE(); case 68: if (lookahead == 'e') ADVANCE(89); END_STATE(); case 69: if (lookahead == 'l') ADVANCE(90); END_STATE(); case 70: ACCEPT_TOKEN(anon_sym_args); END_STATE(); case 71: if (lookahead == 'r') ADVANCE(91); END_STATE(); case 72: if (lookahead == 'c') ADVANCE(92); END_STATE(); case 73: ACCEPT_TOKEN(anon_sym_bool); END_STATE(); case 74: if (lookahead == 'e') ADVANCE(93); END_STATE(); case 75: ACCEPT_TOKEN(anon_sym_else); END_STATE(); case 76: if (lookahead == 'e') ADVANCE(94); END_STATE(); case 77: if (lookahead == 't') ADVANCE(95); END_STATE(); case 78: ACCEPT_TOKEN(anon_sym_json); END_STATE(); case 79: if (lookahead == 't') ADVANCE(96); END_STATE(); case 80: if (lookahead == 'h') ADVANCE(97); END_STATE(); case 81: ACCEPT_TOKEN(anon_sym_none); END_STATE(); case 82: if (lookahead == 'o') ADVANCE(98); END_STATE(); case 83: if (lookahead == 'u') ADVANCE(99); END_STATE(); case 84: if (lookahead == 'o') ADVANCE(100); END_STATE(); case 85: if (lookahead == 'r') ADVANCE(101); END_STATE(); case 86: ACCEPT_TOKEN(anon_sym_some); END_STATE(); case 87: if (lookahead == 'n') ADVANCE(102); END_STATE(); case 88: if (lookahead == 'c') ADVANCE(103); END_STATE(); case 89: ACCEPT_TOKEN(anon_sym_true); END_STATE(); case 90: if (lookahead == 'e') ADVANCE(104); END_STATE(); case 91: if (lookahead == 't') ADVANCE(105); END_STATE(); case 92: ACCEPT_TOKEN(anon_sym_async); END_STATE(); case 93: if (lookahead == 'c') ADVANCE(106); END_STATE(); case 94: ACCEPT_TOKEN(anon_sym_false); END_STATE(); case 95: ACCEPT_TOKEN(anon_sym_float); END_STATE(); case 96: if (lookahead == 'h') ADVANCE(107); END_STATE(); case 97: ACCEPT_TOKEN(anon_sym_match); END_STATE(); case 98: if (lookahead == 'n') ADVANCE(108); END_STATE(); case 99: if (lookahead == 't') ADVANCE(109); END_STATE(); case 100: if (lookahead == 'm') ADVANCE(110); END_STATE(); case 101: if (lookahead == 'n') ADVANCE(111); END_STATE(); case 102: if (lookahead == 'g') ADVANCE(112); END_STATE(); case 103: if (lookahead == 't') ADVANCE(113); END_STATE(); case 104: ACCEPT_TOKEN(anon_sym_while); END_STATE(); case 105: if (lookahead == '_') ADVANCE(114); END_STATE(); case 106: if (lookahead == 't') ADVANCE(115); END_STATE(); case 107: ACCEPT_TOKEN(anon_sym_length); END_STATE(); case 108: ACCEPT_TOKEN(anon_sym_option); END_STATE(); case 109: ACCEPT_TOKEN(anon_sym_output); END_STATE(); case 110: ACCEPT_TOKEN(anon_sym_random); END_STATE(); case 111: ACCEPT_TOKEN(anon_sym_return); END_STATE(); case 112: ACCEPT_TOKEN(anon_sym_string); END_STATE(); case 113: ACCEPT_TOKEN(anon_sym_struct); END_STATE(); case 114: if (lookahead == 'e') ADVANCE(116); END_STATE(); case 115: if (lookahead == 'i') ADVANCE(117); END_STATE(); case 116: if (lookahead == 'q') ADVANCE(118); END_STATE(); case 117: if (lookahead == 'o') ADVANCE(119); END_STATE(); case 118: if (lookahead == 'u') ADVANCE(120); END_STATE(); case 119: if (lookahead == 'n') ADVANCE(121); END_STATE(); case 120: if (lookahead == 'a') ADVANCE(122); END_STATE(); case 121: ACCEPT_TOKEN(anon_sym_collection); END_STATE(); case 122: if (lookahead == 'l') ADVANCE(123); END_STATE(); case 123: ACCEPT_TOKEN(anon_sym_assert_equal); END_STATE(); default: return false; } } static const TSLexMode ts_lex_modes[STATE_COUNT] = { [0] = {.lex_state = 0}, [1] = {.lex_state = 25}, [2] = {.lex_state = 25}, [3] = {.lex_state = 25}, [4] = {.lex_state = 25}, [5] = {.lex_state = 25}, [6] = {.lex_state = 25}, [7] = {.lex_state = 25}, [8] = {.lex_state = 25}, [9] = {.lex_state = 25}, [10] = {.lex_state = 25}, [11] = {.lex_state = 25}, [12] = {.lex_state = 25}, [13] = {.lex_state = 25}, [14] = {.lex_state = 25}, [15] = {.lex_state = 25}, [16] = {.lex_state = 25}, [17] = {.lex_state = 25}, [18] = {.lex_state = 25}, [19] = {.lex_state = 25}, [20] = {.lex_state = 25}, [21] = {.lex_state = 25}, [22] = {.lex_state = 25}, [23] = {.lex_state = 25}, [24] = {.lex_state = 25}, [25] = {.lex_state = 25}, [26] = {.lex_state = 25}, [27] = {.lex_state = 25}, [28] = {.lex_state = 25}, [29] = {.lex_state = 25}, [30] = {.lex_state = 25}, [31] = {.lex_state = 25}, [32] = {.lex_state = 25}, [33] = {.lex_state = 25}, [34] = {.lex_state = 25}, [35] = {.lex_state = 25}, [36] = {.lex_state = 25}, [37] = {.lex_state = 25}, [38] = {.lex_state = 25}, [39] = {.lex_state = 25}, [40] = {.lex_state = 25}, [41] = {.lex_state = 25}, [42] = {.lex_state = 25}, [43] = {.lex_state = 25}, [44] = {.lex_state = 25}, [45] = {.lex_state = 25}, [46] = {.lex_state = 25}, [47] = {.lex_state = 25}, [48] = {.lex_state = 25}, [49] = {.lex_state = 25}, [50] = {.lex_state = 25}, [51] = {.lex_state = 25}, [52] = {.lex_state = 25}, [53] = {.lex_state = 25}, [54] = {.lex_state = 25}, [55] = {.lex_state = 25}, [56] = {.lex_state = 25}, [57] = {.lex_state = 25}, [58] = {.lex_state = 25}, [59] = {.lex_state = 25}, [60] = {.lex_state = 25}, [61] = {.lex_state = 25}, [62] = {.lex_state = 25}, [63] = {.lex_state = 25}, [64] = {.lex_state = 25}, [65] = {.lex_state = 25}, [66] = {.lex_state = 25}, [67] = {.lex_state = 25}, [68] = {.lex_state = 25}, [69] = {.lex_state = 25}, [70] = {.lex_state = 25}, [71] = {.lex_state = 25}, [72] = {.lex_state = 25}, [73] = {.lex_state = 25}, [74] = {.lex_state = 25}, [75] = {.lex_state = 25}, [76] = {.lex_state = 25}, [77] = {.lex_state = 25}, [78] = {.lex_state = 25}, [79] = {.lex_state = 25}, [80] = {.lex_state = 25}, [81] = {.lex_state = 25}, [82] = {.lex_state = 25}, [83] = {.lex_state = 25}, [84] = {.lex_state = 25}, [85] = {.lex_state = 25}, [86] = {.lex_state = 25}, [87] = {.lex_state = 25}, [88] = {.lex_state = 25}, [89] = {.lex_state = 1}, [90] = {.lex_state = 1}, [91] = {.lex_state = 1}, [92] = {.lex_state = 25}, [93] = {.lex_state = 25}, [94] = {.lex_state = 25}, [95] = {.lex_state = 1}, [96] = {.lex_state = 25}, [97] = {.lex_state = 1}, [98] = {.lex_state = 1}, [99] = {.lex_state = 1}, [100] = {.lex_state = 1}, [101] = {.lex_state = 1}, [102] = {.lex_state = 1}, [103] = {.lex_state = 1}, [104] = {.lex_state = 1}, [105] = {.lex_state = 1}, [106] = {.lex_state = 1}, [107] = {.lex_state = 1}, [108] = {.lex_state = 1}, [109] = {.lex_state = 1}, [110] = {.lex_state = 1}, [111] = {.lex_state = 1}, [112] = {.lex_state = 1}, [113] = {.lex_state = 1}, [114] = {.lex_state = 1}, [115] = {.lex_state = 1}, [116] = {.lex_state = 1}, [117] = {.lex_state = 1}, [118] = {.lex_state = 1}, [119] = {.lex_state = 1}, [120] = {.lex_state = 1}, [121] = {.lex_state = 1}, [122] = {.lex_state = 1}, [123] = {.lex_state = 1}, [124] = {.lex_state = 1}, [125] = {.lex_state = 1}, [126] = {.lex_state = 1}, [127] = {.lex_state = 1}, [128] = {.lex_state = 1}, [129] = {.lex_state = 1}, [130] = {.lex_state = 1}, [131] = {.lex_state = 1}, [132] = {.lex_state = 1}, [133] = {.lex_state = 1}, [134] = {.lex_state = 1}, [135] = {.lex_state = 1}, [136] = {.lex_state = 1}, [137] = {.lex_state = 1}, [138] = {.lex_state = 1}, [139] = {.lex_state = 1}, [140] = {.lex_state = 1}, [141] = {.lex_state = 1}, [142] = {.lex_state = 1}, [143] = {.lex_state = 1}, [144] = {.lex_state = 1}, [145] = {.lex_state = 1}, [146] = {.lex_state = 1}, [147] = {.lex_state = 1}, [148] = {.lex_state = 1}, [149] = {.lex_state = 1}, [150] = {.lex_state = 1}, [151] = {.lex_state = 1}, [152] = {.lex_state = 1}, [153] = {.lex_state = 1}, [154] = {.lex_state = 1}, [155] = {.lex_state = 1}, [156] = {.lex_state = 1}, [157] = {.lex_state = 1}, [158] = {.lex_state = 1}, [159] = {.lex_state = 1}, [160] = {.lex_state = 1}, [161] = {.lex_state = 1}, [162] = {.lex_state = 1}, [163] = {.lex_state = 1}, [164] = {.lex_state = 1}, [165] = {.lex_state = 1}, [166] = {.lex_state = 1}, [167] = {.lex_state = 1}, [168] = {.lex_state = 1}, [169] = {.lex_state = 1}, [170] = {.lex_state = 1}, [171] = {.lex_state = 1}, [172] = {.lex_state = 1}, [173] = {.lex_state = 1}, [174] = {.lex_state = 1}, [175] = {.lex_state = 1}, [176] = {.lex_state = 1}, [177] = {.lex_state = 1}, [178] = {.lex_state = 1}, [179] = {.lex_state = 1}, [180] = {.lex_state = 1}, [181] = {.lex_state = 1}, [182] = {.lex_state = 1}, [183] = {.lex_state = 1}, [184] = {.lex_state = 1}, [185] = {.lex_state = 1}, [186] = {.lex_state = 1}, [187] = {.lex_state = 1}, [188] = {.lex_state = 1}, [189] = {.lex_state = 1}, [190] = {.lex_state = 1}, [191] = {.lex_state = 1}, [192] = {.lex_state = 1}, [193] = {.lex_state = 1}, [194] = {.lex_state = 1}, [195] = {.lex_state = 1}, [196] = {.lex_state = 1}, [197] = {.lex_state = 1}, [198] = {.lex_state = 1}, [199] = {.lex_state = 1}, [200] = {.lex_state = 1}, [201] = {.lex_state = 1}, [202] = {.lex_state = 1}, [203] = {.lex_state = 1}, [204] = {.lex_state = 1}, [205] = {.lex_state = 1}, [206] = {.lex_state = 1}, [207] = {.lex_state = 1}, [208] = {.lex_state = 1}, [209] = {.lex_state = 1}, [210] = {.lex_state = 1}, [211] = {.lex_state = 1}, [212] = {.lex_state = 1}, [213] = {.lex_state = 1}, [214] = {.lex_state = 1}, [215] = {.lex_state = 1}, [216] = {.lex_state = 1}, [217] = {.lex_state = 1}, [218] = {.lex_state = 1}, [219] = {.lex_state = 1}, [220] = {.lex_state = 1}, [221] = {.lex_state = 1}, [222] = {.lex_state = 1}, [223] = {.lex_state = 1}, [224] = {.lex_state = 0}, [225] = {.lex_state = 0}, [226] = {.lex_state = 0}, [227] = {.lex_state = 0}, [228] = {.lex_state = 0}, [229] = {.lex_state = 0}, [230] = {.lex_state = 0}, [231] = {.lex_state = 0}, [232] = {.lex_state = 25}, [233] = {.lex_state = 25}, [234] = {.lex_state = 25}, [235] = {.lex_state = 25}, [236] = {.lex_state = 25}, [237] = {.lex_state = 25}, [238] = {.lex_state = 25}, [239] = {.lex_state = 25}, [240] = {.lex_state = 25}, [241] = {.lex_state = 25}, [242] = {.lex_state = 25}, [243] = {.lex_state = 25}, [244] = {.lex_state = 25}, [245] = {.lex_state = 1}, [246] = {.lex_state = 5}, [247] = {.lex_state = 1}, [248] = {.lex_state = 1}, [249] = {.lex_state = 1}, [250] = {.lex_state = 5}, [251] = {.lex_state = 1}, [252] = {.lex_state = 1}, [253] = {.lex_state = 1}, [254] = {.lex_state = 5}, [255] = {.lex_state = 2}, [256] = {.lex_state = 2}, [257] = {.lex_state = 2}, [258] = {.lex_state = 25}, [259] = {.lex_state = 2}, [260] = {.lex_state = 2}, [261] = {.lex_state = 2}, [262] = {.lex_state = 2}, [263] = {.lex_state = 2}, [264] = {.lex_state = 2}, [265] = {.lex_state = 2}, [266] = {.lex_state = 2}, [267] = {.lex_state = 2}, [268] = {.lex_state = 2}, [269] = {.lex_state = 2}, [270] = {.lex_state = 2}, [271] = {.lex_state = 2}, [272] = {.lex_state = 5}, [273] = {.lex_state = 2}, [274] = {.lex_state = 2}, [275] = {.lex_state = 2}, [276] = {.lex_state = 2}, [277] = {.lex_state = 2}, [278] = {.lex_state = 2}, [279] = {.lex_state = 2}, [280] = {.lex_state = 2}, [281] = {.lex_state = 2}, [282] = {.lex_state = 2}, [283] = {.lex_state = 5}, [284] = {.lex_state = 5}, [285] = {.lex_state = 2}, [286] = {.lex_state = 5}, [287] = {.lex_state = 2}, [288] = {.lex_state = 2}, [289] = {.lex_state = 2}, [290] = {.lex_state = 2}, [291] = {.lex_state = 2}, [292] = {.lex_state = 5}, [293] = {.lex_state = 2}, [294] = {.lex_state = 2}, [295] = {.lex_state = 2}, [296] = {.lex_state = 2}, [297] = {.lex_state = 2}, [298] = {.lex_state = 1}, [299] = {.lex_state = 1}, [300] = {.lex_state = 1}, [301] = {.lex_state = 1}, [302] = {.lex_state = 1}, [303] = {.lex_state = 1}, [304] = {.lex_state = 1}, [305] = {.lex_state = 1}, [306] = {.lex_state = 1}, [307] = {.lex_state = 1}, [308] = {.lex_state = 1}, [309] = {.lex_state = 1}, [310] = {.lex_state = 1}, [311] = {.lex_state = 4}, [312] = {.lex_state = 1}, [313] = {.lex_state = 1}, [314] = {.lex_state = 4}, [315] = {.lex_state = 3}, [316] = {.lex_state = 3}, [317] = {.lex_state = 3}, [318] = {.lex_state = 1}, [319] = {.lex_state = 1}, [320] = {.lex_state = 1}, [321] = {.lex_state = 1}, [322] = {.lex_state = 2}, [323] = {.lex_state = 2}, [324] = {.lex_state = 2}, [325] = {.lex_state = 2}, [326] = {.lex_state = 2}, [327] = {.lex_state = 2}, [328] = {.lex_state = 2}, [329] = {.lex_state = 2}, [330] = {.lex_state = 2}, [331] = {.lex_state = 2}, [332] = {.lex_state = 2}, [333] = {.lex_state = 2}, [334] = {.lex_state = 2}, [335] = {.lex_state = 2}, [336] = {.lex_state = 2}, [337] = {.lex_state = 2}, [338] = {.lex_state = 2}, [339] = {.lex_state = 2}, [340] = {.lex_state = 7}, [341] = {.lex_state = 7}, [342] = {.lex_state = 2}, [343] = {.lex_state = 2}, [344] = {.lex_state = 2}, [345] = {.lex_state = 2}, [346] = {.lex_state = 2}, [347] = {.lex_state = 2}, [348] = {.lex_state = 2}, [349] = {.lex_state = 2}, [350] = {.lex_state = 7}, [351] = {.lex_state = 7}, [352] = {.lex_state = 3}, [353] = {.lex_state = 7}, [354] = {.lex_state = 2}, [355] = {.lex_state = 2}, [356] = {.lex_state = 7}, [357] = {.lex_state = 2}, [358] = {.lex_state = 2}, [359] = {.lex_state = 2}, [360] = {.lex_state = 1}, [361] = {.lex_state = 1}, [362] = {.lex_state = 2}, [363] = {.lex_state = 2}, [364] = {.lex_state = 2}, [365] = {.lex_state = 2}, [366] = {.lex_state = 2}, [367] = {.lex_state = 2}, [368] = {.lex_state = 2}, [369] = {.lex_state = 2}, [370] = {.lex_state = 2}, [371] = {.lex_state = 1}, [372] = {.lex_state = 2}, [373] = {.lex_state = 2}, [374] = {.lex_state = 2}, [375] = {.lex_state = 2}, [376] = {.lex_state = 2}, [377] = {.lex_state = 2}, [378] = {.lex_state = 2}, [379] = {.lex_state = 1}, [380] = {.lex_state = 2}, [381] = {.lex_state = 1}, [382] = {.lex_state = 1}, [383] = {.lex_state = 1}, [384] = {.lex_state = 1}, [385] = {.lex_state = 1}, [386] = {.lex_state = 1}, [387] = {.lex_state = 5}, [388] = {.lex_state = 5}, [389] = {.lex_state = 1}, [390] = {.lex_state = 25}, [391] = {.lex_state = 25}, [392] = {.lex_state = 25}, [393] = {.lex_state = 25}, [394] = {.lex_state = 1}, [395] = {.lex_state = 25}, [396] = {.lex_state = 1}, [397] = {.lex_state = 1}, [398] = {.lex_state = 1}, [399] = {.lex_state = 1}, [400] = {.lex_state = 1}, [401] = {.lex_state = 1}, [402] = {.lex_state = 25}, [403] = {.lex_state = 1}, [404] = {.lex_state = 1}, [405] = {.lex_state = 1}, [406] = {.lex_state = 1}, [407] = {.lex_state = 1}, [408] = {.lex_state = 1}, [409] = {.lex_state = 1}, [410] = {.lex_state = 1}, [411] = {.lex_state = 1}, [412] = {.lex_state = 1}, [413] = {.lex_state = 1}, [414] = {.lex_state = 1}, [415] = {.lex_state = 1}, [416] = {.lex_state = 1}, [417] = {.lex_state = 1}, [418] = {.lex_state = 1}, [419] = {.lex_state = 1}, [420] = {.lex_state = 1}, [421] = {.lex_state = 1}, [422] = {.lex_state = 1}, [423] = {.lex_state = 1}, [424] = {.lex_state = 25}, [425] = {.lex_state = 1}, [426] = {.lex_state = 1}, [427] = {.lex_state = 1}, [428] = {.lex_state = 1}, [429] = {.lex_state = 1}, [430] = {.lex_state = 1}, [431] = {.lex_state = 1}, [432] = {.lex_state = 1}, [433] = {.lex_state = 1}, [434] = {.lex_state = 1}, [435] = {.lex_state = 0}, [436] = {.lex_state = 0}, [437] = {.lex_state = 0}, [438] = {.lex_state = 0}, [439] = {.lex_state = 0}, [440] = {.lex_state = 1}, [441] = {.lex_state = 1}, [442] = {.lex_state = 0}, [443] = {.lex_state = 0}, [444] = {.lex_state = 1}, [445] = {.lex_state = 1}, [446] = {.lex_state = 1}, [447] = {.lex_state = 0}, [448] = {.lex_state = 1}, [449] = {.lex_state = 0}, [450] = {.lex_state = 0}, [451] = {.lex_state = 1}, [452] = {.lex_state = 0}, [453] = {.lex_state = 25}, [454] = {.lex_state = 0}, [455] = {.lex_state = 0}, [456] = {.lex_state = 0}, [457] = {.lex_state = 0}, [458] = {.lex_state = 0}, [459] = {.lex_state = 1}, [460] = {.lex_state = 0}, [461] = {.lex_state = 0}, [462] = {.lex_state = 0}, [463] = {.lex_state = 1}, [464] = {.lex_state = 0}, [465] = {.lex_state = 0}, [466] = {.lex_state = 0}, [467] = {.lex_state = 0}, [468] = {.lex_state = 5}, [469] = {.lex_state = 1}, [470] = {.lex_state = 0}, [471] = {.lex_state = 0}, [472] = {.lex_state = 0}, [473] = {.lex_state = 0}, [474] = {.lex_state = 0}, [475] = {.lex_state = 0}, [476] = {.lex_state = 0}, [477] = {.lex_state = 1}, [478] = {.lex_state = 5}, [479] = {.lex_state = 1}, [480] = {.lex_state = 25}, [481] = {.lex_state = 0}, [482] = {.lex_state = 0}, [483] = {.lex_state = 0}, [484] = {.lex_state = 1}, [485] = {.lex_state = 0}, [486] = {.lex_state = 0}, [487] = {.lex_state = 1}, [488] = {.lex_state = 0}, [489] = {.lex_state = 1}, [490] = {.lex_state = 0}, [491] = {.lex_state = 1}, [492] = {.lex_state = 0}, }; static const uint16_t ts_parse_table[LARGE_STATE_COUNT][SYMBOL_COUNT] = { [0] = { [ts_builtin_sym_end] = ACTIONS(1), [sym_identifier] = ACTIONS(1), [sym__comment] = ACTIONS(3), [anon_sym_SEMI] = ACTIONS(1), [anon_sym_LPAREN] = ACTIONS(1), [anon_sym_RPAREN] = ACTIONS(1), [anon_sym_COMMA] = ACTIONS(1), [anon_sym_async] = ACTIONS(1), [anon_sym_LBRACE] = ACTIONS(1), [anon_sym_RBRACE] = ACTIONS(1), [anon_sym_struct] = ACTIONS(1), [anon_sym_EQ] = ACTIONS(1), [anon_sym_new] = ACTIONS(1), [sym_integer] = ACTIONS(1), [sym_float] = ACTIONS(1), [sym_string] = ACTIONS(1), [anon_sym_true] = ACTIONS(1), [anon_sym_false] = ACTIONS(1), [anon_sym_LBRACK] = ACTIONS(1), [anon_sym_RBRACK] = ACTIONS(1), [anon_sym_none] = ACTIONS(1), [anon_sym_some] = ACTIONS(1), [anon_sym_COLON] = ACTIONS(1), [anon_sym_DOT_DOT] = ACTIONS(1), [anon_sym_PLUS] = ACTIONS(1), [anon_sym_DASH] = ACTIONS(1), [anon_sym_STAR] = ACTIONS(1), [anon_sym_SLASH] = ACTIONS(1), [anon_sym_PERCENT] = ACTIONS(1), [anon_sym_EQ_EQ] = ACTIONS(1), [anon_sym_BANG_EQ] = ACTIONS(1), [anon_sym_AMP_AMP] = ACTIONS(1), [anon_sym_PIPE_PIPE] = ACTIONS(1), [anon_sym_GT] = ACTIONS(1), [anon_sym_LT] = ACTIONS(1), [anon_sym_GT_EQ] = ACTIONS(1), [anon_sym_LT_EQ] = ACTIONS(1), [anon_sym_PLUS_EQ] = ACTIONS(1), [anon_sym_DASH_EQ] = ACTIONS(1), [anon_sym_if] = ACTIONS(1), [anon_sym_elseif] = ACTIONS(1), [anon_sym_else] = ACTIONS(1), [anon_sym_match] = ACTIONS(1), [anon_sym_EQ_GT] = ACTIONS(1), [anon_sym_while] = ACTIONS(1), [anon_sym_for] = ACTIONS(1), [anon_sym_asyncfor] = ACTIONS(1), [anon_sym_in] = ACTIONS(1), [anon_sym_return] = ACTIONS(1), [anon_sym_any] = ACTIONS(1), [anon_sym_bool] = ACTIONS(1), [anon_sym_collection] = ACTIONS(1), [anon_sym_float] = ACTIONS(1), [anon_sym_int] = ACTIONS(1), [anon_sym_map] = ACTIONS(1), [anon_sym_num] = ACTIONS(1), [anon_sym_str] = ACTIONS(1), [anon_sym_DASH_GT] = ACTIONS(1), [anon_sym_option] = ACTIONS(1), [anon_sym_args] = ACTIONS(1), [anon_sym_assert_equal] = ACTIONS(1), [anon_sym_env] = ACTIONS(1), [anon_sym_fs] = ACTIONS(1), [anon_sym_json] = ACTIONS(1), [anon_sym_length] = ACTIONS(1), [anon_sym_output] = ACTIONS(1), [anon_sym_random] = ACTIONS(1), [anon_sym_string] = ACTIONS(1), }, [1] = { [sym_root] = STATE(483), [sym_statement] = STATE(24), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(24), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [2] = { [sym_statement] = STATE(17), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(17), [aux_sym_map_repeat1] = STATE(403), [sym_identifier] = ACTIONS(43), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(45), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [3] = { [sym_statement] = STATE(13), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(13), [aux_sym_map_repeat1] = STATE(412), [sym_identifier] = ACTIONS(43), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(47), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [4] = { [sym_statement] = STATE(23), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(23), [aux_sym_map_repeat1] = STATE(394), [sym_identifier] = ACTIONS(43), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(49), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [5] = { [sym_statement] = STATE(5), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(5), [ts_builtin_sym_end] = ACTIONS(51), [sym_identifier] = ACTIONS(53), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(56), [anon_sym_async] = ACTIONS(59), [anon_sym_LBRACE] = ACTIONS(62), [anon_sym_RBRACE] = ACTIONS(51), [anon_sym_struct] = ACTIONS(65), [anon_sym_new] = ACTIONS(68), [sym_integer] = ACTIONS(71), [sym_float] = ACTIONS(74), [sym_string] = ACTIONS(74), [anon_sym_true] = ACTIONS(77), [anon_sym_false] = ACTIONS(77), [anon_sym_LBRACK] = ACTIONS(80), [anon_sym_none] = ACTIONS(83), [anon_sym_some] = ACTIONS(86), [anon_sym_if] = ACTIONS(89), [anon_sym_match] = ACTIONS(92), [anon_sym_while] = ACTIONS(95), [anon_sym_for] = ACTIONS(98), [anon_sym_asyncfor] = ACTIONS(101), [anon_sym_return] = ACTIONS(104), [anon_sym_args] = ACTIONS(107), [anon_sym_assert_equal] = ACTIONS(107), [anon_sym_env] = ACTIONS(107), [anon_sym_fs] = ACTIONS(107), [anon_sym_json] = ACTIONS(107), [anon_sym_length] = ACTIONS(107), [anon_sym_output] = ACTIONS(107), [anon_sym_random] = ACTIONS(107), [anon_sym_string] = ACTIONS(107), }, [6] = { [sym_statement] = STATE(23), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(23), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(49), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [7] = { [sym_statement] = STATE(5), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(5), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(110), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [8] = { [sym_statement] = STATE(9), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(9), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(112), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [9] = { [sym_statement] = STATE(5), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(5), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(114), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [10] = { [sym_statement] = STATE(5), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(5), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(112), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [11] = { [sym_statement] = STATE(5), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(5), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(116), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [12] = { [sym_statement] = STATE(5), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(5), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(118), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [13] = { [sym_statement] = STATE(5), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(5), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(120), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [14] = { [sym_statement] = STATE(11), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(11), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(120), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [15] = { [sym_statement] = STATE(13), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(13), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(47), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [16] = { [sym_statement] = STATE(5), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(5), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(122), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [17] = { [sym_statement] = STATE(5), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(5), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(124), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [18] = { [sym_statement] = STATE(16), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(16), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(124), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [19] = { [sym_statement] = STATE(10), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(10), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(126), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [20] = { [sym_statement] = STATE(26), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(26), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(128), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [21] = { [sym_statement] = STATE(17), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(17), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(45), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [22] = { [sym_statement] = STATE(12), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(12), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(130), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [23] = { [sym_statement] = STATE(5), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(5), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(132), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [24] = { [sym_statement] = STATE(5), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(5), [ts_builtin_sym_end] = ACTIONS(134), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [25] = { [sym_statement] = STATE(7), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(7), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(132), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [26] = { [sym_statement] = STATE(5), [sym_expression] = STATE(92), [sym__expression_kind] = STATE(63), [sym_block] = STATE(240), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(240), [sym_index_assignment] = STATE(240), [sym_if_else] = STATE(240), [sym_if] = STATE(224), [sym_match] = STATE(240), [sym_while] = STATE(240), [sym_for] = STATE(240), [sym_return] = STATE(240), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [aux_sym_root_repeat1] = STATE(5), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_RBRACE] = ACTIONS(130), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [27] = { [sym_statement] = STATE(428), [sym_expression] = STATE(323), [sym__expression_kind] = STATE(288), [sym_block] = STATE(300), [sym_value] = STATE(265), [sym_structure] = STATE(279), [sym_new] = STATE(288), [sym_boolean] = STATE(279), [sym_list] = STATE(279), [sym_map] = STATE(279), [sym_option] = STATE(279), [sym_index] = STATE(314), [sym_index_expression] = STATE(464), [sym_math] = STATE(288), [sym_logic] = STATE(288), [sym_assignment] = STATE(300), [sym_index_assignment] = STATE(300), [sym_if_else] = STATE(300), [sym_if] = STATE(388), [sym_match] = STATE(300), [sym_while] = STATE(300), [sym_for] = STATE(300), [sym_return] = STATE(300), [sym_function] = STATE(279), [sym_function_expression] = STATE(471), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(277), [sym_yield] = STATE(277), [sym_built_in_value] = STATE(279), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), [anon_sym_async] = ACTIONS(140), [anon_sym_LBRACE] = ACTIONS(142), [anon_sym_struct] = ACTIONS(144), [anon_sym_new] = ACTIONS(146), [sym_integer] = ACTIONS(148), [sym_float] = ACTIONS(150), [sym_string] = ACTIONS(150), [anon_sym_true] = ACTIONS(152), [anon_sym_false] = ACTIONS(152), [anon_sym_LBRACK] = ACTIONS(154), [anon_sym_none] = ACTIONS(156), [anon_sym_some] = ACTIONS(158), [anon_sym_if] = ACTIONS(160), [anon_sym_match] = ACTIONS(162), [anon_sym_while] = ACTIONS(164), [anon_sym_for] = ACTIONS(166), [anon_sym_asyncfor] = ACTIONS(168), [anon_sym_return] = ACTIONS(170), [anon_sym_args] = ACTIONS(172), [anon_sym_assert_equal] = ACTIONS(172), [anon_sym_env] = ACTIONS(172), [anon_sym_fs] = ACTIONS(172), [anon_sym_json] = ACTIONS(172), [anon_sym_length] = ACTIONS(172), [anon_sym_output] = ACTIONS(172), [anon_sym_random] = ACTIONS(172), [anon_sym_string] = ACTIONS(172), }, [28] = { [sym_statement] = STATE(434), [sym_expression] = STATE(323), [sym__expression_kind] = STATE(288), [sym_block] = STATE(300), [sym_value] = STATE(265), [sym_structure] = STATE(279), [sym_new] = STATE(288), [sym_boolean] = STATE(279), [sym_list] = STATE(279), [sym_map] = STATE(279), [sym_option] = STATE(279), [sym_index] = STATE(314), [sym_index_expression] = STATE(464), [sym_math] = STATE(288), [sym_logic] = STATE(288), [sym_assignment] = STATE(300), [sym_index_assignment] = STATE(300), [sym_if_else] = STATE(300), [sym_if] = STATE(388), [sym_match] = STATE(300), [sym_while] = STATE(300), [sym_for] = STATE(300), [sym_return] = STATE(300), [sym_function] = STATE(279), [sym_function_expression] = STATE(471), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(277), [sym_yield] = STATE(277), [sym_built_in_value] = STATE(279), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), [anon_sym_async] = ACTIONS(140), [anon_sym_LBRACE] = ACTIONS(142), [anon_sym_struct] = ACTIONS(144), [anon_sym_new] = ACTIONS(146), [sym_integer] = ACTIONS(148), [sym_float] = ACTIONS(150), [sym_string] = ACTIONS(150), [anon_sym_true] = ACTIONS(152), [anon_sym_false] = ACTIONS(152), [anon_sym_LBRACK] = ACTIONS(154), [anon_sym_none] = ACTIONS(156), [anon_sym_some] = ACTIONS(158), [anon_sym_if] = ACTIONS(160), [anon_sym_match] = ACTIONS(162), [anon_sym_while] = ACTIONS(164), [anon_sym_for] = ACTIONS(166), [anon_sym_asyncfor] = ACTIONS(168), [anon_sym_return] = ACTIONS(170), [anon_sym_args] = ACTIONS(172), [anon_sym_assert_equal] = ACTIONS(172), [anon_sym_env] = ACTIONS(172), [anon_sym_fs] = ACTIONS(172), [anon_sym_json] = ACTIONS(172), [anon_sym_length] = ACTIONS(172), [anon_sym_output] = ACTIONS(172), [anon_sym_random] = ACTIONS(172), [anon_sym_string] = ACTIONS(172), }, [29] = { [sym_statement] = STATE(303), [sym_expression] = STATE(196), [sym__expression_kind] = STATE(125), [sym_block] = STATE(301), [sym_value] = STATE(126), [sym_structure] = STATE(129), [sym_new] = STATE(125), [sym_boolean] = STATE(129), [sym_list] = STATE(129), [sym_map] = STATE(129), [sym_option] = STATE(129), [sym_index] = STATE(134), [sym_index_expression] = STATE(476), [sym_math] = STATE(125), [sym_logic] = STATE(125), [sym_assignment] = STATE(301), [sym_index_assignment] = STATE(301), [sym_if_else] = STATE(301), [sym_if] = STATE(246), [sym_match] = STATE(301), [sym_while] = STATE(301), [sym_for] = STATE(301), [sym_return] = STATE(301), [sym_function] = STATE(129), [sym_function_expression] = STATE(457), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(119), [sym_yield] = STATE(119), [sym_built_in_value] = STATE(129), [sym_identifier] = ACTIONS(174), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(176), [anon_sym_async] = ACTIONS(178), [anon_sym_LBRACE] = ACTIONS(180), [anon_sym_struct] = ACTIONS(182), [anon_sym_new] = ACTIONS(184), [sym_integer] = ACTIONS(186), [sym_float] = ACTIONS(188), [sym_string] = ACTIONS(188), [anon_sym_true] = ACTIONS(190), [anon_sym_false] = ACTIONS(190), [anon_sym_LBRACK] = ACTIONS(192), [anon_sym_none] = ACTIONS(194), [anon_sym_some] = ACTIONS(196), [anon_sym_if] = ACTIONS(160), [anon_sym_match] = ACTIONS(162), [anon_sym_while] = ACTIONS(198), [anon_sym_for] = ACTIONS(200), [anon_sym_asyncfor] = ACTIONS(202), [anon_sym_return] = ACTIONS(204), [anon_sym_args] = ACTIONS(206), [anon_sym_assert_equal] = ACTIONS(206), [anon_sym_env] = ACTIONS(206), [anon_sym_fs] = ACTIONS(206), [anon_sym_json] = ACTIONS(206), [anon_sym_length] = ACTIONS(206), [anon_sym_output] = ACTIONS(206), [anon_sym_random] = ACTIONS(206), [anon_sym_string] = ACTIONS(206), }, [30] = { [sym_statement] = STATE(400), [sym_expression] = STATE(323), [sym__expression_kind] = STATE(288), [sym_block] = STATE(300), [sym_value] = STATE(265), [sym_structure] = STATE(279), [sym_new] = STATE(288), [sym_boolean] = STATE(279), [sym_list] = STATE(279), [sym_map] = STATE(279), [sym_option] = STATE(279), [sym_index] = STATE(314), [sym_index_expression] = STATE(464), [sym_math] = STATE(288), [sym_logic] = STATE(288), [sym_assignment] = STATE(300), [sym_index_assignment] = STATE(300), [sym_if_else] = STATE(300), [sym_if] = STATE(388), [sym_match] = STATE(300), [sym_while] = STATE(300), [sym_for] = STATE(300), [sym_return] = STATE(300), [sym_function] = STATE(279), [sym_function_expression] = STATE(471), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(277), [sym_yield] = STATE(277), [sym_built_in_value] = STATE(279), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), [anon_sym_async] = ACTIONS(140), [anon_sym_LBRACE] = ACTIONS(142), [anon_sym_struct] = ACTIONS(144), [anon_sym_new] = ACTIONS(146), [sym_integer] = ACTIONS(148), [sym_float] = ACTIONS(150), [sym_string] = ACTIONS(150), [anon_sym_true] = ACTIONS(152), [anon_sym_false] = ACTIONS(152), [anon_sym_LBRACK] = ACTIONS(154), [anon_sym_none] = ACTIONS(156), [anon_sym_some] = ACTIONS(158), [anon_sym_if] = ACTIONS(160), [anon_sym_match] = ACTIONS(162), [anon_sym_while] = ACTIONS(164), [anon_sym_for] = ACTIONS(166), [anon_sym_asyncfor] = ACTIONS(168), [anon_sym_return] = ACTIONS(170), [anon_sym_args] = ACTIONS(172), [anon_sym_assert_equal] = ACTIONS(172), [anon_sym_env] = ACTIONS(172), [anon_sym_fs] = ACTIONS(172), [anon_sym_json] = ACTIONS(172), [anon_sym_length] = ACTIONS(172), [anon_sym_output] = ACTIONS(172), [anon_sym_random] = ACTIONS(172), [anon_sym_string] = ACTIONS(172), }, [31] = { [sym_statement] = STATE(305), [sym_expression] = STATE(196), [sym__expression_kind] = STATE(125), [sym_block] = STATE(301), [sym_value] = STATE(126), [sym_structure] = STATE(129), [sym_new] = STATE(125), [sym_boolean] = STATE(129), [sym_list] = STATE(129), [sym_map] = STATE(129), [sym_option] = STATE(129), [sym_index] = STATE(134), [sym_index_expression] = STATE(476), [sym_math] = STATE(125), [sym_logic] = STATE(125), [sym_assignment] = STATE(301), [sym_index_assignment] = STATE(301), [sym_if_else] = STATE(301), [sym_if] = STATE(246), [sym_match] = STATE(301), [sym_while] = STATE(301), [sym_for] = STATE(301), [sym_return] = STATE(301), [sym_function] = STATE(129), [sym_function_expression] = STATE(457), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(119), [sym_yield] = STATE(119), [sym_built_in_value] = STATE(129), [sym_identifier] = ACTIONS(174), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(176), [anon_sym_async] = ACTIONS(178), [anon_sym_LBRACE] = ACTIONS(180), [anon_sym_struct] = ACTIONS(182), [anon_sym_new] = ACTIONS(184), [sym_integer] = ACTIONS(186), [sym_float] = ACTIONS(188), [sym_string] = ACTIONS(188), [anon_sym_true] = ACTIONS(190), [anon_sym_false] = ACTIONS(190), [anon_sym_LBRACK] = ACTIONS(192), [anon_sym_none] = ACTIONS(194), [anon_sym_some] = ACTIONS(196), [anon_sym_if] = ACTIONS(160), [anon_sym_match] = ACTIONS(162), [anon_sym_while] = ACTIONS(198), [anon_sym_for] = ACTIONS(200), [anon_sym_asyncfor] = ACTIONS(202), [anon_sym_return] = ACTIONS(204), [anon_sym_args] = ACTIONS(206), [anon_sym_assert_equal] = ACTIONS(206), [anon_sym_env] = ACTIONS(206), [anon_sym_fs] = ACTIONS(206), [anon_sym_json] = ACTIONS(206), [anon_sym_length] = ACTIONS(206), [anon_sym_output] = ACTIONS(206), [anon_sym_random] = ACTIONS(206), [anon_sym_string] = ACTIONS(206), }, [32] = { [sym_statement] = STATE(310), [sym_expression] = STATE(196), [sym__expression_kind] = STATE(125), [sym_block] = STATE(301), [sym_value] = STATE(126), [sym_structure] = STATE(129), [sym_new] = STATE(125), [sym_boolean] = STATE(129), [sym_list] = STATE(129), [sym_map] = STATE(129), [sym_option] = STATE(129), [sym_index] = STATE(134), [sym_index_expression] = STATE(476), [sym_math] = STATE(125), [sym_logic] = STATE(125), [sym_assignment] = STATE(301), [sym_index_assignment] = STATE(301), [sym_if_else] = STATE(301), [sym_if] = STATE(246), [sym_match] = STATE(301), [sym_while] = STATE(301), [sym_for] = STATE(301), [sym_return] = STATE(301), [sym_function] = STATE(129), [sym_function_expression] = STATE(457), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(119), [sym_yield] = STATE(119), [sym_built_in_value] = STATE(129), [sym_identifier] = ACTIONS(174), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(176), [anon_sym_async] = ACTIONS(178), [anon_sym_LBRACE] = ACTIONS(180), [anon_sym_struct] = ACTIONS(182), [anon_sym_new] = ACTIONS(184), [sym_integer] = ACTIONS(186), [sym_float] = ACTIONS(188), [sym_string] = ACTIONS(188), [anon_sym_true] = ACTIONS(190), [anon_sym_false] = ACTIONS(190), [anon_sym_LBRACK] = ACTIONS(192), [anon_sym_none] = ACTIONS(194), [anon_sym_some] = ACTIONS(196), [anon_sym_if] = ACTIONS(160), [anon_sym_match] = ACTIONS(162), [anon_sym_while] = ACTIONS(198), [anon_sym_for] = ACTIONS(200), [anon_sym_asyncfor] = ACTIONS(202), [anon_sym_return] = ACTIONS(204), [anon_sym_args] = ACTIONS(206), [anon_sym_assert_equal] = ACTIONS(206), [anon_sym_env] = ACTIONS(206), [anon_sym_fs] = ACTIONS(206), [anon_sym_json] = ACTIONS(206), [anon_sym_length] = ACTIONS(206), [anon_sym_output] = ACTIONS(206), [anon_sym_random] = ACTIONS(206), [anon_sym_string] = ACTIONS(206), }, [33] = { [sym_statement] = STATE(400), [sym_expression] = STATE(323), [sym__expression_kind] = STATE(288), [sym_block] = STATE(300), [sym_value] = STATE(265), [sym_structure] = STATE(279), [sym_new] = STATE(288), [sym_boolean] = STATE(279), [sym_list] = STATE(279), [sym_map] = STATE(279), [sym_option] = STATE(279), [sym_index] = STATE(314), [sym_index_expression] = STATE(464), [sym_math] = STATE(288), [sym_logic] = STATE(288), [sym_assignment] = STATE(300), [sym_index_assignment] = STATE(300), [sym_if_else] = STATE(300), [sym_if] = STATE(388), [sym_match] = STATE(300), [sym_while] = STATE(300), [sym_for] = STATE(300), [sym_return] = STATE(300), [sym_function] = STATE(279), [sym_function_expression] = STATE(471), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(277), [sym_yield] = STATE(277), [sym_built_in_value] = STATE(279), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), [anon_sym_async] = ACTIONS(140), [anon_sym_LBRACE] = ACTIONS(142), [anon_sym_struct] = ACTIONS(144), [anon_sym_new] = ACTIONS(146), [sym_integer] = ACTIONS(148), [sym_float] = ACTIONS(150), [sym_string] = ACTIONS(150), [anon_sym_true] = ACTIONS(152), [anon_sym_false] = ACTIONS(152), [anon_sym_LBRACK] = ACTIONS(154), [anon_sym_none] = ACTIONS(156), [anon_sym_some] = ACTIONS(158), [anon_sym_if] = ACTIONS(160), [anon_sym_match] = ACTIONS(162), [anon_sym_while] = ACTIONS(164), [anon_sym_for] = ACTIONS(166), [anon_sym_asyncfor] = ACTIONS(168), [anon_sym_return] = ACTIONS(170), [anon_sym_args] = ACTIONS(172), [anon_sym_assert_equal] = ACTIONS(172), [anon_sym_env] = ACTIONS(172), [anon_sym_fs] = ACTIONS(172), [anon_sym_json] = ACTIONS(172), [anon_sym_length] = ACTIONS(172), [anon_sym_output] = ACTIONS(172), [anon_sym_random] = ACTIONS(172), [anon_sym_string] = ACTIONS(172), }, [34] = { [sym_statement] = STATE(242), [sym_expression] = STATE(88), [sym__expression_kind] = STATE(63), [sym_block] = STATE(232), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(232), [sym_index_assignment] = STATE(232), [sym_if_else] = STATE(232), [sym_if] = STATE(224), [sym_match] = STATE(232), [sym_while] = STATE(232), [sym_for] = STATE(232), [sym_return] = STATE(232), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [35] = { [sym_statement] = STATE(440), [sym_expression] = STATE(323), [sym__expression_kind] = STATE(288), [sym_block] = STATE(300), [sym_value] = STATE(265), [sym_structure] = STATE(279), [sym_new] = STATE(288), [sym_boolean] = STATE(279), [sym_list] = STATE(279), [sym_map] = STATE(279), [sym_option] = STATE(279), [sym_index] = STATE(314), [sym_index_expression] = STATE(464), [sym_math] = STATE(288), [sym_logic] = STATE(288), [sym_assignment] = STATE(300), [sym_index_assignment] = STATE(300), [sym_if_else] = STATE(300), [sym_if] = STATE(388), [sym_match] = STATE(300), [sym_while] = STATE(300), [sym_for] = STATE(300), [sym_return] = STATE(300), [sym_function] = STATE(279), [sym_function_expression] = STATE(471), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(277), [sym_yield] = STATE(277), [sym_built_in_value] = STATE(279), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), [anon_sym_async] = ACTIONS(140), [anon_sym_LBRACE] = ACTIONS(142), [anon_sym_struct] = ACTIONS(144), [anon_sym_new] = ACTIONS(146), [sym_integer] = ACTIONS(148), [sym_float] = ACTIONS(150), [sym_string] = ACTIONS(150), [anon_sym_true] = ACTIONS(152), [anon_sym_false] = ACTIONS(152), [anon_sym_LBRACK] = ACTIONS(154), [anon_sym_none] = ACTIONS(156), [anon_sym_some] = ACTIONS(158), [anon_sym_if] = ACTIONS(160), [anon_sym_match] = ACTIONS(162), [anon_sym_while] = ACTIONS(164), [anon_sym_for] = ACTIONS(166), [anon_sym_asyncfor] = ACTIONS(168), [anon_sym_return] = ACTIONS(170), [anon_sym_args] = ACTIONS(172), [anon_sym_assert_equal] = ACTIONS(172), [anon_sym_env] = ACTIONS(172), [anon_sym_fs] = ACTIONS(172), [anon_sym_json] = ACTIONS(172), [anon_sym_length] = ACTIONS(172), [anon_sym_output] = ACTIONS(172), [anon_sym_random] = ACTIONS(172), [anon_sym_string] = ACTIONS(172), }, [36] = { [sym_statement] = STATE(243), [sym_expression] = STATE(88), [sym__expression_kind] = STATE(63), [sym_block] = STATE(232), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(232), [sym_index_assignment] = STATE(232), [sym_if_else] = STATE(232), [sym_if] = STATE(224), [sym_match] = STATE(232), [sym_while] = STATE(232), [sym_for] = STATE(232), [sym_return] = STATE(232), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [37] = { [sym_statement] = STATE(310), [sym_expression] = STATE(324), [sym__expression_kind] = STATE(288), [sym_block] = STATE(301), [sym_value] = STATE(265), [sym_structure] = STATE(279), [sym_new] = STATE(288), [sym_boolean] = STATE(279), [sym_list] = STATE(279), [sym_map] = STATE(279), [sym_option] = STATE(279), [sym_index] = STATE(314), [sym_index_expression] = STATE(464), [sym_math] = STATE(288), [sym_logic] = STATE(288), [sym_assignment] = STATE(301), [sym_index_assignment] = STATE(301), [sym_if_else] = STATE(301), [sym_if] = STATE(388), [sym_match] = STATE(301), [sym_while] = STATE(301), [sym_for] = STATE(301), [sym_return] = STATE(301), [sym_function] = STATE(279), [sym_function_expression] = STATE(471), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(277), [sym_yield] = STATE(277), [sym_built_in_value] = STATE(279), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), [anon_sym_async] = ACTIONS(140), [anon_sym_LBRACE] = ACTIONS(142), [anon_sym_struct] = ACTIONS(144), [anon_sym_new] = ACTIONS(146), [sym_integer] = ACTIONS(148), [sym_float] = ACTIONS(150), [sym_string] = ACTIONS(150), [anon_sym_true] = ACTIONS(152), [anon_sym_false] = ACTIONS(152), [anon_sym_LBRACK] = ACTIONS(154), [anon_sym_none] = ACTIONS(156), [anon_sym_some] = ACTIONS(158), [anon_sym_if] = ACTIONS(160), [anon_sym_match] = ACTIONS(162), [anon_sym_while] = ACTIONS(164), [anon_sym_for] = ACTIONS(166), [anon_sym_asyncfor] = ACTIONS(168), [anon_sym_return] = ACTIONS(170), [anon_sym_args] = ACTIONS(172), [anon_sym_assert_equal] = ACTIONS(172), [anon_sym_env] = ACTIONS(172), [anon_sym_fs] = ACTIONS(172), [anon_sym_json] = ACTIONS(172), [anon_sym_length] = ACTIONS(172), [anon_sym_output] = ACTIONS(172), [anon_sym_random] = ACTIONS(172), [anon_sym_string] = ACTIONS(172), }, [38] = { [sym_statement] = STATE(312), [sym_expression] = STATE(201), [sym__expression_kind] = STATE(125), [sym_block] = STATE(300), [sym_value] = STATE(126), [sym_structure] = STATE(129), [sym_new] = STATE(125), [sym_boolean] = STATE(129), [sym_list] = STATE(129), [sym_map] = STATE(129), [sym_option] = STATE(129), [sym_index] = STATE(134), [sym_index_expression] = STATE(476), [sym_math] = STATE(125), [sym_logic] = STATE(125), [sym_assignment] = STATE(300), [sym_index_assignment] = STATE(300), [sym_if_else] = STATE(300), [sym_if] = STATE(246), [sym_match] = STATE(300), [sym_while] = STATE(300), [sym_for] = STATE(300), [sym_return] = STATE(300), [sym_function] = STATE(129), [sym_function_expression] = STATE(457), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(119), [sym_yield] = STATE(119), [sym_built_in_value] = STATE(129), [sym_identifier] = ACTIONS(174), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(176), [anon_sym_async] = ACTIONS(178), [anon_sym_LBRACE] = ACTIONS(180), [anon_sym_struct] = ACTIONS(182), [anon_sym_new] = ACTIONS(184), [sym_integer] = ACTIONS(186), [sym_float] = ACTIONS(188), [sym_string] = ACTIONS(188), [anon_sym_true] = ACTIONS(190), [anon_sym_false] = ACTIONS(190), [anon_sym_LBRACK] = ACTIONS(192), [anon_sym_none] = ACTIONS(194), [anon_sym_some] = ACTIONS(196), [anon_sym_if] = ACTIONS(160), [anon_sym_match] = ACTIONS(162), [anon_sym_while] = ACTIONS(198), [anon_sym_for] = ACTIONS(200), [anon_sym_asyncfor] = ACTIONS(202), [anon_sym_return] = ACTIONS(204), [anon_sym_args] = ACTIONS(206), [anon_sym_assert_equal] = ACTIONS(206), [anon_sym_env] = ACTIONS(206), [anon_sym_fs] = ACTIONS(206), [anon_sym_json] = ACTIONS(206), [anon_sym_length] = ACTIONS(206), [anon_sym_output] = ACTIONS(206), [anon_sym_random] = ACTIONS(206), [anon_sym_string] = ACTIONS(206), }, [39] = { [sym_statement] = STATE(305), [sym_expression] = STATE(324), [sym__expression_kind] = STATE(288), [sym_block] = STATE(301), [sym_value] = STATE(265), [sym_structure] = STATE(279), [sym_new] = STATE(288), [sym_boolean] = STATE(279), [sym_list] = STATE(279), [sym_map] = STATE(279), [sym_option] = STATE(279), [sym_index] = STATE(314), [sym_index_expression] = STATE(464), [sym_math] = STATE(288), [sym_logic] = STATE(288), [sym_assignment] = STATE(301), [sym_index_assignment] = STATE(301), [sym_if_else] = STATE(301), [sym_if] = STATE(388), [sym_match] = STATE(301), [sym_while] = STATE(301), [sym_for] = STATE(301), [sym_return] = STATE(301), [sym_function] = STATE(279), [sym_function_expression] = STATE(471), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(277), [sym_yield] = STATE(277), [sym_built_in_value] = STATE(279), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), [anon_sym_async] = ACTIONS(140), [anon_sym_LBRACE] = ACTIONS(142), [anon_sym_struct] = ACTIONS(144), [anon_sym_new] = ACTIONS(146), [sym_integer] = ACTIONS(148), [sym_float] = ACTIONS(150), [sym_string] = ACTIONS(150), [anon_sym_true] = ACTIONS(152), [anon_sym_false] = ACTIONS(152), [anon_sym_LBRACK] = ACTIONS(154), [anon_sym_none] = ACTIONS(156), [anon_sym_some] = ACTIONS(158), [anon_sym_if] = ACTIONS(160), [anon_sym_match] = ACTIONS(162), [anon_sym_while] = ACTIONS(164), [anon_sym_for] = ACTIONS(166), [anon_sym_asyncfor] = ACTIONS(168), [anon_sym_return] = ACTIONS(170), [anon_sym_args] = ACTIONS(172), [anon_sym_assert_equal] = ACTIONS(172), [anon_sym_env] = ACTIONS(172), [anon_sym_fs] = ACTIONS(172), [anon_sym_json] = ACTIONS(172), [anon_sym_length] = ACTIONS(172), [anon_sym_output] = ACTIONS(172), [anon_sym_random] = ACTIONS(172), [anon_sym_string] = ACTIONS(172), }, [40] = { [sym_statement] = STATE(303), [sym_expression] = STATE(324), [sym__expression_kind] = STATE(288), [sym_block] = STATE(301), [sym_value] = STATE(265), [sym_structure] = STATE(279), [sym_new] = STATE(288), [sym_boolean] = STATE(279), [sym_list] = STATE(279), [sym_map] = STATE(279), [sym_option] = STATE(279), [sym_index] = STATE(314), [sym_index_expression] = STATE(464), [sym_math] = STATE(288), [sym_logic] = STATE(288), [sym_assignment] = STATE(301), [sym_index_assignment] = STATE(301), [sym_if_else] = STATE(301), [sym_if] = STATE(388), [sym_match] = STATE(301), [sym_while] = STATE(301), [sym_for] = STATE(301), [sym_return] = STATE(301), [sym_function] = STATE(279), [sym_function_expression] = STATE(471), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(277), [sym_yield] = STATE(277), [sym_built_in_value] = STATE(279), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), [anon_sym_async] = ACTIONS(140), [anon_sym_LBRACE] = ACTIONS(142), [anon_sym_struct] = ACTIONS(144), [anon_sym_new] = ACTIONS(146), [sym_integer] = ACTIONS(148), [sym_float] = ACTIONS(150), [sym_string] = ACTIONS(150), [anon_sym_true] = ACTIONS(152), [anon_sym_false] = ACTIONS(152), [anon_sym_LBRACK] = ACTIONS(154), [anon_sym_none] = ACTIONS(156), [anon_sym_some] = ACTIONS(158), [anon_sym_if] = ACTIONS(160), [anon_sym_match] = ACTIONS(162), [anon_sym_while] = ACTIONS(164), [anon_sym_for] = ACTIONS(166), [anon_sym_asyncfor] = ACTIONS(168), [anon_sym_return] = ACTIONS(170), [anon_sym_args] = ACTIONS(172), [anon_sym_assert_equal] = ACTIONS(172), [anon_sym_env] = ACTIONS(172), [anon_sym_fs] = ACTIONS(172), [anon_sym_json] = ACTIONS(172), [anon_sym_length] = ACTIONS(172), [anon_sym_output] = ACTIONS(172), [anon_sym_random] = ACTIONS(172), [anon_sym_string] = ACTIONS(172), }, [41] = { [sym_statement] = STATE(235), [sym_expression] = STATE(88), [sym__expression_kind] = STATE(63), [sym_block] = STATE(232), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(232), [sym_index_assignment] = STATE(232), [sym_if_else] = STATE(232), [sym_if] = STATE(224), [sym_match] = STATE(232), [sym_while] = STATE(232), [sym_for] = STATE(232), [sym_return] = STATE(232), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [42] = { [sym_statement] = STATE(309), [sym_expression] = STATE(324), [sym__expression_kind] = STATE(288), [sym_block] = STATE(301), [sym_value] = STATE(265), [sym_structure] = STATE(279), [sym_new] = STATE(288), [sym_boolean] = STATE(279), [sym_list] = STATE(279), [sym_map] = STATE(279), [sym_option] = STATE(279), [sym_index] = STATE(314), [sym_index_expression] = STATE(464), [sym_math] = STATE(288), [sym_logic] = STATE(288), [sym_assignment] = STATE(301), [sym_index_assignment] = STATE(301), [sym_if_else] = STATE(301), [sym_if] = STATE(388), [sym_match] = STATE(301), [sym_while] = STATE(301), [sym_for] = STATE(301), [sym_return] = STATE(301), [sym_function] = STATE(279), [sym_function_expression] = STATE(471), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(277), [sym_yield] = STATE(277), [sym_built_in_value] = STATE(279), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), [anon_sym_async] = ACTIONS(140), [anon_sym_LBRACE] = ACTIONS(142), [anon_sym_struct] = ACTIONS(144), [anon_sym_new] = ACTIONS(146), [sym_integer] = ACTIONS(148), [sym_float] = ACTIONS(150), [sym_string] = ACTIONS(150), [anon_sym_true] = ACTIONS(152), [anon_sym_false] = ACTIONS(152), [anon_sym_LBRACK] = ACTIONS(154), [anon_sym_none] = ACTIONS(156), [anon_sym_some] = ACTIONS(158), [anon_sym_if] = ACTIONS(160), [anon_sym_match] = ACTIONS(162), [anon_sym_while] = ACTIONS(164), [anon_sym_for] = ACTIONS(166), [anon_sym_asyncfor] = ACTIONS(168), [anon_sym_return] = ACTIONS(170), [anon_sym_args] = ACTIONS(172), [anon_sym_assert_equal] = ACTIONS(172), [anon_sym_env] = ACTIONS(172), [anon_sym_fs] = ACTIONS(172), [anon_sym_json] = ACTIONS(172), [anon_sym_length] = ACTIONS(172), [anon_sym_output] = ACTIONS(172), [anon_sym_random] = ACTIONS(172), [anon_sym_string] = ACTIONS(172), }, [43] = { [sym_statement] = STATE(448), [sym_expression] = STATE(323), [sym__expression_kind] = STATE(288), [sym_block] = STATE(300), [sym_value] = STATE(265), [sym_structure] = STATE(279), [sym_new] = STATE(288), [sym_boolean] = STATE(279), [sym_list] = STATE(279), [sym_map] = STATE(279), [sym_option] = STATE(279), [sym_index] = STATE(314), [sym_index_expression] = STATE(464), [sym_math] = STATE(288), [sym_logic] = STATE(288), [sym_assignment] = STATE(300), [sym_index_assignment] = STATE(300), [sym_if_else] = STATE(300), [sym_if] = STATE(388), [sym_match] = STATE(300), [sym_while] = STATE(300), [sym_for] = STATE(300), [sym_return] = STATE(300), [sym_function] = STATE(279), [sym_function_expression] = STATE(471), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(277), [sym_yield] = STATE(277), [sym_built_in_value] = STATE(279), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), [anon_sym_async] = ACTIONS(140), [anon_sym_LBRACE] = ACTIONS(142), [anon_sym_struct] = ACTIONS(144), [anon_sym_new] = ACTIONS(146), [sym_integer] = ACTIONS(148), [sym_float] = ACTIONS(150), [sym_string] = ACTIONS(150), [anon_sym_true] = ACTIONS(152), [anon_sym_false] = ACTIONS(152), [anon_sym_LBRACK] = ACTIONS(154), [anon_sym_none] = ACTIONS(156), [anon_sym_some] = ACTIONS(158), [anon_sym_if] = ACTIONS(160), [anon_sym_match] = ACTIONS(162), [anon_sym_while] = ACTIONS(164), [anon_sym_for] = ACTIONS(166), [anon_sym_asyncfor] = ACTIONS(168), [anon_sym_return] = ACTIONS(170), [anon_sym_args] = ACTIONS(172), [anon_sym_assert_equal] = ACTIONS(172), [anon_sym_env] = ACTIONS(172), [anon_sym_fs] = ACTIONS(172), [anon_sym_json] = ACTIONS(172), [anon_sym_length] = ACTIONS(172), [anon_sym_output] = ACTIONS(172), [anon_sym_random] = ACTIONS(172), [anon_sym_string] = ACTIONS(172), }, [44] = { [sym_statement] = STATE(445), [sym_expression] = STATE(323), [sym__expression_kind] = STATE(288), [sym_block] = STATE(300), [sym_value] = STATE(265), [sym_structure] = STATE(279), [sym_new] = STATE(288), [sym_boolean] = STATE(279), [sym_list] = STATE(279), [sym_map] = STATE(279), [sym_option] = STATE(279), [sym_index] = STATE(314), [sym_index_expression] = STATE(464), [sym_math] = STATE(288), [sym_logic] = STATE(288), [sym_assignment] = STATE(300), [sym_index_assignment] = STATE(300), [sym_if_else] = STATE(300), [sym_if] = STATE(388), [sym_match] = STATE(300), [sym_while] = STATE(300), [sym_for] = STATE(300), [sym_return] = STATE(300), [sym_function] = STATE(279), [sym_function_expression] = STATE(471), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(277), [sym_yield] = STATE(277), [sym_built_in_value] = STATE(279), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), [anon_sym_async] = ACTIONS(140), [anon_sym_LBRACE] = ACTIONS(142), [anon_sym_struct] = ACTIONS(144), [anon_sym_new] = ACTIONS(146), [sym_integer] = ACTIONS(148), [sym_float] = ACTIONS(150), [sym_string] = ACTIONS(150), [anon_sym_true] = ACTIONS(152), [anon_sym_false] = ACTIONS(152), [anon_sym_LBRACK] = ACTIONS(154), [anon_sym_none] = ACTIONS(156), [anon_sym_some] = ACTIONS(158), [anon_sym_if] = ACTIONS(160), [anon_sym_match] = ACTIONS(162), [anon_sym_while] = ACTIONS(164), [anon_sym_for] = ACTIONS(166), [anon_sym_asyncfor] = ACTIONS(168), [anon_sym_return] = ACTIONS(170), [anon_sym_args] = ACTIONS(172), [anon_sym_assert_equal] = ACTIONS(172), [anon_sym_env] = ACTIONS(172), [anon_sym_fs] = ACTIONS(172), [anon_sym_json] = ACTIONS(172), [anon_sym_length] = ACTIONS(172), [anon_sym_output] = ACTIONS(172), [anon_sym_random] = ACTIONS(172), [anon_sym_string] = ACTIONS(172), }, [45] = { [sym_statement] = STATE(309), [sym_expression] = STATE(196), [sym__expression_kind] = STATE(125), [sym_block] = STATE(301), [sym_value] = STATE(126), [sym_structure] = STATE(129), [sym_new] = STATE(125), [sym_boolean] = STATE(129), [sym_list] = STATE(129), [sym_map] = STATE(129), [sym_option] = STATE(129), [sym_index] = STATE(134), [sym_index_expression] = STATE(476), [sym_math] = STATE(125), [sym_logic] = STATE(125), [sym_assignment] = STATE(301), [sym_index_assignment] = STATE(301), [sym_if_else] = STATE(301), [sym_if] = STATE(246), [sym_match] = STATE(301), [sym_while] = STATE(301), [sym_for] = STATE(301), [sym_return] = STATE(301), [sym_function] = STATE(129), [sym_function_expression] = STATE(457), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(119), [sym_yield] = STATE(119), [sym_built_in_value] = STATE(129), [sym_identifier] = ACTIONS(174), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(176), [anon_sym_async] = ACTIONS(178), [anon_sym_LBRACE] = ACTIONS(180), [anon_sym_struct] = ACTIONS(182), [anon_sym_new] = ACTIONS(184), [sym_integer] = ACTIONS(186), [sym_float] = ACTIONS(188), [sym_string] = ACTIONS(188), [anon_sym_true] = ACTIONS(190), [anon_sym_false] = ACTIONS(190), [anon_sym_LBRACK] = ACTIONS(192), [anon_sym_none] = ACTIONS(194), [anon_sym_some] = ACTIONS(196), [anon_sym_if] = ACTIONS(160), [anon_sym_match] = ACTIONS(162), [anon_sym_while] = ACTIONS(198), [anon_sym_for] = ACTIONS(200), [anon_sym_asyncfor] = ACTIONS(202), [anon_sym_return] = ACTIONS(204), [anon_sym_args] = ACTIONS(206), [anon_sym_assert_equal] = ACTIONS(206), [anon_sym_env] = ACTIONS(206), [anon_sym_fs] = ACTIONS(206), [anon_sym_json] = ACTIONS(206), [anon_sym_length] = ACTIONS(206), [anon_sym_output] = ACTIONS(206), [anon_sym_random] = ACTIONS(206), [anon_sym_string] = ACTIONS(206), }, [46] = { [sym_statement] = STATE(233), [sym_expression] = STATE(88), [sym__expression_kind] = STATE(63), [sym_block] = STATE(232), [sym_value] = STATE(87), [sym_structure] = STATE(81), [sym_new] = STATE(63), [sym_boolean] = STATE(81), [sym_list] = STATE(81), [sym_map] = STATE(81), [sym_option] = STATE(81), [sym_index] = STATE(84), [sym_index_expression] = STATE(482), [sym_math] = STATE(63), [sym_logic] = STATE(63), [sym_assignment] = STATE(232), [sym_index_assignment] = STATE(232), [sym_if_else] = STATE(232), [sym_if] = STATE(224), [sym_match] = STATE(232), [sym_while] = STATE(232), [sym_for] = STATE(232), [sym_return] = STATE(232), [sym_function] = STATE(81), [sym_function_expression] = STATE(481), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(69), [sym_yield] = STATE(69), [sym_built_in_value] = STATE(81), [sym_identifier] = ACTIONS(5), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(7), [anon_sym_async] = ACTIONS(9), [anon_sym_LBRACE] = ACTIONS(11), [anon_sym_struct] = ACTIONS(13), [anon_sym_new] = ACTIONS(15), [sym_integer] = ACTIONS(17), [sym_float] = ACTIONS(19), [sym_string] = ACTIONS(19), [anon_sym_true] = ACTIONS(21), [anon_sym_false] = ACTIONS(21), [anon_sym_LBRACK] = ACTIONS(23), [anon_sym_none] = ACTIONS(25), [anon_sym_some] = ACTIONS(27), [anon_sym_if] = ACTIONS(29), [anon_sym_match] = ACTIONS(31), [anon_sym_while] = ACTIONS(33), [anon_sym_for] = ACTIONS(35), [anon_sym_asyncfor] = ACTIONS(37), [anon_sym_return] = ACTIONS(39), [anon_sym_args] = ACTIONS(41), [anon_sym_assert_equal] = ACTIONS(41), [anon_sym_env] = ACTIONS(41), [anon_sym_fs] = ACTIONS(41), [anon_sym_json] = ACTIONS(41), [anon_sym_length] = ACTIONS(41), [anon_sym_output] = ACTIONS(41), [anon_sym_random] = ACTIONS(41), [anon_sym_string] = ACTIONS(41), }, [47] = { [sym_statement] = STATE(428), [sym_expression] = STATE(323), [sym__expression_kind] = STATE(288), [sym_block] = STATE(300), [sym_value] = STATE(265), [sym_structure] = STATE(279), [sym_new] = STATE(288), [sym_boolean] = STATE(279), [sym_list] = STATE(279), [sym_map] = STATE(279), [sym_option] = STATE(279), [sym_index] = STATE(314), [sym_index_expression] = STATE(464), [sym_math] = STATE(288), [sym_logic] = STATE(288), [sym_assignment] = STATE(300), [sym_index_assignment] = STATE(300), [sym_if_else] = STATE(300), [sym_if] = STATE(388), [sym_match] = STATE(300), [sym_while] = STATE(300), [sym_for] = STATE(300), [sym_return] = STATE(300), [sym_function] = STATE(279), [sym_function_expression] = STATE(471), [sym__function_expression_kind] = STATE(71), [sym_function_call] = STATE(277), [sym_yield] = STATE(277), [sym_built_in_value] = STATE(279), [sym_identifier] = ACTIONS(136), [sym__comment] = ACTIONS(3), [anon_sym_LPAREN] = ACTIONS(138), [anon_sym_async] = ACTIONS(140), [anon_sym_LBRACE] = ACTIONS(142), [anon_sym_struct] = ACTIONS(144), [anon_sym_new] = ACTIONS(146), [sym_integer] = ACTIONS(148), [sym_float] = ACTIONS(150), [sym_string] = ACTIONS(150), [anon_sym_true] = ACTIONS(152), [anon_sym_false] = ACTIONS(152), [anon_sym_LBRACK] = ACTIONS(154), [anon_sym_none] = ACTIONS(156), [anon_sym_some] = ACTIONS(158), [anon_sym_if] = ACTIONS(160), [anon_sym_match] = ACTIONS(162), [anon_sym_while] = ACTIONS(164), [anon_sym_for] = ACTIONS(166), [anon_sym_asyncfor] = ACTIONS(168), [anon_sym_return] = ACTIONS(170), [anon_sym_args] = ACTIONS(172), [anon_sym_assert_equal] = ACTIONS(172), [anon_sym_env] = ACTIONS(172), [anon_sym_fs] = ACTIONS(172), [anon_sym_json] = ACTIONS(172), [anon_sym_length] = ACTIONS(172), [anon_sym_output] = ACTIONS(172), [anon_sym_random] = ACTIONS(172), [anon_sym_string] = ACTIONS(172), }, }; static const uint16_t ts_small_parse_table[] = { [0] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(212), 1, anon_sym_DASH_GT, STATE(174), 1, sym_math_operator, STATE(176), 1, sym_logic_operator, ACTIONS(208), 22, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, ACTIONS(210), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [67] = 5, ACTIONS(3), 1, sym__comment, STATE(174), 1, sym_math_operator, STATE(176), 1, sym_logic_operator, ACTIONS(214), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(216), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [132] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(212), 1, anon_sym_DASH_GT, STATE(174), 1, sym_math_operator, STATE(176), 1, sym_logic_operator, ACTIONS(218), 22, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, ACTIONS(220), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [199] = 10, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LPAREN, ACTIONS(228), 1, anon_sym_EQ, ACTIONS(230), 1, anon_sym_COLON, ACTIONS(232), 1, anon_sym_LT, STATE(46), 1, sym_assignment_operator, STATE(393), 1, sym_type_definition, ACTIONS(234), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(222), 18, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(224), 26, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [273] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(236), 1, anon_sym_DASH_GT, STATE(192), 1, sym_math_operator, STATE(195), 1, sym_logic_operator, ACTIONS(208), 21, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, ACTIONS(210), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [339] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(236), 1, anon_sym_DASH_GT, STATE(192), 1, sym_math_operator, STATE(195), 1, sym_logic_operator, ACTIONS(218), 21, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, ACTIONS(220), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [405] = 5, ACTIONS(3), 1, sym__comment, STATE(192), 1, sym_math_operator, STATE(195), 1, sym_logic_operator, ACTIONS(214), 22, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(216), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [469] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(238), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(240), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [528] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(242), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(244), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [587] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(246), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(248), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [646] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(250), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(252), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [705] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(254), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(256), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [764] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(258), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(260), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [823] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(262), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(264), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [882] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(266), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(268), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [941] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(270), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(272), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1000] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(274), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(276), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1059] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(278), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(280), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1118] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(282), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(284), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1177] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(286), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(288), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1236] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(290), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(292), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1295] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LPAREN, ACTIONS(222), 22, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(224), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1356] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(294), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(296), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1415] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(298), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(300), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1474] = 10, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LPAREN, ACTIONS(230), 1, anon_sym_COLON, ACTIONS(232), 1, anon_sym_LT, ACTIONS(302), 1, anon_sym_EQ, STATE(46), 1, sym_assignment_operator, STATE(390), 1, sym_type_definition, ACTIONS(234), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(222), 17, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(224), 26, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1547] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(304), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(306), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1606] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(230), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(308), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1665] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(310), 1, anon_sym_DOT_DOT, ACTIONS(274), 22, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(276), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1726] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(312), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(314), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1785] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(316), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(318), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1844] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(320), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(322), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1903] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(324), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(326), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [1962] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(328), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(330), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2021] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(332), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(334), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2080] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(336), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(338), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2139] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(340), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(342), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2198] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LPAREN, ACTIONS(228), 1, anon_sym_EQ, ACTIONS(230), 1, anon_sym_COLON, STATE(36), 1, sym_assignment_operator, ACTIONS(234), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(222), 18, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(224), 27, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2267] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(344), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(346), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2326] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(348), 23, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(350), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2385] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LPAREN, ACTIONS(230), 1, anon_sym_COLON, ACTIONS(222), 21, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(224), 28, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2448] = 10, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(364), 1, anon_sym_DASH_GT, STATE(181), 1, sym_math_operator, STATE(191), 1, sym_logic_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, ACTIONS(352), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(354), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2518] = 5, ACTIONS(3), 1, sym__comment, STATE(182), 1, sym_math_operator, STATE(183), 1, sym_logic_operator, ACTIONS(216), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(214), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [2578] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(366), 1, anon_sym_DASH_GT, STATE(182), 1, sym_math_operator, STATE(183), 1, sym_logic_operator, ACTIONS(220), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(218), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, [2640] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(366), 1, anon_sym_DASH_GT, STATE(182), 1, sym_math_operator, STATE(183), 1, sym_logic_operator, ACTIONS(210), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(208), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, [2702] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(364), 1, anon_sym_DASH_GT, ACTIONS(368), 1, anon_sym_SEMI, STATE(181), 1, sym_math_operator, STATE(191), 1, sym_logic_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, ACTIONS(352), 8, ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(354), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2774] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(364), 1, anon_sym_DASH_GT, STATE(181), 1, sym_math_operator, STATE(191), 1, sym_logic_operator, ACTIONS(208), 19, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_asyncfor, ACTIONS(210), 26, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2836] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(364), 1, anon_sym_DASH_GT, STATE(181), 1, sym_math_operator, STATE(191), 1, sym_logic_operator, ACTIONS(218), 19, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_asyncfor, ACTIONS(220), 26, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2898] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(370), 1, anon_sym_DASH_GT, STATE(194), 1, sym_logic_operator, STATE(202), 1, sym_math_operator, ACTIONS(218), 22, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(220), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [2959] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(230), 1, anon_sym_COLON, ACTIONS(226), 20, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_asyncfor, anon_sym_DASH_GT, ACTIONS(372), 26, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [3016] = 5, ACTIONS(3), 1, sym__comment, STATE(194), 1, sym_logic_operator, STATE(202), 1, sym_math_operator, ACTIONS(216), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(214), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3075] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(370), 1, anon_sym_DASH_GT, STATE(194), 1, sym_logic_operator, STATE(202), 1, sym_math_operator, ACTIONS(208), 22, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(210), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [3136] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(314), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(312), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3190] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(268), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(266), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3244] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(318), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(316), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3298] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(322), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(320), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3352] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(350), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(348), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3406] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(296), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(294), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3460] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(326), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(324), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3514] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(284), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(282), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3568] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(308), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(230), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3622] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(374), 1, anon_sym_DOT_DOT, ACTIONS(276), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(274), 23, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3678] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(280), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(278), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3732] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(240), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(238), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3786] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(264), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(262), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3840] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(256), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(254), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3894] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(252), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(250), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [3948] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(292), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(290), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4002] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(342), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(340), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4056] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(346), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(344), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4110] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(248), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(246), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4164] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(306), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(304), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4218] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LPAREN, ACTIONS(224), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(222), 23, anon_sym_SEMI, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4274] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(260), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(258), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4328] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(300), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(298), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4382] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(244), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(242), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4436] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(338), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(336), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4490] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(288), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(286), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4544] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(272), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(270), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4598] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LPAREN, ACTIONS(230), 1, anon_sym_COLON, ACTIONS(222), 22, anon_sym_SEMI, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, ACTIONS(224), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [4656] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(276), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(274), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4710] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(330), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(328), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4764] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(334), 22, sym_identifier, anon_sym_struct, anon_sym_EQ, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(332), 24, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_DASH_GT, [4818] = 10, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LPAREN, ACTIONS(228), 1, anon_sym_EQ, ACTIONS(230), 1, anon_sym_COLON, ACTIONS(232), 1, anon_sym_LT, STATE(29), 1, sym_assignment_operator, STATE(391), 1, sym_type_definition, ACTIONS(234), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(222), 17, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, ACTIONS(224), 20, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [4885] = 24, ACTIONS(3), 1, sym__comment, ACTIONS(376), 1, sym_identifier, ACTIONS(379), 1, anon_sym_LPAREN, ACTIONS(382), 1, anon_sym_LBRACE, ACTIONS(385), 1, anon_sym_RBRACE, ACTIONS(387), 1, anon_sym_struct, ACTIONS(390), 1, anon_sym_new, ACTIONS(393), 1, sym_integer, ACTIONS(402), 1, anon_sym_LBRACK, ACTIONS(405), 1, anon_sym_none, ACTIONS(408), 1, anon_sym_some, ACTIONS(411), 1, anon_sym_STAR, STATE(71), 1, sym__function_expression_kind, STATE(131), 1, aux_sym_match_repeat1, STATE(352), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(396), 2, sym_float, sym_string, ACTIONS(399), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(414), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [4979] = 24, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(421), 1, anon_sym_RBRACE, ACTIONS(423), 1, anon_sym_STAR, STATE(71), 1, sym__function_expression_kind, STATE(131), 1, aux_sym_match_repeat1, STATE(352), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5073] = 24, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(423), 1, anon_sym_STAR, ACTIONS(425), 1, anon_sym_RBRACE, STATE(71), 1, sym__function_expression_kind, STATE(131), 1, aux_sym_match_repeat1, STATE(352), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5167] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LPAREN, ACTIONS(228), 1, anon_sym_EQ, ACTIONS(230), 1, anon_sym_COLON, STATE(31), 1, sym_assignment_operator, ACTIONS(234), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(222), 17, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, ACTIONS(224), 21, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5229] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(429), 1, anon_sym_RPAREN, ACTIONS(431), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(157), 1, aux_sym__expression_list, STATE(222), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5320] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(433), 1, sym_identifier, ACTIONS(436), 1, anon_sym_LPAREN, ACTIONS(439), 1, anon_sym_LBRACE, ACTIONS(442), 1, anon_sym_struct, ACTIONS(445), 1, anon_sym_new, ACTIONS(448), 1, sym_integer, ACTIONS(457), 1, anon_sym_LBRACK, ACTIONS(460), 1, anon_sym_RBRACK, ACTIONS(462), 1, anon_sym_none, ACTIONS(465), 1, anon_sym_some, STATE(71), 1, sym__function_expression_kind, STATE(136), 1, aux_sym_list_repeat1, STATE(223), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(451), 2, sym_float, sym_string, ACTIONS(454), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(468), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5411] = 24, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(471), 1, sym_identifier, ACTIONS(473), 1, anon_sym_RPAREN, STATE(277), 1, sym_yield, STATE(366), 1, sym_expression, STATE(376), 1, sym_function_call, STATE(426), 1, aux_sym_function_repeat1, STATE(435), 1, sym__function_expression_kind, STATE(471), 1, sym_function_expression, STATE(488), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(377), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5504] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(475), 1, anon_sym_RPAREN, STATE(71), 1, sym__function_expression_kind, STATE(146), 1, aux_sym__expression_list, STATE(222), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5595] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(477), 1, anon_sym_RBRACK, STATE(71), 1, sym__function_expression_kind, STATE(151), 1, aux_sym_list_repeat1, STATE(223), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5686] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(479), 1, anon_sym_RPAREN, STATE(71), 1, sym__function_expression_kind, STATE(157), 1, aux_sym__expression_list, STATE(222), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5777] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(481), 1, anon_sym_RPAREN, STATE(71), 1, sym__function_expression_kind, STATE(157), 1, aux_sym__expression_list, STATE(222), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5868] = 24, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(471), 1, sym_identifier, ACTIONS(483), 1, anon_sym_RPAREN, STATE(71), 1, sym__function_expression_kind, STATE(277), 1, sym_yield, STATE(358), 1, sym_function_call, STATE(362), 1, sym_expression, STATE(422), 1, aux_sym_function_repeat1, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [5961] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(423), 1, anon_sym_STAR, STATE(71), 1, sym__function_expression_kind, STATE(132), 1, aux_sym_match_repeat1, STATE(352), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6052] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(485), 1, anon_sym_DASH_GT, STATE(167), 1, sym_math_operator, STATE(199), 1, sym_logic_operator, ACTIONS(218), 20, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, ACTIONS(220), 20, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6109] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(485), 1, anon_sym_DASH_GT, STATE(167), 1, sym_math_operator, STATE(199), 1, sym_logic_operator, ACTIONS(208), 20, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, ACTIONS(210), 20, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6166] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(487), 1, anon_sym_RPAREN, STATE(71), 1, sym__function_expression_kind, STATE(157), 1, aux_sym__expression_list, STATE(222), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6257] = 24, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(471), 1, sym_identifier, ACTIONS(489), 1, anon_sym_RPAREN, STATE(277), 1, sym_yield, STATE(366), 1, sym_expression, STATE(376), 1, sym_function_call, STATE(423), 1, aux_sym_function_repeat1, STATE(435), 1, sym__function_expression_kind, STATE(471), 1, sym_function_expression, STATE(488), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(380), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6350] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(491), 1, anon_sym_RPAREN, STATE(71), 1, sym__function_expression_kind, STATE(141), 1, aux_sym__expression_list, STATE(222), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6441] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(493), 1, anon_sym_RBRACK, STATE(71), 1, sym__function_expression_kind, STATE(136), 1, aux_sym_list_repeat1, STATE(223), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6532] = 24, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(471), 1, sym_identifier, ACTIONS(473), 1, anon_sym_RPAREN, STATE(277), 1, sym_yield, STATE(366), 1, sym_expression, STATE(376), 1, sym_function_call, STATE(426), 1, aux_sym_function_repeat1, STATE(435), 1, sym__function_expression_kind, STATE(471), 1, sym_function_expression, STATE(488), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(380), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6625] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(495), 1, anon_sym_RBRACK, STATE(71), 1, sym__function_expression_kind, STATE(136), 1, aux_sym_list_repeat1, STATE(223), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6716] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(497), 1, anon_sym_RBRACK, STATE(71), 1, sym__function_expression_kind, STATE(149), 1, aux_sym_list_repeat1, STATE(223), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6807] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(423), 1, anon_sym_STAR, STATE(71), 1, sym__function_expression_kind, STATE(133), 1, aux_sym_match_repeat1, STATE(352), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6898] = 24, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(471), 1, sym_identifier, ACTIONS(473), 1, anon_sym_RPAREN, STATE(71), 1, sym__function_expression_kind, STATE(277), 1, sym_yield, STATE(362), 1, sym_expression, STATE(365), 1, sym_function_call, STATE(426), 1, aux_sym_function_repeat1, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [6991] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(499), 1, anon_sym_RPAREN, STATE(71), 1, sym__function_expression_kind, STATE(157), 1, aux_sym__expression_list, STATE(222), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7082] = 24, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(471), 1, sym_identifier, ACTIONS(483), 1, anon_sym_RPAREN, STATE(277), 1, sym_yield, STATE(366), 1, sym_expression, STATE(376), 1, sym_function_call, STATE(422), 1, aux_sym_function_repeat1, STATE(435), 1, sym__function_expression_kind, STATE(471), 1, sym_function_expression, STATE(488), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(378), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7175] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(501), 1, sym_identifier, ACTIONS(504), 1, anon_sym_LPAREN, ACTIONS(507), 1, anon_sym_RPAREN, ACTIONS(509), 1, anon_sym_LBRACE, ACTIONS(512), 1, anon_sym_struct, ACTIONS(515), 1, anon_sym_new, ACTIONS(518), 1, sym_integer, ACTIONS(527), 1, anon_sym_LBRACK, ACTIONS(530), 1, anon_sym_none, ACTIONS(533), 1, anon_sym_some, STATE(71), 1, sym__function_expression_kind, STATE(157), 1, aux_sym__expression_list, STATE(222), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(521), 2, sym_float, sym_string, ACTIONS(524), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(536), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7266] = 24, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(471), 1, sym_identifier, ACTIONS(489), 1, anon_sym_RPAREN, STATE(71), 1, sym__function_expression_kind, STATE(277), 1, sym_yield, STATE(362), 1, sym_expression, STATE(368), 1, sym_function_call, STATE(423), 1, aux_sym_function_repeat1, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7359] = 24, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(471), 1, sym_identifier, ACTIONS(489), 1, anon_sym_RPAREN, STATE(277), 1, sym_yield, STATE(366), 1, sym_expression, STATE(376), 1, sym_function_call, STATE(423), 1, aux_sym_function_repeat1, STATE(438), 1, sym__function_expression_kind, STATE(471), 1, sym_function_expression, STATE(488), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(380), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7452] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(539), 1, anon_sym_RBRACK, STATE(71), 1, sym__function_expression_kind, STATE(161), 1, aux_sym_list_repeat1, STATE(223), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7543] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(541), 1, anon_sym_RBRACK, STATE(71), 1, sym__function_expression_kind, STATE(136), 1, aux_sym_list_repeat1, STATE(223), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7634] = 24, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(471), 1, sym_identifier, ACTIONS(483), 1, anon_sym_RPAREN, STATE(277), 1, sym_yield, STATE(366), 1, sym_expression, STATE(376), 1, sym_function_call, STATE(422), 1, aux_sym_function_repeat1, STATE(442), 1, sym__function_expression_kind, STATE(471), 1, sym_function_expression, STATE(488), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(380), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7727] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(543), 1, anon_sym_RPAREN, STATE(71), 1, sym__function_expression_kind, STATE(155), 1, aux_sym__expression_list, STATE(222), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7818] = 23, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(545), 1, anon_sym_RPAREN, STATE(71), 1, sym__function_expression_kind, STATE(157), 1, aux_sym__expression_list, STATE(222), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [7909] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(230), 1, anon_sym_COLON, ACTIONS(372), 20, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_DASH, anon_sym_GT, anon_sym_LT, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, ACTIONS(226), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [7961] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(547), 1, sym_identifier, STATE(71), 1, sym__function_expression_kind, STATE(347), 1, sym_expression, STATE(471), 1, sym_function_expression, STATE(488), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(343), 2, sym_function_call, sym_yield, STATE(344), 2, sym_value, sym_index, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8046] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(144), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8131] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(336), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8216] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(547), 1, sym_identifier, STATE(71), 1, sym__function_expression_kind, STATE(355), 1, sym_expression, STATE(471), 1, sym_function_expression, STATE(488), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(343), 2, sym_function_call, sym_yield, STATE(344), 2, sym_value, sym_index, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8301] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(346), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8386] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(146), 1, anon_sym_new, ACTIONS(182), 1, anon_sym_struct, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(549), 1, sym_identifier, ACTIONS(551), 1, anon_sym_LPAREN, STATE(106), 1, sym_function_expression, STATE(372), 1, sym_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(121), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8467] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(333), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8552] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(553), 1, sym_identifier, ACTIONS(555), 1, anon_sym_LPAREN, STATE(289), 1, sym_function_expression, STATE(375), 1, sym_expression, STATE(488), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(269), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8633] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_struct, ACTIONS(15), 1, anon_sym_new, ACTIONS(17), 1, sym_integer, ACTIONS(23), 1, anon_sym_LBRACK, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(557), 1, sym_identifier, ACTIONS(559), 1, anon_sym_LBRACE, STATE(50), 1, sym_expression, STATE(71), 1, sym__function_expression_kind, STATE(452), 1, sym_index_expression, STATE(481), 1, sym_function_expression, ACTIONS(19), 2, sym_float, sym_string, ACTIONS(21), 2, anon_sym_true, anon_sym_false, STATE(69), 2, sym_function_call, sym_yield, STATE(87), 2, sym_value, sym_index, STATE(63), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(81), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8718] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(331), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8803] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_struct, ACTIONS(15), 1, anon_sym_new, ACTIONS(17), 1, sym_integer, ACTIONS(23), 1, anon_sym_LBRACK, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(557), 1, sym_identifier, ACTIONS(559), 1, anon_sym_LBRACE, STATE(48), 1, sym_expression, STATE(71), 1, sym__function_expression_kind, STATE(452), 1, sym_index_expression, STATE(481), 1, sym_function_expression, ACTIONS(19), 2, sym_float, sym_string, ACTIONS(21), 2, anon_sym_true, anon_sym_false, STATE(69), 2, sym_function_call, sym_yield, STATE(87), 2, sym_value, sym_index, STATE(63), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(81), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8888] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(547), 1, sym_identifier, STATE(71), 1, sym__function_expression_kind, STATE(326), 1, sym_expression, STATE(460), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(343), 2, sym_function_call, sym_yield, STATE(344), 2, sym_value, sym_index, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [8973] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(547), 1, sym_identifier, STATE(71), 1, sym__function_expression_kind, STATE(325), 1, sym_expression, STATE(460), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(343), 2, sym_function_call, sym_yield, STATE(344), 2, sym_value, sym_index, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9058] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(553), 1, sym_identifier, ACTIONS(555), 1, anon_sym_LPAREN, STATE(289), 1, sym_function_expression, STATE(369), 1, sym_expression, STATE(460), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(269), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9139] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, anon_sym_struct, ACTIONS(17), 1, sym_integer, ACTIONS(23), 1, anon_sym_LBRACK, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(146), 1, anon_sym_new, ACTIONS(559), 1, anon_sym_LBRACE, ACTIONS(561), 1, sym_identifier, ACTIONS(563), 1, anon_sym_LPAREN, STATE(66), 1, sym_function_expression, STATE(367), 1, sym_expression, STATE(452), 1, sym_index_expression, ACTIONS(19), 2, sym_float, sym_string, ACTIONS(21), 2, anon_sym_true, anon_sym_false, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(71), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, STATE(81), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9220] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_struct, ACTIONS(15), 1, anon_sym_new, ACTIONS(17), 1, sym_integer, ACTIONS(23), 1, anon_sym_LBRACK, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(557), 1, sym_identifier, ACTIONS(559), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(94), 1, sym_expression, STATE(481), 1, sym_function_expression, STATE(482), 1, sym_index_expression, ACTIONS(19), 2, sym_float, sym_string, ACTIONS(21), 2, anon_sym_true, anon_sym_false, STATE(69), 2, sym_function_call, sym_yield, STATE(87), 2, sym_value, sym_index, STATE(63), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(81), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9305] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(90), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(485), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9390] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(91), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(485), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9475] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(339), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9560] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(255), 1, sym_expression, STATE(460), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9645] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(256), 1, sym_expression, STATE(460), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9730] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(263), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9815] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, anon_sym_struct, ACTIONS(17), 1, sym_integer, ACTIONS(23), 1, anon_sym_LBRACK, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(146), 1, anon_sym_new, ACTIONS(559), 1, anon_sym_LBRACE, ACTIONS(561), 1, sym_identifier, ACTIONS(563), 1, anon_sym_LPAREN, STATE(66), 1, sym_function_expression, STATE(359), 1, sym_expression, STATE(482), 1, sym_index_expression, ACTIONS(19), 2, sym_float, sym_string, ACTIONS(21), 2, anon_sym_true, anon_sym_false, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(71), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, STATE(81), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9896] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(553), 1, sym_identifier, ACTIONS(555), 1, anon_sym_LPAREN, STATE(289), 1, sym_function_expression, STATE(373), 1, sym_expression, STATE(464), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(269), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [9977] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(262), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10062] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_struct, ACTIONS(15), 1, anon_sym_new, ACTIONS(17), 1, sym_integer, ACTIONS(23), 1, anon_sym_LBRACK, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(557), 1, sym_identifier, ACTIONS(559), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(93), 1, sym_expression, STATE(481), 1, sym_function_expression, STATE(482), 1, sym_index_expression, ACTIONS(19), 2, sym_float, sym_string, ACTIONS(21), 2, anon_sym_true, anon_sym_false, STATE(69), 2, sym_function_call, sym_yield, STATE(87), 2, sym_value, sym_index, STATE(63), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(81), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10147] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_struct, ACTIONS(15), 1, anon_sym_new, ACTIONS(17), 1, sym_integer, ACTIONS(23), 1, anon_sym_LBRACK, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(557), 1, sym_identifier, ACTIONS(559), 1, anon_sym_LBRACE, STATE(53), 1, sym_expression, STATE(71), 1, sym__function_expression_kind, STATE(481), 1, sym_function_expression, STATE(482), 1, sym_index_expression, ACTIONS(19), 2, sym_float, sym_string, ACTIONS(21), 2, anon_sym_true, anon_sym_false, STATE(69), 2, sym_function_call, sym_yield, STATE(87), 2, sym_value, sym_index, STATE(63), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(81), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10232] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(146), 1, anon_sym_new, ACTIONS(182), 1, anon_sym_struct, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(551), 1, anon_sym_LPAREN, ACTIONS(565), 1, sym_identifier, STATE(106), 1, sym_function_expression, STATE(363), 1, sym_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(165), 2, sym_value, sym_index, STATE(121), 3, sym__function_expression_kind, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10315] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(98), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10400] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_struct, ACTIONS(15), 1, anon_sym_new, ACTIONS(17), 1, sym_integer, ACTIONS(23), 1, anon_sym_LBRACK, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(557), 1, sym_identifier, ACTIONS(559), 1, anon_sym_LBRACE, STATE(52), 1, sym_expression, STATE(71), 1, sym__function_expression_kind, STATE(481), 1, sym_function_expression, STATE(482), 1, sym_index_expression, ACTIONS(19), 2, sym_float, sym_string, ACTIONS(21), 2, anon_sym_true, anon_sym_false, STATE(69), 2, sym_function_call, sym_yield, STATE(87), 2, sym_value, sym_index, STATE(63), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(81), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10485] = 10, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(485), 1, anon_sym_DASH_GT, STATE(167), 1, sym_math_operator, STATE(199), 1, sym_logic_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 3, anon_sym_PLUS, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, ACTIONS(352), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(354), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10548] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(547), 1, sym_identifier, STATE(71), 1, sym__function_expression_kind, STATE(329), 1, sym_expression, STATE(471), 1, sym_function_expression, STATE(488), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(343), 2, sym_function_call, sym_yield, STATE(344), 2, sym_value, sym_index, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10633] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, anon_sym_struct, ACTIONS(17), 1, sym_integer, ACTIONS(23), 1, anon_sym_LBRACK, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(146), 1, anon_sym_new, ACTIONS(559), 1, anon_sym_LBRACE, ACTIONS(563), 1, anon_sym_LPAREN, ACTIONS(567), 1, sym_identifier, STATE(66), 1, sym_function_expression, STATE(364), 1, sym_expression, STATE(482), 1, sym_index_expression, ACTIONS(19), 2, sym_float, sym_string, ACTIONS(21), 2, anon_sym_true, anon_sym_false, STATE(96), 2, sym_value, sym_index, STATE(71), 3, sym__function_expression_kind, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(81), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10716] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(145), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10801] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(327), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10886] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(485), 1, anon_sym_DASH_GT, ACTIONS(569), 1, anon_sym_SEMI, STATE(167), 1, sym_math_operator, STATE(199), 1, sym_logic_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 3, anon_sym_PLUS, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, ACTIONS(352), 8, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(354), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [10951] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(95), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11036] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(547), 1, sym_identifier, STATE(71), 1, sym__function_expression_kind, STATE(330), 1, sym_expression, STATE(471), 1, sym_function_expression, STATE(488), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(343), 2, sym_function_call, sym_yield, STATE(344), 2, sym_value, sym_index, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11121] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(273), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11206] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(555), 1, anon_sym_LPAREN, ACTIONS(571), 1, sym_identifier, STATE(289), 1, sym_function_expression, STATE(362), 1, sym_expression, STATE(464), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(315), 2, sym_value, sym_index, STATE(269), 3, sym__function_expression_kind, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11289] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(317), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11374] = 20, ACTIONS(3), 1, sym__comment, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(555), 1, anon_sym_LPAREN, ACTIONS(571), 1, sym_identifier, STATE(289), 1, sym_function_expression, STATE(370), 1, sym_expression, STATE(488), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(315), 2, sym_value, sym_index, STATE(269), 3, sym__function_expression_kind, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11457] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(547), 1, sym_identifier, STATE(71), 1, sym__function_expression_kind, STATE(357), 1, sym_expression, STATE(471), 1, sym_function_expression, STATE(488), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(343), 2, sym_function_call, sym_yield, STATE(344), 2, sym_value, sym_index, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11542] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(547), 1, sym_identifier, STATE(71), 1, sym__function_expression_kind, STATE(349), 1, sym_expression, STATE(471), 1, sym_function_expression, STATE(488), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(343), 2, sym_function_call, sym_yield, STATE(344), 2, sym_value, sym_index, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11627] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(338), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11712] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(547), 1, sym_identifier, STATE(71), 1, sym__function_expression_kind, STATE(332), 1, sym_expression, STATE(471), 1, sym_function_expression, STATE(488), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(343), 2, sym_function_call, sym_yield, STATE(344), 2, sym_value, sym_index, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11797] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(316), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11882] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(337), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [11967] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(7), 1, anon_sym_LPAREN, ACTIONS(13), 1, anon_sym_struct, ACTIONS(15), 1, anon_sym_new, ACTIONS(17), 1, sym_integer, ACTIONS(23), 1, anon_sym_LBRACK, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(557), 1, sym_identifier, ACTIONS(559), 1, anon_sym_LBRACE, STATE(54), 1, sym_expression, STATE(71), 1, sym__function_expression_kind, STATE(481), 1, sym_function_expression, STATE(482), 1, sym_index_expression, ACTIONS(19), 2, sym_float, sym_string, ACTIONS(21), 2, anon_sym_true, anon_sym_false, STATE(69), 2, sym_function_call, sym_yield, STATE(87), 2, sym_value, sym_index, STATE(63), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(81), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12052] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(176), 1, anon_sym_LPAREN, ACTIONS(182), 1, anon_sym_struct, ACTIONS(184), 1, anon_sym_new, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(427), 1, sym_identifier, ACTIONS(431), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(97), 1, sym_expression, STATE(457), 1, sym_function_expression, STATE(476), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(119), 2, sym_function_call, sym_yield, STATE(126), 2, sym_value, sym_index, STATE(125), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12137] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(348), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12222] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(547), 1, sym_identifier, STATE(71), 1, sym__function_expression_kind, STATE(354), 1, sym_expression, STATE(471), 1, sym_function_expression, STATE(488), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(343), 2, sym_function_call, sym_yield, STATE(344), 2, sym_value, sym_index, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12307] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(328), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12392] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(334), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12477] = 21, ACTIONS(3), 1, sym__comment, ACTIONS(138), 1, anon_sym_LPAREN, ACTIONS(144), 1, anon_sym_struct, ACTIONS(146), 1, anon_sym_new, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(417), 1, sym_identifier, ACTIONS(419), 1, anon_sym_LBRACE, STATE(71), 1, sym__function_expression_kind, STATE(335), 1, sym_expression, STATE(464), 1, sym_index_expression, STATE(471), 1, sym_function_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(265), 2, sym_value, sym_index, STATE(277), 2, sym_function_call, sym_yield, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12562] = 19, ACTIONS(3), 1, sym__comment, ACTIONS(146), 1, anon_sym_new, ACTIONS(182), 1, anon_sym_struct, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(549), 1, sym_identifier, ACTIONS(551), 1, anon_sym_LPAREN, STATE(106), 1, sym_function_expression, STATE(374), 1, sym_expression, STATE(485), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(288), 4, sym__expression_kind, sym_new, sym_math, sym_logic, STATE(121), 5, sym_value, sym_index, sym__function_expression_kind, sym_function_call, sym_yield, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12643] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(485), 1, anon_sym_DASH_GT, ACTIONS(577), 1, anon_sym_COMMA, STATE(167), 1, sym_math_operator, STATE(199), 1, sym_logic_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, ACTIONS(575), 6, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, sym_float, sym_string, anon_sym_LBRACK, ACTIONS(573), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12707] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(485), 1, anon_sym_DASH_GT, ACTIONS(583), 1, anon_sym_COMMA, STATE(167), 1, sym_math_operator, STATE(199), 1, sym_logic_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, ACTIONS(581), 6, anon_sym_LPAREN, anon_sym_LBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, ACTIONS(579), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12771] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(589), 1, anon_sym_elseif, ACTIONS(591), 1, anon_sym_else, STATE(236), 1, sym_else, STATE(225), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(585), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(587), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12824] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(589), 1, anon_sym_elseif, ACTIONS(591), 1, anon_sym_else, STATE(241), 1, sym_else, STATE(226), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(593), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(595), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12877] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(601), 1, anon_sym_elseif, STATE(226), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(597), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(599), 24, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_else, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12925] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(336), 10, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_elseif, anon_sym_asyncfor, ACTIONS(338), 24, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_else, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [12967] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(604), 10, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_elseif, anon_sym_asyncfor, ACTIONS(606), 24, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_else, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13009] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(608), 10, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_elseif, anon_sym_asyncfor, ACTIONS(610), 24, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_else, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13051] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(286), 10, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_elseif, anon_sym_asyncfor, ACTIONS(288), 24, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_else, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13093] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(258), 10, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_elseif, anon_sym_asyncfor, ACTIONS(260), 24, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_else, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13135] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(352), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(354), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13175] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(612), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(614), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13215] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(616), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(618), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13255] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(620), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(622), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13295] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(593), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(595), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13335] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(624), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(626), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13375] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(628), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(630), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13415] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(632), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(634), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13455] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(368), 1, anon_sym_SEMI, ACTIONS(352), 8, ts_builtin_sym_end, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(354), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13497] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(636), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(638), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13537] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(640), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(642), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13577] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(644), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(646), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13617] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(648), 9, ts_builtin_sym_end, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(650), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13657] = 15, ACTIONS(3), 1, sym__comment, ACTIONS(182), 1, anon_sym_struct, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(652), 1, sym_identifier, ACTIONS(654), 1, anon_sym_LPAREN, STATE(108), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(107), 2, sym_value, sym_index, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13720] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(656), 1, anon_sym_elseif, ACTIONS(658), 1, anon_sym_else, STATE(307), 1, sym_else, STATE(250), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(585), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(587), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13767] = 15, ACTIONS(3), 1, sym__comment, ACTIONS(144), 1, anon_sym_struct, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(660), 1, sym_identifier, ACTIONS(662), 1, anon_sym_LPAREN, STATE(297), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(285), 2, sym_value, sym_index, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13830] = 15, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, anon_sym_struct, ACTIONS(17), 1, sym_integer, ACTIONS(23), 1, anon_sym_LBRACK, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(559), 1, anon_sym_LBRACE, ACTIONS(664), 1, sym_identifier, ACTIONS(666), 1, anon_sym_LPAREN, STATE(64), 1, sym_index_expression, ACTIONS(19), 2, sym_float, sym_string, ACTIONS(21), 2, anon_sym_true, anon_sym_false, STATE(74), 2, sym_value, sym_index, STATE(81), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13893] = 15, ACTIONS(3), 1, sym__comment, ACTIONS(144), 1, anon_sym_struct, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(660), 1, sym_identifier, ACTIONS(662), 1, anon_sym_LPAREN, STATE(345), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(285), 2, sym_value, sym_index, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [13956] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(656), 1, anon_sym_elseif, ACTIONS(658), 1, anon_sym_else, STATE(308), 1, sym_else, STATE(254), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(593), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(595), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [14003] = 15, ACTIONS(3), 1, sym__comment, ACTIONS(182), 1, anon_sym_struct, ACTIONS(186), 1, sym_integer, ACTIONS(192), 1, anon_sym_LBRACK, ACTIONS(194), 1, anon_sym_none, ACTIONS(196), 1, anon_sym_some, ACTIONS(431), 1, anon_sym_LBRACE, ACTIONS(652), 1, sym_identifier, ACTIONS(654), 1, anon_sym_LPAREN, STATE(127), 1, sym_index_expression, ACTIONS(188), 2, sym_float, sym_string, ACTIONS(190), 2, anon_sym_true, anon_sym_false, STATE(107), 2, sym_value, sym_index, STATE(129), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(206), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [14066] = 15, ACTIONS(3), 1, sym__comment, ACTIONS(144), 1, anon_sym_struct, ACTIONS(148), 1, sym_integer, ACTIONS(154), 1, anon_sym_LBRACK, ACTIONS(156), 1, anon_sym_none, ACTIONS(158), 1, anon_sym_some, ACTIONS(419), 1, anon_sym_LBRACE, ACTIONS(660), 1, sym_identifier, ACTIONS(662), 1, anon_sym_LPAREN, STATE(268), 1, sym_index_expression, ACTIONS(150), 2, sym_float, sym_string, ACTIONS(152), 2, anon_sym_true, anon_sym_false, STATE(285), 2, sym_value, sym_index, STATE(279), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(172), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [14129] = 15, ACTIONS(3), 1, sym__comment, ACTIONS(13), 1, anon_sym_struct, ACTIONS(17), 1, sym_integer, ACTIONS(23), 1, anon_sym_LBRACK, ACTIONS(25), 1, anon_sym_none, ACTIONS(27), 1, anon_sym_some, ACTIONS(559), 1, anon_sym_LBRACE, ACTIONS(664), 1, sym_identifier, ACTIONS(666), 1, anon_sym_LPAREN, STATE(75), 1, sym_index_expression, ACTIONS(19), 2, sym_float, sym_string, ACTIONS(21), 2, anon_sym_true, anon_sym_false, STATE(74), 2, sym_value, sym_index, STATE(81), 7, sym_structure, sym_boolean, sym_list, sym_map, sym_option, sym_function, sym_built_in_value, ACTIONS(41), 9, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [14192] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(668), 1, anon_sym_elseif, STATE(254), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(597), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(599), 18, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_else, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [14234] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(671), 1, anon_sym_DASH_GT, STATE(185), 1, sym_math_operator, STATE(186), 1, sym_logic_operator, ACTIONS(220), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(218), 19, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, [14277] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(671), 1, anon_sym_DASH_GT, STATE(185), 1, sym_math_operator, STATE(186), 1, sym_logic_operator, ACTIONS(210), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(208), 19, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, [14320] = 5, ACTIONS(3), 1, sym__comment, STATE(185), 1, sym_math_operator, STATE(186), 1, sym_logic_operator, ACTIONS(216), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(214), 20, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14361] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(675), 6, anon_sym_LPAREN, anon_sym_LBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_asyncfor, ACTIONS(673), 23, anon_sym_async, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_if, anon_sym_match, anon_sym_while, anon_sym_for, anon_sym_return, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [14398] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(292), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(290), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14434] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(288), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(286), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14470] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(248), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(246), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14506] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(677), 1, anon_sym_DASH_GT, STATE(187), 1, sym_logic_operator, STATE(190), 1, sym_math_operator, ACTIONS(220), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(218), 18, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, [14548] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(677), 1, anon_sym_DASH_GT, STATE(187), 1, sym_logic_operator, STATE(190), 1, sym_math_operator, ACTIONS(210), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(208), 18, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, [14590] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(306), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(304), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14626] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(230), 1, anon_sym_COLON, ACTIONS(226), 2, anon_sym_LPAREN, anon_sym_RPAREN, ACTIONS(224), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(222), 18, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14666] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(330), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(328), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14702] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(260), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(258), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14738] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(276), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(274), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14774] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(300), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(298), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14810] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(268), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(266), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14846] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(342), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(340), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14882] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(604), 10, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_elseif, ACTIONS(606), 18, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_else, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [14918] = 5, ACTIONS(3), 1, sym__comment, STATE(187), 1, sym_logic_operator, STATE(190), 1, sym_math_operator, ACTIONS(216), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(214), 19, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14958] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(252), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(250), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [14994] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(256), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(254), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15030] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(264), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(262), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15066] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(226), 2, anon_sym_LPAREN, anon_sym_RPAREN, ACTIONS(224), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(222), 19, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15104] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(338), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(336), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15140] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(334), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(332), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15176] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(240), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(238), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15212] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(280), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(278), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15248] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(346), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(344), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15284] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(286), 10, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_elseif, ACTIONS(288), 18, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_else, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15320] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(336), 10, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_elseif, ACTIONS(338), 18, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_else, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15356] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(308), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(230), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15392] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(258), 10, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_elseif, ACTIONS(260), 18, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_else, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15428] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(314), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(312), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15464] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(272), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(270), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15500] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(284), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(282), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15536] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(244), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(242), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15572] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(318), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(316), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15608] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(608), 10, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, anon_sym_elseif, ACTIONS(610), 18, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_else, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15644] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(326), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(324), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15680] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(296), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(294), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15716] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(322), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(320), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15752] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(350), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(348), 21, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15788] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(679), 1, anon_sym_DOT_DOT, ACTIONS(276), 7, anon_sym_async, sym_identifier, anon_sym_EQ, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(274), 19, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_COLON, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [15825] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(616), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(618), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15859] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(648), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(650), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15893] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(569), 1, anon_sym_SEMI, ACTIONS(352), 8, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(354), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15929] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(352), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(354), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15963] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(628), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(630), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [15997] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(612), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(614), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [16031] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(624), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(626), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [16065] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(644), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(646), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [16099] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(632), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(634), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [16133] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(593), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(595), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [16167] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(636), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(638), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [16201] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(620), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(622), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [16235] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(640), 9, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(642), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [16269] = 10, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LPAREN, ACTIONS(228), 1, anon_sym_EQ, ACTIONS(230), 1, anon_sym_COLON, ACTIONS(232), 1, anon_sym_LT, STATE(40), 1, sym_assignment_operator, STATE(392), 1, sym_type_definition, ACTIONS(234), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(224), 3, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, ACTIONS(222), 14, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, sym_identifier, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [16316] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(685), 1, anon_sym_COMMA, ACTIONS(683), 7, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(681), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [16351] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(689), 7, anon_sym_LPAREN, anon_sym_LBRACE, anon_sym_RBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_STAR, ACTIONS(687), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [16383] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LPAREN, ACTIONS(228), 1, anon_sym_EQ, ACTIONS(230), 1, anon_sym_COLON, STATE(39), 1, sym_assignment_operator, ACTIONS(234), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, ACTIONS(224), 4, anon_sym_PLUS, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(222), 14, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, sym_identifier, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [16425] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(230), 1, anon_sym_COLON, ACTIONS(372), 5, anon_sym_async, sym_identifier, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(226), 18, anon_sym_SEMI, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_GT, anon_sym_DASH_GT, [16459] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(691), 1, anon_sym_DASH_GT, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(220), 5, anon_sym_async, sym_identifier, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(218), 15, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_GT, [16496] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(691), 1, anon_sym_DASH_GT, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(210), 5, anon_sym_async, sym_identifier, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(208), 15, anon_sym_SEMI, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_EQ_GT, [16533] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(460), 6, anon_sym_LPAREN, anon_sym_LBRACE, sym_float, sym_string, anon_sym_LBRACK, anon_sym_RBRACK, ACTIONS(693), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [16564] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(507), 6, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACE, sym_float, sym_string, anon_sym_LBRACK, ACTIONS(695), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [16595] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(699), 5, anon_sym_LPAREN, anon_sym_LBRACE, sym_float, sym_string, anon_sym_LBRACK, ACTIONS(697), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [16625] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(703), 5, anon_sym_LPAREN, anon_sym_LBRACE, sym_float, sym_string, anon_sym_LBRACK, ACTIONS(701), 17, sym_identifier, anon_sym_struct, anon_sym_new, sym_integer, anon_sym_true, anon_sym_false, anon_sym_none, anon_sym_some, anon_sym_args, anon_sym_assert_equal, anon_sym_env, anon_sym_fs, anon_sym_json, anon_sym_length, anon_sym_output, anon_sym_random, anon_sym_string, [16655] = 5, ACTIONS(3), 1, sym__comment, STATE(177), 1, sym_math_operator, STATE(178), 1, sym_logic_operator, ACTIONS(216), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(214), 15, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [16687] = 10, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(569), 1, anon_sym_SEMI, ACTIONS(691), 1, anon_sym_DASH_GT, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 3, anon_sym_COMMA, anon_sym_RBRACE, sym_identifier, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16729] = 9, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(691), 1, anon_sym_DASH_GT, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(352), 4, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, sym_identifier, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16769] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(671), 1, anon_sym_DASH_GT, STATE(177), 1, sym_math_operator, STATE(178), 1, sym_logic_operator, ACTIONS(210), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(208), 14, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16803] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(671), 1, anon_sym_DASH_GT, STATE(177), 1, sym_math_operator, STATE(178), 1, sym_logic_operator, ACTIONS(220), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(218), 14, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16837] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(691), 1, anon_sym_DASH_GT, ACTIONS(705), 1, anon_sym_async, ACTIONS(707), 1, anon_sym_LBRACE, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, STATE(238), 1, sym_block, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16880] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(691), 1, anon_sym_DASH_GT, ACTIONS(709), 1, anon_sym_async, ACTIONS(711), 1, anon_sym_LBRACE, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, STATE(229), 1, sym_block, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16923] = 5, ACTIONS(3), 1, sym__comment, STATE(203), 1, sym_logic_operator, STATE(211), 1, sym_math_operator, ACTIONS(216), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(214), 14, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [16954] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(713), 1, anon_sym_DASH_GT, STATE(203), 1, sym_logic_operator, STATE(211), 1, sym_math_operator, ACTIONS(210), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(208), 13, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [16987] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(691), 1, anon_sym_DASH_GT, ACTIONS(715), 1, anon_sym_async, ACTIONS(717), 1, anon_sym_LBRACE, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, STATE(302), 1, sym_block, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17030] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(713), 1, anon_sym_DASH_GT, STATE(203), 1, sym_logic_operator, STATE(211), 1, sym_math_operator, ACTIONS(220), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(218), 13, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17063] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(691), 1, anon_sym_DASH_GT, ACTIONS(709), 1, anon_sym_async, ACTIONS(711), 1, anon_sym_LBRACE, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, STATE(228), 1, sym_block, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17106] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(691), 1, anon_sym_DASH_GT, ACTIONS(719), 1, anon_sym_async, ACTIONS(721), 1, anon_sym_LBRACE, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, STATE(292), 1, sym_block, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17149] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(691), 1, anon_sym_DASH_GT, ACTIONS(723), 1, anon_sym_async, ACTIONS(725), 1, anon_sym_LBRACE, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, STATE(306), 1, sym_block, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17192] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(691), 1, anon_sym_DASH_GT, ACTIONS(715), 1, anon_sym_async, ACTIONS(717), 1, anon_sym_LBRACE, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, STATE(306), 1, sym_block, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17235] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(691), 1, anon_sym_DASH_GT, ACTIONS(719), 1, anon_sym_async, ACTIONS(721), 1, anon_sym_LBRACE, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, STATE(272), 1, sym_block, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17278] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(691), 1, anon_sym_DASH_GT, ACTIONS(705), 1, anon_sym_async, ACTIONS(707), 1, anon_sym_LBRACE, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, STATE(239), 1, sym_block, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17321] = 11, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(691), 1, anon_sym_DASH_GT, ACTIONS(723), 1, anon_sym_async, ACTIONS(725), 1, anon_sym_LBRACE, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, STATE(302), 1, sym_block, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17364] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(731), 1, anon_sym_DASH_GT, ACTIONS(729), 6, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_GT, ACTIONS(727), 11, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_map, anon_sym_num, anon_sym_str, anon_sym_option, [17392] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(737), 1, anon_sym_DASH_GT, ACTIONS(735), 6, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_GT, ACTIONS(733), 11, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_map, anon_sym_num, anon_sym_str, anon_sym_option, [17420] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(230), 1, anon_sym_COLON, ACTIONS(232), 1, anon_sym_LT, STATE(421), 1, sym_type_definition, ACTIONS(224), 2, anon_sym_DASH, anon_sym_GT, ACTIONS(226), 2, anon_sym_LPAREN, anon_sym_RPAREN, ACTIONS(222), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [17454] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LPAREN, ACTIONS(224), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(222), 14, anon_sym_RPAREN, anon_sym_COLON, anon_sym_DOT_DOT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [17482] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LPAREN, ACTIONS(230), 1, anon_sym_COLON, ACTIONS(224), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(222), 13, anon_sym_RPAREN, anon_sym_DOT_DOT, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [17512] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(739), 1, anon_sym_DOT_DOT, ACTIONS(276), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(274), 14, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COLON, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [17540] = 9, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(691), 1, anon_sym_DASH_GT, ACTIONS(741), 1, anon_sym_LBRACE, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17577] = 9, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(743), 1, anon_sym_RPAREN, ACTIONS(745), 1, anon_sym_DASH_GT, STATE(208), 1, sym_math_operator, STATE(209), 1, sym_logic_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17614] = 9, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(691), 1, anon_sym_DASH_GT, ACTIONS(747), 1, anon_sym_LBRACE, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17651] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(745), 1, anon_sym_DASH_GT, STATE(208), 1, sym_math_operator, STATE(209), 1, sym_logic_operator, ACTIONS(210), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(208), 11, anon_sym_RPAREN, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17682] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(751), 6, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_GT, ACTIONS(749), 11, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_map, anon_sym_num, anon_sym_str, anon_sym_option, [17707] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(755), 6, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_GT, ACTIONS(753), 11, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_map, anon_sym_num, anon_sym_str, anon_sym_option, [17732] = 9, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(691), 1, anon_sym_DASH_GT, ACTIONS(757), 1, anon_sym_EQ_GT, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17769] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(761), 6, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_GT, ACTIONS(759), 11, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_map, anon_sym_num, anon_sym_str, anon_sym_option, [17794] = 9, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(745), 1, anon_sym_DASH_GT, ACTIONS(763), 1, anon_sym_RPAREN, STATE(208), 1, sym_math_operator, STATE(209), 1, sym_logic_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17831] = 9, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(745), 1, anon_sym_DASH_GT, ACTIONS(765), 1, anon_sym_RPAREN, STATE(208), 1, sym_math_operator, STATE(209), 1, sym_logic_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17868] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(729), 6, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACK, anon_sym_RBRACK, anon_sym_GT, ACTIONS(727), 11, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_map, anon_sym_num, anon_sym_str, anon_sym_option, [17893] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(745), 1, anon_sym_DASH_GT, STATE(208), 1, sym_math_operator, STATE(209), 1, sym_logic_operator, ACTIONS(220), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(218), 11, anon_sym_RPAREN, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17924] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LPAREN, ACTIONS(767), 1, anon_sym_RPAREN, ACTIONS(224), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(222), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [17952] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(236), 1, anon_sym_DASH_GT, ACTIONS(358), 1, anon_sym_DASH, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [17986] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(771), 1, anon_sym_LPAREN, ACTIONS(773), 1, anon_sym_RPAREN, ACTIONS(775), 1, anon_sym_LBRACK, ACTIONS(777), 1, anon_sym_option, STATE(371), 1, aux_sym_type_repeat1, STATE(379), 1, sym_type, ACTIONS(769), 10, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_map, anon_sym_num, anon_sym_str, [18020] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(771), 1, anon_sym_LPAREN, ACTIONS(775), 1, anon_sym_LBRACK, ACTIONS(777), 1, anon_sym_option, ACTIONS(779), 1, anon_sym_RPAREN, STATE(360), 1, aux_sym_type_repeat1, STATE(379), 1, sym_type, ACTIONS(769), 10, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_map, anon_sym_num, anon_sym_str, [18054] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(691), 1, anon_sym_DASH_GT, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [18088] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(485), 1, anon_sym_DASH_GT, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [18122] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(364), 1, anon_sym_DASH_GT, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [18156] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LPAREN, ACTIONS(781), 1, anon_sym_RPAREN, ACTIONS(224), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(222), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [18184] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(745), 1, anon_sym_DASH_GT, STATE(208), 1, sym_math_operator, STATE(209), 1, sym_logic_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [18218] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(212), 1, anon_sym_DASH_GT, ACTIONS(358), 1, anon_sym_DASH, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [18252] = 5, ACTIONS(3), 1, sym__comment, ACTIONS(226), 1, anon_sym_LPAREN, ACTIONS(783), 1, anon_sym_RPAREN, ACTIONS(224), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(222), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [18280] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(671), 1, anon_sym_DASH_GT, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [18314] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(745), 1, anon_sym_DASH_GT, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [18348] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(788), 1, anon_sym_LPAREN, ACTIONS(791), 1, anon_sym_RPAREN, ACTIONS(793), 1, anon_sym_LBRACK, ACTIONS(796), 1, anon_sym_option, STATE(371), 1, aux_sym_type_repeat1, STATE(379), 1, sym_type, ACTIONS(785), 10, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_map, anon_sym_num, anon_sym_str, [18382] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(370), 1, anon_sym_DASH_GT, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [18416] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(677), 1, anon_sym_DASH_GT, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [18450] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(366), 1, anon_sym_DASH_GT, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [18484] = 8, ACTIONS(3), 1, sym__comment, ACTIONS(358), 1, anon_sym_DASH, ACTIONS(713), 1, anon_sym_DASH_GT, STATE(206), 1, sym_logic_operator, STATE(212), 1, sym_math_operator, ACTIONS(362), 2, anon_sym_GT, anon_sym_LT, ACTIONS(356), 4, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, ACTIONS(360), 6, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, [18518] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(226), 2, anon_sym_LPAREN, anon_sym_RPAREN, ACTIONS(224), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(222), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [18544] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(799), 1, anon_sym_RPAREN, ACTIONS(272), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(270), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [18569] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(801), 1, anon_sym_RPAREN, ACTIONS(272), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(270), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [18594] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(807), 1, anon_sym_COMMA, ACTIONS(805), 3, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACK, ACTIONS(803), 11, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_map, anon_sym_num, anon_sym_str, anon_sym_option, [18619] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(809), 1, anon_sym_RPAREN, ACTIONS(272), 3, anon_sym_DASH, anon_sym_GT, anon_sym_LT, ACTIONS(270), 11, anon_sym_PLUS, anon_sym_STAR, anon_sym_SLASH, anon_sym_PERCENT, anon_sym_EQ_EQ, anon_sym_BANG_EQ, anon_sym_AMP_AMP, anon_sym_PIPE_PIPE, anon_sym_GT_EQ, anon_sym_LT_EQ, anon_sym_DASH_GT, [18644] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(771), 1, anon_sym_LPAREN, ACTIONS(775), 1, anon_sym_LBRACK, ACTIONS(777), 1, anon_sym_option, STATE(468), 1, sym_type, ACTIONS(769), 10, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_map, anon_sym_num, anon_sym_str, [18672] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(771), 1, anon_sym_LPAREN, ACTIONS(775), 1, anon_sym_LBRACK, ACTIONS(777), 1, anon_sym_option, STATE(466), 1, sym_type, ACTIONS(769), 10, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_map, anon_sym_num, anon_sym_str, [18700] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(771), 1, anon_sym_LPAREN, ACTIONS(775), 1, anon_sym_LBRACK, ACTIONS(777), 1, anon_sym_option, STATE(351), 1, sym_type, ACTIONS(769), 10, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_map, anon_sym_num, anon_sym_str, [18728] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(771), 1, anon_sym_LPAREN, ACTIONS(775), 1, anon_sym_LBRACK, ACTIONS(777), 1, anon_sym_option, STATE(465), 1, sym_type, ACTIONS(769), 10, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_map, anon_sym_num, anon_sym_str, [18756] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(791), 3, anon_sym_LPAREN, anon_sym_RPAREN, anon_sym_LBRACK, ACTIONS(811), 11, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_map, anon_sym_num, anon_sym_str, anon_sym_option, [18778] = 6, ACTIONS(3), 1, sym__comment, ACTIONS(771), 1, anon_sym_LPAREN, ACTIONS(775), 1, anon_sym_LBRACK, ACTIONS(777), 1, anon_sym_option, STATE(353), 1, sym_type, ACTIONS(769), 10, sym_identifier, anon_sym_none, anon_sym_any, anon_sym_bool, anon_sym_collection, anon_sym_float, anon_sym_int, anon_sym_map, anon_sym_num, anon_sym_str, [18806] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(595), 1, sym_identifier, ACTIONS(656), 1, anon_sym_elseif, ACTIONS(813), 1, anon_sym_else, STATE(308), 1, sym_else, STATE(254), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(593), 3, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, [18831] = 7, ACTIONS(3), 1, sym__comment, ACTIONS(587), 1, sym_identifier, ACTIONS(656), 1, anon_sym_elseif, ACTIONS(813), 1, anon_sym_else, STATE(307), 1, sym_else, STATE(387), 2, sym_else_if, aux_sym_if_else_repeat1, ACTIONS(585), 3, anon_sym_SEMI, anon_sym_COMMA, anon_sym_RBRACE, [18856] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(815), 2, anon_sym_async, sym_identifier, ACTIONS(817), 7, anon_sym_RPAREN, anon_sym_COMMA, anon_sym_LBRACE, anon_sym_RBRACE, anon_sym_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, [18873] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(819), 1, anon_sym_EQ, STATE(34), 1, sym_assignment_operator, ACTIONS(234), 2, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, [18887] = 3, ACTIONS(3), 1, sym__comment, STATE(32), 1, sym_assignment_operator, ACTIONS(234), 3, anon_sym_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, [18899] = 3, ACTIONS(3), 1, sym__comment, STATE(37), 1, sym_assignment_operator, ACTIONS(234), 3, anon_sym_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, [18911] = 3, ACTIONS(3), 1, sym__comment, STATE(34), 1, sym_assignment_operator, ACTIONS(234), 3, anon_sym_EQ, anon_sym_PLUS_EQ, anon_sym_DASH_EQ, [18923] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(821), 1, sym_identifier, ACTIONS(823), 1, anon_sym_RBRACE, STATE(430), 1, aux_sym_map_repeat1, [18936] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(825), 1, anon_sym_EQ, ACTIONS(827), 1, anon_sym_LT, STATE(480), 1, sym_type_definition, [18949] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(829), 1, sym_identifier, ACTIONS(831), 1, anon_sym_RBRACE, STATE(406), 1, aux_sym_new_repeat1, [18962] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(833), 1, sym_identifier, ACTIONS(836), 1, anon_sym_RBRACE, STATE(397), 1, aux_sym_structure_repeat1, [18975] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(838), 1, sym_identifier, ACTIONS(840), 1, anon_sym_RBRACE, STATE(397), 1, aux_sym_structure_repeat1, [18988] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(723), 1, anon_sym_async, ACTIONS(725), 1, anon_sym_LBRACE, STATE(271), 1, sym_block, [19001] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(844), 1, anon_sym_COMMA, ACTIONS(842), 2, anon_sym_RBRACE, sym_identifier, [19012] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(838), 1, sym_identifier, ACTIONS(846), 1, anon_sym_RBRACE, STATE(397), 1, aux_sym_structure_repeat1, [19025] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(827), 1, anon_sym_LT, ACTIONS(848), 1, anon_sym_EQ, STATE(453), 1, sym_type_definition, [19038] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(821), 1, sym_identifier, ACTIONS(850), 1, anon_sym_RBRACE, STATE(430), 1, aux_sym_map_repeat1, [19051] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(829), 1, sym_identifier, ACTIONS(852), 1, anon_sym_RBRACE, STATE(414), 1, aux_sym_new_repeat1, [19064] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(705), 1, anon_sym_async, ACTIONS(707), 1, anon_sym_LBRACE, STATE(83), 1, sym_block, [19077] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(854), 1, sym_identifier, ACTIONS(857), 1, anon_sym_RBRACE, STATE(406), 1, aux_sym_new_repeat1, [19090] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(705), 1, anon_sym_async, ACTIONS(707), 1, anon_sym_LBRACE, STATE(55), 1, sym_block, [19103] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(715), 1, anon_sym_async, ACTIONS(717), 1, anon_sym_LBRACE, STATE(110), 1, sym_block, [19116] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(829), 1, sym_identifier, ACTIONS(859), 1, anon_sym_RBRACE, STATE(406), 1, aux_sym_new_repeat1, [19129] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(838), 1, sym_identifier, ACTIONS(861), 1, anon_sym_RBRACE, STATE(401), 1, aux_sym_structure_repeat1, [19142] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(705), 1, anon_sym_async, ACTIONS(707), 1, anon_sym_LBRACE, STATE(244), 1, sym_block, [19155] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(821), 1, sym_identifier, ACTIONS(863), 1, anon_sym_RBRACE, STATE(430), 1, aux_sym_map_repeat1, [19168] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(865), 1, sym_identifier, ACTIONS(868), 1, anon_sym_RPAREN, STATE(413), 1, aux_sym_function_repeat1, [19181] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(829), 1, sym_identifier, ACTIONS(870), 1, anon_sym_RBRACE, STATE(406), 1, aux_sym_new_repeat1, [19194] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(829), 1, sym_identifier, ACTIONS(872), 1, anon_sym_RBRACE, STATE(396), 1, aux_sym_new_repeat1, [19207] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(838), 1, sym_identifier, ACTIONS(874), 1, anon_sym_RBRACE, STATE(398), 1, aux_sym_structure_repeat1, [19220] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(829), 1, sym_identifier, ACTIONS(876), 1, anon_sym_RBRACE, STATE(409), 1, aux_sym_new_repeat1, [19233] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(838), 1, sym_identifier, ACTIONS(878), 1, anon_sym_RBRACE, STATE(397), 1, aux_sym_structure_repeat1, [19246] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(715), 1, anon_sym_async, ACTIONS(717), 1, anon_sym_LBRACE, STATE(299), 1, sym_block, [19259] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(838), 1, sym_identifier, ACTIONS(880), 1, anon_sym_RBRACE, STATE(418), 1, aux_sym_structure_repeat1, [19272] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(882), 1, anon_sym_COMMA, ACTIONS(868), 2, anon_sym_RPAREN, sym_identifier, [19283] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(884), 1, sym_identifier, ACTIONS(886), 1, anon_sym_RPAREN, STATE(413), 1, aux_sym_function_repeat1, [19296] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(884), 1, sym_identifier, ACTIONS(888), 1, anon_sym_RPAREN, STATE(413), 1, aux_sym_function_repeat1, [19309] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(827), 1, anon_sym_LT, ACTIONS(890), 1, anon_sym_EQ, STATE(431), 1, sym_type_definition, [19322] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(723), 1, anon_sym_async, ACTIONS(725), 1, anon_sym_LBRACE, STATE(299), 1, sym_block, [19335] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(884), 1, sym_identifier, ACTIONS(892), 1, anon_sym_RPAREN, STATE(413), 1, aux_sym_function_repeat1, [19348] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(723), 1, anon_sym_async, ACTIONS(725), 1, anon_sym_LBRACE, STATE(280), 1, sym_block, [19361] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(896), 1, anon_sym_COMMA, ACTIONS(894), 2, anon_sym_RBRACE, sym_identifier, [19372] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(715), 1, anon_sym_async, ACTIONS(717), 1, anon_sym_LBRACE, STATE(115), 1, sym_block, [19385] = 4, ACTIONS(3), 1, sym__comment, ACTIONS(898), 1, sym_identifier, ACTIONS(901), 1, anon_sym_RBRACE, STATE(430), 1, aux_sym_map_repeat1, [19398] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(903), 1, anon_sym_EQ, ACTIONS(836), 2, anon_sym_RBRACE, sym_identifier, [19409] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(821), 1, sym_identifier, STATE(412), 1, aux_sym_map_repeat1, [19419] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(894), 2, anon_sym_RBRACE, sym_identifier, [19427] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(905), 2, anon_sym_RBRACE, sym_identifier, [19435] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(298), 1, anon_sym_LPAREN, ACTIONS(907), 1, anon_sym_RPAREN, [19445] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(827), 1, anon_sym_LT, STATE(421), 1, sym_type_definition, [19455] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(827), 1, anon_sym_LT, STATE(405), 1, sym_type_definition, [19465] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(298), 1, anon_sym_LPAREN, ACTIONS(909), 1, anon_sym_RPAREN, [19475] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(827), 1, anon_sym_LT, STATE(427), 1, sym_type_definition, [19485] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(911), 2, anon_sym_RBRACE, sym_identifier, [19493] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(821), 1, sym_identifier, STATE(403), 1, aux_sym_map_repeat1, [19503] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(298), 1, anon_sym_LPAREN, ACTIONS(913), 1, anon_sym_RPAREN, [19513] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(827), 1, anon_sym_LT, STATE(407), 1, sym_type_definition, [19523] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(915), 2, anon_sym_RBRACE, sym_identifier, [19531] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(917), 2, anon_sym_RBRACE, sym_identifier, [19539] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(919), 2, anon_sym_RPAREN, sym_identifier, [19547] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(827), 1, anon_sym_LT, STATE(429), 1, sym_type_definition, [19557] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(921), 2, anon_sym_RBRACE, sym_identifier, [19565] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(827), 1, anon_sym_LT, STATE(399), 1, sym_type_definition, [19575] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(827), 1, anon_sym_LT, STATE(408), 1, sym_type_definition, [19585] = 3, ACTIONS(3), 1, sym__comment, ACTIONS(821), 1, sym_identifier, STATE(394), 1, aux_sym_map_repeat1, [19595] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(923), 1, anon_sym_COLON, [19602] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(925), 1, anon_sym_EQ, [19609] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(927), 1, anon_sym_LBRACE, [19616] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(929), 1, anon_sym_LBRACE, [19623] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(931), 1, anon_sym_LBRACE, [19630] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(933), 1, anon_sym_LPAREN, [19637] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(935), 1, anon_sym_LPAREN, [19644] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(937), 1, anon_sym_in, [19651] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(939), 1, anon_sym_COLON, [19658] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(941), 1, anon_sym_LBRACE, [19665] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(943), 1, anon_sym_LBRACE, [19672] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(945), 1, anon_sym_in, [19679] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(947), 1, anon_sym_COLON, [19686] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(949), 1, anon_sym_RPAREN, [19693] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(951), 1, anon_sym_RBRACK, [19700] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(953), 1, anon_sym_LPAREN, [19707] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(955), 1, anon_sym_GT, [19714] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(957), 1, anon_sym_in, [19721] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(959), 1, anon_sym_LBRACE, [19728] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(961), 1, anon_sym_LPAREN, [19735] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(963), 1, anon_sym_LBRACE, [19742] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(965), 1, anon_sym_LBRACE, [19749] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(967), 1, anon_sym_LBRACE, [19756] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(969), 1, anon_sym_LBRACE, [19763] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(971), 1, anon_sym_COLON, [19770] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(973), 1, sym_identifier, [19777] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(757), 1, anon_sym_EQ_GT, [19784] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(975), 1, sym_identifier, [19791] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(977), 1, anon_sym_EQ, [19798] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(979), 1, anon_sym_LPAREN, [19805] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(981), 1, anon_sym_COLON, [19812] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(983), 1, ts_builtin_sym_end, [19819] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(985), 1, sym_identifier, [19826] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(987), 1, anon_sym_COLON, [19833] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(989), 1, anon_sym_LPAREN, [19840] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(991), 1, sym_identifier, [19847] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(993), 1, anon_sym_COLON, [19854] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(995), 1, sym_identifier, [19861] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(997), 1, anon_sym_LPAREN, [19868] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(999), 1, sym_identifier, [19875] = 2, ACTIONS(3), 1, sym__comment, ACTIONS(1001), 1, anon_sym_LBRACE, }; static const uint32_t ts_small_parse_table_map[] = { [SMALL_STATE(48)] = 0, [SMALL_STATE(49)] = 67, [SMALL_STATE(50)] = 132, [SMALL_STATE(51)] = 199, [SMALL_STATE(52)] = 273, [SMALL_STATE(53)] = 339, [SMALL_STATE(54)] = 405, [SMALL_STATE(55)] = 469, [SMALL_STATE(56)] = 528, [SMALL_STATE(57)] = 587, [SMALL_STATE(58)] = 646, [SMALL_STATE(59)] = 705, [SMALL_STATE(60)] = 764, [SMALL_STATE(61)] = 823, [SMALL_STATE(62)] = 882, [SMALL_STATE(63)] = 941, [SMALL_STATE(64)] = 1000, [SMALL_STATE(65)] = 1059, [SMALL_STATE(66)] = 1118, [SMALL_STATE(67)] = 1177, [SMALL_STATE(68)] = 1236, [SMALL_STATE(69)] = 1295, [SMALL_STATE(70)] = 1356, [SMALL_STATE(71)] = 1415, [SMALL_STATE(72)] = 1474, [SMALL_STATE(73)] = 1547, [SMALL_STATE(74)] = 1606, [SMALL_STATE(75)] = 1665, [SMALL_STATE(76)] = 1726, [SMALL_STATE(77)] = 1785, [SMALL_STATE(78)] = 1844, [SMALL_STATE(79)] = 1903, [SMALL_STATE(80)] = 1962, [SMALL_STATE(81)] = 2021, [SMALL_STATE(82)] = 2080, [SMALL_STATE(83)] = 2139, [SMALL_STATE(84)] = 2198, [SMALL_STATE(85)] = 2267, [SMALL_STATE(86)] = 2326, [SMALL_STATE(87)] = 2385, [SMALL_STATE(88)] = 2448, [SMALL_STATE(89)] = 2518, [SMALL_STATE(90)] = 2578, [SMALL_STATE(91)] = 2640, [SMALL_STATE(92)] = 2702, [SMALL_STATE(93)] = 2774, [SMALL_STATE(94)] = 2836, [SMALL_STATE(95)] = 2898, [SMALL_STATE(96)] = 2959, [SMALL_STATE(97)] = 3016, [SMALL_STATE(98)] = 3075, [SMALL_STATE(99)] = 3136, [SMALL_STATE(100)] = 3190, [SMALL_STATE(101)] = 3244, [SMALL_STATE(102)] = 3298, [SMALL_STATE(103)] = 3352, [SMALL_STATE(104)] = 3406, [SMALL_STATE(105)] = 3460, [SMALL_STATE(106)] = 3514, [SMALL_STATE(107)] = 3568, [SMALL_STATE(108)] = 3622, [SMALL_STATE(109)] = 3678, [SMALL_STATE(110)] = 3732, [SMALL_STATE(111)] = 3786, [SMALL_STATE(112)] = 3840, [SMALL_STATE(113)] = 3894, [SMALL_STATE(114)] = 3948, [SMALL_STATE(115)] = 4002, [SMALL_STATE(116)] = 4056, [SMALL_STATE(117)] = 4110, [SMALL_STATE(118)] = 4164, [SMALL_STATE(119)] = 4218, [SMALL_STATE(120)] = 4274, [SMALL_STATE(121)] = 4328, [SMALL_STATE(122)] = 4382, [SMALL_STATE(123)] = 4436, [SMALL_STATE(124)] = 4490, [SMALL_STATE(125)] = 4544, [SMALL_STATE(126)] = 4598, [SMALL_STATE(127)] = 4656, [SMALL_STATE(128)] = 4710, [SMALL_STATE(129)] = 4764, [SMALL_STATE(130)] = 4818, [SMALL_STATE(131)] = 4885, [SMALL_STATE(132)] = 4979, [SMALL_STATE(133)] = 5073, [SMALL_STATE(134)] = 5167, [SMALL_STATE(135)] = 5229, [SMALL_STATE(136)] = 5320, [SMALL_STATE(137)] = 5411, [SMALL_STATE(138)] = 5504, [SMALL_STATE(139)] = 5595, [SMALL_STATE(140)] = 5686, [SMALL_STATE(141)] = 5777, [SMALL_STATE(142)] = 5868, [SMALL_STATE(143)] = 5961, [SMALL_STATE(144)] = 6052, [SMALL_STATE(145)] = 6109, [SMALL_STATE(146)] = 6166, [SMALL_STATE(147)] = 6257, [SMALL_STATE(148)] = 6350, [SMALL_STATE(149)] = 6441, [SMALL_STATE(150)] = 6532, [SMALL_STATE(151)] = 6625, [SMALL_STATE(152)] = 6716, [SMALL_STATE(153)] = 6807, [SMALL_STATE(154)] = 6898, [SMALL_STATE(155)] = 6991, [SMALL_STATE(156)] = 7082, [SMALL_STATE(157)] = 7175, [SMALL_STATE(158)] = 7266, [SMALL_STATE(159)] = 7359, [SMALL_STATE(160)] = 7452, [SMALL_STATE(161)] = 7543, [SMALL_STATE(162)] = 7634, [SMALL_STATE(163)] = 7727, [SMALL_STATE(164)] = 7818, [SMALL_STATE(165)] = 7909, [SMALL_STATE(166)] = 7961, [SMALL_STATE(167)] = 8046, [SMALL_STATE(168)] = 8131, [SMALL_STATE(169)] = 8216, [SMALL_STATE(170)] = 8301, [SMALL_STATE(171)] = 8386, [SMALL_STATE(172)] = 8467, [SMALL_STATE(173)] = 8552, [SMALL_STATE(174)] = 8633, [SMALL_STATE(175)] = 8718, [SMALL_STATE(176)] = 8803, [SMALL_STATE(177)] = 8888, [SMALL_STATE(178)] = 8973, [SMALL_STATE(179)] = 9058, [SMALL_STATE(180)] = 9139, [SMALL_STATE(181)] = 9220, [SMALL_STATE(182)] = 9305, [SMALL_STATE(183)] = 9390, [SMALL_STATE(184)] = 9475, [SMALL_STATE(185)] = 9560, [SMALL_STATE(186)] = 9645, [SMALL_STATE(187)] = 9730, [SMALL_STATE(188)] = 9815, [SMALL_STATE(189)] = 9896, [SMALL_STATE(190)] = 9977, [SMALL_STATE(191)] = 10062, [SMALL_STATE(192)] = 10147, [SMALL_STATE(193)] = 10232, [SMALL_STATE(194)] = 10315, [SMALL_STATE(195)] = 10400, [SMALL_STATE(196)] = 10485, [SMALL_STATE(197)] = 10548, [SMALL_STATE(198)] = 10633, [SMALL_STATE(199)] = 10716, [SMALL_STATE(200)] = 10801, [SMALL_STATE(201)] = 10886, [SMALL_STATE(202)] = 10951, [SMALL_STATE(203)] = 11036, [SMALL_STATE(204)] = 11121, [SMALL_STATE(205)] = 11206, [SMALL_STATE(206)] = 11289, [SMALL_STATE(207)] = 11374, [SMALL_STATE(208)] = 11457, [SMALL_STATE(209)] = 11542, [SMALL_STATE(210)] = 11627, [SMALL_STATE(211)] = 11712, [SMALL_STATE(212)] = 11797, [SMALL_STATE(213)] = 11882, [SMALL_STATE(214)] = 11967, [SMALL_STATE(215)] = 12052, [SMALL_STATE(216)] = 12137, [SMALL_STATE(217)] = 12222, [SMALL_STATE(218)] = 12307, [SMALL_STATE(219)] = 12392, [SMALL_STATE(220)] = 12477, [SMALL_STATE(221)] = 12562, [SMALL_STATE(222)] = 12643, [SMALL_STATE(223)] = 12707, [SMALL_STATE(224)] = 12771, [SMALL_STATE(225)] = 12824, [SMALL_STATE(226)] = 12877, [SMALL_STATE(227)] = 12925, [SMALL_STATE(228)] = 12967, [SMALL_STATE(229)] = 13009, [SMALL_STATE(230)] = 13051, [SMALL_STATE(231)] = 13093, [SMALL_STATE(232)] = 13135, [SMALL_STATE(233)] = 13175, [SMALL_STATE(234)] = 13215, [SMALL_STATE(235)] = 13255, [SMALL_STATE(236)] = 13295, [SMALL_STATE(237)] = 13335, [SMALL_STATE(238)] = 13375, [SMALL_STATE(239)] = 13415, [SMALL_STATE(240)] = 13455, [SMALL_STATE(241)] = 13497, [SMALL_STATE(242)] = 13537, [SMALL_STATE(243)] = 13577, [SMALL_STATE(244)] = 13617, [SMALL_STATE(245)] = 13657, [SMALL_STATE(246)] = 13720, [SMALL_STATE(247)] = 13767, [SMALL_STATE(248)] = 13830, [SMALL_STATE(249)] = 13893, [SMALL_STATE(250)] = 13956, [SMALL_STATE(251)] = 14003, [SMALL_STATE(252)] = 14066, [SMALL_STATE(253)] = 14129, [SMALL_STATE(254)] = 14192, [SMALL_STATE(255)] = 14234, [SMALL_STATE(256)] = 14277, [SMALL_STATE(257)] = 14320, [SMALL_STATE(258)] = 14361, [SMALL_STATE(259)] = 14398, [SMALL_STATE(260)] = 14434, [SMALL_STATE(261)] = 14470, [SMALL_STATE(262)] = 14506, [SMALL_STATE(263)] = 14548, [SMALL_STATE(264)] = 14590, [SMALL_STATE(265)] = 14626, [SMALL_STATE(266)] = 14666, [SMALL_STATE(267)] = 14702, [SMALL_STATE(268)] = 14738, [SMALL_STATE(269)] = 14774, [SMALL_STATE(270)] = 14810, [SMALL_STATE(271)] = 14846, [SMALL_STATE(272)] = 14882, [SMALL_STATE(273)] = 14918, [SMALL_STATE(274)] = 14958, [SMALL_STATE(275)] = 14994, [SMALL_STATE(276)] = 15030, [SMALL_STATE(277)] = 15066, [SMALL_STATE(278)] = 15104, [SMALL_STATE(279)] = 15140, [SMALL_STATE(280)] = 15176, [SMALL_STATE(281)] = 15212, [SMALL_STATE(282)] = 15248, [SMALL_STATE(283)] = 15284, [SMALL_STATE(284)] = 15320, [SMALL_STATE(285)] = 15356, [SMALL_STATE(286)] = 15392, [SMALL_STATE(287)] = 15428, [SMALL_STATE(288)] = 15464, [SMALL_STATE(289)] = 15500, [SMALL_STATE(290)] = 15536, [SMALL_STATE(291)] = 15572, [SMALL_STATE(292)] = 15608, [SMALL_STATE(293)] = 15644, [SMALL_STATE(294)] = 15680, [SMALL_STATE(295)] = 15716, [SMALL_STATE(296)] = 15752, [SMALL_STATE(297)] = 15788, [SMALL_STATE(298)] = 15825, [SMALL_STATE(299)] = 15859, [SMALL_STATE(300)] = 15893, [SMALL_STATE(301)] = 15929, [SMALL_STATE(302)] = 15963, [SMALL_STATE(303)] = 15997, [SMALL_STATE(304)] = 16031, [SMALL_STATE(305)] = 16065, [SMALL_STATE(306)] = 16099, [SMALL_STATE(307)] = 16133, [SMALL_STATE(308)] = 16167, [SMALL_STATE(309)] = 16201, [SMALL_STATE(310)] = 16235, [SMALL_STATE(311)] = 16269, [SMALL_STATE(312)] = 16316, [SMALL_STATE(313)] = 16351, [SMALL_STATE(314)] = 16383, [SMALL_STATE(315)] = 16425, [SMALL_STATE(316)] = 16459, [SMALL_STATE(317)] = 16496, [SMALL_STATE(318)] = 16533, [SMALL_STATE(319)] = 16564, [SMALL_STATE(320)] = 16595, [SMALL_STATE(321)] = 16625, [SMALL_STATE(322)] = 16655, [SMALL_STATE(323)] = 16687, [SMALL_STATE(324)] = 16729, [SMALL_STATE(325)] = 16769, [SMALL_STATE(326)] = 16803, [SMALL_STATE(327)] = 16837, [SMALL_STATE(328)] = 16880, [SMALL_STATE(329)] = 16923, [SMALL_STATE(330)] = 16954, [SMALL_STATE(331)] = 16987, [SMALL_STATE(332)] = 17030, [SMALL_STATE(333)] = 17063, [SMALL_STATE(334)] = 17106, [SMALL_STATE(335)] = 17149, [SMALL_STATE(336)] = 17192, [SMALL_STATE(337)] = 17235, [SMALL_STATE(338)] = 17278, [SMALL_STATE(339)] = 17321, [SMALL_STATE(340)] = 17364, [SMALL_STATE(341)] = 17392, [SMALL_STATE(342)] = 17420, [SMALL_STATE(343)] = 17454, [SMALL_STATE(344)] = 17482, [SMALL_STATE(345)] = 17512, [SMALL_STATE(346)] = 17540, [SMALL_STATE(347)] = 17577, [SMALL_STATE(348)] = 17614, [SMALL_STATE(349)] = 17651, [SMALL_STATE(350)] = 17682, [SMALL_STATE(351)] = 17707, [SMALL_STATE(352)] = 17732, [SMALL_STATE(353)] = 17769, [SMALL_STATE(354)] = 17794, [SMALL_STATE(355)] = 17831, [SMALL_STATE(356)] = 17868, [SMALL_STATE(357)] = 17893, [SMALL_STATE(358)] = 17924, [SMALL_STATE(359)] = 17952, [SMALL_STATE(360)] = 17986, [SMALL_STATE(361)] = 18020, [SMALL_STATE(362)] = 18054, [SMALL_STATE(363)] = 18088, [SMALL_STATE(364)] = 18122, [SMALL_STATE(365)] = 18156, [SMALL_STATE(366)] = 18184, [SMALL_STATE(367)] = 18218, [SMALL_STATE(368)] = 18252, [SMALL_STATE(369)] = 18280, [SMALL_STATE(370)] = 18314, [SMALL_STATE(371)] = 18348, [SMALL_STATE(372)] = 18382, [SMALL_STATE(373)] = 18416, [SMALL_STATE(374)] = 18450, [SMALL_STATE(375)] = 18484, [SMALL_STATE(376)] = 18518, [SMALL_STATE(377)] = 18544, [SMALL_STATE(378)] = 18569, [SMALL_STATE(379)] = 18594, [SMALL_STATE(380)] = 18619, [SMALL_STATE(381)] = 18644, [SMALL_STATE(382)] = 18672, [SMALL_STATE(383)] = 18700, [SMALL_STATE(384)] = 18728, [SMALL_STATE(385)] = 18756, [SMALL_STATE(386)] = 18778, [SMALL_STATE(387)] = 18806, [SMALL_STATE(388)] = 18831, [SMALL_STATE(389)] = 18856, [SMALL_STATE(390)] = 18873, [SMALL_STATE(391)] = 18887, [SMALL_STATE(392)] = 18899, [SMALL_STATE(393)] = 18911, [SMALL_STATE(394)] = 18923, [SMALL_STATE(395)] = 18936, [SMALL_STATE(396)] = 18949, [SMALL_STATE(397)] = 18962, [SMALL_STATE(398)] = 18975, [SMALL_STATE(399)] = 18988, [SMALL_STATE(400)] = 19001, [SMALL_STATE(401)] = 19012, [SMALL_STATE(402)] = 19025, [SMALL_STATE(403)] = 19038, [SMALL_STATE(404)] = 19051, [SMALL_STATE(405)] = 19064, [SMALL_STATE(406)] = 19077, [SMALL_STATE(407)] = 19090, [SMALL_STATE(408)] = 19103, [SMALL_STATE(409)] = 19116, [SMALL_STATE(410)] = 19129, [SMALL_STATE(411)] = 19142, [SMALL_STATE(412)] = 19155, [SMALL_STATE(413)] = 19168, [SMALL_STATE(414)] = 19181, [SMALL_STATE(415)] = 19194, [SMALL_STATE(416)] = 19207, [SMALL_STATE(417)] = 19220, [SMALL_STATE(418)] = 19233, [SMALL_STATE(419)] = 19246, [SMALL_STATE(420)] = 19259, [SMALL_STATE(421)] = 19272, [SMALL_STATE(422)] = 19283, [SMALL_STATE(423)] = 19296, [SMALL_STATE(424)] = 19309, [SMALL_STATE(425)] = 19322, [SMALL_STATE(426)] = 19335, [SMALL_STATE(427)] = 19348, [SMALL_STATE(428)] = 19361, [SMALL_STATE(429)] = 19372, [SMALL_STATE(430)] = 19385, [SMALL_STATE(431)] = 19398, [SMALL_STATE(432)] = 19409, [SMALL_STATE(433)] = 19419, [SMALL_STATE(434)] = 19427, [SMALL_STATE(435)] = 19435, [SMALL_STATE(436)] = 19445, [SMALL_STATE(437)] = 19455, [SMALL_STATE(438)] = 19465, [SMALL_STATE(439)] = 19475, [SMALL_STATE(440)] = 19485, [SMALL_STATE(441)] = 19493, [SMALL_STATE(442)] = 19503, [SMALL_STATE(443)] = 19513, [SMALL_STATE(444)] = 19523, [SMALL_STATE(445)] = 19531, [SMALL_STATE(446)] = 19539, [SMALL_STATE(447)] = 19547, [SMALL_STATE(448)] = 19557, [SMALL_STATE(449)] = 19565, [SMALL_STATE(450)] = 19575, [SMALL_STATE(451)] = 19585, [SMALL_STATE(452)] = 19595, [SMALL_STATE(453)] = 19602, [SMALL_STATE(454)] = 19609, [SMALL_STATE(455)] = 19616, [SMALL_STATE(456)] = 19623, [SMALL_STATE(457)] = 19630, [SMALL_STATE(458)] = 19637, [SMALL_STATE(459)] = 19644, [SMALL_STATE(460)] = 19651, [SMALL_STATE(461)] = 19658, [SMALL_STATE(462)] = 19665, [SMALL_STATE(463)] = 19672, [SMALL_STATE(464)] = 19679, [SMALL_STATE(465)] = 19686, [SMALL_STATE(466)] = 19693, [SMALL_STATE(467)] = 19700, [SMALL_STATE(468)] = 19707, [SMALL_STATE(469)] = 19714, [SMALL_STATE(470)] = 19721, [SMALL_STATE(471)] = 19728, [SMALL_STATE(472)] = 19735, [SMALL_STATE(473)] = 19742, [SMALL_STATE(474)] = 19749, [SMALL_STATE(475)] = 19756, [SMALL_STATE(476)] = 19763, [SMALL_STATE(477)] = 19770, [SMALL_STATE(478)] = 19777, [SMALL_STATE(479)] = 19784, [SMALL_STATE(480)] = 19791, [SMALL_STATE(481)] = 19798, [SMALL_STATE(482)] = 19805, [SMALL_STATE(483)] = 19812, [SMALL_STATE(484)] = 19819, [SMALL_STATE(485)] = 19826, [SMALL_STATE(486)] = 19833, [SMALL_STATE(487)] = 19840, [SMALL_STATE(488)] = 19847, [SMALL_STATE(489)] = 19854, [SMALL_STATE(490)] = 19861, [SMALL_STATE(491)] = 19868, [SMALL_STATE(492)] = 19875, }; static const TSParseActionEntry ts_parse_actions[] = { [0] = {.entry = {.count = 0, .reusable = false}}, [1] = {.entry = {.count = 1, .reusable = false}}, RECOVER(), [3] = {.entry = {.count = 1, .reusable = true}}, SHIFT_EXTRA(), [5] = {.entry = {.count = 1, .reusable = false}}, SHIFT(51), [7] = {.entry = {.count = 1, .reusable = true}}, SHIFT(137), [9] = {.entry = {.count = 1, .reusable = false}}, SHIFT(462), [11] = {.entry = {.count = 1, .reusable = true}}, SHIFT(4), [13] = {.entry = {.count = 1, .reusable = false}}, SHIFT(492), [15] = {.entry = {.count = 1, .reusable = false}}, SHIFT(487), [17] = {.entry = {.count = 1, .reusable = false}}, SHIFT(81), [19] = {.entry = {.count = 1, .reusable = true}}, SHIFT(81), [21] = {.entry = {.count = 1, .reusable = false}}, SHIFT(80), [23] = {.entry = {.count = 1, .reusable = true}}, SHIFT(139), [25] = {.entry = {.count = 1, .reusable = false}}, SHIFT(56), [27] = {.entry = {.count = 1, .reusable = false}}, SHIFT(486), [29] = {.entry = {.count = 1, .reusable = false}}, SHIFT(218), [31] = {.entry = {.count = 1, .reusable = false}}, SHIFT(216), [33] = {.entry = {.count = 1, .reusable = false}}, SHIFT(210), [35] = {.entry = {.count = 1, .reusable = false}}, SHIFT(484), [37] = {.entry = {.count = 1, .reusable = true}}, SHIFT(484), [39] = {.entry = {.count = 1, .reusable = false}}, SHIFT(41), [41] = {.entry = {.count = 1, .reusable = false}}, SHIFT(57), [43] = {.entry = {.count = 1, .reusable = false}}, SHIFT(72), [45] = {.entry = {.count = 1, .reusable = true}}, SHIFT(267), [47] = {.entry = {.count = 1, .reusable = true}}, SHIFT(120), [49] = {.entry = {.count = 1, .reusable = true}}, SHIFT(60), [51] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), [53] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(51), [56] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(137), [59] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(462), [62] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(4), [65] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(492), [68] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(487), [71] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(81), [74] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(81), [77] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(80), [80] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(139), [83] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(56), [86] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(486), [89] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(218), [92] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(216), [95] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(210), [98] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(484), [101] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(484), [104] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(41), [107] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_root_repeat1, 2), SHIFT_REPEAT(57), [110] = {.entry = {.count = 1, .reusable = true}}, SHIFT(67), [112] = {.entry = {.count = 1, .reusable = true}}, SHIFT(284), [114] = {.entry = {.count = 1, .reusable = true}}, SHIFT(283), [116] = {.entry = {.count = 1, .reusable = true}}, SHIFT(124), [118] = {.entry = {.count = 1, .reusable = true}}, SHIFT(230), [120] = {.entry = {.count = 1, .reusable = true}}, SHIFT(123), [122] = {.entry = {.count = 1, .reusable = true}}, SHIFT(260), [124] = {.entry = {.count = 1, .reusable = true}}, SHIFT(278), [126] = {.entry = {.count = 1, .reusable = true}}, SHIFT(286), [128] = {.entry = {.count = 1, .reusable = true}}, SHIFT(231), [130] = {.entry = {.count = 1, .reusable = true}}, SHIFT(227), [132] = {.entry = {.count = 1, .reusable = true}}, SHIFT(82), [134] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_root, 1), [136] = {.entry = {.count = 1, .reusable = false}}, SHIFT(311), [138] = {.entry = {.count = 1, .reusable = true}}, SHIFT(147), [140] = {.entry = {.count = 1, .reusable = false}}, SHIFT(454), [142] = {.entry = {.count = 1, .reusable = true}}, SHIFT(2), [144] = {.entry = {.count = 1, .reusable = false}}, SHIFT(472), [146] = {.entry = {.count = 1, .reusable = false}}, SHIFT(477), [148] = {.entry = {.count = 1, .reusable = false}}, SHIFT(279), [150] = {.entry = {.count = 1, .reusable = true}}, SHIFT(279), [152] = {.entry = {.count = 1, .reusable = false}}, SHIFT(266), [154] = {.entry = {.count = 1, .reusable = true}}, SHIFT(160), [156] = {.entry = {.count = 1, .reusable = false}}, SHIFT(290), [158] = {.entry = {.count = 1, .reusable = false}}, SHIFT(458), [160] = {.entry = {.count = 1, .reusable = false}}, SHIFT(219), [162] = {.entry = {.count = 1, .reusable = false}}, SHIFT(170), [164] = {.entry = {.count = 1, .reusable = false}}, SHIFT(220), [166] = {.entry = {.count = 1, .reusable = false}}, SHIFT(479), [168] = {.entry = {.count = 1, .reusable = true}}, SHIFT(479), [170] = {.entry = {.count = 1, .reusable = false}}, SHIFT(42), [172] = {.entry = {.count = 1, .reusable = false}}, SHIFT(261), [174] = {.entry = {.count = 1, .reusable = false}}, SHIFT(130), [176] = {.entry = {.count = 1, .reusable = true}}, SHIFT(156), [178] = {.entry = {.count = 1, .reusable = false}}, SHIFT(473), [180] = {.entry = {.count = 1, .reusable = true}}, SHIFT(3), [182] = {.entry = {.count = 1, .reusable = false}}, SHIFT(455), [184] = {.entry = {.count = 1, .reusable = false}}, SHIFT(489), [186] = {.entry = {.count = 1, .reusable = false}}, SHIFT(129), [188] = {.entry = {.count = 1, .reusable = true}}, SHIFT(129), [190] = {.entry = {.count = 1, .reusable = false}}, SHIFT(128), [192] = {.entry = {.count = 1, .reusable = true}}, SHIFT(152), [194] = {.entry = {.count = 1, .reusable = false}}, SHIFT(122), [196] = {.entry = {.count = 1, .reusable = false}}, SHIFT(490), [198] = {.entry = {.count = 1, .reusable = false}}, SHIFT(168), [200] = {.entry = {.count = 1, .reusable = false}}, SHIFT(491), [202] = {.entry = {.count = 1, .reusable = true}}, SHIFT(491), [204] = {.entry = {.count = 1, .reusable = false}}, SHIFT(45), [206] = {.entry = {.count = 1, .reusable = false}}, SHIFT(117), [208] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic, 3), [210] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic, 3), [212] = {.entry = {.count = 1, .reusable = true}}, SHIFT(180), [214] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 5), [216] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 5), [218] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math, 3), [220] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math, 3), [222] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__expression_kind, 1), [224] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__expression_kind, 1), [226] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym__function_expression_kind, 1), [228] = {.entry = {.count = 1, .reusable = false}}, SHIFT(258), [230] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 1), [232] = {.entry = {.count = 1, .reusable = false}}, SHIFT(381), [234] = {.entry = {.count = 1, .reusable = true}}, SHIFT(258), [236] = {.entry = {.count = 1, .reusable = true}}, SHIFT(188), [238] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 4), [240] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 4), [242] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 1), [244] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 1), [246] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_built_in_value, 1), [248] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_built_in_value, 1), [250] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_option, 4), [252] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_option, 4), [254] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new, 4), [256] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new, 4), [258] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 2), [260] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 2), [262] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_structure, 4), [264] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_structure, 4), [266] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_new, 5), [268] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_new, 5), [270] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 1), [272] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 1), [274] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index, 3), [276] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index, 3), [278] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 3), [280] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 3), [282] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 3), [284] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 3), [286] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 4), [288] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 4), [290] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_call, 4), [292] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_call, 4), [294] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_structure, 3), [296] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_structure, 3), [298] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 1), [300] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 1), [302] = {.entry = {.count = 1, .reusable = false}}, SHIFT(30), [304] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_yield, 6), [306] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_yield, 6), [308] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 1), [310] = {.entry = {.count = 1, .reusable = true}}, SHIFT(214), [312] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_expression, 3), [314] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_expression, 3), [316] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function_expression, 3), [318] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function_expression, 3), [320] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_expression, 3), [322] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_expression, 3), [324] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 3), [326] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 3), [328] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_boolean, 1), [330] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_boolean, 1), [332] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_value, 1), [334] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_value, 1), [336] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_block, 3), [338] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_block, 3), [340] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_function, 5), [342] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_function, 5), [344] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_list, 2), [346] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_list, 2), [348] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_map, 3), [350] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_map, 3), [352] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 1), [354] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 1), [356] = {.entry = {.count = 1, .reusable = true}}, SHIFT(320), [358] = {.entry = {.count = 1, .reusable = false}}, SHIFT(320), [360] = {.entry = {.count = 1, .reusable = true}}, SHIFT(321), [362] = {.entry = {.count = 1, .reusable = false}}, SHIFT(321), [364] = {.entry = {.count = 1, .reusable = true}}, SHIFT(198), [366] = {.entry = {.count = 1, .reusable = true}}, SHIFT(221), [368] = {.entry = {.count = 1, .reusable = true}}, SHIFT(237), [370] = {.entry = {.count = 1, .reusable = true}}, SHIFT(171), [372] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym__function_expression_kind, 1), [374] = {.entry = {.count = 1, .reusable = true}}, SHIFT(215), [376] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(265), [379] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(147), [382] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(441), [385] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), [387] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(472), [390] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(477), [393] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(279), [396] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(279), [399] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(266), [402] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(160), [405] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(290), [408] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(458), [411] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(478), [414] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 2), SHIFT_REPEAT(261), [417] = {.entry = {.count = 1, .reusable = false}}, SHIFT(265), [419] = {.entry = {.count = 1, .reusable = true}}, SHIFT(441), [421] = {.entry = {.count = 1, .reusable = true}}, SHIFT(298), [423] = {.entry = {.count = 1, .reusable = true}}, SHIFT(478), [425] = {.entry = {.count = 1, .reusable = true}}, SHIFT(234), [427] = {.entry = {.count = 1, .reusable = false}}, SHIFT(126), [429] = {.entry = {.count = 1, .reusable = true}}, SHIFT(73), [431] = {.entry = {.count = 1, .reusable = true}}, SHIFT(432), [433] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(126), [436] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(156), [439] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(432), [442] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(455), [445] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(489), [448] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(129), [451] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(129), [454] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(128), [457] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(152), [460] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 2), [462] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(122), [465] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(490), [468] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), SHIFT_REPEAT(117), [471] = {.entry = {.count = 1, .reusable = false}}, SHIFT(342), [473] = {.entry = {.count = 1, .reusable = true}}, SHIFT(443), [475] = {.entry = {.count = 1, .reusable = true}}, SHIFT(65), [477] = {.entry = {.count = 1, .reusable = true}}, SHIFT(85), [479] = {.entry = {.count = 1, .reusable = true}}, SHIFT(118), [481] = {.entry = {.count = 1, .reusable = true}}, SHIFT(114), [483] = {.entry = {.count = 1, .reusable = true}}, SHIFT(450), [485] = {.entry = {.count = 1, .reusable = true}}, SHIFT(193), [487] = {.entry = {.count = 1, .reusable = true}}, SHIFT(68), [489] = {.entry = {.count = 1, .reusable = true}}, SHIFT(439), [491] = {.entry = {.count = 1, .reusable = true}}, SHIFT(109), [493] = {.entry = {.count = 1, .reusable = true}}, SHIFT(105), [495] = {.entry = {.count = 1, .reusable = true}}, SHIFT(79), [497] = {.entry = {.count = 1, .reusable = true}}, SHIFT(116), [499] = {.entry = {.count = 1, .reusable = true}}, SHIFT(259), [501] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(126), [504] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(156), [507] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), [509] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(432), [512] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(455), [515] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(489), [518] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(129), [521] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(129), [524] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(128), [527] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(152), [530] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(122), [533] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(490), [536] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), SHIFT_REPEAT(117), [539] = {.entry = {.count = 1, .reusable = true}}, SHIFT(282), [541] = {.entry = {.count = 1, .reusable = true}}, SHIFT(293), [543] = {.entry = {.count = 1, .reusable = true}}, SHIFT(281), [545] = {.entry = {.count = 1, .reusable = true}}, SHIFT(264), [547] = {.entry = {.count = 1, .reusable = false}}, SHIFT(344), [549] = {.entry = {.count = 1, .reusable = false}}, SHIFT(121), [551] = {.entry = {.count = 1, .reusable = true}}, SHIFT(162), [553] = {.entry = {.count = 1, .reusable = false}}, SHIFT(269), [555] = {.entry = {.count = 1, .reusable = true}}, SHIFT(159), [557] = {.entry = {.count = 1, .reusable = false}}, SHIFT(87), [559] = {.entry = {.count = 1, .reusable = true}}, SHIFT(451), [561] = {.entry = {.count = 1, .reusable = false}}, SHIFT(71), [563] = {.entry = {.count = 1, .reusable = true}}, SHIFT(150), [565] = {.entry = {.count = 1, .reusable = false}}, SHIFT(165), [567] = {.entry = {.count = 1, .reusable = false}}, SHIFT(96), [569] = {.entry = {.count = 1, .reusable = true}}, SHIFT(304), [571] = {.entry = {.count = 1, .reusable = false}}, SHIFT(315), [573] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 1), [575] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym__expression_list, 1), [577] = {.entry = {.count = 1, .reusable = true}}, SHIFT(319), [579] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 1), [581] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_list_repeat1, 1), [583] = {.entry = {.count = 1, .reusable = true}}, SHIFT(318), [585] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 1), [587] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 1), [589] = {.entry = {.count = 1, .reusable = true}}, SHIFT(172), [591] = {.entry = {.count = 1, .reusable = false}}, SHIFT(411), [593] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 2), [595] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 2), [597] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), [599] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_if_else_repeat1, 2), [601] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(172), [604] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else_if, 3), [606] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else_if, 3), [608] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if, 3), [610] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if, 3), [612] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 3), [614] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 3), [616] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_match, 5), [618] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_match, 5), [620] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_return, 2), [622] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_return, 2), [624] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_statement, 2), [626] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_statement, 2), [628] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_for, 5), [630] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_for, 5), [632] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_while, 3), [634] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_while, 3), [636] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_if_else, 3), [638] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_if_else, 3), [640] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment, 4), [642] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment, 4), [644] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_index_assignment, 3), [646] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_index_assignment, 3), [648] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_else, 2), [650] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_else, 2), [652] = {.entry = {.count = 1, .reusable = false}}, SHIFT(107), [654] = {.entry = {.count = 1, .reusable = true}}, SHIFT(142), [656] = {.entry = {.count = 1, .reusable = true}}, SHIFT(213), [658] = {.entry = {.count = 1, .reusable = false}}, SHIFT(419), [660] = {.entry = {.count = 1, .reusable = false}}, SHIFT(285), [662] = {.entry = {.count = 1, .reusable = true}}, SHIFT(158), [664] = {.entry = {.count = 1, .reusable = false}}, SHIFT(74), [666] = {.entry = {.count = 1, .reusable = true}}, SHIFT(154), [668] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_if_else_repeat1, 2), SHIFT_REPEAT(213), [671] = {.entry = {.count = 1, .reusable = true}}, SHIFT(179), [673] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_assignment_operator, 1), [675] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_assignment_operator, 1), [677] = {.entry = {.count = 1, .reusable = true}}, SHIFT(189), [679] = {.entry = {.count = 1, .reusable = true}}, SHIFT(204), [681] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 3), [683] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 3), [685] = {.entry = {.count = 1, .reusable = true}}, SHIFT(313), [687] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_match_repeat1, 4), [689] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_match_repeat1, 4), [691] = {.entry = {.count = 1, .reusable = true}}, SHIFT(205), [693] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_list_repeat1, 2), [695] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym__expression_list, 2), [697] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_math_operator, 1), [699] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_math_operator, 1), [701] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_logic_operator, 1), [703] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_logic_operator, 1), [705] = {.entry = {.count = 1, .reusable = true}}, SHIFT(462), [707] = {.entry = {.count = 1, .reusable = true}}, SHIFT(6), [709] = {.entry = {.count = 1, .reusable = true}}, SHIFT(474), [711] = {.entry = {.count = 1, .reusable = true}}, SHIFT(20), [713] = {.entry = {.count = 1, .reusable = true}}, SHIFT(173), [715] = {.entry = {.count = 1, .reusable = true}}, SHIFT(473), [717] = {.entry = {.count = 1, .reusable = true}}, SHIFT(15), [719] = {.entry = {.count = 1, .reusable = true}}, SHIFT(475), [721] = {.entry = {.count = 1, .reusable = true}}, SHIFT(19), [723] = {.entry = {.count = 1, .reusable = true}}, SHIFT(454), [725] = {.entry = {.count = 1, .reusable = true}}, SHIFT(21), [727] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 3), [729] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 3), [731] = {.entry = {.count = 1, .reusable = true}}, SHIFT(386), [733] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 2), [735] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 2), [737] = {.entry = {.count = 1, .reusable = true}}, SHIFT(383), [739] = {.entry = {.count = 1, .reusable = true}}, SHIFT(197), [741] = {.entry = {.count = 1, .reusable = true}}, SHIFT(143), [743] = {.entry = {.count = 1, .reusable = true}}, SHIFT(274), [745] = {.entry = {.count = 1, .reusable = true}}, SHIFT(207), [747] = {.entry = {.count = 1, .reusable = true}}, SHIFT(153), [749] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 1), [751] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 1), [753] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 4), [755] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 4), [757] = {.entry = {.count = 1, .reusable = true}}, SHIFT(38), [759] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type, 5), [761] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type, 5), [763] = {.entry = {.count = 1, .reusable = true}}, SHIFT(58), [765] = {.entry = {.count = 1, .reusable = true}}, SHIFT(113), [767] = {.entry = {.count = 1, .reusable = true}}, SHIFT(102), [769] = {.entry = {.count = 1, .reusable = false}}, SHIFT(350), [771] = {.entry = {.count = 1, .reusable = true}}, SHIFT(361), [773] = {.entry = {.count = 1, .reusable = true}}, SHIFT(340), [775] = {.entry = {.count = 1, .reusable = true}}, SHIFT(382), [777] = {.entry = {.count = 1, .reusable = false}}, SHIFT(467), [779] = {.entry = {.count = 1, .reusable = true}}, SHIFT(341), [781] = {.entry = {.count = 1, .reusable = true}}, SHIFT(78), [783] = {.entry = {.count = 1, .reusable = true}}, SHIFT(295), [785] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(350), [788] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(361), [791] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), [793] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(382), [796] = {.entry = {.count = 2, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 2), SHIFT_REPEAT(467), [799] = {.entry = {.count = 1, .reusable = true}}, SHIFT(76), [801] = {.entry = {.count = 1, .reusable = true}}, SHIFT(99), [803] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 1), [805] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_type_repeat1, 1), [807] = {.entry = {.count = 1, .reusable = true}}, SHIFT(385), [809] = {.entry = {.count = 1, .reusable = true}}, SHIFT(287), [811] = {.entry = {.count = 1, .reusable = false}}, REDUCE(aux_sym_type_repeat1, 2), [813] = {.entry = {.count = 1, .reusable = false}}, SHIFT(425), [815] = {.entry = {.count = 1, .reusable = false}}, REDUCE(sym_type_definition, 3), [817] = {.entry = {.count = 1, .reusable = true}}, REDUCE(sym_type_definition, 3), [819] = {.entry = {.count = 1, .reusable = true}}, SHIFT(27), [821] = {.entry = {.count = 1, .reusable = true}}, SHIFT(395), [823] = {.entry = {.count = 1, .reusable = true}}, SHIFT(86), [825] = {.entry = {.count = 1, .reusable = true}}, SHIFT(33), [827] = {.entry = {.count = 1, .reusable = true}}, SHIFT(381), [829] = {.entry = {.count = 1, .reusable = true}}, SHIFT(402), [831] = {.entry = {.count = 1, .reusable = true}}, SHIFT(100), [833] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_structure_repeat1, 2), SHIFT_REPEAT(424), [836] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_structure_repeat1, 2), [838] = {.entry = {.count = 1, .reusable = true}}, SHIFT(424), [840] = {.entry = {.count = 1, .reusable = true}}, SHIFT(276), [842] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 3), [844] = {.entry = {.count = 1, .reusable = true}}, SHIFT(433), [846] = {.entry = {.count = 1, .reusable = true}}, SHIFT(111), [848] = {.entry = {.count = 1, .reusable = true}}, SHIFT(43), [850] = {.entry = {.count = 1, .reusable = true}}, SHIFT(296), [852] = {.entry = {.count = 1, .reusable = true}}, SHIFT(275), [854] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_new_repeat1, 2), SHIFT_REPEAT(402), [857] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_new_repeat1, 2), [859] = {.entry = {.count = 1, .reusable = true}}, SHIFT(62), [861] = {.entry = {.count = 1, .reusable = true}}, SHIFT(104), [863] = {.entry = {.count = 1, .reusable = true}}, SHIFT(103), [865] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), SHIFT_REPEAT(436), [868] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 2), [870] = {.entry = {.count = 1, .reusable = true}}, SHIFT(270), [872] = {.entry = {.count = 1, .reusable = true}}, SHIFT(112), [874] = {.entry = {.count = 1, .reusable = true}}, SHIFT(294), [876] = {.entry = {.count = 1, .reusable = true}}, SHIFT(59), [878] = {.entry = {.count = 1, .reusable = true}}, SHIFT(61), [880] = {.entry = {.count = 1, .reusable = true}}, SHIFT(70), [882] = {.entry = {.count = 1, .reusable = true}}, SHIFT(446), [884] = {.entry = {.count = 1, .reusable = true}}, SHIFT(436), [886] = {.entry = {.count = 1, .reusable = true}}, SHIFT(447), [888] = {.entry = {.count = 1, .reusable = true}}, SHIFT(449), [890] = {.entry = {.count = 1, .reusable = true}}, SHIFT(28), [892] = {.entry = {.count = 1, .reusable = true}}, SHIFT(437), [894] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 4), [896] = {.entry = {.count = 1, .reusable = true}}, SHIFT(444), [898] = {.entry = {.count = 2, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), SHIFT_REPEAT(395), [901] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 2), [903] = {.entry = {.count = 1, .reusable = true}}, SHIFT(44), [905] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_structure_repeat1, 3), [907] = {.entry = {.count = 1, .reusable = true}}, SHIFT(77), [909] = {.entry = {.count = 1, .reusable = true}}, SHIFT(291), [911] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_new_repeat1, 4), [913] = {.entry = {.count = 1, .reusable = true}}, SHIFT(101), [915] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_map_repeat1, 5), [917] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_structure_repeat1, 4), [919] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_function_repeat1, 3), [921] = {.entry = {.count = 1, .reusable = true}}, REDUCE(aux_sym_new_repeat1, 3), [923] = {.entry = {.count = 1, .reusable = true}}, SHIFT(248), [925] = {.entry = {.count = 1, .reusable = true}}, SHIFT(35), [927] = {.entry = {.count = 1, .reusable = true}}, SHIFT(18), [929] = {.entry = {.count = 1, .reusable = true}}, SHIFT(410), [931] = {.entry = {.count = 1, .reusable = true}}, SHIFT(417), [933] = {.entry = {.count = 1, .reusable = true}}, SHIFT(148), [935] = {.entry = {.count = 1, .reusable = true}}, SHIFT(166), [937] = {.entry = {.count = 1, .reusable = true}}, SHIFT(200), [939] = {.entry = {.count = 1, .reusable = true}}, SHIFT(252), [941] = {.entry = {.count = 1, .reusable = true}}, SHIFT(415), [943] = {.entry = {.count = 1, .reusable = true}}, SHIFT(25), [945] = {.entry = {.count = 1, .reusable = true}}, SHIFT(175), [947] = {.entry = {.count = 1, .reusable = true}}, SHIFT(247), [949] = {.entry = {.count = 1, .reusable = true}}, SHIFT(351), [951] = {.entry = {.count = 1, .reusable = true}}, SHIFT(356), [953] = {.entry = {.count = 1, .reusable = true}}, SHIFT(384), [955] = {.entry = {.count = 1, .reusable = true}}, SHIFT(389), [957] = {.entry = {.count = 1, .reusable = true}}, SHIFT(184), [959] = {.entry = {.count = 1, .reusable = true}}, SHIFT(404), [961] = {.entry = {.count = 1, .reusable = true}}, SHIFT(163), [963] = {.entry = {.count = 1, .reusable = true}}, SHIFT(416), [965] = {.entry = {.count = 1, .reusable = true}}, SHIFT(14), [967] = {.entry = {.count = 1, .reusable = true}}, SHIFT(22), [969] = {.entry = {.count = 1, .reusable = true}}, SHIFT(8), [971] = {.entry = {.count = 1, .reusable = true}}, SHIFT(245), [973] = {.entry = {.count = 1, .reusable = true}}, SHIFT(470), [975] = {.entry = {.count = 1, .reusable = true}}, SHIFT(469), [977] = {.entry = {.count = 1, .reusable = true}}, SHIFT(47), [979] = {.entry = {.count = 1, .reusable = true}}, SHIFT(138), [981] = {.entry = {.count = 1, .reusable = true}}, SHIFT(253), [983] = {.entry = {.count = 1, .reusable = true}}, ACCEPT_INPUT(), [985] = {.entry = {.count = 1, .reusable = true}}, SHIFT(459), [987] = {.entry = {.count = 1, .reusable = true}}, SHIFT(251), [989] = {.entry = {.count = 1, .reusable = true}}, SHIFT(217), [991] = {.entry = {.count = 1, .reusable = true}}, SHIFT(456), [993] = {.entry = {.count = 1, .reusable = true}}, SHIFT(249), [995] = {.entry = {.count = 1, .reusable = true}}, SHIFT(461), [997] = {.entry = {.count = 1, .reusable = true}}, SHIFT(169), [999] = {.entry = {.count = 1, .reusable = true}}, SHIFT(463), [1001] = {.entry = {.count = 1, .reusable = true}}, SHIFT(420), }; #ifdef __cplusplus extern "C" { #endif #ifdef _WIN32 #define extern __declspec(dllexport) #endif extern const TSLanguage *tree_sitter_dust(void) { static const TSLanguage language = { .version = LANGUAGE_VERSION, .symbol_count = SYMBOL_COUNT, .alias_count = ALIAS_COUNT, .token_count = TOKEN_COUNT, .external_token_count = EXTERNAL_TOKEN_COUNT, .state_count = STATE_COUNT, .large_state_count = LARGE_STATE_COUNT, .production_id_count = PRODUCTION_ID_COUNT, .field_count = FIELD_COUNT, .max_alias_sequence_length = MAX_ALIAS_SEQUENCE_LENGTH, .parse_table = &ts_parse_table[0][0], .small_parse_table = ts_small_parse_table, .small_parse_table_map = ts_small_parse_table_map, .parse_actions = ts_parse_actions, .symbol_names = ts_symbol_names, .symbol_metadata = ts_symbol_metadata, .public_symbol_map = ts_symbol_map, .alias_map = ts_non_terminal_alias_map, .alias_sequences = &ts_alias_sequences[0][0], .lex_modes = ts_lex_modes, .lex_fn = ts_lex, .keyword_lex_fn = ts_lex_keywords, .keyword_capture_token = sym_identifier, .primary_state_ids = ts_primary_state_ids, }; return &language; } #ifdef __cplusplus } #endif